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 |
---|---|
|
Der Treiber hat einen ungültigen Handle bereitgestellt. |
|
Die vom FoundRequest Parameter identifizierte Anforderung wurde in der E/A-Warteschlange nicht gefunden. |
|
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) |