Share via


_CrtIsValidPointer

Vérifie qu'une plage mémoire spécifiée est valide pour la lecture et l'écriture (version de débogage uniquement).

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

Paramètres

  • address
    Pointe vers le début de la plage mémoire dont la validité doit être testée.

  • size
    Taille de la plage mémoire spécifiée (en octets).

  • access
    Accessibilité en lecture/écriture à déterminer pour la plage mémoire.

Valeur de retour

_CrtIsValidPointer retourne TRUE si la plage mémoire spécifiée est valide pour les opérations indiquées. Dans le cas contraire, la fonction retourne FALSE.

Notes

La fonction _CrtIsValidPointer vérifie que la plage mémoire qui commence à address et s'étend sur size octets est valide pour les opérations d'accessibilité spécifiées. Quand access a la valeur TRUE, la plage mémoire est vérifiée pour la lecture et l'écriture. Quand access a la valeur FALSE, la plage mémoire n'est validée que pour la lecture. Quand _DEBUG n'est pas défini, les appels à _CrtIsValidPointer sont supprimés lors du prétraitement.

Comme cette fonction retourne TRUE ou FALSE, elle peut être passée à l'une des macros _ASSERT pour créer un mécanisme de gestion des erreurs de débogage simple. L'exemple suivant provoque un échec d'assertion si la plage mémoire n'est pas valide pour les opérations à la fois de lecture et d'écriture :

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

Pour plus d'informations sur la façon dont _CrtIsValidPointer peut être utilisé avec d'autres macros et fonctions de débogage, voir Macros pour la création de rapports. Pour plus d'informations sur la façon dont les blocs de mémoire sont alloués, initialisés et gérés dans la version de débogage du tas de base, voir Détails du tas de débogage CRT.

Configuration requise

Routine

En-tête requis

_CrtIsValidPointer

<crtdbg.h>

_CrtIsValidPointer est une extension Microsoft. Pour plus d'informations sur la compatibilité, voir Compatibilité.

Bibliothèques

Uniquement les versions de débogage des bibliothèques Runtime C.

Exemple

Voir l'exemple pour la rubrique _CrtIsValidHeapPointer.

Équivalent .NET Framework

Non applicable. Pour appeler la fonction C standard, utilisez PInvoke. Pour plus d'informations, voir Exemples d'appel de plateforme.

Voir aussi

Référence

Routines de débogage