Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
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
informations de référence sur la programmation du pilote de périphérique USB