_CrtIsValidPointer
Verifica se um intervalo de memória especificado é válido para leitura e gravação (somente a versão de depuração).
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
Tamanho do intervalo especificado de memória (em bytes).acesso
Acessibilidade de leitura/gravação para determinar o intervalo de memória.
Valor de retorno
_CrtIsValidPointerRetorna 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á FALSE.
Comentários
O _CrtIsValidPointer função verifica se o intervalo de memória começando no endereço e se estendendo por size bytes é válido para a operação da acessibilidade especificada ou operações.Quando acesso é definido como TRUE, o intervalo de memória é verificado para leitura e gravação.Quando endereço for falso, o intervalo de memória é validado apenas para leitura.Quando _ Debug não está definido, planos de _CrtIsValidPointer são removidos durante o pré-processamento.
Esta função retorna VERDADEIRO ou falso, ele pode ser passado para uma da _ASSERT macros para criar um simples mecanismo de tratamento de erros de depuração.O exemplo a seguir faz com que um erro de declaração se o intervalo de memória não é vá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 depuração e a macros, consulte Usando Macros para verificação e emissão de relatórios.Para obter informações sobre como blocos de memória são alocados, inicializados e gerenciados na versão de depuração da pilha base, consulte Gerenciamento de memória e a pilha de depuração.
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 depuração de bibliotecas de tempo de execução c somente.
Exemplo
Consulte o exemplo para o _CrtIsValidHeapPointer tópico.
Equivalência do .NET Framework
Não aplicável. Para chamar a função c padrão, use PInvoke. Para obter mais informações, consulte Exemplos de invocação de plataforma.