Freigeben über


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:

Wenn Ihr Treiber die automatische Synchronisierung des Frameworks verwendet, ändert sich die status der E/A-Warteschlange zwischen dem Zeitpunkt, zu dem die WdfIoQueueGetState-Methode status Informationen aus dem Framework abruft, und der Zeit, die die Methode zurückgibt. Andernfalls kann sich die status der Warteschlange ändern, bevor die WdfIoQueueGetState-Methode zurückgegeben 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)

Weitere Informationen

EvtIoQueueState

WDF_IO_QUEUE_STATE