vbaCopyBytesZero
将一个字节块从一个地址复制到另一个地址,然后将源字节清零。
语法:vbaCopyBytesZero( Length , Dest , Src ) As LongPtr
- Length
- 必需 Long。要复制的字节数。
- Dest
- 必需 LongPtr。目标地址。
- Src
- 必需 LongPtr。源地址。复制完成后,从Src开始的Length个字节被写入零。
等效于先执行vbaCopyBytes,再对源进行内存清除。在移动拥有资源(BSTR、接口指针)而不留下副本时非常有用。返回值为Dest。
示例
本示例将四个字节从一个缓冲区复制到另一个,然后确认源已被清零。
vb
Dim src As LongPtr = AllocMem(8)
Dim dst As LongPtr = AllocMem(8)
PutMem4 src, &H12345678
vbaCopyBytesZero 4, dst, src ' copy; src bytes are zeroed
Dim v As Long
GetMem4 dst, v ' v = &H12345678
GetMem4 src, v ' v = 0 (source was cleared)
FreeMem src
FreeMem dst