Поделиться через


IOCTL_GET_PHYSICAL_DESCRIPTOR IOCTL (hidclass.h)

Запрос IOCTL_GET_PHYSICAL_DESCRIPTOR получает физический дескриптор коллекцииверхнего уровня. Для мини-driver этот дескриптор является дескриптором устройства HIDClass.

Общие сведения о устройствах HIDClass см. в коллекций HID.

Основной код

IRP_MJ_DEVICE_CONTROL

Входной буфер

Parameters.DeviceIoControl.OutputBufferLength в расположении стека ввода-вывода iRP указывает размер в байтах выходного буфера.

Выходной буфер

Irp->MdlAddress должен указывать на буфер, который получит физический дескриптор.

Мини-driver HID копирует физический дескриптор в буфер пользователя в Irp->UserBuffer.

Блок состояния

Драйвер класса HID задает элемент состоянияIrp->IoStatus STATUS_SUCCESS, если передача завершена без ошибок. В противном случае для него задан соответствующий код ошибки NTSTATUS.

Мини-накопители HID, которые выполняют ввод-вывод на устройство, задают следующие поля Irp->IoStatus:

  • сведения задано число байтов, передаваемых с устройства.
  • состояние имеет значение STATUS_SUCCESS, если передача завершена без ошибок. В противном случае для него задан соответствующий код ошибки NTSTATUS.
Мини-drivers HID, которые вызывают другие драйверы с этим IRP для выполнения ввода-вывода на устройство, должны убедиться, что поле сведений в блоке состояния правильно и не изменяет содержимое поля состояния.

Требования

Требование Ценность
заголовка hidclass.h (include Hidclass.h)

См. также

HidD_GetPhysicalDescriptor