IDebugMemoryBytes2::ReadAt
Считывает последовательность байтов, начиная с заданной позиции.
HRESULT ReadAt(
IDebugMemoryContext2* pStartContext,
DWORD dwCount,
BYTE* rgbMemory,
DWORD* pdwRead,
DWORD* pdwUnreadable
);
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; в противном случае возвращает код ошибки.
Заметки
Если запрашивается и первые 50 100 байт для чтения, то следующие 20 нечитабельно, а оставшиеся 30 для чтения, этот метод возвращает:
*pdwRead = 50
*pdwUnreadable = 20
В этом случае, поскольку *pdwRead + *pdwUnreadable < dwCountвызывающий объект должен вызвать дополнительный для считывания оставшиеся 30 байтов исходной и запрошенного 100 IDebugMemoryContext2 объект, передаваемый в pStartContext параметр должен быть перемещен 70.