mirror of
https://github.com/reactos/reactos.git
synced 2025-05-23 02:56:09 +00:00
[ADVAPI32]
- Mark the HKEY_CLASSES_ROOT key as belonging to the HKEY_CLASSES_ROOT tree. CORE-8582 svn path=/trunk/; revision=64417
This commit is contained in:
parent
fff76a1d0e
commit
ccc1a83dca
2 changed files with 38 additions and 4 deletions
|
@ -18,6 +18,8 @@
|
|||
#include <ndk/cmfuncs.h>
|
||||
#include <pseh/pseh2.h>
|
||||
|
||||
#include "reg.h"
|
||||
|
||||
WINE_DEFAULT_DEBUG_CHANNEL(reg);
|
||||
|
||||
/* DEFINES ******************************************************************/
|
||||
|
@ -231,10 +233,11 @@ CloseDefaultKeys(VOID)
|
|||
|
||||
|
||||
static NTSTATUS
|
||||
OpenClassesRootKey(PHANDLE KeyHandle)
|
||||
OpenClassesRootKey(_Out_ PHANDLE KeyHandle)
|
||||
{
|
||||
OBJECT_ATTRIBUTES Attributes;
|
||||
UNICODE_STRING KeyName = RTL_CONSTANT_STRING(L"\\Registry\\Machine\\Software\\CLASSES");
|
||||
NTSTATUS Status;
|
||||
|
||||
TRACE("OpenClassesRootKey()\n");
|
||||
|
||||
|
@ -243,9 +246,17 @@ OpenClassesRootKey(PHANDLE KeyHandle)
|
|||
OBJ_CASE_INSENSITIVE,
|
||||
NULL,
|
||||
NULL);
|
||||
return NtOpenKey(KeyHandle,
|
||||
MAXIMUM_ALLOWED,
|
||||
&Attributes);
|
||||
Status = NtOpenKey(KeyHandle,
|
||||
MAXIMUM_ALLOWED,
|
||||
&Attributes);
|
||||
|
||||
if (!NT_SUCCESS(Status))
|
||||
return Status;
|
||||
|
||||
/* Mark it as HKCR */
|
||||
MakeHKCRKey((HKEY*)KeyHandle);
|
||||
|
||||
return Status;
|
||||
}
|
||||
|
||||
|
||||
|
|
23
reactos/dll/win32/advapi32/reg/reg.h
Normal file
23
reactos/dll/win32/advapi32/reg/reg.h
Normal file
|
@ -0,0 +1,23 @@
|
|||
/*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS system libraries
|
||||
* FILE: lib/advapi32/reg/reg.c
|
||||
* PURPOSE: Registry functions
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
/* FUNCTIONS ****************************************************************/
|
||||
FORCEINLINE
|
||||
BOOL
|
||||
IsHKCRKey(_In_ HKEY hKey)
|
||||
{
|
||||
return ((ULONG_PTR)hKey & 0x2) != 0;
|
||||
}
|
||||
|
||||
FORCEINLINE
|
||||
void
|
||||
MakeHKCRKey(_Inout_ HKEY* hKey)
|
||||
{
|
||||
*hKey = (HKEY)((ULONG_PTR)*hKey | 0x2);
|
||||
}
|
Loading…
Reference in a new issue