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
;
37 /* Information on hard disk structure */
38 HCELL_INDEX KeyCellOffsetInParentHive
;
39 HCELL_INDEX KeyCellOffset
;
43 /* Used when linking to another key */
44 struct _REG_KEY
* LinkedKey
;
45 } KEY
, *FRLDRHKEY
, **PFRLDRHKEY
, *MEMKEY
, **PMEMKEY
;
47 #define HKEY_TO_MEMKEY(hKey) ((MEMKEY)(hKey))
48 #define MEMKEY_TO_HKEY(memKey) ((HKEY)(memKey))
50 extern CMHIVE DefaultHive
; /* \Registry\User\.DEFAULT */
51 extern CMHIVE SamHive
; /* \Registry\Machine\SAM */
52 extern CMHIVE SecurityHive
; /* \Registry\Machine\SECURITY */
53 extern CMHIVE SoftwareHive
; /* \Registry\Machine\SOFTWARE */
54 extern CMHIVE SystemHive
; /* \Registry\Machine\SYSTEM */
56 #define ERROR_SUCCESS 0L
57 #define ERROR_UNSUCCESSFUL 1L
58 #define ERROR_OUTOFMEMORY 14L
59 #define ERROR_INVALID_PARAMETER 87L
60 #define ERROR_MORE_DATA 234L
61 #define ERROR_NO_MORE_ITEMS 259L
65 #define REG_EXPAND_SZ 2
68 #define REG_DWORD_BIG_ENDIAN 5
69 #define REG_DWORD_LITTLE_ENDIAN 4
71 #define REG_MULTI_SZ 7
72 #define REG_RESOURCE_LIST 8
73 #define REG_FULL_RESOURCE_DESCRIPTOR 9
74 #define REG_RESOURCE_REQUIREMENTS_LIST 10
89 RegQueryValueExA(HKEY Key
,
99 IN LPCSTR lpValueName OPTIONAL
,
102 IN
const UCHAR
* lpData
,
106 RegDeleteValueA(HKEY Key
,
110 RegDeleteKeyA(HKEY Key
,
114 RegGetSubKeyCount (HKEY Key
);
117 RegGetValueCount (HKEY Key
);
120 RegInitializeRegistry(VOID
);
123 RegShutdownRegistry(VOID
);