Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Windows'taki HID sürücü yığınının mimarisi,hidclass.sysadlı sınıf sürücüsü üzerine kurulmuştur . İstemciler ve aktarım minidriver'ları kullanıcı modundan veya çekirdek modundan sınıf sürücüsüne erişer.
HID sınıf sürücüsü
Sistem tarafından sağlanan HID sınıf sürücüsü, HID cihaz kurulum sınıfı (HIDClass) için WDM işlev sürücüsü ve veri yolu sürücüsüdür. HID sınıf sürücüsünün yürütülebilir bileşeni hidclass.sys. HID sınıf sürücüsü HID istemcileri ile çeşitli aktarımlar arasındaki tutkaldır ve bir HID istemcisinin aktarımlardan bağımsız bir şekilde yazılması sağlanır. Bu soyutlama düzeyi, istemcilerin yeni bir standart veya üçüncü taraf aktarım söz konusu olduğunda çalışmaya (çok az veya hiç değişiklik olmadan) devam etmesine olanak tanır.
Aşağıdaki diyagram HID mimarisinin bir gösterimidir.
Yukarıdaki diyagram şunları içerir:
- HID istemcileri – Windows ve üçüncü taraf istemcilerini ve arabirimlerini tanımlar.
- HID sınıf sürücüsü - hidclass.sys yürütülebilir dosyası.
- HID aktarım mini sürücüsü - Windows ve üçüncü taraf aktarımlarını ve bunların arabirimlerini tanımlar.
Genel HID istemcisi ve veri aktarımının cihaz yığını, aşağıdaki diyagramda gösterilmiştir.
AŞAĞıDA, USB üzerinden HID klavye ve fare koleksiyonlarını gösteren başka bir cihaz yığını diyagramı yer alır.
HID istemcileri
HID İstemcileri, HIDClass.sys ile iletişim kuran ve genellikle belirli bir cihaz türünü (algılayıcı, klavye, fare vb.) temsil eden sürücüler, hizmetler veya uygulamalardır. Cihazı bir donanım kimliği veya belirli bir HID Koleksiyonu aracılığıyla tanımlar ve aşağıdaki kılavuz aracılığıyla HID Koleksiyonu ile iletişim kurar.
Kullanıcı modu sürücüleri ve uygulamaları ile çekirdek modu sürücüleri, HID koleksiyonlarını çalıştırmak için aşağıdakileri yapın:
- Kullanıcı modu sürücüleri ve uygulamaları, HID koleksiyonu hakkında bilgi edinmek için HIDClass destek yordamlarını (HidD_Xxx) kullanır.
- Çekirdek modu sürücüleri, kullanıcı modu sürücüleri ve uygulamalar, HID ayrıştırma destek yordamlarını (HidP_Xxx) kullanır ve çekirdek modu sürücüleri, HID raporlarını işlemek için HID sınıf sürücüsü Giriş/Çıkış Denetim Listesi (IOCTL) çağrılarını kullanır.
Aşağıdaki tablo bilgileri basitleştirir.
| Modül | Sürücüler | Uygulamalar |
|---|---|---|
| Kullanıcı Modu | HidD_Xxx | HidP_Xxx |
| Çekirdek Modu | HidD_Xxx VEYA IOCTL_HID_xxx | Mevcut Değil |
Daha fazla bilgi için bkz . HID koleksiyonlarını açma.
Windows'ta desteklenen HID istemcileri
Windows aşağıdaki üst düzey koleksiyonları destekler:
| Kullanım sayfası | Kullanım | Notes | Erişim modu |
|---|---|---|---|
| 0x0001 | 0x0001 - 0x0002 | Fare sınıf sürücüsü ve haritalayıcı sürücüsü | Seçkin |
| 0x0001 | 0x0004 - 0x0005 | Oyun kumandaları | Paylaşılan |
| 0x0001 | 0x0006 - 0x0007 | Klavye / Tuş Takımı sınıf sürücüsü ve haritalayıcı sürücüsü | Seçkin |
| 0x0001 | 0x000C | Uçuş modu anahtarı | Paylaşılan |
| 0x0001 | 0x0080 | Sistem denetimleri (Güç) | Paylaşılan |
| 0x000C | 0x0001 | Tüketici denetimleri | Paylaşılan |
| 0x000D | 0x0001 | Dış kalem cihazı | Seçkin |
| 0x000D | 0x0002 | Tümleşik kalem cihazı | Seçkin |
| 0x000D | 0x0004 | Dokunmatik ekran | Seçkin |
| 0x000D | 0x0005 | Hassas dokunmatik yüzey (PTP) | Seçkin |
| 0x0020 | *Çoklu | Sensör | Paylaşılan |
| 0x0084 | 0x0004 | HID UPS pili | Paylaşılan |
| 0x008C | 0x0002 | Barkod tarayıcı (hidscanner.dll) | Paylaşılan |
Önceki tabloda, giriş HID istemcileri için erişim modu, diğer HID istemcilerinin bu girişin hedef alıcısı olmadığı durumlarda, küresel giriş durumunu kesmesini veya almasını engellemek için özel olarak ayarlanmıştır. Güvenlik nedeniyle Raw Input Manager (RIM) bu tür tüm cihazları özel olarak açar.
RIM bir cihazı özel kullanım modunda açarsa, kullanıcı okuma ve yazma izinleri istemeden hid cihaz arabirimini açmaya ve HIDClass destek yordamları (HidD_GetXxx) aracılığıyla HID cihaz bilgilerini almaya devam edebilir.
Paylaşım modu, birden çok uygulamanın bir cihaza erişmesine olanak tanır. Örneğin, birden çok uygulama cihaz özelliklerini sorgulamak ve istatistikleri almak için barkod tarayıcıya erişebilir. Ancak kod çözme verilerini barkod tarayıcıdan almak özel kullanım modunda gerçekleştirilir. Kullanımlar USB-IF Kullanım Tablolarında tanımlanır.
*Çoklu: 0x00 algılayıcı kullanımları – 0xFF farklı amaçlar için segmentlere ayrılmıştır. Örneğin, 0x10 biyometrik algılayıcıyı gösterir; 0x40 bir ışık algılayıcısı olduğunu gösterir. Bu ayırmalar bitişik değil. Algılayıcı kullanımlarının listesi için bkz. HID için Cihaz Sınıfı TanımlarıUSB-IF. Windows'ta desteklenen algılayıcı kullanımları hakkında bilgi için bkz. HID Algılayıcı kullanımları.
HID aktarım sürücüsü
HID sınıf sürücüsü, donanım giriş cihazına erişmek için HID minidriver'ları kullanacak şekilde tasarlanmıştır. HID minidriver, desteklediği giriş cihazlarının cihaza özgü işlemini soyutlar. HID minidriver, HID sınıf sürücüsüne kaydolarak işlemini HID sınıf sürücüsüne bağlar. HID sınıf sürücüsü, minidriver'ın destek yordamlarını çağırarak bir HID minidriver ile iletişim kurar. HID mini sürücü, sırasıyla sürücü yığınındaki iletişimleri alttaki bir veri yolu veya bağlantı noktası sürücüsüne gönderir.
Windows'ta Desteklenen HID Aktarımları
Desteklenen HID aktarımlarının listesi için bkz. HID Aktarıma Genel Bakış.
Windows Donanım Laboratuvar Seti'ndeki (HLK) USB Genel HID Testi HidUsb ve HidClass sürücülerini kapsar. Üçüncü taraf HID minidriver'lar için HLK testi yoktur.