C# で記述された Windows プログラムで開く HID デバイス (picoLCD モノクロ ディスプレイ) があります。次のパスを使用して、デバイスの 3 つの HID「インスタンス」を取得します。
_devicePath = "\\\\?\\hid#vid_04d8&pid_c002&col01#7&12adec39&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}"
_devicePath = "\\\\?\\hid#vid_04d8&pid_c002&col02#7&12adec39&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}"
_devicePath = "\\\\?\\hid#vid_04d8&pid_c002&col03#7&12adec39&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030}"
それらはすべて同じ VID と PID を持ちますが、「col」は異なります。このパラメータの意味は何ですか? そして、1 つのデバイスに対して 3 つのデバイス「記述子」があるのはなぜですか?
UsbView には、2 つのエンドポイントを持つ 1 つの物理デバイスのみが表示されます。
Device Descriptor:
bcdUSB: 0x0200
bDeviceClass: 0x00
bDeviceSubClass: 0x00
bDeviceProtocol: 0x00
bMaxPacketSize0: 0x08 (8)
idVendor: 0x04D8 (Microchip Technology Inc.)
idProduct: 0xC002
bcdDevice: 0x0002
iManufacturer: 0x01
iProduct: 0x02
iSerialNumber: 0x03
bNumConfigurations: 0x01
ConnectionStatus: DeviceConnected
Current Config Value: 0x01
Device Bus Speed: Full
Device Address: 0x05
Open Pipes: 2
Endpoint Descriptor:
bEndpointAddress: 0x81 IN
Transfer Type: Interrupt
wMaxPacketSize: 0x0040 (64)
bInterval: 0x01
Endpoint Descriptor:
bEndpointAddress: 0x01 OUT
Transfer Type: Interrupt
wMaxPacketSize: 0x0040 (64)
bInterval: 0x01