Deskriptor MICROSOFT OS untuk Perangkat USB

Ringkasan

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 paling menarik dari teknologi USB: standardisasi perangkat lunak driver (sesuai dengan kelas perangkat). Microsoft Windows menyediakan driver kelas asli untuk sebagian besar perangkat milik 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 sesuai dengan set kelas perangkat USB saat ini, Microsoft Corporation telah 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 penggunaan 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 Operating-System

Microsoft OS 1.0 Descriptors didukung oleh:

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

Microsoft OS 2.0 Descriptors didukung oleh:

  • Windows 8.1

Mengapa Windows Mengeluarkan Permintaan Deskriptor String untuk Mengindeks 0xEE?

Perangkat yang mendukung Microsoft OS Descriptors 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 pendeskripsi 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 akan meminta pendeskripsi 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 kepada 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 perangkat dimuat--yang dapat menyebabkan beberapa perangkat tidak berfungsi. Perangkat tersebut tidak didukung oleh versi sistem operasi Windows yang mendukung Microsoft OS Descriptors.

Jika perangkat tidak berisi pendeskripsi string yang valid pada 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 akan mengeluarkan paket reset nol ujung tunggal ke perangkat, untuk membantunya pulih dari statusnya yang terhenti (hanya Windows XP).

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

HLKM\SYSTEM\CurrentControlSet\Control\UsbFlags\vvvvpppprrrrrr

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 akan membuat permintaan lebih lanjut untuk deskriptor tersebut.

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

Untuk informasi tambahan, lihat Deskriptor OS Microsoft.

Jenis deskriptor fitur OS apa yang didukung oleh Windows?

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

  • ID Kompat diperpanjang. Windows menggunakan kode kelas dan subkelas untuk membantu menemukan driver default yang sesuai untuk perangkat USB. Namun, Grup Kerja Perangkat USB harus mengalokasikan kode-kode ini. Ini berarti bahwa perangkat yang menerapkan jenis fitur baru sering kali 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 dalam firmware sebagai pendeskripsi fitur OS ID kompat yang diperluas. Windows kemudian dapat mengambil informasi ini ketika perangkat dicolokkan dan menggunakannya untuk membantu menentukan pengandar asali 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. Pendeskripsi fitur OS properti yang diperluas memungkinkan vendor untuk menyimpan properti tambahan- seperti halaman bantuan, URL, dan firmware perangkat ikon-dalam.

Spesifikasi Deskriptor Microsoft OS 1.0
Spesifikasi Deskriptor Microsoft OS 2.0
Membangun perangkat USB untuk Windows