#ifndef __REGISTRY_H
#define __REGISTRY_H
+#define TAG_REG_NAME 'NgeR'
+#define TAG_REG_KEY 'KgeR'
+#define TAG_REG_KEY_DATA 'DgeR'
+#define TAG_REG_VALUE 'VgeR'
+
typedef struct _REG_KEY
{
LIST_ENTRY KeyList;
LONG
RegCreateKey(FRLDRHKEY ParentKey,
- PCWSTR KeyName,
- PFRLDRHKEY Key);
+ PCWSTR KeyName,
+ PFRLDRHKEY Key);
LONG
RegDeleteKey(FRLDRHKEY Key,
- PCWSTR Name);
+ PCWSTR Name);
LONG
-RegEnumKey(FRLDRHKEY Key,
- ULONG Index,
- PWCHAR Name,
- ULONG* NameSize);
+RegEnumKey(
+ _In_ FRLDRHKEY Key,
+ _In_ ULONG Index,
+ _Out_ PWCHAR Name,
+ _Inout_ ULONG* NameSize,
+ _Out_opt_ FRLDRHKEY *SubKey);
LONG
RegOpenKey(FRLDRHKEY ParentKey,
- PCWSTR KeyName,
- PFRLDRHKEY Key);
+ PCWSTR KeyName,
+ PFRLDRHKEY Key);
LONG
RegSetValue(FRLDRHKEY Key,
- PCWSTR ValueName,
- ULONG Type,
- PCSTR Data,
- ULONG DataSize);
+ PCWSTR ValueName,
+ ULONG Type,
+ PCSTR Data,
+ ULONG DataSize);
LONG
RegQueryValue(FRLDRHKEY Key,
- PCWSTR ValueName,
- ULONG* Type,
- PUCHAR Data,
- ULONG* DataSize);
+ PCWSTR ValueName,
+ ULONG* Type,
+ PUCHAR Data,
+ ULONG* DataSize);
LONG
RegDeleteValue(FRLDRHKEY Key,
- PCWSTR ValueName);
+ PCWSTR ValueName);
LONG
RegEnumValue(FRLDRHKEY Key,
- ULONG Index,
- PWCHAR ValueName,
- ULONG* NameSize,
- ULONG* Type,
- PUCHAR Data,
- ULONG* DataSize);
+ ULONG Index,
+ PWCHAR ValueName,
+ ULONG* NameSize,
+ ULONG* Type,
+ PUCHAR Data,
+ ULONG* DataSize);
ULONG
RegGetSubKeyCount (FRLDRHKEY Key);
BOOLEAN
RegImportBinaryHive (PCHAR ChunkBase,
- ULONG ChunkSize);
+ ULONG ChunkSize);
BOOLEAN
RegExportBinaryHive (PCWSTR KeyName,
- PCHAR ChunkBase,
- ULONG* ChunkSize);
+ PCHAR ChunkBase,
+ ULONG* ChunkSize);
#endif /* __REGISTRY_H */