Compartir a través de


_CrtIsValidPointer

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

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

Parámetros

  • dirección
    Puntos al principio del intervalo de memoria para comprobar su validez.

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

  • acceso
    Accesibilidad de lectura y escritura a determinar para el intervalo de memoria.

Valor devuelto

_CrtIsValidPointer devuelve TRUE si el intervalo de memoria especificado es válido para la operación u operaciones especificada.si no, la función devuelve FALSE.

Comentarios

La función de _CrtIsValidPointer comprueba que el principio del intervalo de memoria en la dirección y el extender para los bytes de size son válidos para la operación u operaciones especificada de accesibilidad.Cuando el acceso se establece en TRUE, el intervalo de memoria se comprueba la lectura y escritura.Cuando la dirección es FALSE, el intervalo de memoria se valida únicamente para leer.Cuando _DEBUG no está definido, las llamadas a _CrtIsValidPointer se quitan durante el preprocesamiento.

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

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

Para obtener más información sobre cómo _CrtIsValidPointer se puede utilizar con otras funciones y macros de depuración, vea Utilizando las macros para comprobación e informes.Para obtener información sobre cómo los bloques de memoria se asignan, inicialice, y se administran en la versión de depuración del montón base, vea Administración de memoria y el montón de depuración.

Requisitos

rutina

Encabezado necesario

_CrtIsValidPointer

<crtdbg.h>

Para obtener más información de compatibilidad, vea compatibilidad en la Introducción.

bibliotecas

Versiones de depuración de Bibliotecas en tiempo de ejecución de C únicamente.

Ejemplo

Vea el ejemplo para el tema de _CrtIsValidHeapPointer .

Equivalente en .NET Framework

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

Vea también

Referencia

Rutinas de depuración