Donanım Kimliği
Donanım kimliği, Windows'un bir cihazıbir
<Product X made by company Y with firmware revision Z>
<Product X made by company Y that is a device of type W>
Burada gerçek donanım kimlikleri, bir donanım kimliğinin biçim gereksinimlerini izleyen dizeleri kullanarak bu kavramları temsil eder.
Cihaz için donanım kimliği oluşturma
Donanım kimlikleri, bir cihazın numaralandırıcısı (veri yolu sürücüsü) tarafından Tak Çalıştır Yöneticisi'ne (PnP) bildirilir. Genellikle, bir veri yolu sürücüsünün yazarının PnP'ye rapor verdiği bir cihaz için yeni bir donanım kimliği oluşturması gerektiğinde, aşağıdaki genel biçimlerden birini kullanır:
<enumerator>\<enumerator-specific-device-ID>
Bu biçim, tek bir numaralandırıcı tarafından Tak Çalıştır (PnP) yöneticisine bildirilen tek tek PnP cihazları için en yaygın biçimdir.
\*<generic-device-ID>
Yıldız işareti, cihazı ISAPNP ve BIOS gibi birden fazla numaralandırıcının desteklediğini gösterir.
<device-class-specific-ID>
Daha fazla bilgi için bkz. Genel Tanımlayıcılar.
Kendi belirlenmiş adlandırma kuralına sahip mevcut bir cihaz sınıfı özel bir biçim kullanabilir. Bu tür veri yollarının donanım kimliği biçimleri hakkında bilgi için, donanım özelliklerine bakın.
Null sonlandırıcı hariç bir donanım kimliğinin karakter sayısı MAX_DEVICE_ID_LEN
'den küçük olmalıdır. Bu kısıtlama, donanım kimliğindeki tüm alanların ve \\
alan ayırıcılarının uzunluklarının toplamı için geçerlidir. Daha fazla bilgi için IRP_MN_QUERY_IDİşlemler bölümüne bakın.
Kök numaralandırılmış cihazlar için donanım kimlikleri
Kök numaralandırılmış cihazlar, donanım kimliğinin sağlandığı API'ler kullanılarak oluşturulabilecekleri için özeldir.
ROOT\SYSTEM
gibi genel ad alanlarını paylaşan donanım kimliklerine sahip kök numaralandırılmış cihazlar, çakışarak Windows güncellenirken Aygıt Yöneticisi'nde sarı ünlem işareti hata simgesine neden olabilir.
Kök numaralandırılmış cihazı olan her sürücü için benzersiz bir ad alanı kullanarak bu hatayı önleyebilirsiniz. USB veya sistem cihazı için ROOT\USB
veya ROOT\SYSTEM"
yerine ROOT\[COMPANYNAME]\[DEVICENAME]
kullanın. Ardından, yüklemeden önce devnode'un zaten mevcut olup olmadığını denetleyin.
Bir cihaz için donanım kimliklerinin listesini alma
Belirli bir cihazın donanım kimliklerinin listesini bulmak için şu adımları izleyin:
- Cihaz Yöneticisi'ni açın.
- Cihazı ağaçta bulun.
- Cihaza sağ tıklayın ve Özellikleröğesini seçin.
- Ayrıntılar sekmesini seçin.
- Özelliği açılan menüsünde Donanım Kimlikleri veya Uyumlu Kimlikleröğesini seçin.
Donanım kimlikleri listesi, bir cihazdaki DEVPKEY_Device_HardwareIds özelliği alınarak program aracılığıyla da elde edilebilir. Örneğin, bu özellik IoGetDevicePropertyData, SetupDiGetDevicePropertyveya CM_Get_DevNode_Propertygibi API'lerle alınabilir.
Bu rutin tarafından alınan donanım kimliklerinin listesi, REG_MULTI_SZ türünde bir değerdir. Her donanım kimliğinden sonra bir NULL sonlandırıcı ve son olarak ek bir NULL sonlandırıcı olacak şekilde, donanım listesindeki karakter sayısının maksimum sınırı REGSTR_VAL_MAX_HCID_LEN
'dır. Donanım kimlikleri listesindeki olası kimlik sayısı üst sınırı 64'tür.
Donanım Kimlikleri Örnekleri
PnP cihazı için genel tanımlayıcı örneği aşağıda verilmiştır:
root\*PNP0F08
PcI cihazıiçin
PCI\VEN_1000&DEV_0001&SUBSYS_00000000&REV_02