IOCTL_GET_PHYSICAL_DESCRIPTOR IOCTL(hidclass.h)

IOCTL_GET_PHYSICAL_DESCRIPTOR 요청은 최상위 컬렉션의 물리적 설명자를 가져옵니다. 미니 드라이버의 경우 이 설명자는 HIDClass 디바이스의 설명자입니다.

HIDClass 디바이스에 대한 일반적인 내용은 HID 컬렉션을 참조하세요.

주 코드

IRP_MJ_DEVICE_CONTROL

입력 버퍼

IRP의 I/O 스택 위치에 있는 Parameters.DeviceIoControl.OutputBufferLength는 출력 버퍼의 크기(바이트)를 나타냅니다.

출력 버퍼

Irp->MdlAddress 는 물리적 설명자를 받을 버퍼를 가리킵니다.

HID 미니 드라이버는 Irp-UserBuffer>의 사용자 버퍼에 물리적 설명자를 복사합니다.

상태 블록

HID 클래스 드라이버는 Irp-IoStatus>Status 멤버를 오류 없이 전송이 완료된 경우 STATUS_SUCCESS 설정합니다. 그렇지 않으면 적절한 NTSTATUS 오류 코드로 설정됩니다.

디바이스에 대한 I/O를 수행하는 HID 미니 드라이버는 Irp-IoStatus>의 다음 필드를 설정합니다.

  • 정보는 디바이스에서 전송되는 바이트 수로 설정됩니다.
  • 전송이 오류 없이 완료되면 상태가 STATUS_SUCCESS 설정됩니다. 그렇지 않으면 적절한 NTSTATUS 오류 코드로 설정됩니다.
이 IRP를 사용하여 다른 드라이버를 호출하여 디바이스에 I/O를 수행하는 HID 미니 드라이버는 상태 블록의 정보 필드가 올바른지 확인하고 상태 필드의 내용을 변경하지 않아야 합니다.

요구 사항

요구 사항
헤더 hidclass.h(Hidclass.h 포함)

추가 정보

HidD_GetPhysicalDescriptor