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


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

Функция WinUsb_QueryPipeEx извлекает расширенные сведения об указанной конечной точке и связанном канале для интерфейса.

Синтаксис

BOOL WinUsb_QueryPipeEx(
  [in]  WINUSB_INTERFACE_HANDLE     InterfaceHandle,
  [in]  UCHAR                       AlternateSettingNumber,
  [in]  UCHAR                       PipeIndex,
  [out] PWINUSB_PIPE_INFORMATION_EX PipeInformationEx
);

Параметры

[in] InterfaceHandle

Непрозрачный дескриптор интерфейса, который содержит конечную точку, с которой связан канал.

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

[in] AlternateSettingNumber

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

[in] PipeIndex

Значение типа , указывающее канал для возврата сведений. Это значение не совпадает с полем bEndpointAddress в дескрипторе конечной точки. Значение PipeIndex , равное 0, означает первую конечную точку, связанную с интерфейсом, значение 1 означает вторую конечную точку и т. д. Значение PipeIndex должно быть меньше значения в поле bNumEndpoints дескриптора интерфейса.

[out] PipeInformationEx

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

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

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

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

Код возврата Описание
ERROR_INVALID_HANDLE
Вызывающий объект передал значение NULL в параметре InterfaceHandle .
ERROR_INVALID_PARAMETER
Вызывающий объект передал значение NULL в параметре PipeInformation ; Не удалось найти дескриптор интерфейса для дескриптора, указанного в InterfaceHandle.
ERROR_NO_MORE_ITEMS
Значение, переданное в параметре PipeIndex , больше значения bNumEndpoints дескриптора интерфейса; Не удалось найти дескриптор конечной точки для указанного интерфейса.

Комментарии

Функция WinUsb_QueryPipeEx не получает сведения о канале управления.

Требования

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

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

Отправка изохронных передач по USB из классического приложения WinUSB

WINUSB_PIPE_INFORMATION

WinUSB

Функции WinUSB

WinUsb_Initialize