Macro UsbBuildInterruptOrBulkTransferRequest (usbdlib.h)
La macro UsbBuildInterruptOrBulkTransferRequest formatta una macro URB per inviare o ricevere dati in una pipe bulk o per ricevere dati da una pipe di interruzione.
Sintassi
void UsbBuildInterruptOrBulkTransferRequest(
[in, out] urb,
[in] length,
[in] pipeHandle,
[in, optional] transferBuffer,
[in, optional] transferBufferMDL,
[in] transferBufferLength,
[in] transferFlags,
[in] link
);
Parametri
[in, out] urb
Puntatore a un OGGETTO URB da formattare come richiesta di interruzione o trasferimento bulk.
[in] length
Specifica le dimensioni, in byte, dell'ENTITÀ.
[in] pipeHandle
Specifica l'handle per questa pipe restituita dal file HCD quando è stata selezionata una configurazione.
[in, optional] transferBuffer
Puntatore a un buffer residente per il trasferimento o null se viene fornito un MDL in TransferBufferMDL. Il contenuto di questo buffer dipende dal valore di TransferFlags. Se viene specificato USBD_TRANSFER_DIRECTION_IN, questo buffer conterrà i dati letti dal dispositivo restituito dal file HCD. In caso contrario, questo buffer contiene dati forniti dal driver da trasferire nel dispositivo.
[in, optional] transferBufferMDL
Puntatore a un MDL che descrive un buffer residente o è NULL se viene fornito un buffer in TransferBuffer. Il contenuto del buffer dipende dal valore di TransferFlags. Se viene specificato USBD_TRANSFER_DIRECTION_IN, il buffer descritto conterrà i dati letti dal dispositivo restituito dal modulo HCD. In caso contrario, il buffer contiene dati forniti dal driver da trasferire nel dispositivo. L'MDL deve essere allocato dal pool non a pagina.
[in] transferBufferLength
Specifica la lunghezza, in byte, del buffer specificato in TransferBuffer o descritto in TransferBufferMDL.
[in] transferFlags
Specifica zero, uno o una combinazione dei flag seguenti:
USBD_TRANSFER_DIRECTION_IN
È impostato per richiedere i dati da un dispositivo. Per trasferire i dati in un dispositivo, questo flag deve essere chiaro.
USBD_SHORT_TRANSFER_OK
Può essere usato se USBD_TRANSFER_DIRECTION_IN è impostato. Se impostato, indirizza l'HCD non a restituire un errore se un pacchetto viene ricevuto dal dispositivo che è più breve rispetto alle dimensioni massime del pacchetto per l'endpoint. In caso contrario, una richiesta breve restituisce una condizione di errore.
[in] link
Riservato. Deve essere impostato su NULL.
Valore restituito
nessuno
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Desktop |
Intestazione | usbdlib.h (includono Usbdlib.h) |
Vedi anche
Informazioni di riferimento sulla programmazione del driver di dispositivo USB