zoukankan      html  css  js  c++  java
  • WMI 注册表 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.

  • 相关阅读:
    ubuntu 安装 库文件
    java接口定义的静态方法和默认如何在类实现的时候使用
    通过java的i/o机制进行图片流的存储以及对网络图片的存储
    java的两种冒泡算法
    Java的Integer和int有什么区别
    使用jq的ajax实现对xml文件的读取
    typescript中的工具 tsd
    使用reactjs遇到Warning: setState(...): Can only update a mounted or mounting component.
    在create-react-app的脚手架里面使用scss
    使用fetch-jsonp进行跨域以及参数的传递
  • 原文地址:https://www.cnblogs.com/yinhaosln/p/1489315.html
Copyright © 2011-2022 走看看