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 요청을 받을 수 있습니다.
GetRequestorMode가 WdfUserMode를 반환하는 경우 드라이버는 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 |