Partager via


fonction USBD_IsochUrbAllocate (usbdlib.h)

La routine USBD_IsochUrbAllocate alloue et met en forme une structure URB pour une demande de transfert isochrone.

Note

Pour les pilotes WDF (Windows Driver Framework) : Si votre pilote client est basé sur WDF, vous devez appeler la méthode WdfUsbTargetDeviceCreateIsochUrb au lieu de USBD_IsochUrbAllocate pour allouer de la mémoire pour la structure URB.

Syntaxe

NTSTATUS USBD_IsochUrbAllocate(
  [in]  USBD_HANDLE USBDHandle,
  [in]  ULONG       NumberOfIsochPackets,
  [out] PURB        *Urb
);

Paramètres

[in] USBDHandle

Handle USBD récupéré par le pilote client dans un appel précédent à la routine USBD_CreateHandle.

[in] NumberOfIsochPackets

Spécifie le nombre maximal de paquets isochrones requis pour effectuer le transfert. La mémoire tampon de transfert est décrite dans un tableau de longueur variable de structures USBD_ISO_PACKET_DESCRIPTOR qui stocke des informations sur chaque paquet, telles que le décalage d’octet du paquet dans la mémoire tampon. Le tableau est spécifié dans le Membre isoPacket de la structure _URB_ISOCH_TRANSFER, qui est utilisé pour définir le format d’une requête isochrone URB.

[out] Urb

Pointeur vers une structure URB, qui reçoit l’URB allouée par USBD_IsochUrbAllocate. Tous les membres de la structure URB sont définis sur zéro. L’URB allouée est suffisamment grande pour contenir le nombre maximal de paquets isochrones indiqués par NumberOfIsochPacket.

Le pilote client doit libérer l’URB lorsque le pilote a terminé de l’utiliser en appelant USBD_UrbFree.

Valeur de retour

La routine USBD_IsochUrbAllocate retourne STATUS_SUCCESS si la requête réussit. Sinon, USBD_UrbAllocate définit Urb sur NULL et retourne un code d’échec d’état NT.

Les valeurs possibles incluent, mais pas seulement, STATUS_INVALID_PARAMETER, ce qui indique que l’appelant est passé dans NULL à USBDHandle ou Urb.

Exigences

Exigence Valeur
client minimum 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 Bureau
d’en-tête usbdlib.h
bibliothèque Usbdex.lib
IRQL <=DISPATCH_LEVEL

Voir aussi