NDIS_RELEASE_MUTEX Makro (ndis.h)
Das NDIS_RELEASE_MUTEX Makro gibt das angegebene mutex-Objekt frei.
Syntax
void NDIS_RELEASE_MUTEX(
_M_
);
Parameter
_M_
Ein Zeiger auf ein initialisiertes NDIS_MUTEX Mutex-Objekt. Der Aufrufer initialisierte das Mutex-Objekt in einem vorherigen Aufruf des NDIS_INIT_MUTEX-Makros . NDIS_MUTEX ist ein Wrapper für den KMUTEX-Typ.
Rückgabewert
NDIS_RELEASE_MUTEX gibt einen LONG-Wert zurück. Wenn der Rückgabewert 0 ist, wurde das Mutex-Objekt freigegeben und befindet sich im signalierten Zustand. Wenn NDIS_RELEASE_MUTEX einen Nonzero-Wert zurückgibt, befindet sich der Mutex nicht im signalierten Zustand.
Hinweise
NDIS-Netzwerktreiber sollten das makro NDIS_RELEASE_MUTEX verwenden, um einen Mutex freizugeben.
Nur der Thread, der derzeit das Mutex-Objekt enthält, kann es freigeben. Andernfalls tritt eine Fehlerüberprüfung auf. Eine Fehlerüberprüfung tritt auch auf, wenn ein Treiber versucht, ein Mutex-Objekt freizugeben, das sich im signalierten Zustand befindet.
Um den Mutex abzurufen, rufen Sie das Makro NDIS_WAIT_FOR_MUTEX auf. Wenn ein Mutex rekursiv abgerufen wird, muss der haltende Thread NDIS_RELEASE_MUTEX die gleiche Anzahl aufrufen, wie er den Mutex erworben hat, um ihn wieder in den signalierten Zustand zu versetzen.
NDIS_RELEASE_MUTEX ist ein NDIS-Wrapper für die KeReleaseMutex-Routine .
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Unterstützt in NDIS 6.0 und höher. |
Zielplattform | Universell |
Header | ndis.h |
IRQL | PASSIVE_LEVEL |
DDI-Complianceregeln | Irql_Synch_Function(ndis) |