相容的識別碼
相容的識別碼是廠商定義的識別碼字串,Windows 用來比對裝置與 驅動程式套件。 相容的識別碼會識別裝置對某種特定層級的用途,並指出宣告裝置的任何驅動程式套件都可以與具有該識別碼的裝置搭配使用,以取得某種程度的功能。 相容識別碼的格式與 硬體 識別碼相同,但通常比硬體識別碼更一般地描述裝置。 裝置可以與其建立關聯的相容識別碼清單。 相容的識別碼應該以降低適用性的順序列出。 如果 Windows 找不到符合其中一個裝置硬體識別碼的驅動程式套件,它會使用相容的識別碼來尋找驅動程式套件。 例如,裝置的概念相容識別碼清單可能如下所示:
<Product X made by company Y>
<Device of type W made by company Y>
<Device of type W>
其中實際的相容識別碼會使用符合相容識別碼格式需求的字串來表示這些概念。
若要尋找指定裝置的相容識別碼,請選取裝置管理員中的裝置,選擇 [屬性],然後選擇 [詳細資料]索引標籤,然後使用 [屬性] 下拉式清單。
如果廠商隨附的驅動程式套件指定驅動程式節點的相容識別碼,廠商應該確定其驅動程式套件可以支援公開該相容識別碼的所有硬體。
您可以擷取裝置上的 DEVPKEY_Device_CompatibleIds 屬性,以程式設計方式取得相容的識別碼清單。 例如,您可以使用 IoGetDevicePropertyData、 SetupDiGetDeviceProperty或 CM_Get_DevNode_Property等 API 來擷取該屬性。
這個常式所擷取的相容識別碼清單是 REG_MULTI_SZ 值。 相容識別碼清單中的字元數上限,包括每個相容識別碼和最終 Null 結束字元之後的 Null 結束字元, 為 REGSTR_VAL_MAX_HCID_LEN
。 相容識別碼清單中的可能識別碼數目上限為 64。