词条 | 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条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。