2016-01-16 23:54:45 +00:00
|
|
|
/*
|
|
|
|
* COPYRIGHT: See COPYING in the top level directory
|
2003-04-14 17:19:42 +00:00
|
|
|
* PROJECT: ReactOS hive maker
|
|
|
|
* FILE: tools/mkhive/registry.h
|
|
|
|
* PURPOSE: Registry code
|
|
|
|
*/
|
|
|
|
|
2010-02-26 11:43:19 +00:00
|
|
|
#pragma once
|
2003-04-14 17:19:42 +00:00
|
|
|
|
2014-10-05 21:30:57 +00:00
|
|
|
typedef struct _REPARSE_POINT
|
2003-04-14 17:19:42 +00:00
|
|
|
{
|
2014-10-05 21:30:57 +00:00
|
|
|
LIST_ENTRY ListEntry;
|
|
|
|
PCMHIVE SourceHive;
|
|
|
|
HCELL_INDEX SourceKeyCellOffset;
|
|
|
|
PCMHIVE DestinationHive;
|
|
|
|
HCELL_INDEX DestinationKeyCellOffset;
|
|
|
|
} REPARSE_POINT, *PREPARSE_POINT;
|
2003-04-14 17:19:42 +00:00
|
|
|
|
2014-10-05 21:30:57 +00:00
|
|
|
typedef struct _MEMKEY
|
|
|
|
{
|
2015-01-07 19:26:49 +00:00
|
|
|
/* Information on hard disk structure */
|
|
|
|
HCELL_INDEX KeyCellOffset;
|
|
|
|
PCMHIVE RegistryHive;
|
2014-10-05 19:46:00 +00:00
|
|
|
} MEMKEY, *PMEMKEY;
|
2003-04-14 17:19:42 +00:00
|
|
|
|
2014-10-05 19:46:00 +00:00
|
|
|
#define HKEY_TO_MEMKEY(hKey) ((PMEMKEY)(hKey))
|
2006-09-10 15:39:11 +00:00
|
|
|
#define MEMKEY_TO_HKEY(memKey) ((HKEY)(memKey))
|
2003-04-14 17:19:42 +00:00
|
|
|
|
2007-10-28 22:38:20 +00:00
|
|
|
extern CMHIVE DefaultHive; /* \Registry\User\.DEFAULT */
|
|
|
|
extern CMHIVE SamHive; /* \Registry\Machine\SAM */
|
|
|
|
extern CMHIVE SecurityHive; /* \Registry\Machine\SECURITY */
|
|
|
|
extern CMHIVE SoftwareHive; /* \Registry\Machine\SOFTWARE */
|
|
|
|
extern CMHIVE SystemHive; /* \Registry\Machine\SYSTEM */
|
2015-10-05 07:22:11 +00:00
|
|
|
extern CMHIVE BcdHive; /* \Registry\Machine\BCD00000000 */
|
2003-04-14 17:19:42 +00:00
|
|
|
|
|
|
|
#define ERROR_SUCCESS 0L
|
2006-09-10 15:39:11 +00:00
|
|
|
#define ERROR_UNSUCCESSFUL 1L
|
2016-01-16 23:54:45 +00:00
|
|
|
#define ERROR_FILE_NOT_FOUND 2L
|
2003-04-14 17:19:42 +00:00
|
|
|
#define ERROR_OUTOFMEMORY 14L
|
|
|
|
#define ERROR_INVALID_PARAMETER 87L
|
|
|
|
#define ERROR_MORE_DATA 234L
|
|
|
|
#define ERROR_NO_MORE_ITEMS 259L
|
|
|
|
|
2016-01-16 23:54:45 +00:00
|
|
|
#define REG_NONE 0
|
|
|
|
#define REG_SZ 1
|
|
|
|
#define REG_EXPAND_SZ 2
|
|
|
|
#define REG_BINARY 3
|
|
|
|
#define REG_DWORD 4
|
|
|
|
#define REG_DWORD_LITTLE_ENDIAN 4
|
|
|
|
#define REG_DWORD_BIG_ENDIAN 5
|
|
|
|
#define REG_LINK 6
|
|
|
|
#define REG_MULTI_SZ 7
|
|
|
|
#define REG_RESOURCE_LIST 8
|
|
|
|
#define REG_FULL_RESOURCE_DESCRIPTOR 9
|
|
|
|
#define REG_RESOURCE_REQUIREMENTS_LIST 10
|
|
|
|
#define REG_QWORD 11
|
|
|
|
#define REG_QWORD_LITTLE_ENDIAN 11
|
2003-04-14 17:19:42 +00:00
|
|
|
|
2006-09-10 15:39:11 +00:00
|
|
|
VOID
|
|
|
|
RegInitializeRegistry(VOID);
|
2003-04-14 17:19:42 +00:00
|
|
|
|
2010-05-14 21:13:33 +00:00
|
|
|
VOID
|
|
|
|
RegShutdownRegistry(VOID);
|
|
|
|
|
2003-04-14 17:19:42 +00:00
|
|
|
/* EOF */
|