AfxIsValidAddress
Testes de qualquer endereço de memória para garantir que ele está contido totalmente dentro do espaço de memória do programa.
BOOL AfxIsValidAddress(
const void* lp,
UINT nBytes,
BOOL bReadWrite = TRUE
);
Parâmetros
lp
Aponta para o endereço de memória a ser testado.nBytes
Contém o número de bytes de memória a ser testado.bReadWrite
Especifica se a memória é para leitura e gravação (TRUE) ou somente leitura (FALSE).
Valor de retorno
Em compilações de depurar, diferente de zero se o bloco de memória especificado está contido totalmente em espaço de memória do programa; caso contrário, 0.
Em compilações de depurar não, diferente de zero se lp não é nulo; caso contrário, 0.
Comentários
O endereço não está restrito a blocos alocados por novo.
Exemplo
// Allocate a 5 character array, which should have a valid memory address.
char* arr = new char[5];
// Create a null pointer, which should be an invalid memory address.
char* null = (char*)0x0;
ASSERT(AfxIsValidAddress(arr, 5));
ASSERT(!AfxIsValidAddress(null, 5));
Requisitos
Cabeçalho: afx.h