Функция UsbBuildOpenStaticStreamsRequest (usbdlib.h)

Встроенная функция UsbBuildOpenStaticStreamsRequest форматирует структуру URB для запроса open-streams. Запрос открывает потоки, связанные с указанной конечной точкой массовых операций.

Синтаксис

void UsbBuildOpenStaticStreamsRequest(
  [in, out] PURB                     Urb,
  [in]      USBD_PIPE_HANDLE         PipeHandle,
  [in]      USHORT                   NumberOfStreams,
  [in]      PUSBD_STREAM_INFORMATION StreamInfoArray
);

Параметры

[in, out] Urb

Указатель на структуру URB , отформатированную для запроса open-stream (URB_FUNCTION_OPEN_STATIC_STREAMS). Вызывающий объект должен выделить непагрегированные пулы для этого URB.

[in] PipeHandle

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

Драйвер клиента получает PipeHandle из предыдущего запроса на выборку конфигурации (URB_FUNCTION_SELECT_CONFIGURATION) или запроса интерфейса выбора (URB_FUNCTION_SELECT_INTERFACE).

[in] NumberOfStreams

Количество открываемых потоков. Значение NumberOfStreams указывает количество элементов в массиве, на который указывает Streams. Это значение должно быть больше нуля и меньше или равно максимальному количеству потоков, поддерживаемых оборудованием хост-контроллера. Чтобы получить максимальное количество поддерживаемых потоков, вызовите USBD_QueryUsbCapability.

Число потоков также должно быть меньше или равно максимальному числу потоков, поддерживаемых USB-устройством. Чтобы получить это число, проверьте дескриптор компаньона конечной точки.

В поле NumberOfStreams укажите меньшее из двух значений, поддерживаемых хост-контроллером и USB-устройством.

[in] StreamInfoArray

Указатель на выделенный вызывающим объектом инициализированный массив USBD_STREAM_INFORMATION структур. Длина массива зависит от количества открытых потоков и должна совпадать со значением NumberOfStreams .

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

None

Remarks

Пример кода, демонстрирующий формат URB, необходимый для запроса open-streams, см. в разделе Открытие и закрытие статических потоков в массовой конечной точке USB.

Требования

Требование Значение
Минимальная версия клиента Требуется WDK для Windows 8. Предназначен для Windows Vista и более поздних версий операционной системы Windows.
Целевая платформа Персональный компьютер
Верхняя часть usbdlib.h

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

Открытие и закрытие статических потоков в конечной точке массовой передачи USB

_URB_OPEN_STATIC_STREAMS