Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Функция UsbBuildOpenStaticStreamsRequest форматирует структуру URB для запроса открытых потоков. Запрос открывает потоки, связанные с указанной массовой конечной точкой.
Синтаксис
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.
Возвращаемое значение
Никакой
Замечания
Пример кода, показывающий формат URB, необходимый для запроса open-streams, см. в разделе Как открыть и закрыть статические потоки вмассовой загрузки USB.
Требования
| Требование | Ценность |
|---|---|
| минимальные поддерживаемые клиентские | Требуется WDK для Windows 8. Предназначено для Windows Vista и более поздних версий операционной системы Windows. |
| целевая платформа | Настольный |
| заголовка | usbdlib.h |
См. также
Как открывать и закрывать статические потоки в массовой конечной точки USB