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


IOCTL_GET_PHYSICAL_DESCRIPTOR IOCTL (hidclass.h)

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

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

Основной код

IRP_MJ_DEVICE_CONTROL

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

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

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

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

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

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

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

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

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

Требования

Требование Значение
Заголовок hidclass.h (включая Hidclass.h)

См. также раздел

HidD_GetPhysicalDescriptor