分享
 
 
 

Win32 SDK注册表操作——RegQueryValueEx

王朝vc·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

RegQueryValueEx

(更多请见 http://websl.126.com )

RegQueryValueEx 找回所打开注册表键所关联的一个给定值的类型和数据。 LONG RegQueryValueEx(

HKEY hKey , // 要查询键的句柄

LPTSTR lpValueName , // 要查询值的名字的地址

LPDWORD lpReserved , // 保留

LPDWORD lpType , // 值类型缓存地址

LPBYTE lpData , // 数据缓存地址

LPDWORD lpcbData // 数据缓存大小地址

);

参数

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

lpValueName

指向要查询值的名字的字符串(以空字符结束)。

如果 lpValueName 是NULL或一个空字符串(""),这个函数找回这个键的未命名或默认值的类型和数据。

Windows 95和Windows 98: 每个键有一个默认值(最初的不包含数据)。在Windows 95,这人默认值类型总是REG_SZ。在Windows 98,默认键的类型最初是REG_SZ,但可以通过 RegSetValueEx 指定一个默认值为不同的类型。

Windows NT: 键不能自动拥有一个未命名或默认的值,未命名的值可以是任何类型。

lpReserved

保留,必须是NULL.

lpType

指向与给定值相关联数据的类型的变量。这个值将通过这个参数返回,将是下面之一:

含意

REG_BINARY

二进制数据。

REG_DWORD

一个32位数字。

REG_DWORD_LITTLE_ENDIAN

一个little-endian格式的32位数字。这相当于REG_DWORD。

little-endian格式,是一个多字节值在内存中被从低字节到高字节存贮。如,值 0x12345678在little-endian格式中被存贮为(0x78 0x56 0x34 0x12)。

Windows NT, Windows 95,和Windows 98是有意运行在little-endian计算机体系上的。例如像一些UNIX系统,一个用户必须连接到big-endian体系的计算机上。

REG_DWORD_BIG_ENDIAN

一个big-endian格式的32位数字。

big-endian格式,一个多字节值在内存职被从高字节到低字节存贮。如,值0x12345678在big-endian格式中被存贮为(0x12 0x34 0x56 0x78)。

REG_EXPAND_SZ

一个包含未被引用的环境变量的以空字符结束的字符串(如,"%PATH%")。它是Unicode字符串还是ANSI字符串将依赖你所使用的是Unicode函数还是ANSI函数。扩展环境变量引用,使用

ExpandEnvironmentStrings 函数。

REG_LINK

一个Unicode符号连接。

REG_MULTI_SZ

一个以空字符结束的字符串数组,被两个null字符结束。

REG_NONE

未定义值类型。

REG_RESOURCE_LIST

一个设备驱动资源列表。

REG_SZ

一个以空字符结束的字符串。它是 Unicode字符串还是 ANSI字符串将依赖你所使用的是 Unicode函数还是 ANSI函数。

如果不需要类型 lpType 参数可以为空(NULL)。

lpData

指定接收值数据的缓存区。如果数据是不需要的这个参数可以为空。

lpcbData

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

如果数据是REG_SZ、REG_MULTI_SZ或REG_EXPAND_SZ类型,那么 lpcbData 还将包括以空字符结束的大小。

如果 lpData 是NULL, lpcbData 参数可以是NULL。

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

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

Window NT: 如果 hKey 指定为 HKEY_PERFORMANCE_DATA, 并且 lpData 缓存太小, RegQueryValueEx 返回ERROR_MORE_DATA,但是 lpcbData 不能返回必需的缓存大小。这是因为运用数据的大小可以在调用的下一步被改变。在这种情形下,你必须增加缓存的大小并重新调用 RegQueryValueEx 通过 lpcbData 参数更新缓存大小。重复直到函数成功。 你需要维护一个单独的变量去留意缓存的大小。因为被 lpcbData 返回的值是可不预知的。

返回值

如果这个函数成功,返回ERROR_SUCCESS。

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

注意

被 hKey 确定的键必须是被带有KEY_QUERY_VALUE标记打开的。打开键,使用 RegCreateKeyEx 函数或 RegOpenKeyEx 函数。

如果值数据是REG_SZ、REG_MULTI_SZ或REG_EXPAND_SZ类型,这个函数的ANSI版本将被使用(明确的调用 RegQueryValueExA 或在包含WINDOWS.H文件前不定义UNICODE),这个函数在复制它到 lpData 指定的缓存中以前,转换存贮地Unicode字符串为ANSI字符串。

Window NT: 当调用 RegQueryValueEx 函数并 hKey 被设置成HKEY_PERFORMANCE_DATA句柄,给定对象的值字符串时,返回数据结构往往是未定义的对象。不要感到惊讶;这是正常的。当调 RegQueryValueEx 函数时,you should always expect to walk the returned data structure to look for the requested object.

快速信息

Windows NT: 需要3.1或更高版本。

Windows: 需要Windows 95或更高版本。

Windows CE: 需要1.0或更高版本。

头文件: winreg.h。

输入库: advapi32.lib。

Unicode: 在Windows NT中作为Unicode或ANSI执行。

参见

Registry Overview , Registry Functions ,

ExpandEnvironmentStrings , RegCreateKeyEx , RegEnumKey , RegEnumKeyEx , RegEnumValue , RegOpenKeyEx , RegQueryInfoKey , RegQueryValue

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有