다음을 통해 공유


IWDFIoRequest2::GetRequestorMode 메서드(wudfddi.h)

[경고: UMDF 2는 UMDF의 최신 버전이며 UMDF 1을 대체합니다. 모든 새 UMDF 드라이버는 UMDF 2를 사용하여 작성해야 합니다. UMDF 1에는 새로운 기능이 추가되지 않으며 최신 버전의 Windows 10에서는 UMDF 1에 대한 지원이 제한되어 있습니다. 유니버설 Windows 드라이버는 UMDF 2를 사용해야 합니다. 자세한 내용은 UMDF시작 .]을 참조하세요.

GetRequestorMode 메서드는 I/O 요청이 커널 모드 드라이버 또는 사용자 모드 구성 요소(애플리케이션 또는 사용자 모드 드라이버)에서 제공되었는지 여부를 나타냅니다.

통사론

WDF_KPROCESSOR_MODE GetRequestorMode();

반환 값

GetRequestorMode 현재 I/O 요청이 커널 모드 드라이버 또는 사용자 모드 구성 요소에서 제공되었는지 여부를 나타내는 WDF_KPROCESSOR_MODE형식화된 값을 반환합니다.

발언

UMDF 기반 드라이버는 UMDF 기반 드라이버가 커널 모드 클라이언트를 지원하는 경우에만 커널 모드 드라이버에서 I/O 요청을 받을 수 있습니다.

GetRequestorModeWdfUserMode반환하는 경우 드라이버는 IWDFIoRequest2::IsFromUserModeDriver 호출하여 I/O 요청이 애플리케이션 또는 사용자 모드 드라이버에서 왔는지 확인할 수 있습니다.

예제

다음 코드 예제에서는 IQueueCallbackWrite::OnWrite 콜백 함수가 I/O 요청이 커널 모드 또는 사용자 모드에서 온 것인지를 확인하는 방법을 보여줍니다. 요청이 사용자 모드에서 온 경우 이 예제는 요청이 애플리케이션에서 온 것인지 아니면 다른 사용자 모드 드라이버에서 온 것인지를 결정합니다.

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

요구 사항

요구
지원 종료 UMDF 2.0 이상에서는 사용할 수 없습니다.
대상 플랫폼 바탕 화면
최소 UMDF 버전 1.9
헤더 wudfddi.h(Wudfddi.h 포함)
DLL WUDFx.dll

참고 항목

IWDFIoRequest2

IWDFIoRequest2::IsFromUserModeDriver