Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Das NDIS_WAIT_FOR_MUTEX Makro versetzt den aktuellen Thread in den Wartezustand, bis das angegebene Mutex-Objekt auf den signalisierten Zustand festgelegt ist.
Syntax
void NDIS_WAIT_FOR_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_WAIT_FOR_MUTEX gibt STATUS_SUCCESS zurück, wenn der Vorgang erfolgreich abgeschlossen wurde. Andernfalls wird ein entsprechender NTSTATUS-Fehlercode zurückgegeben.
Bemerkungen
NDIS-Netzwerktreiber sollten das NDIS_WAIT_FOR_MUTEX Makro verwenden, um auf einen Mutex zu warten, um zum signalierten Zustand zu wechseln.
Ein Treiber kann nicht auf ein Nichtzero-Zeitintervall für ein Mutex-Objekt bei einem ausgelösten IRQL oder in einem beliebigen Threadkontext warten (d. a. der Kontext des aktuellen Threads, wenn eine Treiberfunktion aufgerufen wird).
NDIS_WAIT_FOR_MUTEX überprüft den aktuellen Zustand des Mutex-Objekts, um festzustellen, ob der Wartevorgang sofort erfüllt werden kann. Wenn der Vorgang sofort erfüllt werden kann, werden die erforderlichen Aktualisierungen an das Mutex-Objekt vorgenommen. Andernfalls befindet sich der aktuelle Thread in einem Wartezustand, und ein neuer Thread wird für die Ausführung auf dem aktuellen Prozessor ausgewählt.
Dieses Makro ist ein NDIS-Wrapper für die KeWaitForSingleObject Routine.
Aufrufer von NDIS_WAIT_FOR_MUTEX müssen bei IRQL ausgeführt werden == PASSIVE_LEVEL und in einem nichtarbiträren Threadkontext.
Anforderungen
| Anforderung | Wert |
|---|---|
| mindestens unterstützte Client- | Unterstützt in NDIS 6.0 und höher. |
| Zielplattform- | Universal |
| Header- | ndis.h |
| IRQL- | PASSIVE_LEVEL (siehe Abschnitt "Hinweise") |
| DDI-Complianceregeln | Irql_Synch_Function(ndis) |