다음을 통해 공유


디바이스 Type-Specific I/O 요청

WDK(Windows 드라이버 키트)의 디바이스별 섹션에서는 가장 일반적인 종류의 디바이스에 대해 시스템에서 제공하는 드라이버에서 처리하는 디바이스 유형별 I/O 요청에 대한 정보를 제공합니다.

새 커널 모드 드라이버는 새 드라이버가 다음 조건을 충족하는 경우 시스템 제공 드라이버와 동일한 I/O 요청 집합을 처리해야 합니다.

  • 새 드라이버는 동일한 유형의 디바이스에 대한 시스템 드라이버를 대체합니다.

  • 새 드라이버는 시스템에 이미 있는 유형의 다른 디바이스를 지원합니다.

  • 새 드라이버는 시스템에서 제공하는 두 드라이버 사이에 계층화된 중간(필터) 드라이버입니다.

이러한 새 드라이버는 시스템에서 제공하는 드라이버가 처리하는 모든 IRP_MJ_XXX 요청을 처리해야 합니다. 대부분의 경우 새 디바이스 드라이버는 새 드라이버가 해당 시스템 제공 드라이버의 동작을 에뮬레이트해야 하는 경우에도 IRP_MJ_DEVICE_CONTROL 요청에 대해 동일한 IOCTL_XXX 코드 집합을 처리해야 합니다. 그렇지 않으면 새 드라이버가 이러한 종류의 요청을 적용할 것으로 예상되는 사용자 모드 애플리케이션을 중단시킬 수 있습니다.

드라이버가 I/O 상태 블록에서 특정 요청에 대한 반환 값으로 설정할 수 있는 NTSTATUS 값에 대한 자세한 내용은 NTSTATUS 값 사용을 참조하세요. 오류 로그 패킷에 지정할 수 있는 NTSTATUS 값에 대한 자세한 내용은 로깅 오류를 참조하세요. 이 정보를 사용하여 새 드라이버가 유사한 유형의 디바이스에 대해 반환할 적절한 상태 값을 결정하거나 드라이버가 새 유형의 디바이스에 대해 반환할 적절한 상태 값을 결정하는 데 도움을 줍니다.

다양한 종류의 드라이버 및 각 드라이버가 지원하는 데 필요한 요청에 대한 자세한 내용은 다음을 참조하세요.

직렬 디바이스 및 드라이버

시스템 제공 병렬 드라이버

스토리지 드라이버

HID 아키텍처

USB 클라이언트 드라이버에 대한 I/O 요청

IEEE 1394 드라이버 스택

PCMCIA 디바이스의 특성 메모리 액세스

다른 모든 유형의 드라이버의 경우 적절한 드라이버 유형에 대한 설명서를 참조하세요.