다음을 통해 공유


IOCTL_SET_NUM_DEVICE_INPUT_BUFFERS IOCTL(hidclass.h)

IOCTL_SET_NUM_DEVICE_INPUT_BUFFERS 요청은 최상위 컬렉션의 입력 보고서 큐에 대한 버퍼 수를 설정합니다.

각 입력 보고서 큐는 링 버퍼로 구현됩니다. 컬렉션이 드라이버에서 읽을 수 있는 것보다 더 빨리 HID 클래스 드라이버로 데이터를 전송하는 경우 일부 데이터가 손실될 수 있습니다. 이러한 유형의 손실을 방지하기 위해 IOCTL_SET_NUM_DEVICE_INPUT_BUFFERS 요청을 사용하여 입력 보고서 큐에 포함된 버퍼 수를 조정할 수 있습니다. HID 클래스 드라이버에는 최소 두 개의 입력 버퍼가 필요합니다. Windows 2000에서 HID 클래스 드라이버가 지원하는 최대 입력 버퍼 수는 200개이며 Windows XP 이상에서는 HID 클래스 드라이버가 지원하는 최대 입력 버퍼 수는 512개입니다. 기본 입력 버퍼 수는 32개입니다.

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

주 코드

IRP_MJ_DEVICE_CONTROL

입력 버퍼

Irp->ASSOCIATedIrp.SystemBuffer 는 입력 보고서 큐에 대한 새 버퍼 수를 수신하는 ULONG 크기의 입력 버퍼를 가리킵니다.

IRP의 I/O 스택 위치에 있는 Parameters.DeviceIoControl.InputBufferLength에는 Irp-AssociatedIrp.SystemBuffer의 입력 버퍼 크기(바이트)>가 포함됩니다. 이 크기는 sizeof(ULONG)여야 합니다.

입력 버퍼 길이

ULONG의 크기입니다.

출력 버퍼

없음

출력 버퍼 길이

없음

상태 블록

요청이 성공하면 HID 클래스 드라이버는 Irp-IoStatus>상태 필드를 STATUS_SUCCESS 설정합니다. 그렇지 않으면 상태 필드를 적절한 NTSTATUS 오류 코드로 설정합니다.

요구 사항

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

추가 정보

HidD_GetNumInputBuffers