IsBadCodePtr-Funktion (winbase.h)
Bestimmt, ob der aufrufende Prozess über Lesezugriff auf den Arbeitsspeicher an der angegebenen Adresse verfügt.
Syntax
BOOL IsBadCodePtr(
[in] FARPROC lpfn
);
Parameter
[in] lpfn
Ein Zeiger auf eine Speicheradresse.
Rückgabewert
Wenn der aufrufende Prozess Über Lesezugriff auf den angegebenen Arbeitsspeicher verfügt, ist der Rückgabewert 0 (null).
Wenn der aufrufende Prozess keinen Lesezugriff auf den angegebenen Arbeitsspeicher hat, ist der Rückgabewert ungleich null. Um erweiterte Fehlerinformationen zu erhalten, rufen Sie GetLastError auf.
Wenn die Anwendung als Debugversion kompiliert wird und der Prozess keinen Lesezugriff auf den angegebenen Speicherort hat, verursacht die Funktion eine Assertion und bricht in den Debugger ein. Beim Verlassen des Debuggers wird die Funktion wie gewohnt fortgesetzt und gibt einen Wert ungleich null zurück. Dieses Verhalten ist von Grund auf als Debughilfe festgelegt.
Hinweise
In einer präemptiven Multitaskingumgebung ist es möglich, dass ein anderer Thread den Zugriff des Prozesses auf den getesteten Speicher ändert. Auch wenn die Funktion angibt, dass der Prozess Über Lesezugriff auf den angegebenen Arbeitsspeicher verfügt, sollten Sie beim Versuch, auf den Arbeitsspeicher zuzugreifen, eine strukturierte Ausnahmebehandlung verwenden. Die Verwendung der strukturierten Ausnahmebehandlung ermöglicht es dem System, den Prozess zu benachrichtigen, wenn eine Zugriffsverletzungsausnahme auftritt, sodass der Prozess die Möglichkeit erhält, die Ausnahme zu behandeln.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows XP [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2003 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | winbase.h (Windows.h einschließen) |
Bibliothek | Kernel32.lib |
DLL | Kernel32.dll |