Partager via


Macro UsbBuildInterruptOrBulkTransferRequest (usbdlib.h)

Le UsbBuildInterruptOrBulkTransferRequest met en forme une macro URB pour envoyer ou recevoir des données sur un canal en bloc, ou pour recevoir des données d’un canal d’interruption.

Syntaxe

void UsbBuildInterruptOrBulkTransferRequest(
  [in, out]      urb,
  [in]           length,
  [in]           pipeHandle,
  [in, optional] transferBuffer,
  [in, optional] transferBufferMDL,
  [in]           transferBufferLength,
  [in]           transferFlags,
  [in]           link
);

Paramètres

[in, out] urb

Pointeur vers une URB à mettre en forme comme une demande d’interruption ou de transfert en bloc.

[in] length

Spécifie la taille, en octets, du URB.

[in] pipeHandle

Spécifie le handle de ce canal retourné par le HCD lorsqu’une configuration a été sélectionnée.

[in, optional] transferBuffer

Pointeur vers une mémoire tampon résidente pour le transfert ou est NULL si un MDL est fourni dans transferBufferMDL. Le contenu de cette mémoire tampon dépend de la valeur de TransferFlags. Si USBD_TRANSFER_DIRECTION_IN est spécifié, cette mémoire tampon contient des données lues à partir de l’appareil à partir du HCD. Dans le cas contraire, cette mémoire tampon contient des données fournies par le pilote à transférer vers l’appareil.

[in, optional] transferBufferMDL

Pointeur vers un MDL qui décrit une mémoire tampon résidente ou est NULL si une mémoire tampon est fournie dans TransferBuffer. Le contenu de la mémoire tampon dépend de la valeur de TransferFlags. Si USBD_TRANSFER_DIRECTION_IN est spécifié, la mémoire tampon décrite contient des données lues à partir de l’appareil à partir du HCD. Sinon, la mémoire tampon contient des données fournies par le pilote à transférer vers l’appareil. Le MDL doit être alloué à partir d’un pool non paginé.

[in] transferBufferLength

Spécifie la longueur, en octets, de la mémoire tampon spécifiée dans TransferBuffer ou décrite dans TransferBufferMDL.

[in] transferFlags

Spécifie zéro, un ou une combinaison des indicateurs suivants :

USBD_TRANSFER_DIRECTION_IN

Est défini pour demander des données à partir d’un appareil. Pour transférer des données vers un appareil, cet indicateur doit être clair.

USBD_SHORT_TRANSFER_OK

Peut être utilisé si USBD_TRANSFER_DIRECTION_IN est défini. S’il est défini, indique au HCD de ne pas retourner une erreur si un paquet est reçu de l’appareil plus court que la taille maximale du paquet pour le point de terminaison. Sinon, une requête courte retourne une condition d’erreur.

[in] link

Réservé. Doit être défini sur NULL.

Valeur de retour

Aucun

Exigences

Exigence Valeur
plateforme cible Bureau
d’en-tête usbdlib.h (include Usbdlib.h)

Voir aussi

URB

informations de référence sur la programmation du pilote de périphérique USB

USB_DEVICE_DESCRIPTOR