_CrtIsValidPointer

Überprüft, ob ein angegebener Speicherbereich für das Lesen und Schreiben gültig ist (nur Debugversion).

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

Parameter

  • Adresse
    Punkte am Anfang des Speicherbereichs, dessen Gültigkeit getestet werden soll.

  • size
    Größe des angegebenen Speichers (in Bytes).

  • Zugriff
    Für den Speicherbereich zu bestimmen, barrierefreiheit mit Lese-/Schreibzugriff.

Rückgabewert

_CrtIsValidPointer gibt TRUE zurück, wenn der angegebene Speicherbereich für den angegebenen Vorgang oder Vorgänge gültig ist.Andernfalls gibt die Funktion FALSE zurück.

Hinweise

Die _CrtIsValidPointer-Funktion überprüft, ob der Speicherbereichs, beginnend an der Adresse und das Erweitern size für Barrierefreiheit Bytes für den angegebenen Vorgang oder - Vorgängen gültig ist.Beim Zugriff festgelegt ist, wird der AUSZURICHTEN Speicherbereich für Lese- und Schreibvorgänge aktiviert.Wenn Adresse FALSCH ist, wird der Speicherbereich nur zum Lesen überprüft.Wenn _DEBUG nicht definiert wird, werden Aufrufe _CrtIsValidPointer während des Präprozessorlaufs entfernt.

Da diese Funktion TRUE oder FALSE zurückgibt, kann sie auf eines der _ASSERT Makros übergeben werden, um einen einfachen Mechanismus zur fehlerbehandlungs Debuggen zu erstellen.Das folgende Beispiel führt zu einem Assertionsfehler, wenn der Speicherbereich für Lese- und Schreiboperationen zulässig ist:

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

Weitere Informationen zum Debuggen mit anderen _CrtIsValidPointer-Funktionen und Makros verwendet werden kann, finden Sie unter Verwenden von Makros zum Überprüfen und Berichterstellung.Weitere Informationen zum Speicherblöcke in der Debugversion des Basisheaps zugeordnet, initialisiert und verwaltet werden, finden Sie unter Speicherverwaltung und Debugheap.

Anforderungen

Routine

Erforderlicher Header

_CrtIsValidPointer

<crtdbg.h>

Weitere Informationen finden Sie unter Kompatibilität Kompatibilität in der Einführung.

Bibliotheken

Debugversionen von nur C .

Beispiel

Weitere Informationen finden Sie im Beispiel zum _CrtIsValidHeapPointer Thema.

.NET Framework-Entsprechung

Nicht zutreffend. Um die Standard-C-Funktion aufrufen, verwenden Sie PInvoke. Weitere Informationen finden Sie unter Plattformaufruf-Beispiele.

Siehe auch

Referenz

Debug- Routinen