Freigeben über


IWDFIoQueue::RetrieveNextRequestByFileObject-Methode (wudfddi.h)

Warnung

UMDF 2 ist die neueste Version von UMDF und ersetzt UMDF 1. Alle neuen UMDF-Treiber sollten mit UMDF 2 geschrieben werden. UMDF 1 werden keine neuen Features hinzugefügt, und die Unterstützung für UMDF 1 in neueren Versionen von Windows 10 ist eingeschränkt. Universelle Windows-Treiber müssen UMDF 2 verwenden. Weitere Informationen finden Sie unter Erste Schritte mit UMDF.

Die RetrieveNextRequestByFileObject-Methode ruft aus einer E/A-Warteschlange die nächste E/A-Anforderung ab, deren Dateiobjekt mit dem angegebenen Dateiobjekt übereinstimmt.

Syntax

HRESULT RetrieveNextRequestByFileObject(
  [in]  IWDFFile      *pFile,
  [out] IWDFIoRequest **ppRequest
);

Parameter

[in] pFile

Ein Zeiger auf die IWDFFile-Schnittstelle für das Dateiobjekt, das zum Abrufen der nächsten E/A-Anforderung verwendet wird, deren Dateiobjekt mit diesem angegebenen Dateiobjekt übereinstimmt.

[out] ppRequest

Ein Zeiger auf einen Puffer, der einen Zeiger auf die IWDFIoRequest-Schnittstelle für das nächste Anforderungsobjekt empfängt, dessen Dateiobjekt mit dem angegebenen Dateiobjekt übereinstimmt, oder null empfängt, wenn die Warteschlange leer ist oder wenn die nächste Anforderung nicht gefunden wird.

Rückgabewert

RetrieveNextRequestByFileObject gibt einen der folgenden Werte zurück:

Rückgabecode BESCHREIBUNG
S_OK Die nächste E/A-Anforderung wurde erfolgreich aus der E/A-Warteschlange abgerufen.
HRESULT_FROM_NT(STATUS_WDF_PAUSED) Die Warteschlange sendet keine Anforderungen. Diese Situation tritt auf, wenn das Gerät einen Energiezustandsübergang durchläuft und alle Warteschlangen angehalten werden, Anforderungen zu senden, oder wenn der Treiber explizit IWDFIoQueue::Stop aufgerufen hat, um die Verteilung von Anforderungen zu beenden. Diese Situation kann auch auftreten, wenn der Treiber versucht, eine Anforderung aus einer manuellen, energieverwalteten und heruntergefahrenen Warteschlange zu entfernen oder wenn die Warteschlange angehalten wird.
HRESULT_FROM_WIN32(ERROR_NO_MORE_ITEMS) In der Warteschlange befanden sich keine Anforderungen.
HRESULT_FROM_NT(STATUS_INVALID_DEVICE_STATE) Der Aufruf wurde durchgeführt, um die Anforderung aus einer parallelen Warteschlange abzurufen.

RetrieveNextRequestByFileObject gibt möglicherweise auch andere HRESULT-Werte zurück.

Hinweise

Wenn ein Treiber eine E/A-Warteschlange für die manuelle Verteilung von E/A-Anforderungen konfiguriert, kann der Treiber die RetrieveNextRequestByFileObject-Methode aufrufen, um die nächste Anforderung abzurufen, deren Dateiobjekt mit dem angegebenen Dateiobjekt aus der Warteschlange übereinstimmt. Weitere Informationen zum manuellen Senden von E/A-Anforderungen finden Sie unter Konfigurieren des Verteilungsmodus für eine E/A-Warteschlange.

Wenn mehrere E/A-Anforderungen, deren Dateiobjekte mit dem Dateiobjekt übereinstimmen, auf das der pFile-Parameter in der E/A-Warteschlange verweist, wird die erste E/A-Anforderung zurückgegeben.

Beispiele

Ein Codebeispiel für die Verwendung der RetrieveNextRequestByFileObject-Methode finden Sie unter IWDFIoQueue::RetrieveNextRequest.

Anforderungen

Anforderung Wert
Ende des Supports In UMDF 2.0 und höher nicht verfügbar.
Zielplattform Desktop
UMDF-Mindestversion 1.5
Kopfzeile wudfddi.h (include Wudfddi.h)
DLL WUDFx.dll

Weitere Informationen