Bagikan melalui


Pengidentifikasi USB standar

Set pengidentifikasi yang dihasilkan untuk perangkat USB tergantung pada apakah perangkat adalah perangkat antarmuka tunggal atau perangkat beberapa antarmuka.

Perangkat USB antarmuka tunggal

Ketika perangkat USB baru dicolokkan, driver hub USB yang disediakan sistem menyusun ID perangkat berikut dengan menggunakan informasi yang diekstrak dari deskriptor perangkat perangkat:

USB\VID_v(4)&PID_d(4)&REV_r(4)

Mana:

Driver hub mengekstrak vendor dan kode produk dari bidang idVendor, idProduct, dan bcdDevice dari deskriptor perangkat, masing-masing. Kode-kode ini adalah angka heksadesimal empat digit.

Bagian model INF juga dapat menentukan ID perangkat keras berikut:

USB\VID_v(4)&PID_d(4)

Dan ID yang kompatibel berikut:

USB\CLASS_c(2)&SUBCLASS_s(2)&PROT_p(2)

USB\CLASS_c(2)&SUBCLASS_s(2)

USB\CLASS_c(2)

Mana:

  • c(2) adalah kode kelas perangkat yang diambil dari pendeskripsi perangkat.
  • s(2) adalah kode subkelas perangkat.
  • p(2) adalah kode protokol.

Bidang bDeviceClass, bDeviceSubClass, dan bDeviceProtocol dari deskriptor perangkat menentukan kode kelas perangkat, kode subkelas, dan kode protokol. Kode-kode ini adalah angka heksadesimal dua digit.

Perangkat USB multi-antarmuka

Perangkat dengan beberapa antarmuka disebut perangkat komposit . Ketika perangkat komposit USB baru dicolokkan ke komputer Windows, driver hub USB membuat objek perangkat fisik (PDO) dan memberi tahu sistem operasi untuk memperbarui daftar perangkat anak. Setelah Windows meminta driver hub untuk pengidentifikasi perangkat keras yang terkait dengan PDO baru, Windows mencari file INF yang sesuai untuk menemukan kecocokan untuk pengidentifikasi. Jika menemukan kecocokan selain USB\COMPOSITE, itu memuat driver yang ditunjukkan dalam file INF. Namun, jika tidak ada kecocokan lain yang ditemukan, sistem operasi menggunakan ID USB\COMPOSITE yang kompatibel, yang memuat driver induk generik USB. Driver induk generik kemudian membuat PDO terpisah dan menghasilkan sekumpulan pengidentifikasi perangkat keras terpisah untuk setiap antarmuka perangkat komposit.

Setiap antarmuka memiliki ID perangkat dari formulir berikut:

USB\VID_v(4)&PID_d(4)&MI_z(2)

Mana:

  • v(4) adalah kode vendor yang ditetapkan komite USB ke vendor.
  • d(4) adalah kode produk yang ditetapkan vendor ke perangkat.
  • z(2) adalah nomor antarmuka yang diekstrak dari bidang bInterfaceNumber dari deskriptor antarmuka yang sesuai.

Bagian model INF juga dapat menentukan ID yang kompatibel berikut:

USB\CLASS_d(2)&SUBCLASS_s(2)&PROT_p(2)

USB\CLASS_d(2)&SUBCLASS_s(2)

USB\CLASS_d(2)

USB\COMPOSITE

Mana:

  • d(2) adalah kode kelas perangkat yang diambil dari deskriptor perangkat.
  • s(2) adalah kode subkelas.
  • p(2) adalah kode protokol.

Bidang bInterfaceClass, bInterfaceSubClass, dan bInterfaceProtocol dari deskriptor antarmuka menentukan kode kelas perangkat, kode subkelas, dan kode protokol. Kode-kode ini adalah angka heksadesimal dua digit.