Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Arsitektur tumpukan driver HID di Windows dibangun pada driver kelas bernama hidclass.sys. Klien dan minidriver transportasi mengakses driver kelas dari mode pengguna atau mode kernel.
Pengandar kelas HID
Driver kelas HID yang disediakan oleh sistem adalah driver fungsi WDM dan driver bus untuk kelas perangkat HID (HIDClass). Komponen eksekusi dari driver kelas HID hidclass.sys. Driver kelas HID menghubungkan klien HID dan berbagai jenis transportasi, memungkinkan klien HID ditulis secara terlepas dari jenis transportasi. Tingkat abstraksi ini memungkinkan klien untuk terus bekerja (dengan sedikit atau tanpa modifikasi) ketika standar baru, atau transportasi pihak ketiga diperkenalkan.
Diagram berikut adalah representasi arsitektur HID.
Diagram sebelumnya meliputi:
- Klien HID – Mengidentifikasi Klien Windows dan pihak ketiga serta antarmukanya.
- Driver kelas HID - hidclass.sys dapat dieksekusi.
- Pengandar mini transportasi HID - Mengidentifikasi transportasi Windows dan pihak ketiga serta antarmuka mereka.
Berikut adalah diagram lapisan perangkat klien HID generik dan transportasinya.
Berikut adalah diagram tumpukan perangkat lain yang menunjukkan koleksi keyboard dan mouse HID melalui USB.
klien HID
Klien HID adalah driver, layanan, atau aplikasi yang berkomunikasi dengan HIDClass.sys dan sering mewakili jenis perangkat tertentu (misalnya, sensor, keyboard, mouse, dan sebagainya). Mereka mengidentifikasi perangkat melalui ID perangkat keras atau Koleksi HID tertentu dan berkomunikasi dengan Koleksi HID melalui panduan berikut.
Driver dan aplikasi dalam mode pengguna, serta driver dalam mode kernel, melakukan hal berikut untuk mengoperasikan koleksi HID:
- Driver dan aplikasi pada mode pengguna menggunakan rutinitas dukungan HIDClass (HidD_Xxx) untuk mendapatkan informasi tentang koleksi HID.
- Driver mode kernel, driver mode pengguna, dan aplikasi menggunakan rutinitas dukungan penguraian HID (HidP_Xxx), dan driver mode kernel menggunakan IOCTL driver kelas HID untuk menangani laporan HID.
Tabel berikut menyederhanakan informasi.
| Pengaturan | Pengemudi | Aplikasi |
|---|---|---|
| Mode Pengguna | HidD_Xxx | HidP_Xxx |
| Kernel Mode | HidD_Xxx ATAU IOCTL_HID_xxx | Tidak tersedia |
Untuk informasi selengkapnya, lihat Membuka koleksi HID.
Klien HID didukung di Windows
Windows mendukung koleksi tingkat atas berikut:
| Halaman penggunaan | Penggunaan | Catatan | Mode akses |
|---|---|---|---|
| 0x0001 | 0x0001 - 0x0002 | Driver kelas mouse dan driver pemeta | Eksklusif |
| 0x0001 | 0x0004 - 0x0005 | Pengontrol permainan | Dibagi |
| 0x0001 | 0x0006 - 0x0007 | Driver kelas Keyboard / Keypad dan driver pemeta | Eksklusif |
| 0x0001 | 0x000C | Pengalihan mode penerbangan | Dibagi |
| 0x0001 | 0x0080 | Pengaturan sistem (Daya) | Dibagi |
| 0x000C | 0x0001 | Kontrol konsumen | Dibagi |
| 0x000D | 0x0001 | Perangkat pena eksternal | Eksklusif |
| 0x000D | 0x0002 | Perangkat pena terintegrasi | Eksklusif |
| 0x000D | 0x0004 | Layar sentuh | Eksklusif |
| 0x000D | 0x0005 | Touchpad presisi (PTP) | Eksklusif |
| 0x0020 | *Beberapa | Sensor | Dibagi |
| 0x0084 | 0x0004 | Baterai HID UPS | Dibagi |
| 0x008C | 0x0002 | Pemindai kode batang (hidscanner.dll) | Dibagi |
Dalam tabel sebelumnya, mode akses untuk klien HID input eksklusif untuk mencegah klien HID lain mencegat atau menerima status input global ketika mereka bukan penerima target input tersebut. Untuk alasan keamanan, Raw Input Manager (RIM) membuka semua perangkat tersebut secara eksklusif.
Jika RIM membuka perangkat dalam mode eksklusif , pengguna masih dapat membuka antarmuka perangkat HID tanpa meminta izin baca dan tulis dan mendapatkan informasi perangkat HID melalui rutinitas dukungan HIDClass (HidD_GetXxx).
Mode berbagi memungkinkan beberapa aplikasi mengakses perangkat. Misalnya, beberapa aplikasi dapat mengakses pemindai kode batang untuk menanyakan kemampuan perangkat dan mengambil statistik. Namun, mengambil data yang didekodekan dari pemindai kode batang dilakukan dalam mode eksklusif . Penggunaan ditentukan dalam Tabel PenggunaanUSB-IF.
*Beberapa: Penggunaan sensor dari 0x00 – 0xFF disegmentasi untuk tujuan yang berbeda. Misalnya, 0x10 menunjukkan sensor biometrik; 0x40 menunjukkan sensor cahaya. Alokasi itu tidak bersebelahan. Untuk daftar penggunaan sensor, lihat USB-IF Definisi Kelas Perangkat untuk HID. Untuk informasi tentang penggunaan sensor yang didukung di Windows, lihat Penggunaan Sensor HID.
Pengemudi transportasi HID
Driver kelas HID dirancang untuk menggunakan minidriver HID untuk mengakses perangkat input perangkat keras. Minidriver HID mengabstraksikan operasi spesifik perangkat dari perangkat input yang didukungnya. Minidriver HID menghubungkan operasinya ke driver kelas HID dengan mendaftarkan diri ke driver tersebut. Driver kelas HID berkomunikasi dengan minidriver HID dengan cara memanggil rutinitas dukungan dari minidriver. Minidriver HID, pada gilirannya, mengirim komunikasi ke bawah tumpukan driver ke driver bus atau driver port yang mendasar.
Protokol HID yang Didukung di Windows
Untuk daftar transportasi HID yang didukung, lihat Gambaran Umum Transportasi HID.
USB Generic HID Test di Windows Hardware Lab Kit (HLK) mencakup driver HidUsb dan HidClass. Tidak ada pengujian HLK untuk minidriver HID pihak ketiga.