Freigeben über


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)

Weitere Informationen

KeReleaseMutex

NDIS_INIT_MUTEX

NDIS_WAIT_FOR_MUTEX