Goodbye REGISTRY_ERROR bsod!

- Change UserMode -> KernelMode in ObReferenceObject*() calls, because that calls failed
- Remove Cm-specific hack from Ob

"advapi32_winetest.exe registry" shows 0 failures on the first run and 2 failures on further runs.
I suppose there might be a leakage in the CM. To be investigated further (or wait till complete Cm rewrite in October).

svn path=/trunk/; revision=23508
This commit is contained in:
Aleksey Bragin 2006-08-06 21:15:55 +00:00
parent 15e0dc6523
commit 4a57b7984a
2 changed files with 4 additions and 13 deletions

View file

@ -148,7 +148,7 @@ CmFindObject(POBJECT_CREATE_INFORMATION ObjectCreateInfo,
ObReferenceObjectByPointer(FoundObject,
STANDARD_RIGHTS_REQUIRED,
CmiKeyType,
UserMode);
KernelMode);
if (End != NULL)
{
*End = L'\\';
@ -790,7 +790,7 @@ CmiAddKeyToList(PKEY_OBJECT ParentKey,
ObReferenceObjectByPointer(ParentKey,
STANDARD_RIGHTS_REQUIRED,
CmiKeyType,
UserMode);
KernelMode);
NewKey->ParentKey = ParentKey;
}

View file

@ -239,17 +239,8 @@ ObpCloseHandleTableEntry(IN PHANDLE_TABLE HandleTable,
/* Dereference the object as well */
ASSERT(ObjectHeader->Type);
ASSERT(ObjectHeader->PointerCount != 0xCCCCCCCC);
if (!wcscmp(ObjectHeader->Type->Name.Buffer, L"Key"))
{
//
// WE DONT CLOSE REGISTRY HANDLES BECAUSE CM IS BRAINDEAD
//
DPRINT("NOT CLOSING THE KEY\n");
}
else
{
ObDereferenceObject(Body);
}
ObDereferenceObject(Body);
/* Return to caller */
OBTRACE(OB_HANDLE_DEBUG,