IDebugMemoryBytes2::ReadAt
从给定位置开始读取字节序列。
语法
int ReadAt(
IDebugMemoryContext2 pStartContext,
uint dwCount,
byte[] rgbMemory,
out uint pdwRead,
ref uint pdwUnreadable
);
参数
pStartContext
[in] 指定开始读取字节的位置的 IDebugMemoryContext2 对象。
dwCount
[in]要读取的字节数。 还指定数组的 rgbMemory
长度。
rgbMemory
[in, out]用实际读取的字节填充的数组。
pdwRead
[out]返回实际读取的连续字节数。
pdwUnreadable
[in, out]返回不可读字节数。 如果客户端对不可读字节数不感兴趣,则为 null 值。
返回值
如果成功,则返回S_OK;否则,返回错误代码。
备注
如果请求 100 个字节且前 50 个可读,则接下来的 20 个字节不可读,其余 30 个是可读的,则此方法返回:
*pdwRead
= 50
*pdwUnreadable
= 20
在这种情况下,因为*pdwRead + *pdwUnreadable < dwCount
调用方必须进行额外的调用才能读取原始 100 请求的剩余 30 字节,并且传入参数的 pStartContext
IDebugMemoryContext2 对象必须提前 70。