Freigeben über


WdfIoQueueRetrieveFoundRequest-Funktion (wdfio.h)

[Gilt für KMDF und UMDF]

Die WdfIoQueueRetrieveFoundRequest-Methode übermittelt 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
);

Parameter

[in] Queue

Ein Handle für ein Framework-Warteschlangenobjekt.

[in] FoundRequest

Ein Handle für ein Frameworkanforderungsobjekt, das durch Aufrufen von WdfIoQueueFindRequest abgerufen wurde.

[out] OutRequest

Ein Zeiger auf einen Speicherort, der ein Handle für ein Frameworkanforderungsobjekt empfängt. Der Treiber muss dieses Handle bei der Verarbeitung 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 ein ungültiges Handle bereitgestellt.
STATUS_NOT_FOUND
Die Anforderung, die durch den FoundRequest-Parameter identifiziert wird, kann nicht in der E/A-Warteschlange gefunden werden.
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-Werte zurückgeben.

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

Hinweise

Nach dem Aufrufen von WdfIoQueueRetrieveFoundRequest zum Abrufen einer E/A-Anforderung besitzt der Treiber die Anforderung und muss die E/A-Anforderung in irgendeiner Weise verarbeiten.

Vor dem Aufrufen von WdfIoQueueRetrieveFoundRequest muss der Treiber WdfIoQueueFindRequest aufrufen, wodurch ein Handle abgerufen wird, das der Treiber als FoundRequest-Parameter für WdfIoQueueRetrieveFoundRequest verwenden kann.

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

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 Verwalten von E/A-Warteschlangen.

Beispiele

Ein Codebeispiel, das WdfIoQueueRetrieveFoundRequest verwendet, finden Sie unter WdfIoQueueFindRequest.

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

Weitere Informationen

WdfIoQueueFindRequest

WdfIoQueueRetrieveNextRequest

WdfIoQueueRetrieveRequestByFileObject