IWDFIoRequest2::GetStatus-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 GetStatus--Methode gibt den Status einer E/A-Anforderung zurück.
HRESULT GetStatus();
GetStatus- einen HRESULT-Typ-Statuswert zurückgibt, gibt dieser Wert den aktuellen Status der E/A-Anforderung an, die die IWDFIoRequest2 Schnittstelle darstellt.
Ein Treiber kann GetStatus- aufrufen, nachdem er IWDFIoRequest::Send aufgerufen hat, um eine E/A-Anforderung an ein E/A-Ziel zu senden.
-
Wenn der Aufruf eines Treibers an Senden erfolgreich ist, gibt GetStatus- den Statuswert zurück, der vom Treiber festgelegt wird, der die angegebene Anforderung abgeschlossen hat.
Wenn der Treiber WDF_REQUEST_SEND_OPTION_SYNCHRONOUS für eine Anforderung angibt, wenn er Sendaufruft, kann der Treiber GetStatus- (oder IWDFIoRequest::GetCompletionParams) unmittelbar nach dem Aufrufen von Sendaufrufen.
Wenn der Treiber WDF_REQUEST_SEND_OPTION_SYNCHRONOUS beim Aufrufen Sendnicht angibt, ruft der Treiber in der Regel GetStatus- (oder IWDFIoRequest::GetCompletionParams) innerhalb eines IRequestCallbackRequestCompletion::OnCompletion Rückruffunktion auf.
- Wenn der Aufruf eines Treibers an Send fehlschlägt, gibt Send einen Statuswert zurück, den das Framework festgelegt hat, um den Fehler zu beschreiben. Der Treiber kann GetStatus- aufrufen (aber nichtIWDFIoRequest::GetCompletionParams), um den aktuellen Status der Anforderung abzurufen, aber in diesem Fall gibt GetStatus- denselben Fehlercode zurück, der Senden zurückgegeben.
Im folgenden Codebeispiel wird eine E/A-Anforderung an ein E/A-Ziel gesendet. Wenn der Aufruf von Senden erfolgreich ist, ruft das Beispiel die IWDFIoRequest2 Schnittstelle ab, ruft GetStatus- auf, um den Statuswert der Anforderung abzurufen, und ruft dann IWDFIoRequest::CompleteWithInformation auf, um die E/A-Anforderung abzuschließen.
HRESULT hrSend = S_OK;
...
hrSend = fxRequest->Send(m_pIoTarget,
WDF_REQUEST_SEND_OPTION_SYNCHRONOUS,
0);
if (SUCCEEDED(hrSend))
{
//
// If send succeeded, complete the request and specify
// the current status value.
//
CComQIPtr<IWDFIoRequest2> fxRequest2 = fxRequest;
hrSend = fxRequest2->GetStatus();
fxRequest->CompleteWithInformation(hrSend, 0);
}
...
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 |
IRequestCallbackRequestCompletion::OnCompletion
IWDFIoRequest::CompleteWithInformation