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. Es werden keine neuen Features zu UMDF 1 hinzugefügt, und es gibt eingeschränkte Unterstützung für UMDF 1 für neuere Versionen von Windows 10. 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 diesem bereitgestellten Dateiobjekt entspricht.
[out] ppRequest
Ein Zeiger auf einen Puffer, der einen Zeiger auf die IWDFIoRequest Schnittstelle für das nächste Anforderungsobjekt empfängt, dessen Dateiobjekt dem bereitgestellten Dateiobjekt entspricht, oder empfängt NULL-, wenn die Warteschlange leer ist oder die nächste Anforderung nicht gefunden wird.
Rückgabewert
RetrieveNextRequestByFileObject 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 verteilt keine Anforderungen. Diese Situation tritt auf, wenn das Gerät einem Stromzustandsübergang unterzogen wird und alle Warteschlangen angehalten werden, Anforderungen zu verteilen oder wenn der Treiber explizit IWDFIoQueue::Stop aufgerufen wird, um die Verteileranforderungen zu beenden. Diese Situation kann auch auftreten, wenn der Treiber versucht, eine Anforderung aus einer manuellen Warteschlange zu entfernen, die stromverwaltet ist und heruntergefahren wird oder wenn die Warteschlange angehalten wird. |
HRESULT_FROM_WIN32(ERROR_NO_MORE_ITEMS) | In der Warteschlange waren keine Anforderungen vorhanden. |
HRESULT_FROM_NT(STATUS_INVALID_DEVICE_STATE) | Der Aufruf wurde ausgeführt, um die Anforderung aus einer parallelen Warteschlange abzurufen. |
RetrieveNextRequestByFileObject- können auch andere HRESULT-Werte zurückgeben.
Bemerkungen
Wenn ein Treiber eine E/A-Warteschlange für die manuelle Verteilerung von E/A-Anforderungen konfiguriert, kann der Treiber die RetrieveNextRequestByFileObject Methode aufrufen, um die nächste Anforderung abzurufen, deren Dateiobjekt mit dem bereitgestellten Dateiobjekt aus der Warteschlange übereinstimmt. Weitere Informationen zum manuellen Verteilen von E/A-Anforderungen finden Sie unter Konfigurieren des Versandmodus für eine E/A-Warteschlange.
Wenn mehrere E/A-Anforderungen, deren Dateiobjekte mit dem Dateiobjekt übereinstimmen, auf das der pFile Parameter verweist, in der E/A-Warteschlange vorhanden ist, 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 |
Mindest-UMDF-Version | 1.5 |
Header- | wudfddi.h (include Wudfddi.h) |
DLL- | WUDFx.dll |