请输入您要查询的百科知识:

 

词条 StdRegProv
释义

StdRegProv 是 WMI 的名称空间 root\\DEFAULT 中的一个子类,有16个方法。StdRegProv 类包含与系统注册表有关的方法。可用这些方法来:验证用户的访问权;创建、枚举、和删除注册表项;创建、枚举、和删除键值;读取、修改、和删除数据。

参数

各方法都有的参数 hDefKey

指定含有 sSubKeyName 路径的根键的可选参数。默认值为 HKEY_LOCAL_MACHINE (0x80000002)。以下的常数定义于 Winreg.h:

HKEY_CLASSES_ROOT (0x80000000)

HKEY_CURRENT_USER (0x80000001)

HKEY_LOCAL_MACHINE (0x80000002)

HKEY_USERS (0x80000003)

HKEY_CURRENT_CONFIG (0x80000005)

HKEY_DYN_DATA (0x80000006)

其中,HKEY_DYN_DATA 只是 Windows 95 和 Windows 98 计算机的合理的根键。

创建,删除和枚举

uint32 CreateKey([in] uint32 hDefKey,[in] string sSubKeyName);

CreateKey 方法在指定的根键创建子项

sSubKeyName 包含要创建的项。

CreateKey 方法创建路径里指定的不存在的所有子项。例如,如果 MyKey 和 MySubKey 不存在于以下路径里, CreateKey 创建这两项:

HKEY_LOCAL_MACHINE\\SOFTWARE\\MyKey\\MySubKey

uint32 DeleteKey([in] uint32 hDefKey,[in] string sSubKeyName);

DeleteKey 方法在指定的根键里删除一个子项。

sSubKeyName 包含要删除的项。

uint32 EnumKey([in] uint32 hDefKey,[in] string sSubKeyName,[out] string sNames);

EnumKey 方法枚举某路径的子项。

sSubKeyName 指定包含要枚举的子项的路径。

sNames 包含一数组的子项字符串。

uint32 EnumValues([in] uint32 hDefKey,[in] string sSubKeyName,[out] string sNames,[out] sint32 iTypes);

EnumValues 方法枚举某子项的键值。

sSubKeyName 指定包含要被枚举的键值的路径。

sNames 包含一数组的键值名称的字符串。此数组的元素与 iTypes 的元素直接相对应。

iTypes 包含一数组的数据值类型 (整数)。您可用这些类型来决定调用哪个 Get 方法。例如,如果数据值类型是 REG_SZ,您应调用 GetStringValue 来检索键值的数据。此数组的元素与 sNames 的元素直接相关联。 以下数据值类型常数定义于 Winnt.h:

REG_SZ (1)

REG_EXPAND_SZ (2)

REG_BINARY (3)

REG_DWORD (4)

REG_MULTI_SZ (7)

uint32 DeleteValue([in] uint32 hDefKey,[in] string sSubKeyName,[in] string sValueName);

DeleteValue 方法在指定的子项里删除一个键值。

sSubKeyName 指定项,它包含要删除的键值。

sValueName 指定要从子项中删除的键值名。指定一个空的字符串来删除默认键值 (默认键值不被删除,它的数据被设置为 "(数值未设置)"

修改和读取

uint32 SetDWORDValue([in] uint32 hDefKey,[in] string sSubKeyName,[in] string sValueName,[in] uint32 uValue);

SetDWORDValue 方法为数据类型为 REG_DWORD 的键值设置数据。

sSubKeyName 指定包含要设置的键值的项。

sValueName 指定要设置数据的键值名。您可指定一个现有的键值 (更新) 或一个新的键值 (创建)。指定一个空的字符串来设置默认键值的数据。

uValue 指定一个双字数据。

uint32 GetDWORDValue([in] uint32 hDefKey,[in] string sSubKeyName,[in] string sValueName,[out] uint32 uValue);

GetDWORDValue 方法为数据类型为 REG_DWORD 的键值返回数据。

sSubKeyName 指定包含键值的路径。

sValueName 指定要检索数据的键值名。指定一个空字符串来得到默认键值。

uValue 包含键值的 DWORD 数据。

uint32 SetStringValue([in] uint32 hDefKey,[in] string sSubKeyName,[in] string sValueName,[in] string sValue);

SetStringValue 方法为数据类型为 REG_MULTI_SZ 的键值设置数值。

sSubKeyName 指定包含要设置的键值的项。

sValueName 指定要设置数据的键值名。您可指定一个现有的键值 (更新) 或一个新的键值 (创建)。指定一个空的字符串来设置默认键值的数据。

sValue 指定一个字符串数据。

uint32 GetStringValue([in] uint32 hDefKey,[in] string sSubKeyName,[in] string sValueName,[out] string sValue);

GetStringValue 方法为数据类型为 REG_SZ 的键值返回数据。

sSubKeyName 指定包含键值的路径。

sValueName 指定要检索数据的键值名。指定一个空字符串来得到默认键值。

sValue 包含键值的字符串数据。

uint32 SetMultiStringValue([in] uint32 hDefKey,[in] string sSubKeyName,[in] string sValueName,[in] string sValue);

SetMultiStringValue 方法为数据类型为 REG_MULTI_SZ 的键值设置数据。如果成功,SetMultiStringValue 方法返回一个 uint32 是 0; 如果出现任何错误,则是其他值。

sSubKeyName 指定包含要设置的键值的项。

sValueName 指定要设置数据的键值名。您可指定一个现有的键值 (更新) 或一个新的键值 (创建)。指定一个空的字符串来设置默认键值的数据。

sValue 指定一个字符串数据的数组。

uint32 GetMultiStringValue([in] uint32 hDefKey,[in] string sSubKeyName,[in] string sValueName,[out] string sValue);

GetMultiStringValue 方法为数据类型为 REG_MULTI_SZ 的键值返回数据。如果成功,GetMultiStringValue 方法返回一个 uint32 是 0;如果出现错误,则返回其他值。

sSubKeyName 指定包含键值的路径。

sValueName 指定要检索数据的键值名。指定一个空字符串来得到默认键值。

sValue 包含键值的一个字符串数据数组。

uint32 SetExpandedStringValue([in] uint32 hDefKey,[in] string sSubKeyName,[in] string sValueName,[in] string sValue);

SetExpandedStringValue 方法为数据类型为 REG_EXPAND_SZ 的键值设置数据。如果成功,SetExpandedStringValue 方法返回一个 uint32 是 0;如果出现错误,则返回其他值。

sSubKeyName 指定包含要设置的键值的项。

sValueName 指定要设置数据的键值名。您可指定一个现有的键值 (更新) 或一个新的键值 (创建)。指定一个空的字符串来设置默认键值的数据。

sValue 指定一个扩展的字符串数据。字符串里指定的环境变量必须存在,这样当您调用 GetExpandedStringValue 时,字符串才能被扩展。

uint32 GetExpandedStringValue([in] uint32 hDefKey,[in] string sSubKeyName,[in] string sValueName,[out] string sValue);

GetExpandedStringValue 方法为数据类型为 REG_EXPAND_SZ 的键值返回数据。

sSubKeyName 指定包含键值的路径。

sValueName 指定要检索数据的键值名。指定一个空字符串来得到默认键值。

sValue 包含扩展的键值的字符串数据。只有当环境变量 (例如, %Path%) 被定义,字符串方能得以扩展。

uint32 SetBinaryValue([in] uint32 hDefKey,[in] string sSubKeyName,[in] string sValueName,[in] uint8 uValue);

SetBinaryValue 方法为数据类型为 REG_BINARY 的键值设置数据。如果成功,The SetBinaryValue 方法返回一个 uint32 是 0;如果出现错误,则返回其他值。

sSubKeyName 指定包含要设置的键值的项。

sValueName 指定要设置数据的键值名。您可指定一个现有的键值 (更新) 或一个新的键值 (创建)。指定一个空的字符串来设置默认键值的数据。

uValue 指定一个二进制数据数组。

uint32 GetBinaryValue([in] uint32 hDefKey,[in] string sSubKeyName,[in] string sValueName,[out] uint8 uValue);

GetBinaryValue 方法为数据类型为 REG_BINARY 的键值返回数据。如果成功,The GetBinaryValue 方法返回一个 uint32 是 0;如果出现错误,则返回其他值。

sSubKeyName 指定包含键值的路径。

sValueName 指定要检索数据的键值名。指定一个空字符串来得到默认键值。

uValue 包含一个二进制字节数组。

验证访问权限

uint32 CheckAccess([in] uint32 hDefKey,[in] string sSubKeyName,[in] uint32 uRequired,[out] boolean bGranted);

CheckAccess 方法验证用户拥有指定的权限。如果成功,该方法返回一个 uint32 是 0;如果出现错误,则返回其他值。

sSubKeyName 包含要验证访问权限的子项。

uRequired 指定要验证的访问权限可选参数。您可将这些值加在一起来验证多个访问权限。默认值为 3。以下访问权限值被定义于 Winnt.h:

KEY_QUERY_VALUE (0x0001)

KEY_SET_VALUE (0x0002)

KEY_CREATE_SUB_KEY (0x0004)

KEY_ENUMERATE_SUB_KEYS (0x0008)

KEY_NOTIFY (0x0010)

KEY_CREATE_LINK (0x0020)

DELETE (0x00010000)

READ_CONTROL (0x00020000)

WRITE_DAC (0x00040000)

WRITE_OWNER (0x00080000)

bGranted

如果用户拥有指定的访问权限,这个参数为 True。否则,参数为 False.

随便看

 

百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2025/2/26 22:14:14