Re: 求助:ZwOpenKey打开失败

Windows内核调试

求助:ZwOpenKey打开失败


compiler 2011-08-11, 22:07 下午

InitializeObjectAttributes(&ObjectAttributes,
  KeyName,
  OBJ_CASE_INSENSITIVE | OBJ_KERNEL_HANDLE,
  NULL,
  NULL);
 status = ZwOpenKey(&CCSKey, KEY_ALL_ACCESS, &ObjectAttributes);

这里总是返回STATUS_OBJECT_NAME_NOT_FOUND,事实上注册表中确有这个键,汇编跟进去失败在CmpParseKey里面

kcb->ExtFlags & CM_KCB_KEY_NON_EXIST 名称找到了,但是扩展标志却指示不存在。

后面用ZwCreateKey可以打开,但是却枚举不到其子键及值键,总是返回STATUS_NO_MORE_ENTRIES。

ULONG Index = 0;

ULONG ResultLength, MaxLength = 0;
 PKEY_BASIC_INFORMATION KeyInformation = NULL;

status = ZwEnumerateKey(hKey, Index,KeyBasicInformation, KeyInformation, MaxLength, &ResultLength))

不知道这是什么原因?

======================================================================================

自己的问题,KeyName->Length里面错误地包含了追尾0..................

 

Re: 求助:ZwOpenKey打开失败


格蠹老雷 2011-08-14, 21:41 下午
多谢揭开谜底,不然没法猜啊 :-)

Re: 求助:ZwOpenKey打开失败


compiler 2011-08-15, 13:39 下午
谢谢张老师的关注!

Powered by Community Server Powered by CnForums.Net