IsBadCodePtr-Funktion (winbase.h)

Bestimmt, ob der aufrufende Prozess über Lesezugriff auf den Arbeitsspeicher an der angegebenen Adresse verfügt.

Wichtig Diese Funktion ist veraltet und sollte nicht verwendet werden. Trotz seines Namens wird nicht garantiert, dass der Zeiger gültig ist oder dass der Speicher, auf den verwiesen wird, sicher verwendet werden kann. Weitere Informationen finden Sie unter Hinweise auf dieser Seite.
 

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

Siehe auch

IsBadReadPtr

IsBadStringPtr

IsBadWritePtr