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


функция WinUsb_QueryInterfaceSettings (winusb.h)

Функция WinUsb_QueryInterfaceSettings извлекает дескриптор интерфейса для указанных параметров альтернативного интерфейса для определенного дескриптора интерфейса.

Синтаксис

BOOL WinUsb_QueryInterfaceSettings(
  [in]  WINUSB_INTERFACE_HANDLE   InterfaceHandle,
  [in]  UCHAR                     AlternateInterfaceNumber,
  [out] PUSB_INTERFACE_DESCRIPTOR UsbAltInterfaceDescriptor
);

Параметры

[in] InterfaceHandle

Непрозрачный дескриптор интерфейса в выбранной конфигурации.

Чтобы получить параметры первого интерфейса, используйте дескриптор, возвращенный WinUsb_Initialize. Для всех остальных интерфейсов используйте дескриптор целевого интерфейса, полученный WinUsb_GetAssociatedInterface.

[in] AlternateInterfaceNumber

Значение типа , указывающее, какие альтернативные параметры следует возвращать. Значение 0 указывает первый альтернативный параметр, значение 1 — второй альтернативный параметр и т. д.

[out] UsbAltInterfaceDescriptor

Указатель на структуру USB_INTERFACE_DESCRIPTOR , выделенную вызывающим объектом, которая содержит сведения об интерфейсе, указанном в AlternateSettingNumber .

Возвращаемое значение

WinUsb_QueryInterfaceSettings возвращает значение TRUE , если операция выполнена успешно. В противном случае возвращается значение FALSE, и вызывающий объект может получить зарегистрированную ошибку, вызвав Метод GetLastError.

GetLastError может вернуть следующий код ошибки.

Код возврата Описание
ERROR_INVALID_HANDLE
Вызывающий объект передал значение NULL в параметре InterfaceHandle .
ERROR_NO_MORE_ITEMS
Указанный альтернативный интерфейс не найден.

Комментарии

WinUsb_QueryInterfaceSettings анализирует дескриптор конфигурации, ранее полученный WinUsb_Initialize. Дополнительные сведения см. в разделе Примечания для WinUsb_Initialize.

Вызов WinUsb_QueryInterfaceSettings ищет в массиве интерфейса альтернативный интерфейс, заданный индексом интерфейса, переданным вызывающим объектом в AlternateSettingNumber. Если указанный интерфейс найден, функция заполняет структуру, выделенную вызывающим объектом USB_INTERFACE_DESCRIPTOR . Если указанный интерфейс не найден, вызов завершается ошибкой с кодом ERROR_NO_MORE_ITEMS.

Требования

Требование Значение
Целевая платформа Универсальное
Верхняя часть winusb.h (включая Winusb.h)
Библиотека Winusb.lib
DLL Winusb.dll

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

USB_INTERFACE_DESCRIPTOR

WinUSB

Функции WinUSB

WinUsb_Initialize