Macro UsbBuildInterruptOrBulkTransferRequest (usbdlib.h)
La macro UsbBuildInterruptOrBulkTransferRequest met en forme un 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 un URB à mettre en forme en tant que demande d’interruption ou de transfert en bloc.
[in] length
Spécifie la taille, en octets, de l’URB.
[in] pipeHandle
Spécifie le handle pour 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 a la valeur NULL si une MDL est fournie 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 les données lues à partir de l’appareil au retour du HCD. Sinon, cette mémoire tampon contient des données fournies par le pilote à transférer vers l’appareil.
[in, optional] transferBufferMDL
Pointeur vers une MDL qui décrit une mémoire tampon résidente ou a la valeur 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 les données lues à partir de l’appareil au retour du HCD. Sinon, la mémoire tampon contient les données fournies par le pilote à transférer vers l’appareil. La MDL doit être allouée à 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. Si la valeur est définie, indique au HCD de ne pas retourner d’erreur si un paquet reçu de l’appareil est inférieur à 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
None
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Desktop (Expérience utilisateur) |
En-tête | usbdlib.h (inclure Usbdlib.h) |
Voir aussi
Informations de référence sur la programmation du pilote de périphérique USB