SetupDiGetClassRegistryPropertyA 函数 (setupapi.h)
SetupDiGetClassRegistryProperty 函数从注册表检索指定 设备安装类的属性。
语法
WINSETUPAPI BOOL SetupDiGetClassRegistryPropertyA(
[in] const GUID *ClassGuid,
[in] DWORD Property,
[out, optional] PDWORD PropertyRegDataType,
[out] PBYTE PropertyBuffer,
[in] DWORD PropertyBufferSize,
[out, optional] PDWORD RequiredSize,
[in, optional] PCSTR MachineName,
PVOID Reserved
);
参数
[in] ClassGuid
指向表示要为其检索属性的设备设置类的 GUID 的指针。
[in] Property
一个值,该值标识要检索的属性。 这必须是以下值之一:
SPCRP_CHARACTERISTICS
该函数返回指示类的设备特征的标志。 有关特征标志的列表,请参阅 DeviceCharacteristics 参数,IoCreateDevice。
SPCRP_DEVTYPE
该函数返回一个 DWORD 值,该值表示类的设备类型。 有关详细信息,请参阅 指定设备类型。
SPCRP_EXCLUSIVE
该函数返回一个 DWORD 值,该值指示用户是否可以获取对此类设备的独占访问权限。 如果允许独占访问,则返回的值为 1;否则为零。
SPCRP_LOWERFILTERS
(Windows Vista 及更高版本)该函数返回为设备安装类安装的较低筛选器驱动程序的服务名称REG_MULTI_SZ列表。
SPCRP_SECURITY
该函数以相对格式(Microsoft Windows SDK 文档中所述)将设备的安全描述符作为SECURITY_DESCRIPTOR结构返回。
SPCRP_SECURITY_SDS
该函数将设备的安全描述符作为文本字符串返回。 有关安全描述符字符串的信息,请参阅 安全描述符定义语言(Windows)。 有关安全描述符字符串格式的信息,请参阅安全描述符定义语言(Windows)。
SPCRP_UPPERFILTERS
(Windows Vista 及更高版本)该函数返回为设备安装类安装的上层筛选器驱动程序的服务名称REG_MULTI_SZ列表。
[out, optional] PropertyRegDataType
指向类型为 DWORD 的变量的指针,该变量接收属性数据类型作为REG_前缀的注册表数据类型之一。 此参数是可选的,可以 NULL。 如果此参数 NULL,则 SetupDiGetClassRegistryProperty 不返回数据类型。
[out] PropertyBuffer
指向接收请求属性的缓冲区的指针。
[in] PropertyBufferSize
PropertyBuffer 缓冲区的大小(以字节为单位)。
[out, optional] RequiredSize
指向类型为 DWORD 的变量的指针,该变量接收 PropertyBuffer 缓冲区所需的大小(以字节为单位)。 如果 PropertyBuffer 缓冲区太小,并且 RequiredSize 未 NULL,则该 函数会将 requiredSize 设置为接收请求属性所需的最小缓冲区大小。
[in, optional] MachineName
指向以 NULL 结尾的字符串的指针,该字符串包含从中检索指定设备类属性的远程系统的名称。 此参数是可选的,可以 NULL。 如果此参数 NULL,则从本地系统检索该属性。
谨慎
从 Windows 8 和 Windows Server 2012 开始,不支持使用此函数访问远程计算机,因为此功能已被删除。
Reserved
保留,必须 NULL。
返回值
如果函数成功,则返回 TRUE。 否则,它会返回 FALSE,可以通过调用 getLastError来检索记录的错误。
言论
注意
setupapi.h 标头将 SetupDiGetClassRegistryProperty 定义为一个别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将中性编码别名与不中性编码的代码混合使用可能会导致编译或运行时错误不匹配。 有关详细信息,请参阅函数原型的
要求
要求 | 价值 |
---|---|
最低支持的客户端 | 在 Windows XP 和更高版本的 Windows 中可用。 |
目标平台 | DesktopFor universal,调用CM_Get_Class_Registry_Property |
标头 | setupapi.h (包括 Setupapi.h) |
库 | Setupapi.lib |
另请参阅
SetupDiGetDeviceRegistryProperty