Aracılığıyla paylaş


Donanım Kimliği

Donanım kimliği, Windows'un bir cihazıbir sürücü paketiyle eşleştirmek için kullandığı satıcı tanımlı bir tanımlama dizesidir. Donanım kimliği bir cihazı tanımlar ve bunu bildiren herhangi bir sürücü paketinin bu kimliğe sahip bir cihazla belirli bir düzeyde işlevsellik için çalışabileceğini belirtir. Çoğu durumda, cihazla ilişkilendirilmiş birden fazla donanım kimliği vardır. Genellikle, donanım kimliklerinin listesi bir cihaz için en uygun olandan en düşüke sıralanır. Örneğin, bir cihaz için kavramsal donanım kimlikleri listesi şöyle görünebilir:

<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:

  1. Cihaz Yöneticisi'ni açın.
  2. Cihazı ağaçta bulun.
  3. Cihaza sağ tıklayın ve Özellikleröğesini seçin.
  4. Ayrıntılar sekmesini seçin.
  5. Ö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 tanımlayıcı örneği aşağıda verilmişti:

PCI\VEN_1000&DEV_0001&SUBSYS_00000000&REV_02