다음을 통해 공유


EVT_WDF_IO_QUEUE_IO_READ 콜백 함수(wdfio.h)

[KMDF 및 UMDF에 적용]

드라이버의 EvtIoRead 이벤트 콜백 함수는 지정된 읽기 요청을 처리합니다.

구문

EVT_WDF_IO_QUEUE_IO_READ EvtWdfIoQueueIoRead;

void EvtWdfIoQueueIoRead(
  [in] WDFQUEUE Queue,
  [in] WDFREQUEST Request,
  [in] size_t Length
)
{...}

매개 변수

[in] Queue

I/O 요청과 연결된 프레임워크 큐 개체에 대한 핸들입니다.

[in] Request

프레임워크 요청 개체에 대한 핸들입니다.

[in] Length

읽을 바이트 수입니다.

반환 값

없음

설명

드라이버는 WdfIoQueueCreate를 호출할 때 EvtIoRead 콜백 함수를 등록합니다. WdfIoQueueCreate를 호출하는 방법에 대한 자세한 내용은 I/O 큐 만들기를 참조하세요.

드라이버가 디바이스의 I/O 큐에 대해 EvtIoRead 콜백 함수를 등록한 경우 콜백 함수는 큐에서 모든 읽기 요청을 수신합니다. 자세한 내용은 요청 처리기를 참조하세요.

EvtIoRead 콜백 함수는 수신된 각 I/O 요청을 어떤 방식으로 처리해야 합니다. 자세한 내용은 I/O 요청 처리를 참조하세요.

읽기 요청에는 드라이버가 제공하는 데이터를 수신하는 출력 버퍼가 필요합니다. 드라이버가 읽기 요청의 버퍼에 액세스하는 방법에 대한 자세한 내용은 Framework-Based 드라이버에서 데이터 버퍼 액세스를 참조하세요.

디바이스 또는 드라이버의 WDF_OBJECT_ATTRIBUTES 구조체의 ExecutionLevel 멤버가 WdfExecutionLevelPassive로 설정되지 않는 한 이 콜백 함수는 IRQL <= DISPATCH_LEVEL 호출할 수 있습니다.

IRQL이 PASSIVE_LEVEL 경우 프레임워크는 중요한 지역 내에서 콜백 함수를 호출합니다.

요청 처리기의 IRQL 수준에 대한 자세한 내용은 자동 동기화 사용을 참조하세요.

드라이버의 EvtIoRead 콜백 함수는 다음 큐 개체 메서드를 호출하면 안 됩니다.

WdfIoQueueDrainSynchronously
WdfIoQueuePurgeSynchronously
WdfIoQueueStopSynchronously

요구 사항

요구 사항
대상 플랫폼 유니버설
최소 KMDF 버전 1.0
최소 UMDF 버전 2.0
머리글 wdfio.h(Wdf.h 포함)
IRQL <= DISPATCH_LEVEL(설명 섹션 참조)

추가 정보

EvtIoDefault

EvtIoWrite

WDF_OBJECT_ATTRIBUTES

WdfIoQueueCreate