ExAcquireRundownProtection-Funktion (wdm.h)
Die ExAcquireRundownProtection-Routine versucht, run-down-Schutz für ein freigegebenes Objekt zu erhalten, 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 Rundownschutzroutinen verwenden diese Struktur, um die ausgeführte status des zugeordneten freigegebenen Objekts nachzuverfolgen. Diese Struktur ist für Treiber undurchsichtig.
Rückgabewert
ExAcquireRundownProtection gibt TRUE zurück, wenn die Routine erfolgreich run-down-Schutz für den Aufrufer erhält. Andernfalls wird FALSE zurückgegeben. Der Rückgabewert FALSE gibt an, dass die Ausführung des Objekts gestartet wurde und dass das Objekt als ungültig behandelt werden muss.
Hinweise
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 Rundownschutz wirksam ist. Wenn der Rundownschutz wirksam ist, kann der Treiber sicher auf das Objekt zugreifen, ohne dass das Risiko besteht, dass das Objekt gelöscht wird, bevor der Zugriff abgeschlossen ist.
Solange der run-down-Block selbst nicht aus der Seite ist, kann diese Funktion bei DISPATCH_LEVEL aufgerufen werden.
Nach Abschluss des Zugriffs ruft der Treiber ExReleaseRundownProtection auf, um den zuvor erworbenen Rundownschutz freizugeben.
Wenn ExAcquireRundownProtectionFALSE zurückgibt, kann nicht mehr auf das Objekt 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 |
---|---|
Unterstützte Mindestversion (Client) | Verfügbar ab Windows XP. |
Zielplattform | Universell |
Header | wdm.h (wdm.h einschließen) |
Bibliothek | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= DISPATCH_LEVEL (siehe Hinweise) |
DDI-Complianceregeln | HwStorPortProhibitedDIs(storport) |