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


IOCTL_GENERICUSBFN_GET_INTERFACE_DESCRIPTOR_SET IOCTL (genericusbfnioctl.h)

Этот код управления вводом-выводом (IOCTL) отправляется службой или приложением пользовательского режима, чтобы получить весь дескриптор интерфейса УНИВЕРСАЛЬНОй последовательной шины (USB) для функции на устройстве.

Примечание Этот запрос IOCTL не получает дескриптор интерфейса, заданный для всего устройства.

 

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

Указатель на структуру USBFN_INTERFACE_INFO .

Длина входного буфера

Размер структуры USBFN_INTERFACE_INFO .

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

Указатель на буфер, содержащий структуру USBFN_INTERFACE_INFO . Расширение класса функций USB (UFX) заполняет структуру всем набором дескрипторов интерфейса, включая дескрипторы конечной точки.

Длина выходного буфера

Размер USBFN_INTERFACE_INFO.

Комментарии

Этот запрос должен быть отправлен после отправки запроса IOCTL_GENERICUSBFN_ACTIVATE_USB_BUS .

Длина всего дескриптора интерфейса переменная. Драйверу класса может потребоваться отправить этот запрос IOCTL дважды, чтобы получить весь набор дескрипторов.

Если длина всего набора дескрипторов больше указанной длины выходного буфера, UFX устанавливает элемент SizeUSBFN_INTERFACE_INFO фактическую длину буфера и завершает запрос с STATUS_BUFFER_TOO_SMALL. Затем драйвер должен выделить выходной буфер длины, указанной в параметре Size, и повторно отправить запрос.

Если этот код элемента управления вводом-выводом (IOCTL) вызывается синхронно, задайте для параметра lpOverlapped значение NULL. Если этот IOCTL вызывается асинхронно, назначьте параметр lpOverlapped указателю на структуру OVERLAPPED , содержащую дескриптор объекта события. Объекты событий сигналит о завершении операции.

Возвращаемое значение является логическим значением, которое указывает на успешное или неудачное выполнение операции. Значение TRUE указывает на успешное выполнение, в противном случае — FALSE.

Требования

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

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

DeviceIoControl