Compartir a través de


_CrtIsValidPointer

Comprueba que un intervalo de memoria especificado es válido para lectura y escritura (solo versión de depuración).

int _CrtIsValidPointer(     const void *address,    unsigned int size,    int access  );

Parámetros

  • address
    Señala al comienzo del intervalo de memoria cuya validez se va a comprobar.

  • size
    Tamaño del intervalo de memoria especificado, en bytes.

  • access
    Accesibilidad de lectura y escritura que se va a determinar para el intervalo de memoria.

Valor devuelto

_CrtIsValidPointer devuelve TRUE si el intervalo de memoria especificado es válido para las operaciones especificadas. De lo contrario, la función devuelve el FALSE.

Comentarios

La función _CrtIsValidPointer comprueba que el intervalo de memoria que empieza en address y con una longitud de size bytes es válido para las operaciones de accesibilidad especificadas. Si access se establece en TRUE, el intervalo de memoria se comprueba para operaciones de lectura y escritura. Si access es FALSE, el intervalo de memoria solo se comprueba para operaciones de lectura. Cuando no se define _DEBUG, las llamadas a _CrtIsValidPointer se quitan durante el preprocesamiento.

Dado que esta función devuelve TRUE o FALSE, se puede pasar a una de las macros de _ASSERT para crear un mecanismo sencillo de control de errores de depuración. En el ejemplo siguiente se genera un error de aserción si el intervalo de memoria no es válido para operaciones de lectura y escritura:

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

Para obtener más información sobre el uso de _CrtIsValidPointer con otras funciones y macros de depuración, vea Macros para los informes. Para obtener información sobre cómo se asignan, inicializan y administran los bloques de memoria en la versión de depuración del montón base, vea Detalles del montón de depuración de CRT.

Requisitos

Rutina

Encabezado necesario

_CrtIsValidPointer

<crtdbg.h>

_CrtIsValidPointer es una extensión de Microsoft. Para obtener información sobre la compatibilidad, vea Compatibilidad.

Bibliotecas

Solo las versiones de depuración de las bibliotecas en tiempo de ejecución de C.

Ejemplo

Vea el ejemplo del tema ys6cfhhh(v=vs.120).md.

Equivalente en .NET Framework

No es aplicable. Para llamar a la función estándar de C, use PInvoke. Para obtener más información, vea Ejemplos de invocación de plataforma.

Vea también

Referencia

Rutinas de depuración