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 |
---|---|
|
Der Treiber hat ein ungültiges Handle bereitgestellt. |
|
Das Framework hat das Ende der E/A-Warteschlange erreicht. |
|
Die angegebene E/A-Warteschlange ist für die parallele Verteilmethode konfiguriert. |
|
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) |