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