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。

另请参阅