Freigeben über


IWDFIoRequest2::GetRequestorMode-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 GetRequestorMode--Methode gibt an, ob eine E/A-Anforderung von einem Kernelmodustreiber oder einer Benutzermoduskomponente (entweder einer Anwendung oder einem Benutzermodustreiber) stammt.

Syntax

WDF_KPROCESSOR_MODE GetRequestorMode();

Rückgabewert

GetRequestorMode gibt einen WDF_KPROCESSOR_MODE-typed-Wert zurück, der angibt, ob die aktuelle E/A-Anforderung von einem Kernelmodustreiber oder einer Benutzermoduskomponente stammt.

Bemerkungen

Ein UMDF-basierter Treiber kann eine E/A-Anforderung von einem Kernelmodustreiber nur empfangen, wenn der UMDF-basierte Treiber Kernelmodusclientsunterstützt.

Wenn GetRequestorModeWdfUserMode-zurückgibt, kann der Treiber IWDFIoRequest2::IsFromUserModeDriver aufrufen, um festzustellen, ob die E/A-Anforderung von einer Anwendung oder einem Benutzermodustreiber stammt.

Beispiele

Das folgende Codebeispiel zeigt, wie eine IQueueCallbackWrite::OnWrite Rückruffunktion bestimmen kann, ob eine E/A-Anforderung aus dem Kernelmodus oder dem Benutzermodus stammt. Wenn die Anforderung aus dem Benutzermodus stammt, bestimmt das Beispiel, ob die Anforderung von einer Anwendung oder einem anderen Benutzermodustreiber stammt.

VOID
STDMETHODCALLTYPE
  CMyQueue::OnWrite(
    __in IWDFIoQueue *pWdfQueue,
    __in IWDFIoRequest *pWdfRequest,
    __in SIZE_T BytesToWrite
    )
{
 WDF_KPROCESSOR_MODE processorMode;
    BOOL fromApp = FALSE;
    //
    // Declare an IWDFIoRequest2 interface pointer and obtain the
    // IWDFIoRequest2 interface from the IWDFIoRequest interface.
    //
    CComQIPtr<IWDFIoRequest2> r2 = pWdfRequest;

    processorMode = r2->GetRequestorMode();
    if (processorMode == WdfUserMode)
    {
        fromApp = r2->IsFromUserModeDriver();
    }
...
}

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

IWDFIoRequest2-

IWDFIoRequest2::IsFromUserModeDriver