Pergunta

Oi eu tento chamar a função virtualQueryEx para obter algumas informações sobre proteção de memória, no entanto, meu código me dá erro 0x18 (error_bad_length) e não sei o que há de errado com meu código;

fragmento de código:

Pmemory_basic_information alte;

VirtualQueryEx (ProcessHandle, (lpvoid) (endereço), ALTE, sizeof (pmemory_basic_information));

Obrigado pela ajuda

Foi útil?

Solução

Alte precisa ser declarado como memória_basic_information, não um ponteiro para um.

MEMORY_BASIC_INFORMATION alte;

VirtualQueryEx(processhandle,(LPVOID) (address),&alte,sizeof(MEMORY_BASIC_INFORMATION));

Editar: observe seu tamanhoof (memória_basic_information) não tamanho de (pmemory_basic_information).

Na verdade, é melhor escrever isso de qualquer maneira

VirtualQueryEx(processhandle,(LPVOID) (address),&alte,sizeof(alte));
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top