IWDFIoRequest2::Requeue-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 Requeue Methode gibt eine E/A-Anforderung an den Kopf der E/A-Warteschlange zurück, aus der sie an den Fahrer übermittelt wurde.
Syntax
HRESULT Requeue();
Rückgabewert
Requeue gibt S_OK zurück, wenn der Vorgang erfolgreich ist. Andernfalls gibt diese Methode möglicherweise einen der folgenden Werte zurück:
Rückgabecode | Beschreibung |
---|---|
|
Dieser Wert wird zurückgegeben, wenn einer der folgenden Aktionen auftritt:
|
Diese Methode gibt möglicherweise einen der anderen Werte zurück, die Winerror.h enthält.
Bemerkungen
Ein Treiber kann Requeue nur aufrufen, wenn die manuelle Verteilermethode für die E/A-Warteschlange verwendet wird.
Beispiele
Das folgende Codebeispiel zeigt ein Segment eines IQueueCallbackStateChange::OnStateChange Rückruffunktion. Das Segment ruft eine E/A-Anforderung aus der E/A ab und gibt dann die Anforderung an die Warteschlange zurück.
void
CMyQueue::OnStateChange(
__in IWDFIoQueue* pWdfQueue,
__in WDF_IO_QUEUE_STATE
)
{
HRESULT hr;
IWDFIoRequest* Request;
...
//
// Get the IWDFIoRequest interface of the next request.
//
hr = pWdfQueue->RetrieveNextRequest(&Request);
...
//
// Declare an IWDFIoRequest2 interface pointer and obtain the
// IWDFIoRequest2 interface from the IWDFIoRequest interface.
//
CComQIPtr<IWDFIoRequest2> r2 = Request;
//
// Add code here to determine whether to process or requeue the request.
//
...
//
// Requeue the request.
//
hr = r2->Requeue();
if (FAILED(hr)) goto Error;
...
}
Anforderungen
Anforderung | Wert |
---|---|
Ende des Supports | In UMDF 2.0 und höher nicht verfügbar. |
Zielplattform- | Desktop |
Mindest-UMDF-Version | 1.9 |
Header- | wudfddi.h (include Wudfddi.h) |
DLL- | WUDFx.dll |