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

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

返回值

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

注解

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

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

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

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

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

注意

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

要求

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

另请参阅

SetupDiCreateDeviceInterface

SetupDiDeleteDeviceInterfaceRegKey

SetupDiOpenDeviceInterfaceRegKey