硬件 ID 您所在的位置:网站首页 本地接口的硬件标识符是哪个键盘上的 硬件 ID

硬件 ID

#硬件 ID| 来源: 网络整理| 查看: 265

硬件 ID 项目 06/15/2023

硬件 ID 是供应商定义的标识字符串,Windows 使用该字符串将设备与 驱动程序包进行匹配。 硬件 ID 在某种特定级别标识设备是什么,并指示声明该设备的任何驱动程序包都可以与具有该 ID 的设备配合使用,从而获得某种程度的功能。 在大多数情况下,一个设备关联了多个硬件 ID。 通常,硬件 ID 列表按与设备的适配程度由高到低的顺序排列。 例如,设备的概念性硬件 ID 列表可能如下所示:

其中,实际硬件 ID 将使用遵循硬件 ID 格式要求的字符串来表示这些概念。

为设备创建硬件 ID

硬件 ID 由设备的枚举器 (其总线驱动程序) 报告给即插即用管理器 (PnP) 。 通常,当总线驱动程序的作者需要为设备创建新的硬件 ID 时,它将向 PnP 报告,它将使用以下泛型格式之一:

\

这是单个枚举器报告给即插即用 (PnP) 管理器的单个 PnP 设备的最常见格式。

\*

星号表示设备受多个枚举器支持,如 ISAPNP 和 BIOS。

有关详细信息,请参阅通用标识符。

已建立自己的命名约定的现有设备类可能会使用自定义格式。 有关其硬件 ID 格式的信息,请参阅此类总线的硬件规范。

硬件 ID 的字符数(不包括 NULL 终止符)必须小于 MAX_DEVICE_ID_LEN。 此约束适用于硬件 ID 中所有字段与任何 \\ 字段分隔符的长度总和。 有关详细信息,请参阅 IRP_MN_QUERY_ID 的“操作”部分。

根枚举设备的硬件 ID

根枚举设备的特殊之处在于,可以使用可以提供硬件 ID 的 API 创建根设备。 具有共享泛型命名空间(例如)ROOT\SYSTEM的硬件 ID 的根枚举设备可能会冲突,并在更新 Windows 时导致设备管理器出现黄键错误图标。

为防止出现这种情况,可为具有根枚举设备的每个驱动程序使用唯一命名空间。 对于 USB 或系统设备,请使用 ROOT\[COMPANYNAME]\[DEVICENAME],而不是使用 ROOT\USB 或 ROOT\SYSTEM"。 然后,在安装之前检查 devnode 是否已存在。

获取设备的硬件 ID 列表

若要查找给定设备的硬件 ID 列表,请执行以下步骤:

打开“设备管理器”。

在树中找到该设备。

右键单击该设备并选择“属性”。

选择“详细信息”选项卡。

在“属性”下拉列表中,选择“硬件 ID”或“兼容 ID”。

还可以通过检索设备上的 DEVPKEY_Device_HardwareIds 属性,以编程方式获取硬件 ID 列表。 例如,可以使用 IoGetDevicePropertyData、 SetupDiGetDeviceProperty 或 CM_Get_DevNode_Property 等 API 检索该属性。

此例程检索到的硬件 ID 列表是一个 REG_MULTI_SZ 值。 硬件列表中的字符的最大数目(包括每个硬件 ID 后的 NULL 终止符和最终 NULL 终止符)为 REGSTR_VAL_MAX_HCID_LEN。 硬件 ID 列表中最多可以包含的 ID 数为 64 个。

硬件 ID 示例

下面是 PnP 设备通用标识符的示例:

root\*PNP0F08

下面是 PCI 设备标识符的示例:

PCI\VEN_1000&DEV_0001&SUBSYS_00000000&REV_02



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有