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
вызывающий объект должен выполнить дополнительный вызов для чтения оставшихся 30 байт исходного 100 запрошенного, а объект IDebugMemoryContext2 , переданный в pStartContext
параметре, должен быть расширен на 70.