1 /* COPYRIGHT: See COPYING in the top level directory
2 * PROJECT: ReactOS hive maker
3 * FILE: tools/mkhive/registry.h
4 * PURPOSE: Registry code
9 typedef struct _REG_VALUE
23 typedef struct _REG_KEY
26 LIST_ENTRY SubKeyList
;
40 /* Information on hard disk structure */
41 HCELL_INDEX KeyCellOffset
;
45 /* Used when linking to another key */
46 struct _REG_KEY
* LinkedKey
;
47 } KEY
, *FRLDRHKEY
, **PFRLDRHKEY
, *MEMKEY
, **PMEMKEY
;
49 #define HKEY_TO_MEMKEY(hKey) ((MEMKEY)(hKey))
50 #define MEMKEY_TO_HKEY(memKey) ((HKEY)(memKey))
52 extern CMHIVE DefaultHive
; /* \Registry\User\.DEFAULT */
53 extern CMHIVE SamHive
; /* \Registry\Machine\SAM */
54 extern CMHIVE SecurityHive
; /* \Registry\Machine\SECURITY */
55 extern CMHIVE SoftwareHive
; /* \Registry\Machine\SOFTWARE */
56 extern CMHIVE SystemHive
; /* \Registry\Machine\SYSTEM */
58 #define ERROR_SUCCESS 0L
59 #define ERROR_UNSUCCESSFUL 1L
60 #define ERROR_OUTOFMEMORY 14L
61 #define ERROR_INVALID_PARAMETER 87L
62 #define ERROR_MORE_DATA 234L
63 #define ERROR_NO_MORE_ITEMS 259L
67 #define REG_EXPAND_SZ 2
70 #define REG_DWORD_BIG_ENDIAN 5
71 #define REG_DWORD_LITTLE_ENDIAN 4
73 #define REG_MULTI_SZ 7
74 #define REG_RESOURCE_LIST 8
75 #define REG_FULL_RESOURCE_DESCRIPTOR 9
76 #define REG_RESOURCE_REQUIREMENTS_LIST 10
91 RegQueryValueExA(HKEY Key
,
101 IN LPCSTR lpValueName OPTIONAL
,
104 IN
const UCHAR
* lpData
,
108 RegDeleteValueA(HKEY Key
,
112 RegDeleteKeyA(HKEY Key
,
116 RegGetSubKeyCount (HKEY Key
);
119 RegGetValueCount (HKEY Key
);
122 RegInitializeRegistry(VOID
);
125 RegShutdownRegistry(VOID
);