2 * COPYRIGHT: See COPYING in the top level directory
3 * PROJECT: ReactOS hive maker
4 * FILE: tools/mkhive/registry.h
5 * PURPOSE: Registry code
10 typedef struct _REPARSE_POINT
14 HCELL_INDEX SourceKeyCellOffset
;
15 PCMHIVE DestinationHive
;
16 HCELL_INDEX DestinationKeyCellOffset
;
17 } REPARSE_POINT
, *PREPARSE_POINT
;
19 typedef struct _MEMKEY
21 /* Information on hard disk structure */
22 HCELL_INDEX KeyCellOffset
;
26 #define HKEY_TO_MEMKEY(hKey) ((PMEMKEY)(hKey))
27 #define MEMKEY_TO_HKEY(memKey) ((HKEY)(memKey))
29 typedef struct _HIVE_LIST_ENTRY
32 PCWSTR HiveRegistryPath
;
34 PUCHAR SecurityDescriptor
;
35 ULONG SecurityDescriptorLength
;
36 } HIVE_LIST_ENTRY
, *PHIVE_LIST_ENTRY
;
38 #define MAX_NUMBER_OF_REGISTRY_HIVES 7
39 extern HIVE_LIST_ENTRY RegistryHives
[];
41 #define ERROR_SUCCESS 0L
42 #define ERROR_UNSUCCESSFUL 1L
43 #define ERROR_FILE_NOT_FOUND 2L
44 #define ERROR_OUTOFMEMORY 14L
45 #define ERROR_INVALID_PARAMETER 87L
46 #define ERROR_MORE_DATA 234L
47 #define ERROR_NO_MORE_ITEMS 259L
51 #define REG_EXPAND_SZ 2
54 #define REG_DWORD_LITTLE_ENDIAN 4
55 #define REG_DWORD_BIG_ENDIAN 5
57 #define REG_MULTI_SZ 7
58 #define REG_RESOURCE_LIST 8
59 #define REG_FULL_RESOURCE_DESCRIPTOR 9
60 #define REG_RESOURCE_REQUIREMENTS_LIST 10
62 #define REG_QWORD_LITTLE_ENDIAN 11
65 RegInitializeRegistry(
69 RegShutdownRegistry(VOID
);