Merkmale des Steuerkanals

Der Steuerkanal für das Gerät ist sein USB-Steuerendpunkt. Eine Steuerelementnachricht vom Host an das Gerät wird als SEND_ENCAPSULATED_COMMAND Übertragung gesendet. Diese Übertragung wird in der folgenden Tabelle definiert.

BmRequestType bRequest wValue wIndex wLength Data

0x21

0x00

0x0000

bInterfaceNumber field of Communication Class interface descriptor

Bytelänge des Steuerelement-Nachrichtenblocks

Nachrichtenblock steuern

Der Host fragt nicht kontinuierlich den USB-Steuerelementendpunkt für Eingabesteuerungsmeldungen ab. Beim Platzieren einer Steuerelementnachricht auf seinem Steuerelementendpunkt muss das Gerät eine Benachrichtigung über den Interrupt IN-Endpunkt der Kommunikationsklasse zurückgeben, der vom Host abgefragt wird, wenn das Gerät Steuermeldungen zurückgeben kann. Die Übertragung vom Interrupt-IN-Endpunkt des Geräts an den Host ist eine standardmäßige USB Interrupt IN-Übertragung. Die einzige definierte Gerätebenachrichtigung ist die in der folgenden Tabelle definierte RESPONSE_AVAILABLE Benachrichtigung.

Offset (bytes) Length (bytes) Field Data

0

4

Notification

RESPONSE_AVAILABLE (0x00000001)

4

4

Reserved

0

Beim Empfang der RESPONSE_AVAILABLE-Benachrichtigung liest der Host die Steuerelementnachricht vom Steuerelementendpunkt mithilfe einer GET_ENCAPSULATED_RESPONSE Übertragung, die in der folgenden Tabelle definiert ist.

bmRequestType bRequest wValue wIndex wLength Data

0xA1

0x01

0x0000

bInterfaceNumber field of Communication Class interface descriptor

0x0400 (dies ist die minimale Bytelänge des vom Host bereitgestellten Puffers)

Nachrichtenblock steuern

Wenn das Gerät aus irgendeinem Grund eine GET_ENCAPSULATED_RESPONSE empfängt und nicht mit gültigen Daten auf dem Steuerelementendpunkt antworten kann, sollte ein 1-Byte-Paket zurückgegeben werden, das auf 0x00 festgelegt ist, anstatt den Steuerelementendpunkt anzuhalten.