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

_URB_OPEN_STATIC_STREAMS