Auf Englisch lesen

Freigeben über


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.

Syntax

HRESULT GetStatus();

Rückgabewert

GetStatus- einen HRESULT-Typ-Statuswert zurückgibt, gibt dieser Wert den aktuellen Status der E/A-Anforderung an, die die IWDFIoRequest2 Schnittstelle darstellt.

Bemerkungen

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.
Weitere Informationen zum Abschluss der Anforderung finden Sie unter Abschließen von E/A-Anforderungen.

Beispiele

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);
}
...

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

Siehe auch

IRequestCallbackRequestCompletion::OnCompletion

IWDFIoRequest2-

IWDFIoRequest::CompleteWithInformation

IWDFIoRequest::GetCompletionParams

IWDFIoRequest::Send