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..................
|