ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

registry.h
Go to the documentation of this file.
00001 /* COPYRIGHT:       See COPYING in the top level directory
00002  * PROJECT:         ReactOS hive maker
00003  * FILE:            tools/mkhive/registry.h
00004  * PURPOSE:         Registry code
00005  */
00006 
00007 #pragma once
00008 
00009 typedef struct _REG_VALUE
00010 {
00011   LIST_ENTRY ValueList;
00012 
00013   /* value name */
00014   ULONG NameSize;
00015   PCHAR Name;
00016 
00017   /* value data */
00018   ULONG DataType;
00019   ULONG DataSize;
00020   PCHAR Data;
00021 } VALUE, *PVALUE;
00022 
00023 typedef struct _REG_KEY
00024 {
00025   LIST_ENTRY KeyList;
00026   LIST_ENTRY SubKeyList;
00027   LIST_ENTRY ValueList;
00028 
00029   ULONG SubKeyCount;
00030   ULONG ValueCount;
00031 
00032   ULONG NameSize;
00033   PWCHAR Name;
00034 
00035   /* default data */
00036   ULONG DataType;
00037   ULONG DataSize;
00038   PCHAR Data;
00039 
00040   /* Information on hard disk structure */
00041   HCELL_INDEX KeyCellOffset;
00042   PCM_KEY_NODE KeyCell;
00043   PCMHIVE RegistryHive;
00044 
00045   /* Used when linking to another key */
00046   struct _REG_KEY* LinkedKey;
00047 } KEY, *FRLDRHKEY, **PFRLDRHKEY, *MEMKEY, **PMEMKEY;
00048 
00049 #define HKEY_TO_MEMKEY(hKey) ((MEMKEY)(hKey))
00050 #define MEMKEY_TO_HKEY(memKey) ((HKEY)(memKey))
00051 
00052 extern CMHIVE DefaultHive;  /* \Registry\User\.DEFAULT */
00053 extern CMHIVE SamHive;      /* \Registry\Machine\SAM */
00054 extern CMHIVE SecurityHive; /* \Registry\Machine\SECURITY */
00055 extern CMHIVE SoftwareHive; /* \Registry\Machine\SOFTWARE */
00056 extern CMHIVE SystemHive;   /* \Registry\Machine\SYSTEM */
00057 
00058 #define ERROR_SUCCESS                    0L
00059 #define ERROR_UNSUCCESSFUL               1L
00060 #define ERROR_OUTOFMEMORY                14L
00061 #define ERROR_INVALID_PARAMETER          87L
00062 #define ERROR_MORE_DATA                  234L
00063 #define ERROR_NO_MORE_ITEMS              259L
00064 
00065 #define REG_NONE 0
00066 #define REG_SZ 1
00067 #define REG_EXPAND_SZ 2
00068 #define REG_BINARY 3
00069 #define REG_DWORD 4
00070 #define REG_DWORD_BIG_ENDIAN 5
00071 #define REG_DWORD_LITTLE_ENDIAN 4
00072 #define REG_LINK 6
00073 #define REG_MULTI_SZ 7
00074 #define REG_RESOURCE_LIST 8
00075 #define REG_FULL_RESOURCE_DESCRIPTOR 9
00076 #define REG_RESOURCE_REQUIREMENTS_LIST 10
00077 
00078 LONG WINAPI
00079 RegCreateKeyA(
00080     IN HKEY hKey,
00081     IN LPCSTR lpSubKey,
00082     OUT PHKEY phkResult);
00083 
00084 LONG WINAPI
00085 RegOpenKeyA(
00086     IN HKEY hKey,
00087     IN LPCSTR lpSubKey,
00088     OUT PHKEY phkResult);
00089 
00090 LONG WINAPI
00091 RegQueryValueExA(HKEY Key,
00092           LPCSTR ValueName,
00093           PULONG Reserved,
00094           PULONG Type,
00095           PUCHAR Data,
00096           PSIZE_T DataSize);
00097 
00098 LONG WINAPI
00099 RegSetValueExA(
00100     IN HKEY hKey,
00101     IN LPCSTR lpValueName OPTIONAL,
00102     ULONG Reserved,
00103     IN ULONG dwType,
00104     IN const UCHAR* lpData,
00105     IN ULONG cbData);
00106 
00107 LONG WINAPI
00108 RegDeleteValueA(HKEY Key,
00109            LPCSTR ValueName);
00110 
00111 LONG WINAPI
00112 RegDeleteKeyA(HKEY Key,
00113          LPCSTR Name);
00114 
00115 USHORT
00116 RegGetSubKeyCount (HKEY Key);
00117 
00118 ULONG
00119 RegGetValueCount (HKEY Key);
00120 
00121 VOID
00122 RegInitializeRegistry(VOID);
00123 
00124 VOID
00125 RegShutdownRegistry(VOID);
00126 
00127 /* EOF */

Generated on Sun May 27 2012 04:17:08 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.