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->AssociatedIrp.SystemBuffer 입력 보고서 큐에 대한 새 버퍼 수를 수신하는 ULONG 크기의 입력 버퍼를 가리킵니다.
IRP의 I/O 스택 위치에 있는 Parameters.DeviceIoControl.InputBufferLengthIrp->AssociatedIrp.SystemBuffer입력 버퍼의 크기(바이트)를 포함합니다. 이 크기는 ULONG()의크기여야 합니다.
입력 버퍼 길이
ULONG의 크기입니다.
출력 버퍼
없음.
출력 버퍼 길이
없음.
상태 블록
요청이 성공하면 HID 클래스 드라이버는 Irp->IoStatus상태 필드를 STATUS_SUCCESS;로 설정합니다. 그렇지 않으면 상태 필드를 적절한 NTSTATUS 오류 코드로 설정합니다.
요구 사항
요구 | 값 |
---|---|
헤더 | hidclass.h(Hidclass.h 포함) |