SetupDiOpenDevRegKey 函数 (setupapi.h)
SetupDiOpenDevRegKey 函数为特定于设备的配置信息打开注册表项。
语法
WINSETUPAPI HKEY SetupDiOpenDevRegKey(
[in] HDEVINFO DeviceInfoSet,
[in] PSP_DEVINFO_DATA DeviceInfoData,
[in] DWORD Scope,
[in] DWORD HwProfile,
[in] DWORD KeyType,
[in] REGSAM samDesired
);
参数
[in] DeviceInfoSet
设备信息集的句柄,其中包含表示要为其打开注册表项的设备的设备信息元素。
[in] DeviceInfoData
指向 SP_DEVINFO_DATA 结构的指针,该结构指定 DeviceInfoSet 中的设备信息元素。
[in] Scope
要打开的注册表项的范围。 范围确定信息的存储位置。 范围可以是全局的,也可以特定于硬件配置文件。 范围由以下值之一指定:
DICS_FLAG_GLOBAL
打开密钥以存储全局配置信息。 此信息并非特定于特定硬件配置文件。 这会打开根位于 HKEY_LOCAL_MACHINE 的密钥 。 打开的确切键取决于 KeyType 参数的值。
DICS_FLAG_CONFIGSPECIFIC
打开密钥以存储特定于硬件配置文件的配置信息。 此密钥根植于硬件配置文件特定的分支之一,而不是 HKEY_LOCAL_MACHINE。 打开的确切键取决于 KeyType 参数的值。
[in] HwProfile
硬件配置文件值,设置如下:
- 如果 Scope 设置为 DICS_FLAG_CONFIGSPECIFIC, 则 HwProfile 将指定要打开的密钥的硬件配置文件。
- 如果 HwProfile 为 0,则会打开当前硬件配置文件的密钥。
- 如果DICS_FLAG_GLOBAL Scope ,则忽略 HwProfile 。
[in] KeyType
要打开的注册表存储密钥的类型,可以是以下值之一:
DIREG_DEV
打开设备 的硬件密钥 。
DIREG_DRV
打开设备的 软件密钥 。
有关设备的硬件和软件密钥的详细信息,请参阅 设备和驱动程序的注册表树和密钥。
[in] samDesired
请求的密钥所需的注册表安全访问。 有关 REGSAM 类型的注册表安全访问值的信息,请参阅Microsoft Windows SDK文档。
返回值
如果函数成功,它将返回打开的注册表项的句柄,可在其中存储/检索有关此设备实例的专用配置数据。
如果函数失败,它将返回INVALID_HANDLE_VALUE。 要获得更多的错误信息,请调用 GetLastError。
注解
根据 samDesired 参数中传递的值,此函数的调用方可能需要成为 Administrators 组的成员。
通过调用 RegCloseKey 关闭从此函数返回的句柄。
在调用此函数之前,必须注册指定的设备实例。 但是,请注意,操作系统会自动注册 PnP 设备实例。 有关如何注册非 PnP 设备实例的信息,请参阅 SetupDiRegisterDeviceInfo。
要求
最低受支持的客户端 | 在 Microsoft Windows 2000 及更高版本的 Windows 中可用。 |
目标平台 | Desktop 要通用,请调用 CM_Open_DevNode_Key |
标头 | setupapi.h (包括 Setupapi.h) |
Library | Setupapi.lib |
DLL | Setupapi.dll |
API 集 | Windows 10版本 10.0.1439 (3 中引入的 ext-ms-win-setupapi-classinstallers-l1-1-2) |