Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
[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 |
|---|---|
|
Der Treiber hat einen ungültigen Handle bereitgestellt. |
|
Das Framework hat das Ende der E/A-Warteschlange erreicht. |
|
Die angegebene E/A-Warteschlange ist für die parallele Verteilermethode konfiguriert. |
|
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) |