SetupDiSetClassRegistryPropertyA 函数 (setupapi.h)

SetupDiSetClassRegistryProperty 函数在注册表中设置指定的设备类属性。

语法

WINSETUPAPI BOOL SetupDiSetClassRegistryPropertyA(
  [in]           const GUID *ClassGuid,
  [in]           DWORD      Property,
  [in, optional] const BYTE *PropertyBuffer,
  [in]           DWORD      PropertyBufferSize,
  [in, optional] PCSTR      MachineName,
                 PVOID      Reserved
);

参数

[in] ClassGuid

指向标识要为其设置属性的设备类的 GUID 的指针。

[in] Property

一个值,该值标识要设置的属性,该值必须是下列属性之一:

SPCRP_CHARACTERISTICS

调用方提供用于指定类的设备特征的标志。 有关特征标志的列表,请参阅 IoCreateDeviceDeviceCharacteristics 参数。 在安装设备类时,应设置设备特征,并且不应在安装设备类后更改设备特征。

SPCRP_DEVTYPE

调用方提供类的设备类型。 有关详细信息,请参阅 指定设备类型。 应在安装设备类时设置设备类型,并且不应在安装设备类后更改设备类型。

SPCRP_EXCLUSIVE

调用方提供一个 DWORD 值,该值指定用户是否可以获取对此类设备的独占访问权限。 如果允许独占访问,则提供的值为 1;否则为零。 安装设备类时,应设置设备的独占设置,安装设备类后不应更改。

SPCRP_LOWERFILTERS

(Windows Vista 及更高版本)调用方提供为 设备安装类安装的较低筛选器驱动程序的服务名称REG_MULTI_SZ列表。 有关如何安装类筛选器驱动程序的详细信息,请参阅 安装筛选器驱动程序INF ClassInstall32 部分

SPCRP_SECURITY

调用方以相对格式(Microsoft Windows SDK 文档中所述)将设备的安全描述符作为SECURITY_DESCRIPTOR结构提供。

SPCRP_SECURITY_SDS

调用方以文本字符串的形式提供设备的安全描述符。 有关安全描述符字符串的信息,请参阅 安全描述符定义语言(Windows)。 有关安全描述符字符串格式的信息,请参阅安全描述符定义语言(Windows)。

SPCRP_UPPERFILTERS

(Windows Vista 及更高版本)调用方提供为设备安装类安装的上层筛选器驱动程序的服务名称REG_MULTI_SZ列表。 有关如何安装类筛选器驱动程序的详细信息,请参阅 安装筛选器驱动程序INF ClassInstall32 部分

[in, optional] PropertyBuffer

指向提供指定属性的缓冲区的指针。 此参数是可选的,可以 NULL

[in] PropertyBufferSize

PropertyBuffer 缓冲区的大小(以字节为单位)。

[in, optional] MachineName

指向 NULL 终止的字符串的指针,该字符串包含要设置指定设备类属性的远程系统的名称。 此参数是可选的,可以 NULL。 如果此参数 NULL,则属性在本地系统的名称上设置。

谨慎

从 Windows 8 和 Windows Server 2012 开始,不支持使用此函数访问远程计算机,因为此功能已被删除。

Reserved

保留,必须 NULL

返回值

如果函数成功,则返回 TRUE。 否则,它会返回 FALSE,可以通过调用 getLastError来检索记录的错误。

言论

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

若要确定设备类属性的数据类型,请调用 SetupDiGetClassRegistryProperty

注意

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

要求

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

另请参阅

SetupDiGetClassRegistryProperty

SetupDiGetDeviceRegistryProperty

SetupDiSetDeviceRegistryProperty