Freigeben über


ExAcquireRundownProtection-Funktion (wdm.h)

Die ExAcquireRundownProtection- Routine versucht, run-down-Schutz für ein freigegebenes Objekt abzurufen, damit der Aufrufer sicher auf das Objekt zugreifen kann.

Syntax

BOOLEAN ExAcquireRundownProtection(
  [in, out] PEX_RUNDOWN_REF RunRef
);

Parameter

[in, out] RunRef

Ein Zeiger auf eine EX_RUNDOWN_REF Struktur, die durch einen vorherigen Aufruf der ExInitializeRundownProtection Routine initialisiert wurde. Die Ausführungsschutzroutinen verwenden diese Struktur, um den Ausführungsstatus des zugeordneten freigegebenen Objekts nachzuverfolgen. Diese Struktur ist für Treiber nicht transparent.

Rückgabewert

ExAcquireRundownProtection gibt TRUE- zurück, wenn die Routine den Ausführungsschutz für den Aufrufer erfolgreich abruft. Andernfalls wird FALSE-zurückgegeben. Ein Rückgabewert von FALSE gibt an, dass die Ausführung des Objekts gestartet wurde und dass das Objekt als ungültig behandelt werden muss.

Bemerkungen

Um sicher auf ein freigegebenes Objekt zuzugreifen, ruft ein Treiber ExAcquireRundownProtection auf, um run-down-Schutz für das Objekt zu erhalten. Die Routine gibt TRUE- zurück, um anzugeben, dass der Abwärtsschutz wirksam ist. Wenn der Abwärtsschutz wirksam ist, kann der Treiber sicher auf das Objekt zugreifen, ohne dass das Objekt gelöscht wird, bevor der Zugriff abgeschlossen ist.

Solange der Run-Down-Block selbst nicht ausfällt, kann diese Funktion bei DISPATCH_LEVEL aufgerufen werden.

Nach Abschluss des Zugriffs ruft der Treiber ExReleaseRundownProtection auf, um den zuvor erworbenen Run-Down-Schutz freizugeben.

Wenn ExAcquireRundownProtectionFALSEzurückgibt, kann auf das Objekt nicht mehr zugegriffen werden. Wenn das Objekt beispielsweise durch ein neues ersetzt werden soll, muss der Aufrufer warten, bis der Objektbesitzer das neue Objekt erstellt, und dann den Zugriff auf das neue Objekt aushandeln.

Weitere Informationen finden Sie unter Run-Down Protection.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Verfügbar ab Windows XP.
Zielplattform- Universal
Header- wdm.h (include Wdm.h)
Library NtosKrnl.lib
DLL- NtosKrnl.exe
IRQL- <= DISPATCH_LEVEL (siehe Hinweise)
DDI-Complianceregeln HwStorPortProhibitedDIs(storport)

Siehe auch

EX_RUNDOWN_REF

ExInitializeRundownProtection

ExReleaseRundownProtection