Compartilhar via


_CrtIsValidPointer

Verifica se um intervalo de memória especificado é válido para leitura e gravação (somente 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 de memória especificado (em bytes).

  • acesso
    Acessibilidade de leitura/gravação para determinar o intervalo de memória.

Valor de retorno

_CrtIsValidPointer retorna TRUE se o intervalo de memória especificado for válido para a operação ou as operações especificadas. Caso contrário, a função retorna FALSE.

Comentários

A função _CrtIsValidPointer verifica se o intervalo de memória que começa em address e se estende para size bytes é válida para a operação ou as operações de acessibilidade especificadas. Quando access for definido como TRUE, o intervalo de memória é verificado para leitura e gravação. Quando access for FALSE, o intervalo de memória é validado somente para leitura. Quando _DEBUG não está definido, as chamadas a _CrtIsValidPointer são removidas durante o pré-processamento.

Como essa função retorna TRUE ou FALSE, ela pode ser informada a uma das macros de _ASSERT para criar um mecanismo de tratamento de erro de depuração simples. O exemplo a seguir causa uma falha de asserção se o intervalo de memória não for válido para as operações de leitura e gravação:

_ASSERTE( _CrtIsValidPointer( address, size, TRUE ) );

Para obter mais informações sobre como _CrtIsValidPointer pode ser usado com outras funções e macros de depuração, consulte Macros para relatórios. Para obter informações sobre como os blocos de memória são alocados, inicializados e gerenciados na versão de depuração do heap de base, consulte Detalhes da pilha de depuração CRT.

Requisitos

Rotina

Cabeçalho necessário

_CrtIsValidPointer

<crtdbg.h>

_CrtIsValidPointer é uma extensão da Microsoft. Para obter informações sobre compatibilidade, consulte Compatibilidade.

Bibliotecas

Somente versões de depuração de bibliotecas de tempo de execução C.

Exemplo

Consulte o exemplo do tópico _CrtIsValidHeapPointer.

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.

Consulte também

Referência

Rotinas de depuração