Bir USB cihazının sadece veri girişi yapabildiğini nasıl ispatlayabiliriz?


2

HID ve Composite cihazlarının nasıl tanımlandığını anlamaya çalışıyorum.

Yakın zamanda takılı bir USB cihazının sadece veri girişi yapabileceğini (işletim sistemi tarafında) nasıl bilebilir (ve bir sabit sürücü gibi bağlanamaz, çalıştırılabilir veya başka bir şey çalıştırabilir)?

Takip eden şey şudur: eğer cevap, takılı olan USB cihazının bir HID olması gerektiğindeyse, HID, entegre trackpadli bir klavye gibi bir klavye / fare kombinasyonundan oluşabilir mi?


2
Cihazın işletim sisteminde nasıl tanımlandığını veya cihazın gerçek doğasını mı soruyorsunuz? Tanım olarak, birden fazla mantıksal alt cihazdan oluşan herhangi bir USB cihazı her zaman bileşik bir USB cihazıdır.
Bükülen Taklitçi

İşletim sisteminde nasıl tanımlandığını soruyorum - temel olarak, yakın zamanda eklenmiş bir USB aygıtının yalnızca veri girişi yapabileceğini ve başka bir şey yapamayacağını (sert bir aygıt gibi takmak gibi) nasıl yapacağımı bilmek istiyorum sürücü, çalıştırılabilir bir çalıştırma veya her neyse).
sscirrus,

Yanıtlar:


2

Soru o kadar "Kes 've" Kapat "değil. USB tanımlamasından çok daha fazlası var: "bir fare, bir kablo = HID VS bir fare, bir klavye, bir kablo = Kompozit."

Örneğin, yalnız bir Klavye, yerleşik makrolar ve ışıklandırma özelliğine sahip bir "Gamer" klavyeniz varsa ve bu makroları seyahat için saklamak için kendi depolamanız varsa, bir HID ve / veya Kompozit USB cihazı olabilir Aygıt, tek bir veri yolunda birden fazla cihazın bulunduğu için.

Sayaç noktasında bir Logitech kablosuz fare klavye kombinasyonu sadece bir HID cihazı olabilir, çünkü mevcut olan tek sınıftır, iki cihaz da olsa, ikisi de sadece HID'dir.

USB Kompozit Cihazı, birden fazla cihaz sınıfını destekleyen çevresel bir cihazdır. Kompozit cihazlar olarak birçok farklı cihaz uygulanmaktadır. Örneğin, belirli bir aygıt sınıfından değil, aynı zamanda belirli bir sürücü yazılımına erişmeye gerek kalmadan cihazın otomatik olarak kurulabilmesi için gerekli tüm sürücüleri içeren bir USB diskten oluşur.

Kaynak: USB Kompozit Cihaz

Ve sonra, Windows'un nasıl bir cihaz olduğunu görmenin bir anlamı var.

Bir ana makineye yeni bir USB aygıtı bağlandığında, USB veri yolu sürücüsü, aygıt için fiziksel bir aygıt nesnesi (PDO) oluşturur ve yeni PDO'yu bildirmek için bir PnP olayı oluşturur. Ardından işletim sistemi veriyolu sürücüsünü PDO ile ilişkilendirilmiş donanım kimlikleri için sorgular.

Veriyolu sürücüsü ayrıca aygıt tanımlayıcısının aygıt sınıfını (bDeviceClass), alt sınıfı (bDeviceSubClass) ve protokolü (bDeviceProtocol) alanlarını denetler. Bu alanlar sıfırsa, cihaz bileşik bir cihazdır ve veri yolu sürücüsü, PDO için USB \ COMPOSITE için ekstra uyumlu bir tanımlayıcı (ID) bildirir.

Kaynak: USB Kompozit Cihazların Numaralandırılması

Umarım bu konu hakkında biraz daha fazla anlamanıza yardımcı olmuştur.


Bu harika bir mesaj ama sorduğum belirli soruyu özlüyor. Tek bir USB cihazında bir klavye / fare kombinasyonum varsa, bu cihaz kendini bilgisayarın işletim sisteminin bir HID olarak tanıdığı şekilde sınıflandırabilir mi?
sscirrus,

@TwistyImpersonator önerisinde, soruna çözümden ziyade soruna odaklanmak için soruyu genişlettim.
sscirrus,
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.