_CrtIsValidPointer
Verifica se um intervalo de memória especificado é válido para leitura e gravação (somente versão de depurar).
int _CrtIsValidPointer(
const void *address,
unsigned int size,
int access
);
Parâmetros
endereço
Aponta para o início do intervalo de memória para testar a validade.size
dimensionar do intervalo de memória especificado (em bytes).acesso
Capacidade de acesso de leitura/gravar para determinar o intervalo de memória.
Valor de retorno
_CrtIsValidPointer Retorna VERDADEIRO se o intervalo de memória especificado é válido para a operação especificada ou operações. Caso contrário, a função retornará falso.
Comentários
The _CrtIsValidPointer função verifica se o intervalo de memória começando endereço e a extensão de size bytes é válido para a operação de acessibilidade especificada ou operações. Quando acesso é definida como TRUE, o intervalo de memória é confirmado para leitura e gravação.Quando endereço for falso, o intervalo de memória é validado apenas para leitura.Quando _DEBUG não estiver definido, chamadas de _CrtIsValidPointer serão removidos durante a pré-processamento.
Como essa função retorna verdadeiro ou falso, ele pode ser passado para um o _ASSERT macros para criar um simples mecanismo de tratamento de erro de depuração.O exemplo a seguir faz com que um erro de declaração se o intervalo de memória inválido para leitura e à gravação de operações:
_ASSERTE( _CrtIsValidPointer( address, size, TRUE ) );
Para obter mais informações sobre como _CrtIsValidPointer pode ser usado com outras funções de depurar e as macros, consulte Usando macros para verificação e emissão de relatórios.Para obter informações sobre como os blocos de memória são alocados, inicializado e gerenciado na versão de depurar do heap de base, consulte A pilha de depurar e gerenciamento de memória.
Requisitos
Rotina |
Cabeçalho necessário |
---|---|
_CrtIsValidPointer |
<crtdbg.h> |
Para obter mais informações de compatibilidade, consulte Compatibilidade na introdução.
Bibliotecas
Versões de depurar de Bibliotecas de time de execução c somente.
Exemplo
Consulte o exemplo para o _CrtIsValidHeapPointer tópico.
Equivalente do NET Framework
Não aplicável. Para telefonar a função C padrão, use PInvoke. Para obter mais informações, consulte Exemplos de invocação de plataforma.