WdfIoQueueGetState-Funktion (wdfio.h)
[Gilt für KMDF und UMDF]
Die WdfIoQueueGetState-Methode gibt den status einer angegebenen E/A-Warteschlange zurück.
Syntax
WDF_IO_QUEUE_STATE WdfIoQueueGetState(
[in] WDFQUEUE Queue,
[out, optional] PULONG QueueRequests,
[out, optional] PULONG DriverRequests
);
Parameter
[in] Queue
Ein Handle für ein Framework-Warteschlangenobjekt.
[out, optional] QueueRequests
Ein Zeiger auf einen Speicherort, der die Anzahl der E/A-Anforderungen empfängt, die sich derzeit in der E/A-Warteschlange befinden und nicht an den Treiber übermittelt wurden. Dieser Zeiger ist optional und kann NULL sein.
[out, optional] DriverRequests
Ein Zeiger auf einen Speicherort, der die Anzahl der E/A-Anforderungen empfängt, die an den Treiber übermittelt wurden, der Treiber jedoch nicht abgeschlossen oder abgebrochen wurde. Dieser Zeiger ist optional und kann NULL sein.
Rückgabewert
WdfIoQueueGetState gibt einen WDF_IO_QUEUE_STATE typisierten Wert zurück, der den bitweisen OR mehrerer WDF_IO_QUEUE_STATE Enumeratoren enthalten kann.
Eine Fehlerüberprüfung tritt auf, wenn der Treiber ein ungültiges Objekthandle bereitstellt.
Hinweise
Nach dem Aufrufen von WdfIoQueueGetState kann Ihr Treiber den empfangenen Zustandswert an die folgenden Funktionen übergeben, die in Wdfio.h definiert sind:
-
WDF_IO_QUEUE_DRAINED, der TRUE zurückgibt, wenn die Warteschlange leer ist.
-
WDF_IO_QUEUE_IDLE, der TRUE zurückgibt, wenn sich die Warteschlange im Leerlauf befindet.
-
WDF_IO_QUEUE_PURGED, der TRUE zurückgibt, wenn die Warteschlange gelöscht wird.
-
WDF_IO_QUEUE_READY, der TRUE zurückgibt, wenn die Warteschlange bereit ist.
-
WDF_IO_QUEUE_STOPPED, der TRUE zurückgibt, wenn die Warteschlange beendet wird.
Weitere Informationen zur WdfIoQueueGetState-Methode finden Sie unter Abrufen von E/A-Warteschlangeneigenschaften.
Beispiele
Das folgende Codebeispiel ist eine Routine, die TRUE zurückgibt, wenn sich eine angegebene E/A-Warteschlange im Leerlauf befindet.
BOOLEAN
IsQueueIdle(
IN WDFQUEUE Queue
)
{
WDF_IO_QUEUE_STATE queueStatus;
queueStatus = WdfIoQueueGetState(
Queue,
NULL,
NULL
);
return (WDF_IO_QUEUE_IDLE(queueStatus)) ? TRUE : FALSE;
}
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Universell |
KMDF-Mindestversion | 1.0 |
UMDF-Mindestversion | 2.0 |
Kopfzeile | wdfio.h (einschließen von Wdf.h) |
Bibliothek | Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF) |
IRQL | <= DISPATCH_LEVEL |
DDI-Complianceregeln | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |