_CrtIsValidPointer
Vérifie qu'une plage spécifiée de mémoire est valide pour la lecture et l'écriture (version debug uniquement).
int _CrtIsValidPointer(
const void *address,
unsigned int size,
int access
);
Paramètres
adresse
Pointe vers le début de la plage de mémoire à vérifier la validité.size
taille de la plage spécifiée de mémoire (en octets).accès
Accessibilité en lecture/écriture pour tester la plage de mémoire.
Valeur de retour
retourne TRUE d'_CrtIsValidPointer si la plage spécifiée de mémoire est pas valide pour l'opération ou les opérations spécifiée.Sinon, la fonction retourne FALSE.
Notes
La fonction d' _CrtIsValidPointer vérifie que le début de la plage de mémoire à l'adresse et étendre pour les octets d' size est pas valide pour l'opération ou les opérations spécifiée d'accessibilité.Lorsque l'accès est défini la valeur TRUE, la plage de mémoire est extraite pour vérifier la lecture et l'écriture.Lorsque l'adresse est la macro, la plage de mémoire est uniquement requise pour la lecture.Lorsque _DEBUG n'est pas défini, les appels à _CrtIsValidPointer sont supprimés pendant le prétraitement.
Étant donné que cette fonction retourne TRUE ou FALSE, elle peut être passée à l'une des macros de _ASSERT créer un mécanisme simple de gestion des erreurs d'erreur de débogage.L'exemple suivant crée un échec d'assertion si la plage de mémoire est pas valide pour les opérations 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 fonctions et des macros de débogage, consultez À l'aide de les macros pour la vérification et la création de rapports.Pour plus d'informations sur la manière dont les blocs de mémoire sont alloués, initialisés, et gérés dans la version debug de tas de base, consultez gestion de la mémoire et le tas de débogage.
Configuration requise
routine |
en-tête requis |
---|---|
_CrtIsValidPointer |
<crtdbg.h> |
Pour plus d'informations de compatibilité, consultez compatibilité dans l'introduction.
bibliothèques
Versions debug de Bibliothèques runtime C uniquement.
Exemple
Consultez l'exemple fourni pour la rubrique de _CrtIsValidHeapPointer .
Équivalent .NET Framework
Non applicable. Pour appeler la fonction C standard, utilisez PInvoke. Pour plus d'informations, consultez l' exemples d'appel de code non managé.