• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

Win32 SDK注册表操作函数——RegQueryValue

发布: 2007-7-01 20:40 | 作者: admin | 来源: | 查看: 144次 | 进入软件测试论坛讨论

领测软件测试网

RegQueryValue



RegQueryValue函数找回给定注册表键的默认值或未命名值所关联的数据。这个数据必须是一个以空字符结束的字符串。



这个函数与Windows 3.1兼容。基于Win32的应用程序应该使用函数。

LONG RegQueryValue(
HKEY
hKey, // 要查询键的句柄
LPCTSTR lpSubKey,
// 要查询子键的名字
LPTSTR lpValue, // 返回字符串的缓存
PLONG lpcbValue // 接收返回字符串的大小
);


参数





hKey

当前打开的键或下列已确定保留句柄值:

HKEY_CLASSES_ROOT
HKEY_CURRENT_CONFIG
HKEY_CURRENT_USER
HKEY_LOCAL_MACHINE
HKEY_USERS
Windows NT:
HKEY_PERFORMANCE_DATA
Windows 95和Windows 98: HKEY_DYN_DATA



lpSubKey

指向要被找回默认值的hKey参数子键的名字的以空字符结束的字符串。如果这个参数为NULL或指向一个空字符串,那么这个函数找回能被hKey识别的默认值。

lpValue

指向与给定值的默认值相关联的以空字符串结束的字符串的缓存区。

如果lpValue是NULL并且lpcbValue不是NULL,这个函数返回ERROR_SUCCESS,并取回被lpcbData指定的变量缓存的大小(以字节为单位)。这个为值的数据缓存分配最好的途径。



lpcbValue

以字节为单位,指向lpData参数所指定地缓存区大小的变量。函数返回复制到lpData的数据大小的变量(包含结束字符)。

如果被lpData参数指定的缓存不够大,这个函数返回ERROR_MORE_DATA值,并取回被lpcbData指定的变量缓存的大小(以字节为单位)。

在所有的案例中,在lpcbValue返回的值的大小包含字符串的结束符。



返回值



如果调用成功,返回ERROR_SUCCESS。



如果调用失败,返回一个非零错误码(定义在WINERROR.H)。你可以使用带有FORMAT_MESSAGE_FROM_SYSTEM标记的函数获得错误的普通描述信息。



注意



能被hKey参数识别的键必须被带有KEY_QUERY_VALUE存取权限打开(KEY_READ存取权限包括KEY_QUERY_VALUE存取权限)。



如果这个函数的ANSI版本被使用(明确的调用RegQueryValueExA或在包含WINDOWS.H文件前不定义UNICODE),这个函数在复制它到lpValue参数给定的缓存区前,转换存贮的Unicode字符串到ANSI字符串。



快速信息



  Windows NT: 需要3.1或更高版本。
  Windows: 需要Windows 95或更高版本。
  Windows CE: 不支持。
  头文件: winreg.h。
  输入库: advapi32.lib。
  Unicode: 在Windows NT中作为Unicode和ANSI执行。



参见



, , , , , , , ,


延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网