阅读:1476回复:6
求救!程序打开注册表问题!
我需要枚举注册表中某子键下所有子键内的值!参照Walter Oney的
例子我总是打开注册表出错!请高手们知道一下,万分感谢! for (i = 0;i < pValue->SubKeys;i++) { ZwEnumerateKeyhKey,i,KeyBasicInformation,NULL,0,&Size); sValue = (PKEY_BASIC_INFORMATION) ExAllocatePool(PagedPool,Size); ZwEnumerateKeyhKey,i,KeyBasicInformation,sValue,Size,&Size); RtlCopyUnicodeString(&tmpsubKey, &subKey); status = RtlAppendUnicodeToString(&tmpsubKey,L\"\\\\\"); status = RtlAppendUnicodeToString(&tmpsubKey,sValue->Name); InitializeObjectAttributes(&ob,&tmpsubKey,OBJ_CASE_INSENSITIVE,NULL,NULL); status = ZwOpenKey(&tmpKey,KEY_READ,&ob);//出错 if (!NT_SUCCESS(status)) { Bus_KdPrint_Def (BUS_DBG_SS_TRACE, (\"Open regedit key %ws error\\n\", tmpsubKey.Buffer )); } else } |
|
沙发#
发布于:2003-02-25 13:35
确保
status = RtlAppendUnicodeToString(&tmpsubKey,L\"\\\\\"); status = RtlAppendUnicodeToString(&tmpsubKey,sValue->Name); 操作正确, 你可Debug tmpsubKey看是否正确 |
|
|
板凳#
发布于:2003-02-25 14:44
当然正确了!
tmpSubKey.Buffer中的值就是我所希望的了! 但是就是打开错误,郁闷阿! |
|
地板#
发布于:2003-02-26 11:07
错误码是什么?
|
|
|
地下室#
发布于:2003-02-26 11:31
-1073741772
|
|
5楼#
发布于:2003-02-27 11:06
怎么没人回答阿?高手们,我真的不明白,谁能指教一下
|
|
6楼#
发布于:2003-02-27 11:16
ft,我自己搞定了!!!
|
|