WdfIoQueueRetrieveRequestByFileObject-Funktion (wdfio.h)

[Gilt für KMDF und UMDF]

Die WdfIoQueueRetrieveRequestByFileObject-Methode ruft die nächste verfügbare E/A-Anforderung aus einer angegebenen E/A-Warteschlange ab, die einem angegebenen Dateiobjekt zugeordnet ist.

Syntax

NTSTATUS WdfIoQueueRetrieveRequestByFileObject(
  [in]  WDFQUEUE      Queue,
  [in]  WDFFILEOBJECT FileObject,
  [out] WDFREQUEST    *OutRequest
);

Parameter

[in] Queue

Ein Handle für ein Framework-Warteschlangenobjekt.

[in] FileObject

Ein Handle für ein Frameworkdateiobjekt.

[out] OutRequest

Ein Zeiger auf einen Speicherort, der ein Handle für ein Frameworkanforderungsobjekt empfängt. Wenn WdfIoQueueRetrieveRequestByFileObject nicht STATUS_SUCCESS zurückgibt, wird der Wert des Speicherorts nicht festgelegt.

Rückgabewert

WdfIoQueueRetrieveRequestByFileObject gibt STATUS_SUCCESS zurück, wenn der Vorgang erfolgreich ist. Andernfalls gibt diese Methode möglicherweise einen der folgenden Werte zurück:

Rückgabecode Beschreibung
STATUS_INVALID_PARAMETER
Der Treiber hat ein ungültiges Handle bereitgestellt.
STATUS_NO_MORE_ENTRIES
Das Framework hat das Ende der E/A-Warteschlange erreicht.
STATUS_INVALID_DEVICE_STATE
Die angegebene E/A-Warteschlange ist für die parallele Verteilmethode konfiguriert.
STATUS_WDF_PAUSED
Die angegebene E/ A-Warteschlange wird vom Strom verwaltet , und ihr Gerät befindet sich im Energiesparmodus.
 

Diese Methode kann auch andere NTSTATUS-Werte zurückgeben.

Eine Fehlerüberprüfung tritt auf, wenn der Treiber ein ungültiges Objekthandle bereitstellt.

Hinweise

Ein Treiber, der eine E/A-Warteschlange für die manuelle oder sequenzielle Verteilung konfiguriert hat, kann WdfIoQueueRetrieveRequestByFileObject aufrufen. Weitere Informationen zur Verwendung von WdfIoQueueRetrieveRequestByFileObject mit den methoden für die manuelle oder sequenzielle Verteilermethode finden Sie unter Dispatching Methods for E/O Requests.

Nachdem WdfIoQueueRetrieveRequestByFileObject aufgerufen wurde , um eine E/A-Anforderung abzurufen, besitzt der Treiber die Anforderung und muss die E/A-Anforderung in irgendeiner Weise verarbeiten.

Weitere Informationen zur WdfIoQueueRetrieveRequestByFileObject-Methode finden Sie unter Verwalten von E/A-Warteschlangen.

Beispiele

Im folgenden Codebeispiel wird aus einer angegebenen E/A-Warteschlange ein Handle für das nächste Frameworkanforderungsobjekt abgerufen, das einem angegebenen Frameworkdateiobjekt zugeordnet ist.

WDFREQUEST  request;

status = WdfIoQueueRetrieveRequestByFileObject(
                                               queue,
                                               fileObject,
                                               &request
                                               );

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 DoubleCompletion(kmdf), DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

Weitere Informationen

WdfIoQueueRetrieveFoundRequest

WdfIoQueueRetrieveNextRequest