Características do Canal de Controle
O canal controle do dispositivo é o ponto de extremidade de controle USB. Uma mensagem de controle do host para o dispositivo é enviada como uma transferência SEND_ENCAPSULATED_COMMAND. Essa transferência é definida na tabela a seguir.
BmRequestType | bRequest | wValue | Windex | wLength | Dados |
---|---|---|---|---|---|
0x21 |
0x00 |
0x0000 |
campo bInterfaceNumber do descritor de interface da Classe de Comunicação |
Comprimento do byte do bloco de mensagens de controle |
Bloco de mensagens de controle |
O host não sonda continuamente o ponto de extremidade de controle USB em busca de mensagens de controle de entrada. Ao colocar uma mensagem de controle em seu ponto de extremidade control, o dispositivo deve retornar uma notificação no ponto de extremidade Interrupt IN da interface da Classe de Comunicação, que é sondado pelo host sempre que o dispositivo pode retornar mensagens de controle. A transferência do ponto de extremidade IN de interrupção do dispositivo para o host é uma transferência DE INTERRUPÇÃO USB padrão. A única notificação de dispositivo definida é a notificação de RESPONSE_AVAILABLE, definida na tabela a seguir.
Deslocamento (bytes) | Comprimento (bytes) | Campo | Dados |
---|---|---|---|
0 |
4 |
Notificação |
RESPONSE_AVAILABLE (0x00000001) |
4 |
4 |
Reservado |
0 |
Ao receber a notificação de RESPONSE_AVAILABLE, o host lê a mensagem de controle do ponto de extremidade control usando uma transferência de GET_ENCAPSULATED_RESPONSE, definida na tabela a seguir.
bmRequestType | bRequest | wValue | Windex | wLength | Dados |
---|---|---|---|---|---|
0xA1 |
0x01 |
0x0000 |
campo bInterfaceNumber do descritor de interface da Classe de Comunicação |
0x0400 (esse é o comprimento mínimo de bytes do buffer postado pelo host) |
Bloco de mensagens de controle |
Se, por algum motivo, o dispositivo receber uma GET_ENCAPSULATED_RESPONSE e não puder responder com dados válidos no ponto de extremidade control, ele deverá retornar um pacote de um byte definido como 0x00, em vez de parar o ponto de extremidade control.