25b18d794253409f82c60d692b4a92b467082e1d
[reactos.git] / reactos / boot / freeldr / freeldr / windows / registry.h
1 /*
2 * FreeLoader - registry.h
3 *
4 * Copyright (C) 2001 Eric Kohl
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2 of the License, or
9 * (at your option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License along
17 * with this program; if not, write to the Free Software Foundation, Inc.,
18 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
19 */
20
21 #ifndef __REGISTRY_H
22 #define __REGISTRY_H
23
24 typedef HANDLE HKEY, *PHKEY;
25
26 VOID
27 RegInitializeRegistry(VOID);
28
29 LONG
30 RegInitCurrentControlSet(BOOLEAN LastKnownGood);
31
32 LONG
33 RegEnumKey(
34 _In_ HKEY Key,
35 _In_ ULONG Index,
36 _Out_ PWCHAR Name,
37 _Inout_ ULONG* NameSize,
38 _Out_opt_ PHKEY SubKey);
39
40 LONG
41 RegOpenKey(HKEY ParentKey,
42 PCWSTR KeyName,
43 PHKEY Key);
44
45 LONG
46 RegSetValue(HKEY Key,
47 PCWSTR ValueName,
48 ULONG Type,
49 PCSTR Data,
50 ULONG DataSize);
51
52 LONG
53 RegQueryValue(HKEY Key,
54 PCWSTR ValueName,
55 ULONG* Type,
56 PUCHAR Data,
57 ULONG* DataSize);
58
59 LONG
60 RegEnumValue(HKEY Key,
61 ULONG Index,
62 PWCHAR ValueName,
63 ULONG* NameSize,
64 ULONG* Type,
65 PUCHAR Data,
66 ULONG* DataSize);
67
68 BOOLEAN
69 RegImportBinaryHive(PCHAR ChunkBase,
70 ULONG ChunkSize);
71
72 #endif /* __REGISTRY_H */
73
74 /* EOF */