SetupDiCreateDeviceInterfaceRegKeyA 函数 (setupapi.h)

SetupDiCreateDeviceInterfaceRegKey 函数创建一个注册表项,用于存储有关设备接口的信息,并将句柄返回到密钥。

语法

WINSETUPAPI HKEY SetupDiCreateDeviceInterfaceRegKeyA(
  [in]           HDEVINFO                  DeviceInfoSet,
  [in]           PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData,
                 DWORD                     Reserved,
  [in]           REGSAM                    samDesired,
  [in, optional] HINF                      InfHandle,
  [in, optional] PCSTR                     InfSectionName
);

参数

[in] DeviceInfoSet

设备信息的句柄集,其中包含要为其创建注册表项的接口。 设备信息集不得包含远程元素。

[in] DeviceInterfaceData

指向 SP_DEVICE_INTERFACE_DATA 结构的指针,该结构指定 DeviceInfoSet中的设备接口。 SetupDiCreateDeviceInterface可能返回此指针。

Reserved

保留。 必须为零。

[in] samDesired

调用方请求要创建的密钥的注册表安全访问。 有关 REGSAM 类型的注册表安全访问值的信息,请参阅 Microsoft Windows SDK 文档。

[in, optional] InfHandle

打开的 INF 文件的句柄,该文件包含要为新创建的密钥执行的 DDInstall 节。 此参数是可选的,可以 NULL。 如果未 NULL,则还必须指定 InfSectionName

[in, optional] InfSectionName

指向 INF 文件中 INF DDInstall 节的名称的指针,该文件由 InfHandle指定。 为新创建的密钥执行此部分。 此参数是可选的,可以 NULL。 如果指定此参数,还必须指定 InfHandle

返回值

如果 SetupDiCreateDeviceInterfaceRegKey 成功,该函数将返回请求的注册表项的句柄,在该注册表项中可以存储和检索接口信息。 如果 SetupDiCreateDeviceInterfaceRegKey 失败,该函数将返回INVALID_HANDLE_VALUE。 调用 GetLastError 以获取扩展的错误信息。

言论

此函数的调用方必须是 Administrators 组的成员。

如果设备接口的请求密钥已存在,SetupDiCreateDeviceInterfaceRegKey 返回该密钥的句柄;否则,SetupDiCreateDeviceInterfaceRegKey 为指定的设备接口创建新的非易失性注册表项。 此函数的调用方可以在此密钥中存储设备接口的专用配置数据。 设备的驱动程序可以使用 IoXxx 例程访问此密钥。

通过调用 RegCloseKey关闭从此函数返回的句柄。

对于使用布局文件(LayoutFile 条目在 INF 版本部分中指定的安装),在调用 setupDiCreateDeviceInterfaceRegKey 之前,必须通过调用 SetupOpenAppendInfFile(在 Windows SDK 文档中所述)打开布局文件。

DeviceInfoSet 指定的设备信息只能包含本地计算机上的元素。

注意

setupapi.h 标头将 SetupDiCreateDeviceInterfaceRegKey 定义为别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将中性编码别名与不中性编码的代码混合使用可能会导致编译或运行时错误不匹配。 有关详细信息,请参阅函数原型的 约定。

要求

要求 价值
最低支持的客户端 Microsoft Windows 2000 及更高版本的 Windows 中可用。
目标平台 桌面
标头 setupapi.h (包括 Setupapi.h)
Setupapi.lib

另请参阅

SetupDiCreateDeviceInterface

SetupDiDeleteDeviceInterfaceRegKey

SetupDiOpenDeviceInterfaceRegKey