IDebugMemoryBytes2::ReadAt
Lê uma seqüência de bytes, começando em um determinado local.
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
);
Parâmetros
pStartContext
[in] O IDebugMemoryContext2 objeto que especifica onde iniciar a leitura de bytes.dwCount
[in] O número de bytes a serem lidos. Também especifica o comprimento de rgbMemory array.rgbMemory
[in, out] Preenchido com os bytes de matriz realmente lidos.pdwRead
[out] Retorna o número de bytes contíguos realmente lidos.pdwUnreadable
[in, out] Retorna o número de bytes ilegíveis. Pode ser um valor nulo se o cliente não tem interesse em número de bytes ilegíveis.
Valor de retorno
Se bem-sucedida, retorna S_OK; Caso contrário, retorna um código de erro.
Comentários
Se 100 bytes são solicitadas e o primeiro 50 são legíveis, os próximos 20 são ilegíveis e os 30 restantes são legíveis, esse método retorna:
*pdwRead = 50
*pdwUnreadable = 20
Nesse caso, porque *pdwRead + *pdwUnreadable < dwCount, o chamador deve fazer uma chamada adicional para ler os bytes restantes de 30 a 100 original solicitada e o IDebugMemoryContext2 objeto passado a pStartContext parâmetro deve ser avançado por 70.