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-Typ-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 null ist, wurde das Mutex-Objekt losgelassen und befindet sich im signalierten Zustand. Wenn NDIS_RELEASE_MUTEX einen Wert ungleich Null zurückgibt, befindet sich der Mutex nicht im signalisierten Zustand.

Bemerkungen

NDIS-Netzwerktreiber sollten das NDIS_RELEASE_MUTEX Makro 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.

Rufen Sie zum Abrufen des Mutex das NDIS_WAIT_FOR_MUTEX Makro auf. Wenn ein Mutex rekursiv abgerufen wird, muss der Haltethread NDIS_RELEASE_MUTEX dieselbe Häufigkeit aufrufen, mit der der Mutex den Mutex wieder auf den signalisierten Zustand zurückgesetzt hat.

NDIS_RELEASE_MUTEX ist ein NDIS-Wrapper für die KeReleaseMutex Routine.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Unterstützt in NDIS 6.0 und höher.
Zielplattform- Universal
Header- ndis.h
IRQL- PASSIVE_LEVEL
DDI-Complianceregeln Irql_Synch_Function(ndis)

Siehe auch

KeReleaseMutex

NDIS_INIT_MUTEX

NDIS_WAIT_FOR_MUTEX