NdisReleaseRWLock-Funktion (ndis.h)
Die NdisReleaseRWLock-Funktion gibt eine Lese-/Schreibsperre frei, die der Aufrufer verwendet, um Zugriff auf Ressourcen zu erhalten, die zwischen 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 zwischen 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, die der Aufrufer abruft und die Sperre loslässt. Der Aufrufer muss eine andere Variable vom Typ LOCK_STATE_EX für jeden Versuch verwenden, den er zum Abrufen der Sperre aus demselben Nicht-ISR-Treiberthread vorgibt.
Rückgabewert
Nichts
Bemerkungen
NDIS-Treiber rufen die NdisReleaseRWLock--Funktion auf, um eine Lese-/Schreibsperre freizugeben, die zuvor durch Aufrufen der
NdisAcquireRWLockRead- oder
NdisAcquireRWLockWrite-Funktion.
Ein Treiber muss eine Lese-/Schreibsperre abrufen, bevor der Treiber NdisReleaseRWLock-aufrufen kann. Jeder Aufruf zum Abrufen einer Sperre erfordert einen gegenseitigen Aufruf NdisReleaseRWLock.
Der Erwerb eines NDIS_RW_LOCK_EX wird auf den aktuellen Prozessor affinitiert. Treiber müssen NdisReleaseRWLock- auf demselben Prozessor aufrufen, der den entsprechenden Aufruf an NdisAcquireRWLockRead- oder NdisAcquireRWLockWriteausgeführt hat.
NdisReleaseRWLock stellt die ursprüngliche IRQL wieder her, die vom Aufrufer verwendet wurde, bevor die Sperre abgerufen wurde.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Unterstützt in NDIS 6.20 und höher. |
Zielplattform- | Universal |
Header- | ndis.h (include Ndis.h) |
Library | Ndis.lib |
IRQL- | DISPATCH_LEVEL |