xref: /reactos/sdk/tools/mkhive/registry.h (revision fc35f6eb)
1 /*
2  * COPYRIGHT:       See COPYING in the top level directory
3  * PROJECT:         ReactOS hive maker
4  * FILE:            tools/mkhive/registry.h
5  * PURPOSE:         Registry code
6  */
7 
8 #pragma once
9 
10 typedef struct _HIVE_LIST_ENTRY
11 {
12     PCSTR   HiveName;
13     PCWSTR  HiveRegistryPath;
14     PCMHIVE CmHive;
15     PUCHAR  SecurityDescriptor;
16     ULONG   SecurityDescriptorLength;
17 } HIVE_LIST_ENTRY, *PHIVE_LIST_ENTRY;
18 
19 #define MAX_NUMBER_OF_REGISTRY_HIVES    7
20 extern HIVE_LIST_ENTRY RegistryHives[];
21 
22 #define ERROR_SUCCESS                    0L
23 #define ERROR_INVALID_FUNCTION           1L
24 #define ERROR_FILE_NOT_FOUND             2L
25 #define ERROR_ACCESS_DENIED              5L
26 #define ERROR_NOT_ENOUGH_MEMORY          8L
27 #define ERROR_GEN_FAILURE                31L
28 #define ERROR_INVALID_PARAMETER          87L
29 // #define ERROR_MORE_DATA                  234L
30 // #define ERROR_NO_MORE_ITEMS              259L
31 #define ERROR_NO_LOG_SPACE               1019L
32 #define ERROR_NO_SYSTEM_RESOURCES        1450L
33 
34 #define REG_NONE                           0
35 #define REG_SZ                             1
36 #define REG_EXPAND_SZ                      2
37 #define REG_BINARY                         3
38 #define REG_DWORD                          4
39 #define REG_DWORD_LITTLE_ENDIAN            4
40 #define REG_DWORD_BIG_ENDIAN               5
41 #define REG_LINK                           6
42 #define REG_MULTI_SZ                       7
43 #define REG_RESOURCE_LIST                  8
44 #define REG_FULL_RESOURCE_DESCRIPTOR       9
45 #define REG_RESOURCE_REQUIREMENTS_LIST     10
46 #define REG_QWORD                          11
47 #define REG_QWORD_LITTLE_ENDIAN            11
48 
49 VOID
50 RegInitializeRegistry(
51     IN PCSTR HiveList);
52 
53 VOID
54 RegShutdownRegistry(VOID);
55 
56 /* EOF */
57