Bagikan melalui


Deskriptor MICROSOFT OS untuk perangkat USB

Microsoft menyediakan serangkaian kelas perangkat kepemilikan dan deskriptor USB, yang disebut Microsoft OS Descriptors (MOD).

Karena cepatnya munculnya perangkat yang berisi beberapa fungsi perangkat keras, banyak produsen menemukan bahwa perangkat mereka tidak cocok dengan nyaman ke salah satu kelas perangkat universal serial bus (USB) saat ini. Ini menghilangkan produsen seperti itu dari salah satu fitur teknologi USB yang paling menarik: standardisasi perangkat lunak driver (sesuai dengan kelas perangkat). Windows menyediakan driver kelas asli untuk sebagian besar perangkat yang termasuk dalam kelas perangkat USB standar, dan driver ini memungkinkan pengguna akhir untuk dengan mudah melampirkan perangkat tersebut ke komputer tanpa perlu menginstal perangkat lunak khusus.

Untuk mengakomodasi produsen yang perangkatnya tidak cocok dengan set kelas perangkat USB saat ini, Microsoft mengembangkan serangkaian kelas perangkat kepemilikan dan deskriptor USB, yang disebut Microsoft OS Descriptors (MOD). Aplikasi dan perangkat lunak sistem dapat mengidentifikasi perangkat milik kelas perangkat yang ditentukan Microsoft dengan mengkueri perangkat untuk menentukan apakah perangkat mendukung MOD.

Deskriptor OS Microsoft memiliki kegunaan penting selain mendukung kelas perangkat kepemilikan. Secara khusus, mereka menyediakan mekanisme untuk mendapatkan manfaat maksimum dari firmware perangkat. Dengan bantuan Microsoft OS Descriptors, Anda dapat menggunakan firmware untuk mengirimkan file bantuan, ikon khusus, Uniform Resource Locators (URL), pengaturan registri, dan data lain yang diperlukan untuk memudahkan penginstalan dan meningkatkan kepuasan pelanggan. Dalam beberapa kasus, Anda dapat forgo media penyimpanan seperti disket dan CD--yang menyederhanakan pengiriman dan dukungan peningkatan.

Dukungan sistem operasi

Deskriptor Microsoft OS 1.0 didukung di:

  • Windows 11
  • Windows 10
  • Windows 8.1
  • Windows 8
  • Windows 7
  • Windows Vista, Windows Server 2008
  • Windows XP dengan Paket Layanan 1 (SP1), Windows Server 2003

Deskriptor Microsoft OS 2.0 didukung di:

  • Windows 11
  • Windows 10
  • Windows 8.1

Mengapa Windows mengeluarkan permintaan deskriptor string untuk mengindeks 0xEE?

Perangkat yang mendukung Deskriptor OS Microsoft harus menyimpan deskriptor string USB khusus di firmware pada indeks string tetap 0xEE. Deskriptor string ini disebut Microsoft OS String Descriptor.

  • Kehadirannya menunjukkan bahwa perangkat berisi satu atau beberapa deskriptor fitur OS.
  • Ini berisi data yang diperlukan untuk mengambil deskriptor fitur OS terkait.
  • Ini berisi bidang tanda tangan yang membedakan deskriptor string OS dari string lain yang mungkin dipilih IHV untuk disimpan di 0xEE.
  • Ini berisi nomor versi yang memungkinkan revisi deskriptor Microsoft OS di masa mendatang.

Jika tidak ada pendeskripsi string di 0xEE, atau deskriptor string pada indeks tersebut bukan deskriptor string OS yang valid, Windows mengasumsikan bahwa perangkat tidak berisi deskriptor fitur OS apa pun.

Saat perangkat baru dilampirkan ke komputer untuk pertama kalinya, sistem operasi yang mendukung Deskriptor OS Microsoft meminta deskriptor string yang berada di indeks 0xEE. Deskriptor String OS Microsoft berisi bidang tanda tangan tersemat yang digunakan sistem operasi untuk membedakannya dari string lain yang mungkin berada di indeks 0xEE. Kehadiran deskriptor string yang berisi bidang tanda tangan yang tepat pada indeks 0xEE menunjukkan sistem operasi bahwa perangkat mendukung Deskriptor OS Microsoft. Microsoft OS String Descriptor juga menyediakan sistem operasi dengan informasi versi.

Sistem operasi meminta deskriptor string pada indeks 0xEE selama enumerasi perangkat--sebelum driver untuk beban perangkat--yang dapat menyebabkan beberapa perangkat rusak. Perangkat tersebut tidak didukung oleh versi sistem operasi Windows yang mendukung Deskriptor OS Microsoft.

Jika perangkat tidak berisi pendeskripsi string yang valid di indeks 0xEE, perangkat harus merespons dengan paket stall (dengan kata lain, paket yang berisi pengidentifikasi paket jenis STALL), yang dijelaskan di bagian "Kesalahan Permintaan" dari Spesifikasi Bus Serial Universal. Jika perangkat tidak merespons dengan paket stall, sistem mengeluarkan paket reset nol ujung tunggal ke perangkat, untuk membantunya pulih dari status terhenti (hanya Windows XP).

Setelah sistem operasi meminta Microsoft OS String Descriptor dari perangkat, sistem operasi membuat kunci registri berikut:

HLKM\SYSTEM\CurrentControlSet\Control\UsbFlags\vvvvpppprrrrr

Sistem operasi membuat entri registri, bernama osvc, di bawah kunci registri ini yang menunjukkan apakah perangkat mendukung Deskriptor OS Microsoft. Jika perangkat tidak memberikan respons yang valid saat pertama kali sistem operasi memintanya untuk Deskriptor String OS Microsoft, sistem operasi tidak membuat permintaan lebih lanjut untuk deskriptor tersebut.

Untuk entri registri di bawah kunci tersebut, lihat Entri Registri Perangkat USB.

Untuk informasi selengkapnya, lihat Spesifikasi Deskriptor Microsoft OS 1.0.

Jenis deskriptor fitur OS apa yang didukung Windows?

Informasi apa pun yang akan disimpan sebagai pendeskripsi fitur harus mematuhi salah satu format standar yang ditentukan Microsoft. Deskriptor fitur lain tidak dapat ditentukan atau diimplementasikan tanpa persetujuan Microsoft. Microsoft menentukan deskriptor fitur berikut:

  • ID Kompat yang Diperluas. Windows menggunakan kode kelas dan subkelas untuk membantu menemukan driver default yang sesuai untuk perangkat USB. Namun, Usb Device Working Group harus mengalokasikan kode-kode ini. Ini berarti bahwa perangkat yang menerapkan jenis fitur baru seringkali belum memiliki kode kelas dan subkelas yang sesuai, sehingga Windows tidak dapat menggunakan kode untuk memilih driver default. IHV dapat menghindari masalah ini dengan menyimpan informasi di firmware sebagai deskriptor fitur OS ID yang kompatibel diperluas. Windows kemudian dapat mengambil informasi ini ketika perangkat dicolokkan dan menggunakannya untuk membantu menentukan pengandar default mana yang akan dimuat.
  • Properti yang Diperluas. Saat ini, ada dua tingkat di mana properti dapat dideklarasikan untuk perangkat USB: tingkat kelas atau tingkat devnode. Deskriptor fitur OS properti yang diperluas memungkinkan vendor untuk menyimpan lebih banyak properti, seperti halaman bantuan, URL, dan firmware perangkat ikon-dalam.