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
);

Die Parameter

[in] Queue

Ein Handle zu einem 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-typed-Wert zurück, der den bitweisen OR mehrerer WDF_IO_QUEUE_STATE Enumerationen enthalten kann.

Wenn der Treiber ein ungültiges Objekthandle bereitstellt, tritt eine Fehlerüberprüfung auf.

Bemerkungen

Nach dem Aufrufen WdfIoQueueGetStatekann Ihr Treiber den empfangenen Statuswert an die folgenden Funktionen übergeben, die in Wdfio.hdefiniert sind:

Wenn Ihr Treiber die der automatischen Synchronisierungdes Frameworks verwendet, ändert sich der Status der E/A-Warteschlange nicht zwischen dem Zeitpunkt, zu dem die WdfIoQueueGetState--Methode Statusinformationen aus dem Framework abruft und die Uhrzeit, zu der die Methode zurückgegeben wird. Andernfalls kann sich der 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 eine angegebene E/A-Warteschlange im Leerlauf ist.

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
Minimale KMDF-Version 1.0
Mindest-UMDF-Version 2.0
Kopfzeile wdfio.h (einschließen Wdf.h)
Bibliothek Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)
IRQL <= DISPATCH_LEVEL
DDI-Complianceregeln DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

Siehe auch

EvtIoQueueState

WDF_IO_QUEUE_STATE