fonction USBD_IsochUrbAllocate (usbdlib.h)

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

Notes

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

Poignée USBD récupérée par le pilote client lors d’un appel précédent à la routine USBD_CreateHandle .

[in] NumberOfIsochPackets

Spécifie le nombre maximal de paquets isochronieux 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’un URB de requête isochroné.

[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é est suffisamment grand pour contenir le nombre maximal de paquets isochroniques 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 retournée

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

Les valeurs possibles incluent, sans s’y limiter, STATUS_INVALID_PARAMETER, qui indique l’appelant passé NULL à USBDHandle ou Urb.

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
Bibliothèque Usbdex.lib
IRQL <=DISPATCH_LEVEL

Voir aussi