funzione USBD_IsochUrbAllocate (usbdlib.h)
La routine USBD_IsochUrbAllocate alloca e formatta una struttura URB per una richiesta di trasferimento isochronous.
Nota
Per i driver di Windows Driver Framework (WDF): Se il driver client è basato su WDF, è necessario chiamare il metodo WdfUsbTargetDeviceCreateIsochUrb anziché USBD_IsochUrbAllocate per allocare la memoria per la struttura URB .
Sintassi
NTSTATUS USBD_IsochUrbAllocate(
[in] USBD_HANDLE USBDHandle,
[in] ULONG NumberOfIsochPackets,
[out] PURB *Urb
);
Parametri
[in] USBDHandle
Handle USBD recuperato dal driver client in una chiamata precedente alla routine di USBD_CreateHandle .
[in] NumberOfIsochPackets
Specifica il numero massimo di pacchetti isochronous necessari per eseguire il trasferimento. Il buffer di trasferimento è descritto in una matrice a lunghezza variabile di strutture USBD_ISO_PACKET_DESCRIPTOR che archivia informazioni su ogni pacchetto, ad esempio offset di byte del pacchetto all'interno del buffer. La matrice viene specificata nel membro IsoPacket della struttura _URB_ISOCH_TRANSFER , utilizzata per definire il formato di una richiesta isochronous.
[out] Urb
Puntatore a unastrutturaae, che riceve l'ISTANZA assegnata da USBD_IsochUrbAllocate. Tutti i membri della struttura VENGONO impostati su zero. L'ALLOCATO È abbastanza grande per contenere il numero massimo di pacchetti isochronosi indicati da NumberOfIsochPacket.
Il driver client deve liberare IL DRIVER al termine dell'uso del driver chiamando USBD_UrbFree.
Valore restituito
La routine USBD_IsochUrbAllocate restituisce STATUS_SUCCESS se la richiesta ha esito positivo. In caso contrario, USBD_UrbAllocate imposta Il valore di Urb su NULL
e restituisce un codice di errore di stato NT.
I valori possibili includono, ma non sono limitati a, STATUS_INVALID_PARAMETER, che indica il chiamante passato a NULL
USBDHandle o Urb.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Richiede WDK per Windows 8. Destinazione Windows Vista e versioni successive del sistema operativo Windows. |
Piattaforma di destinazione | Desktop |
Intestazione | usbdlib.h |
Libreria | Usbdex.lib |
IRQL | <=DISPATCH_LEVEL |