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.
Cihaz kurulum sınıfları ile cihaz arabirimi sınıfları arasındaki ayrımı anlamak, başarılı Windows sürücü geliştirme ve cihaz yönetimi için çok önemlidir. Bu sınıflar benzer görünse de, Windows cihaz ekosisteminde temel olarak farklı amaçlara hizmet eder. yükleme sınıfları, işletim sisteminin cihazları yükleme ve yapılandırma şeklini yönetir. Arabirim sınıfları, sürücüler, uygulamalar ve cihazlar arasında çalışma zamanı iletişimini ve işlevselliğini etkinleştirir. Bu ayrımı anlamak, cihaz kurulumu için doğru sınıf türünü seçmenize, uygun cihaz bildirimlerini uygulamanıza ve yaygın geliştirme tuzaklarından kaçınmanıza yardımcı olur.
Bir cihaz genellikle bir kurulum sınıfına aittir ve aynı anda farklı arabirim sınıflarında çeşitli cihaz arabirimleri sunar. Bununla birlikte, iki sınıf türü farklı amaçlara hizmet eder ve birbirinin yerine kullanılamaz.
Karşılaştırma
Aşağıdaki tabloda, kurulum sınıfları ile arabirim sınıfları arasındaki temel farklar ve ilişkiler özetlenmektedir:
| Görünüş | Kurulum sınıfları | Arabirim sınıfları |
|---|---|---|
| Birincil Amaç | Benzer yükleme ve yapılandırmaya sahip cihazları gruplandırma | Benzer işlevsellik ve iletişim sağlayan cihaz arabirimlerini gruplandırma |
| Kullanım | Aygıt kurulumu sırasında Windows tarafından kullanılır | Sürücüler ve uygulamalar tarafından cihaz etkileşimi için kullanılır |
| GUID Tanımları | Genellikle Devguid.h içinde tanımlanır | Cihaza özgü başlık dosyalarında tanımlanır (örneğin, Ntddmou.h, Ntddpar.h) |
| Gruplandırma Ölçütleri | Benzer şekilde yüklenen ve yapılandırılan cihazlar | Genel olarak, belirli bir GÇ sözleşmesini uygulayan cihaz arabirimleri |
| Bildirim | Cihaz varış veya cihaz kaldırma bildirimleri için kullanılmaz | Cihaz arabirimi varış ve çıkarılma bildirimlerini kaydetmek için kullanılır |
| Examples | Algılayıcılar, Bellenim, Bluetooth | Ses Yakalama, Ses Oluşturma, Ortam Işığı Sensörü |
| İlişki | Cihaz bir kurulum sınıfına ait | Bir cihaz, farklı arabirim sınıflarında sıfır veya daha fazla cihaz arabirimini kullanıma açabilir |
| Ömür boyu | Kurulum işlemi sırasında geçerlidir | Cihaz çalışması sırasında geçerlidir |
İki tür cihaz sınıfı arasında ayrım yapmak önemlidir: cihaz arabirimi sınıfları ve cihaz kurulum sınıfları. İkisi kolayca karıştırılabilir. Kullanıcı modu kodunda her iki sınıf da aynı aygıt yükleme işlevleri kümesini kullanır. Ayrıca aynı veri yapısı kümesini (cihaz bilgi kümeleri) kullanırlar.
Aynı kurulum sınıfı, farklı arabirim sınıfları:
- Cihazlar: İki farklı algılayıcı cihazı
- Kurulum Sınıfı: Her iki cihaz da Algılayıcılar sınıfındadır.
- Arabirim Sınıfları: Algılayıcılardan biri ortam ışığı algılayıcısı cihaz arabirimini, diğeri ise ivmeölçer cihaz arabirimini sunar.
Bir USB fare cihazı ve bir USB klavye cihazı düşünün. Her ikisi de aynı arabirim sınıfını (Human Interface Device) kullanır. Ancak bunlar sırasıyla Fare ve Klavye olmak üzere farklı kurulum sınıflarına aittir.
Aynı arabirim sınıfı, farklı kurulum sınıfları:
- Cihazlar: USB fare ve USB klavye
- Arabirim Sınıfı: Her iki cihaz da sistemle iletişim kurmak için aynı arabirim sınıfını (İnsan Arabirim Cihazı) kullanır.
- Kurulum Sınıfları: Fare cihazı Fare kurulum sınıfına, klavye cihazı ise Klavye kurulum sınıfına aittir.
Cihaz kurulum sınıfları
Cihaz kurulum sınıfları , yalnızca Windows'ta cihazların yüklenmesi ve yapılandırılması için kullanılan önceden tanımlanmış kategorilerdir. Bu, işletim sisteminin yükleme işlemi sırasında cihazın nasıl yönetileceğini anlamasına yardımcı olur. Kurulum sınıfları, aynı şekilde kurulan ve yapılandırılan cihazları gruplandırma mekanizması sağlar. Kurulum sınıfları hakkında daha fazla bilgi için bkz. Satıcıların kullanabileceği sistem tanımlı cihaz kurulum sınıfları.
Windows cihaz kurulum sınıfları Devguid.h sistem dosyasında tanımlanır. Bu dosya, kurulum sınıfları için bir dizi GUID tanımlar. Ancak Devguid.h dosyasında temsil edilen cihaz kurulum sınıfları, cihaz arabirimi sınıfları ile karıştırılmamalıdır. Devguid.h dosyası yalnızca kurulum sınıfları için GUID'ler içerir.
Cihaz arabirimi sınıfları
Cihaz arabirimi sınıfları , cihaz arabirimlerini paylaşılan özelliklere veya işlevlere göre gruplandırmak için bir mekanizma sağlar. Sürücüler ve kullanıcı uygulamaları, belirli bir arabirim sınıfındaki cihaz arabirimleri hakkındaki bildirimlere kaydolabilir. Bu, bu sınıfa ait herhangi bir cihaz arabirimi etkinleştirildiğinde (geldiğinde) veya devre dışı bırakıldığında (kaldırıldığında) bildirim almaları anlamına gelir. Cihazların tek tek izlenmesi gerekmez. Cihaz arabirimi sınıfları, cihazlar tarafından kullanıma sunulan cihaz arabirimlerinin gruplarıdır. Cihaz arabirimlerinin bağlanma ve kaldırma bildirimlerine kaydolabilirsiniz.
Arabirim sınıflarının tanımları tek bir dosyada sağlanmamıştır. Cihaz arabirimi sınıfı her zaman yalnızca belirli bir cihaz sınıfına ait bir üst bilgi dosyasında tanımlanır. Örneğin Ntddmou.h , fare arabirimi sınıfını temsil eden GUID olan GUID_DEVINTERFACE_MOUSE tanımını içerir. Ntddpar.h , paralel cihazlar için arabirim sınıfı GUID'sini tanımlar. Ntddpcm.h , PCMCIA cihazları için standart arabirim sınıfı GUID'sini tanımlar. Ntddstor.h , depolama cihazları için arabirim sınıfı GUID'sini tanımlar.
Cihaz arabirimi bildirimlerine kaydolmak için, cihaz arabirimi sınıfına özgü üst bilgi dosyalarında bulunan GUID'leri kullanın. Bu GUID'ler, bir cihaz arabirimi örneği geldiğinde size bildirim gönderilmesini sağlar. Sürücü, arabirim sınıfı GUID'i yerine kurulum sınıfı GUID'sini kullanarak bildirime kaydolduğunda, arabirim geldiğinde sürücüye bildirim yapılmaz.
Yeni bir arabirim sınıfı tanımlarken, hem kurulum sınıfını hem de arabirim sınıfını tanımlamak için tek bir GUID kullanmayın.