StorPortWaitForSingleObject-Funktion (storport.h)
Ein Miniport kann die StorPortWaitForSingleObject-Funktion aufrufen, um den aktuellen Thread in einen Wartezustand zu versetzen, bis das angegebene Dispatcherobjekt auf signalisiert oder optional timeout festgelegt ist.
Syntax
ULONG StorPortWaitForSingleObject(
PVOID HwDeviceExtension,
PVOID Object,
BOOLEAN Alertable,
PLARGE_INTEGER Timeout
);
Parameter
HwDeviceExtension
Zeiger auf die Geräteerweiterung des Speicherminiports.
Object
Zeiger auf das initialisierte Dispatcherobjekt (Ereignis, Mutex, Semaphor, Thread oder Timer).
Alertable
Der boolesche Wert legt TRUE fest, wenn die Wartezeit warnungsfähig ist, andernfalls FALSE.
Timeout
Zeiger auf den Timeoutwert, der die absolute oder relative Zeit in 100 Nanosekundeneinheiten angibt, bei der die Wartezeit abgeschlossen werden soll.
Ein positiver Wert gibt eine absolute Zeit relativ zum 1. Januar 1601 an. Ein negativer Wert gibt ein Intervall relativ zur aktuellen Zeit an. Absolute Ablaufzeiten nachverfolgen alle Änderungen der Systemzeit; relative Ablaufzeiten werden von Systemzeitänderungen nicht beeinflusst.
Wenn Timeout = 0 ist, wird die Routine ohne Wartezeit zurückgegeben. Wenn der Miniport einen NULL-Zeiger bereitstellt, wartet die Routine unbegrenzt, bis das Dispatcherobjekt auf den signalierten Zustand festgelegt ist. Weitere Informationen finden Sie im folgenden Abschnitt "Hinweise".
Rückgabewert
StorPortSetEvent gibt einen status Code zurück, z. B. einen der folgenden:
Rückgabecode | Beschreibung |
---|---|
STOR_STATUS_INVALID_PARAMETER | Mindestens ein Parameter ist ungültig. |
STOR_STATUS_SUCCESS | Das ETW-Ereignis wurde erfolgreich protokolliert. |
STOR_STATUS_UNSUCCESSFUL | Fehler beim Vorgang. |
Hinweise
Weitere Informationen finden Sie unter KeWaitForSingleObject .
Aufrufer von StorportWaitForSingleObject müssen unter IRQL <= DISPATCH_LEVEL ausgeführt werden. Wenn Jedoch Timeout = NULL oder Timeout != 0 ist, muss der Aufrufer unter IRQL <= APC_LEVEL und in einem nichtarbiträren Threadkontext ausgeführt werden. (Wenn Timeout != NULL und Timeout = 0 sind, muss der Aufrufer unter IRQL <= DISPATCH_LEVEL ausgeführt werden.)
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 10, Version 2004 |
Kopfzeile | storport.h |