Freigeben über


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

Die Parameter

[in] Queue

Ein Handle zu einem Framework-Warteschlangenobjekt.

[in] FileObject

Ein Handle zu einem Framework-Dateiobjekt.

[out] OutRequest

Ein Zeiger auf eine Position, die ein Handle zu einem Framework-Anforderungsobjekt empfängt. Wenn WdfIoQueueRetrieveRequestByFileObject keine 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 einen ungültigen 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 Verteilermethode konfiguriert.
STATUS_WDF_PAUSED
Die angegebene E/A-Warteschlange ist stromverwalteten und das Gerät befindet sich in einem Energiesparzustand.
 

Diese Methode kann auch andere NTSTATUS-Wertezurückgeben.

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

Bemerkungen

Ein Treiber, der eine E/A-Warteschlange für manuelle oder sequenzielle Verteiler konfiguriert hat, kann WdfIoQueueRetrieveRequestByFileObjectaufrufen. Weitere Informationen zum Verwenden von WdfIoQueueRetrieveRequestByFileObject mit den manuellen oder sequenziellen Verteilermethoden finden Sie unter Dispatching Methods for I/O Requests.

Nachdem Sie WdfIoQueueRetrieveRequestByFileObject aufgerufen haben, um eine E/A-Anforderung abzurufen, besitzt der Treiber der Anforderung und muss die E/A-Anforderung auf irgendeine Weise verarbeiten .

Weitere Informationen zur WdfIoQueueRetrieveRequestByFileObject--Methode finden Sie unter Managing I/O Queues.

Beispiele

Im folgenden Codebeispiel wird aus einer angegebenen E/A-Warteschlange ein Handle zum nächsten Framework-Anforderungsobjekt abgerufen, das einem angegebenen Framework-Dateiobjekt zugeordnet ist.

WDFREQUEST  request;

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

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

Siehe auch

WdfIoQueueRetrieveFoundRequest

WdfIoQueueRetrieveNextRequest