Поделиться через


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.

См. также