Freigeben über


WdfIoQueueRetrieveFoundRequest-Funktion (wdfio.h)

[Gilt für KMDF und UMDF]

Die WdfIoQueueRetrieveFoundRequest Methode liefert eine angegebene Anforderung an den Treiber, damit der Treiber die Anforderung verarbeiten kann.

Syntax

NTSTATUS WdfIoQueueRetrieveFoundRequest(
  [in]  WDFQUEUE   Queue,
  [in]  WDFREQUEST FoundRequest,
  [out] WDFREQUEST *OutRequest
);

Die Parameter

[in] Queue

Ein Handle zu einem Framework-Warteschlangenobjekt.

[in] FoundRequest

Ein Handle für ein Framework-Anforderungsobjekt, das durch Aufrufen WdfIoQueueFindRequestRequestabgerufen wurde.

[out] OutRequest

Ein Zeiger auf eine Position, die ein Handle zu einem Framework-Anforderungsobjekt empfängt. Der Treiber muss dieses Handle beim Verarbeiten der Anforderung verwenden.

Rückgabewert

WdfIoQueueRetrieveFoundRequest 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_NOT_FOUND
Die vom FoundRequest Parameter identifizierte Anforderung wurde in der E/A-Warteschlange nicht gefunden.
STATUS_NO_MORE_ENTRIES
Das Framework hat das Ende der E/A-Warteschlange erreicht, ohne eine Anforderung zu finden, die den Suchkriterien entspricht.
 

Diese Methode kann auch andere NTSTATUS-Wertezurückgeben.

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

Bemerkungen

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

Vor dem Aufrufen WdfIoQueueRetrieveFoundRequestmuss der Treiber WdfIoQueueFindRequestrequestaufrufen, wodurch ein Handle abgerufen wird, das der Treiber als FoundRequest Parameter zum WdfIoQueueRetrieveFoundRequestverwenden kann.

Wenn Ihr Treiber mit KMDF Version 1.11 oder höher erstellt wurde, kann der Treiber WdfIoQueueRetrieveFoundRequest- aufrufen, ohne zuerst WdfIoQueueFindRequestaufzurufen. In diesem Fall muss der Treiber sicherstellen, dass das Anforderungsobjekt noch gültig und in der Warteschlange ist.

Wenn ein Aufruf von WdfIoQueueRetrieveFoundRequest STATUS_NOT_FOUND zurückgibt, wurde eine Anforderung entfernt, die sich zuvor in der Warteschlange befand. Die Anforderung wurde möglicherweise abgebrochen.

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

Beispiele

Ein Codebeispiel, das WdfIoQueueRetrieveFoundRequestverwendet, finden Sie unter WdfIoQueueFindRequest.

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), wdfioqueuefindrequestfailed, WdfIoQueueFindRequestFailed(kmdf), wdfioqueueretrievefoundrequest, WdfIoQueueRetrieveFoundRequest(kmdf)

Siehe auch

WdfIoQueueFindRequest-

WdfIoQueueRetrieveNextRequest

WdfIoQueueRetrieveRequestByFileObject