Fonction IsBadCodePtr (winbase.h)

Détermine si le processus appelant dispose d’un accès en lecture à la mémoire à l’adresse spécifiée.

Important Cette fonction est obsolète et ne doit pas être utilisée. Malgré son nom, il ne garantit pas que le pointeur est valide ou que la mémoire pointée est sûre à utiliser. Pour plus d’informations, consultez Remarques sur cette page.
 

Syntaxe

BOOL IsBadCodePtr(
  [in] FARPROC lpfn
);

Paramètres

[in] lpfn

Pointeur vers une adresse mémoire.

Valeur retournée

Si le processus appelant a un accès en lecture à la mémoire spécifiée, la valeur de retour est zéro.

Si le processus appelant n’a pas d’accès en lecture à la mémoire spécifiée, la valeur de retour est différente de zéro. Pour obtenir des informations détaillées sur l’erreur, appelez GetLastError.

Si l’application est compilée en tant que version de débogage et que le processus n’a pas d’accès en lecture à l’emplacement mémoire spécifié, la fonction provoque une assertion et s’interrompt dans le débogueur. En quittant le débogueur, la fonction continue comme d’habitude et retourne une valeur différente de zéro. Ce comportement est par conception, en tant qu’aide au débogage.

Remarques

Dans un environnement multitâche préemptif, il est possible pour un autre thread de modifier l’accès du processus à la mémoire testée. Même lorsque la fonction indique que le processus dispose d’un accès en lecture à la mémoire spécifiée, vous devez utiliser la gestion structurée des exceptions lors de la tentative d’accès à la mémoire. L’utilisation de la gestion structurée des exceptions permet au système d’avertir le processus si une exception de violation d’accès se produit, ce qui donne au processus la possibilité de gérer l’exception.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows XP [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
Plateforme cible Windows
En-tête winbase.h (inclure Windows.h)
Bibliothèque Kernel32.lib
DLL Kernel32.dll

Voir aussi

IsBadReadPtr

IsBadStringPtr

IsBadWritePtr