Fonction UsbBuildOpenStaticStreamsRequest (usbdlib.h)
La fonction inline UsbBuildOpenStaticStreamsRequest met en forme une structure URB pour une requête open-streams. La demande ouvre des flux associés au point de terminaison en bloc spécifié.
Syntaxe
void UsbBuildOpenStaticStreamsRequest(
[in, out] PURB Urb,
[in] USBD_PIPE_HANDLE PipeHandle,
[in] USHORT NumberOfStreams,
[in] PUSBD_STREAM_INFORMATION StreamInfoArray
);
Paramètres
[in, out] Urb
Pointeur vers la structure URB à mettre en forme pour la demande open-stream (URB_FUNCTION_OPEN_STATIC_STREAMS). L’appelant doit allouer un pool non paginé pour cet URB.
[in] PipeHandle
Handle opaque pour le canal associé au point de terminaison qui contient les flux à ouvrir.
Le pilote client obtient PipeHandle à partir d’une demande de sélection-configuration précédente (URB_FUNCTION_SELECT_CONFIGURATION) ou d’une demande d’interface de sélection (URB_FUNCTION_SELECT_INTERFACE).
[in] NumberOfStreams
Nombre de flux à ouvrir. La valeur NumberOfStreams indique le nombre d’éléments dans le tableau pointés par Streams. Cette valeur doit être supérieure à zéro et inférieure ou égale au nombre maximal de flux pris en charge par le matériel du contrôleur hôte. Pour obtenir le nombre maximal de flux pris en charge, appelez USBD_QueryUsbCapability.
Le nombre de flux doit également être inférieur ou égal au nombre maximal de flux pris en charge par le périphérique USB. Pour obtenir ce nombre, inspectez le descripteur d’accompagnement du point de terminaison.
Dans la valeur NumberOfStreams , spécifiez la valeur inférieure des deux valeurs prises en charge par le contrôleur hôte et le périphérique USB.
[in] StreamInfoArray
Pointeur vers un tableau de structures USBD_STREAM_INFORMATION initialisé et alloué par l’appelant. La longueur du tableau dépend du nombre de flux à ouvrir et doit être identique à la valeur NumberOfStreams .
Valeur de retour
None
Remarques
Pour obtenir un exemple de code qui montre le format URB requis pour une demande open-streams, consultez Comment ouvrir et fermer des flux statiques dans un point de terminaison en bloc USB.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Nécessite WDK pour Windows 8. Cible Windows Vista et les versions ultérieures du système d’exploitation Windows. |
Plateforme cible | Desktop (Expérience utilisateur) |
En-tête | usbdlib.h |
Voir aussi
Comment ouvrir et fermer des flux statiques dans un point de terminaison en bloc USB