Função IsBadCodePtr (winbase.h)
Determina se o processo de chamada tem acesso de leitura à memória no endereço especificado.
Sintaxe
BOOL IsBadCodePtr(
[in] FARPROC lpfn
);
Parâmetros
[in] lpfn
Um ponteiro para um endereço de memória.
Retornar valor
Se o processo de chamada tiver acesso de leitura à memória especificada, o valor retornado será zero.
Se o processo de chamada não tiver acesso de leitura à memória especificada, o valor retornado será diferente de zero. Para obter informações de erro estendidas, chame GetLastError.
Se o aplicativo for compilado como uma versão de depuração e o processo não tiver acesso de leitura ao local de memória especificado, a função causará uma asserção e entrará no depurador. Deixando o depurador, a função continua como de costume e retorna um valor diferente de zero. Esse comportamento é por design, como um auxílio de depuração.
Comentários
Em um ambiente de multitarefa preemptiva, é possível que algum outro thread altere o acesso do processo à memória que está sendo testada. Mesmo quando a função indica que o processo tem acesso de leitura à memória especificada, você deve usar o tratamento de exceção estruturado ao tentar acessar a memória. O uso do tratamento de exceções estruturadas permite que o sistema notifique o processo se ocorrer uma exceção de violação de acesso, dando ao processo a oportunidade de lidar com a exceção.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows XP [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2003 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | winbase.h (incluir Windows.h) |
Biblioteca | Kernel32.lib |
DLL | Kernel32.dll |