SetupDiCreateDeviceInterfaceRegKeyW 函数 (setupapi.h)

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

语法

WINSETUPAPI HKEY SetupDiCreateDeviceInterfaceRegKeyW(
  [in]           HDEVINFO                  DeviceInfoSet,
  [in]           PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData,
                 DWORD                     Reserved,
  [in]           REGSAM                    samDesired,
  [in, optional] HINF                      InfHandle,
  [in, optional] PCWSTR                    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 文件中由 InfHandle 指定的 INF DDInstall 节名称的指针。 此部分针对新创建的密钥执行。 此参数是可选的,可以为 NULL。 如果指定此参数,则还必须指定 InfHandle

返回值

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

注解

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

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

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

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

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

注意

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

要求

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

另请参阅

SetupDiCreateDeviceInterface

SetupDiDeleteDeviceInterfaceRegKey

SetupDiOpenDeviceInterfaceRegKey