NdisReleaseRWLock-Funktion (ndis.h)
Die NdisReleaseRWLock-Funktion gibt eine Lese-/Schreibsperre frei, die der Aufrufer verwendet, um Zugriff auf Ressourcen zu erhalten, die von Treiberthreads gemeinsam genutzt werden.
Syntax
void NdisReleaseRWLock(
[in] PNDIS_RW_LOCK_EX Lock,
[in] PLOCK_STATE_EX LockState
);
Parameter
[in] Lock
Ein Zeiger auf eine undurchsichtige NDIS_RW_LOCK_EX Variable, die eine Sperre darstellt. Der Aufrufer kann diese Sperre verwenden, um Schreib- oder Lesezugriff auf Ressourcen zu erhalten, die von Nicht-ISR-Treiberthreads gemeinsam genutzt werden.
[in] LockState
Ein Zeiger auf eine undurchsichtige LOCK_STATE_EX Variable, die den Zustand der Sperre nachverfolgt. Diese Variable ist im Intervall zwischen den Zeiten vorhanden, zu denen der Aufrufer die Sperre abruft und freigibt. Der Aufrufer muss eine andere Variable vom Typ LOCK_STATE_EX für jeden Versuch verwenden, den er unternimmt, um die Sperre aus demselben Nicht-ISR-Treiberthread abzurufen.
Rückgabewert
Keine
Bemerkungen
NDIS-Treiber rufen die NdisReleaseRWLock-Funktion auf, um eine Lese-/Schreibsperre freizugeben, die zuvor durch Aufrufen des
NdisAcquireRWLockRead oder NdisAcquireRWLockWrite-Funktion .
Ein Treiber muss eine Lese-/Schreibsperre erhalten, bevor der Treiber NdisReleaseRWLock aufrufen kann. Jeder Aufruf zum Abrufen einer Sperre erfordert einen gegenseitigen Aufruf von NdisReleaseRWLock.
Der Erwerb eines NDIS_RW_LOCK_EX ist mit dem aktuellen Prozessor verbunden. Treiber müssen NdisReleaseRWLock auf demselben Prozessor aufrufen, der den entsprechenden Aufruf von NdisAcquireRWLockRead oder NdisAcquireRWLockWrite ausgeführt hat.
NdisReleaseRWLock stellt die ursprüngliche IRQL wieder her, die vom Aufrufer verwendet wurde, bevor die Sperre abgerufen wurde.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Unterstützt in NDIS 6.20 und höher. |
Zielplattform | Universell |
Header | ndis.h (einschließlich Ndis.h) |
Bibliothek | Ndis.lib |
IRQL | DISPATCH_LEVEL |