Compartilhar via


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.