Condividi tramite


_URB_SELECT_INTERFACE struttura (usb.h)

La struttura _URB_SELECT_INTERFACE viene usata dai driver client USB per selezionare un'impostazione alternativa per un'interfaccia o per modificare le dimensioni massime dei pacchetti di una pipe nella configurazione corrente in un dispositivo USB.

Sintassi

struct _URB_SELECT_INTERFACE {
  struct _URB_HEADER         Hdr;
  USBD_CONFIGURATION_HANDLE  ConfigurationHandle;
  USBD_INTERFACE_INFORMATION Interface;
};

Members

Hdr

Puntatore a una struttura _URB_HEADER che specifica le informazioni sull'intestazione DELL'AREA. Hdr.Function deve essere URB_FUNCTION_SELECT_INTERFACE e Hdr.Length deve essere la dimensione dell'intero ENTITÀ.

ConfigurationHandle

Specifica l'handle alla configurazione a cui appartiene questa interfaccia. Il driver del controller host restituisce questo handle quando il client seleziona la configurazione con una richiesta di URB_FUNCTION_SELECT_CONFIGURATION.

Interface

Struttura a lunghezza variabile USBD_INTERFACE_INFORMATION che specifica l'interfaccia e la nuova impostazione alternativa per tale interfaccia e, se necessario, le nuove dimensioni massime dei pacchetti per le pipe corrispondenti. Per altre informazioni, vedere la sezione Osservazioni.

Commenti

È possibile usare la macro GET_SELECT_INTERFACE_REQUEST_SIZE per determinare le dimensioni dell'URB_FUNCTION_SELECT_INTERFACE URB e la routine UsbBuildSelectInterfaceRequest per formattare l'ENTITÀ.

La struttura USBD_INTERFACE_INFORMATION contiene informazioni sull'interfaccia e sulla relativa impostazione alternativa. Il membro Pipe di USBD_INTERFACE_INFORMATION punta a una matrice di strutture USBD_PIPE_INFORMATION . La matrice archivia informazioni sulle pipe associate agli endpoint dell'interfaccia. È possibile eseguire l'override di alcune impostazioni predefinite per una pipe, ad esempio le dimensioni massime dei pacchetti. Per modificare le dimensioni massime dei pacchetti, impostare il flag USBD_PF_CHANGE_MAX_PACKET in Pipes[i].PipeFlagse quindi specificare il nuovo valore in Pipes[i].MaximumPacketSize.

Dopo aver completato correttamente l'elaborazione dell'URB_FUNCTION_SELECT_INTERFACE URB, restituisce una matrice di handle per ogni pipe del Pipes[i].PipeHandle membro. Il driver client può archiviare handle di pipe per inviare richieste di I/O a pipe specifiche.

Requisiti

Requisito Valore
Intestazione usb.h (include Usb.h)

Vedi anche

Configurazione di dispositivi USB

URB

Strutture USB

USBD_INTERFACE_INFORMATION

_URB_HEADER