IQueueCallbackDeviceIoControl::OnDeviceIoControl 메서드(wudfddi.h)

경고

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

OnDeviceIoControl 메서드는 애플리케이션이 Microsoft Win32 OnDeviceIoControl 함수를 통해 디바이스에서 특정 작업을 수행할 때 디바이스 I/O 제어 요청을 처리하기 위해 호출됩니다.

구문

void OnDeviceIoControl(
  [in] IWDFIoQueue   *pWdfQueue,
  [in] IWDFIoRequest *pWdfRequest,
  [in] ULONG         ControlCode,
       SIZE_T        InputBufferSizeInBytes,
       SIZE_T        OutputBufferSizeInBytes
);

매개 변수

[in] pWdfQueue

요청이 도착하는 I/O 큐 개체에 대한 IWDFIoQueue 인터페이스에 대한 포인터입니다.

[in] pWdfRequest

프레임워크 요청 개체를 나타내는 IWDFIoRequest 인터페이스에 대한 포인터입니다.

[in] ControlCode

수행할 특정 작업을 식별하고 요청과 연결된 드라이버 정의 또는 IOCTL(시스템 정의 I/O 제어 코드)입니다.

InputBufferSizeInBytes

요청에 대한 입력 버퍼의 크기(바이트)입니다.

OutputBufferSizeInBytes

요청에 대한 출력 버퍼의 크기(바이트)입니다.

반환 값

없음

설명

드라이버가 IWDFDevice::CreateIoQueue 메서드를 호출하여 I/O 큐를 만들거나 기본 I/O 큐를 구성할 때 드라이버가 IQueueCallbackDeviceIoControl 인터페이스를 등록합니다.

드라이버는 모든 I/O 큐 에 대해 단일 OnDeviceIoControl 메서드를 구현하거나 각 I/O 큐 에 대해 별도의 OnDeviceIoControl 메서드를 구현할 수 있습니다.

OnDeviceIoControl 메서드는 큐에서 모든 디바이스 I/O 제어 요청 유형을 수신합니다. (요청 형식은 요청에 대한 WDF_REQUEST_TYPE 열거형 형식의 WdfRequestDeviceIoControl 값으로 식별됩니다.)

큐와 연결되고 프레임워크가 호출하는 드라이버의 메서드에 대한 자세한 내용은 I/O 큐 이벤트 콜백 함수를 참조하세요. OnDeviceIoControl 메서드는 수신된 각 디바이스 I/O 제어 요청을 처리해야 합니다. UMDF 드라이버가 I/O 요청을 처리하는 방법에 대한 자세한 내용은 I/O 요청 처리를 참조하세요.

드라이버는 IWDFIoRequest::GetDeviceIoControlParameters, IWDFIoRequest::GetInputMemoryIWDFIoRequest::GetOutputMemory 메서드를 호출하여 요청 및 입력 및 출력 버퍼에 대한 정보를 검색할 수 있습니다.

요구 사항

요구 사항
대상 플랫폼 Windows
헤더 wudfddi.h(Wudfddi.h 포함)

추가 정보