IOCTL_GET_NUM_DEVICE_INPUT_BUFFERS IOCTL(hidclass.h)

IOCTL_GET_NUM_DEVICE_INPUT_BUFFERS 요청은 최상위 컬렉션에 대한 입력 보고서 큐의 크기를 가져옵니다.

입력 보고서 큐는 링 버퍼로 구현됩니다. 컬렉션이 입력 보고서를 읽는 것보다 더 빨리 HID 클래스 드라이버로 데이터를 전송하는 경우 보고서가 손실될 수 있습니다. 입력 보고서 큐의 크기는 IOCTL_SET_NUM_DEVICE_INPUT_BUFFERS 사용하여 조정할 수 있습니다.

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

주 코드

IRP_MJ_DEVICE_CONTROL

입력 버퍼

IRP의 I/O 스택 위치에 있는 Parameters.DeviceIoControl.OutputBufferLength는 출력 버퍼의 크기(바이트)를 나타내며, 이는 = sizeof(ULONG)여야 >합니다.

입력 버퍼 길이

버퍼의 크기는 sizeof(ULONG)입니다.

출력 버퍼

Irp->ASSOCIATedIrp.SystemBuffer 는 보고서 입력 큐의 크기를 수신할 버퍼를 가리킵니다.

출력 버퍼 길이

버퍼의 크기는 sizeof(ULONG)입니다.

상태 블록

HID 클래스 드라이버는 Irp-IoStatus>의 다음 필드를 설정합니다.

  • 보고서 입력 큐의 크기를 성공적으로 검색하면 정보가sizeof(ULONG)로 설정됩니다.
  • 전송이 오류 없이 완료되면 상태가 STATUS_SUCCESS 설정됩니다. 그렇지 않으면 적절한 NTSTATUS 오류 코드로 설정됩니다.

요구 사항

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

추가 정보

HidD_SetNumInputBuffers