4 #pragma GCC system_header
14 #define HKEY_CLASSES_ROOT ((HKEY)0x80000000)
15 #define HKEY_CURRENT_USER ((HKEY)0x80000001)
16 #define HKEY_LOCAL_MACHINE ((HKEY)0x80000002)
17 #define HKEY_USERS ((HKEY)0x80000003)
18 #define HKEY_PERFORMANCE_DATA ((HKEY)0x80000004)
19 #define HKEY_CURRENT_CONFIG ((HKEY)0x80000005)
20 #define HKEY_DYN_DATA ((HKEY)0x80000006)
21 #define REG_OPTION_VOLATILE 1
22 #define REG_OPTION_NON_VOLATILE 0
23 #define REG_CREATED_NEW_KEY 1
24 #define REG_OPENED_EXISTING_KEY 2
27 #define REG_EXPAND_SZ 2
29 #define REG_DWORD_LITTLE_ENDIAN 4
31 #define REG_DWORD_BIG_ENDIAN 5
33 #define REG_MULTI_SZ 7
34 #define REG_RESOURCE_LIST 8
35 #define REG_FULL_RESOURCE_DESCRIPTOR 9
36 #define REG_RESOURCE_REQUIREMENTS_LIST 10
37 #define REG_QWORD_LITTLE_ENDIAN 11
39 #define REG_NOTIFY_CHANGE_NAME 1
40 #define REG_NOTIFY_CHANGE_ATTRIBUTES 2
41 #define REG_NOTIFY_CHANGE_LAST_SET 4
42 #define REG_NOTIFY_CHANGE_SECURITY 8
45 typedef ACCESS_MASK REGSAM
;
46 typedef struct value_entA
{
52 typedef struct value_entW
{
58 WINADVAPI BOOL WINAPI
AbortSystemShutdownA(LPCSTR
);
59 WINADVAPI BOOL WINAPI
AbortSystemShutdownW(LPCWSTR
);
60 WINADVAPI BOOL WINAPI
InitiateSystemShutdownA(LPSTR
,LPSTR
,DWORD
,BOOL
,BOOL
);
61 WINADVAPI BOOL WINAPI
InitiateSystemShutdownW(LPWSTR
,LPWSTR
,DWORD
,BOOL
,BOOL
);
62 WINADVAPI LONG WINAPI
RegCloseKey(HKEY
);
63 WINADVAPI LONG WINAPI
RegConnectRegistryA(LPCSTR
,HKEY
,PHKEY
);
64 WINADVAPI LONG WINAPI
RegConnectRegistryW(LPCWSTR
,HKEY
,PHKEY
);
65 WINADVAPI LONG WINAPI
RegCreateKeyA(HKEY
,LPCSTR
,PHKEY
);
66 WINADVAPI LONG WINAPI
RegCreateKeyExA(HKEY
,LPCSTR
,DWORD
,LPSTR
,DWORD
,REGSAM
,LPSECURITY_ATTRIBUTES
,PHKEY
,PDWORD
);
67 WINADVAPI LONG WINAPI
RegCreateKeyExW(HKEY
,LPCWSTR
,DWORD
,LPWSTR
,DWORD
,REGSAM
,LPSECURITY_ATTRIBUTES
,PHKEY
,PDWORD
);
68 WINADVAPI LONG WINAPI
RegCreateKeyW(HKEY
,LPCWSTR
,PHKEY
);
69 WINADVAPI LONG WINAPI
RegDeleteKeyA(HKEY
,LPCSTR
);
70 WINADVAPI LONG WINAPI
RegDeleteKeyW(HKEY
,LPCWSTR
);
71 #if (WINVER >= 0x0502)
72 WINADVAPI LONG WINAPI
RegDeleteKeyExA(HKEY
,LPCSTR
,REGSAM
,DWORD
);
73 WINADVAPI LONG WINAPI
RegDeleteKeyExW(HKEY
,LPCWSTR
,REGSAM
,DWORD
);
75 WINADVAPI LONG WINAPI
RegDeleteValueA(HKEY
,LPCSTR
);
76 WINADVAPI LONG WINAPI
RegDeleteValueW(HKEY
,LPCWSTR
);
77 WINADVAPI LONG WINAPI
RegEnumKeyA(HKEY
,DWORD
,LPSTR
,DWORD
);
78 WINADVAPI LONG WINAPI
RegEnumKeyW(HKEY
,DWORD
,LPWSTR
,DWORD
);
79 WINADVAPI LONG WINAPI
RegEnumKeyExA(HKEY
,DWORD
,LPSTR
,PDWORD
,PDWORD
,LPSTR
,PDWORD
,PFILETIME
);
80 WINADVAPI LONG WINAPI
RegEnumKeyExW(HKEY
,DWORD
,LPWSTR
,PDWORD
,PDWORD
,LPWSTR
,PDWORD
,PFILETIME
);
81 WINADVAPI LONG WINAPI
RegEnumValueA(HKEY
,DWORD
,LPSTR
,PDWORD
,PDWORD
,PDWORD
,LPBYTE
,PDWORD
);
82 WINADVAPI LONG WINAPI
RegEnumValueW(HKEY
,DWORD
,LPWSTR
,PDWORD
,PDWORD
,PDWORD
,LPBYTE
,PDWORD
);
83 WINADVAPI LONG WINAPI
RegFlushKey(HKEY
);
84 WINADVAPI LONG WINAPI
RegGetKeySecurity(HKEY
,SECURITY_INFORMATION
,PSECURITY_DESCRIPTOR
,PDWORD
);
85 WINADVAPI LONG WINAPI
RegLoadKeyA(HKEY
,LPCSTR
,LPCSTR
);
86 WINADVAPI LONG WINAPI
RegLoadKeyW(HKEY
,LPCWSTR
,LPCWSTR
);
87 WINADVAPI LONG WINAPI
RegNotifyChangeKeyValue(HKEY
,BOOL
,DWORD
,HANDLE
,BOOL
);
88 WINADVAPI LONG WINAPI
RegOpenKeyA(HKEY
,LPCSTR
,PHKEY
);
89 WINADVAPI LONG WINAPI
RegOpenKeyExA(HKEY
,LPCSTR
,DWORD
,REGSAM
,PHKEY
);
90 WINADVAPI LONG WINAPI
RegOpenKeyExW(HKEY
,LPCWSTR
,DWORD
,REGSAM
,PHKEY
);
91 WINADVAPI LONG WINAPI
RegOpenKeyW(HKEY
,LPCWSTR
,PHKEY
);
92 WINADVAPI LONG WINAPI
RegQueryInfoKeyA(HKEY
,LPSTR
,PDWORD
,PDWORD
,PDWORD
,PDWORD
,PDWORD
,PDWORD
,PDWORD
,PDWORD
,PDWORD
,PFILETIME
);
93 WINADVAPI LONG WINAPI
RegQueryInfoKeyW(HKEY
,LPWSTR
,PDWORD
,PDWORD
,PDWORD
,PDWORD
,PDWORD
,PDWORD
,PDWORD
,PDWORD
,PDWORD
,PFILETIME
);
94 WINADVAPI LONG WINAPI
RegQueryMultipleValuesA(HKEY
,PVALENTA
,DWORD
,LPSTR
,LPDWORD
);
95 WINADVAPI LONG WINAPI
RegQueryMultipleValuesW(HKEY
,PVALENTW
,DWORD
,LPWSTR
,LPDWORD
);
96 WINADVAPI LONG WINAPI
RegQueryValueA(HKEY
,LPCSTR
,LPSTR
,PLONG
);
97 WINADVAPI LONG WINAPI
RegQueryValueExA(HKEY
,LPCSTR
,LPDWORD
,LPDWORD
,LPBYTE
,LPDWORD
);
98 WINADVAPI LONG WINAPI
RegQueryValueExW(HKEY
,LPCWSTR
,LPDWORD
,LPDWORD
,LPBYTE
,LPDWORD
);
99 WINADVAPI LONG WINAPI
RegQueryValueW(HKEY
,LPCWSTR
,LPWSTR
,PLONG
);
100 WINADVAPI LONG WINAPI
RegReplaceKeyA(HKEY
,LPCSTR
,LPCSTR
,LPCSTR
);
101 WINADVAPI LONG WINAPI
RegReplaceKeyW(HKEY
,LPCWSTR
,LPCWSTR
,LPCWSTR
);
102 WINADVAPI LONG WINAPI
RegRestoreKeyA(HKEY
,LPCSTR
,DWORD
);
103 WINADVAPI LONG WINAPI
RegRestoreKeyW(HKEY
,LPCWSTR
,DWORD
);
104 WINADVAPI LONG WINAPI
RegSaveKeyA(HKEY
,LPCSTR
,LPSECURITY_ATTRIBUTES
);
105 WINADVAPI LONG WINAPI
RegSaveKeyW(HKEY
,LPCWSTR
,LPSECURITY_ATTRIBUTES
);
106 WINADVAPI LONG WINAPI
RegSetKeySecurity(HKEY
,SECURITY_INFORMATION
,PSECURITY_DESCRIPTOR
);
107 WINADVAPI LONG WINAPI
RegSetValueA(HKEY
,LPCSTR
,DWORD
,LPCSTR
,DWORD
);
108 WINADVAPI LONG WINAPI
RegSetValueExA(HKEY
,LPCSTR
,DWORD
,DWORD
,const BYTE
*,DWORD
);
109 WINADVAPI LONG WINAPI
RegSetValueExW(HKEY
,LPCWSTR
,DWORD
,DWORD
,const BYTE
*,DWORD
);
110 WINADVAPI LONG WINAPI
RegSetValueW(HKEY
,LPCWSTR
,DWORD
,LPCWSTR
,DWORD
);
111 WINADVAPI LONG WINAPI
RegUnLoadKeyA(HKEY
,LPCSTR
);
112 WINADVAPI LONG WINAPI
RegUnLoadKeyW(HKEY
,LPCWSTR
);
115 typedef VALENTW VALENT
,*PVALENT
;
116 #define AbortSystemShutdown AbortSystemShutdownW
117 #define InitiateSystemShutdown InitiateSystemShutdownW
118 #define RegConnectRegistry RegConnectRegistryW
119 #define RegCreateKey RegCreateKeyW
120 #define RegCreateKeyEx RegCreateKeyExW
121 #define RegDeleteKey RegDeleteKeyW
122 #if (WINVER >= 0x0502)
123 #define RegDeleteKeyEx RegDeleteKeyExW
125 #define RegDeleteValue RegDeleteValueW
126 #define RegEnumKey RegEnumKeyW
127 #define RegEnumKeyEx RegEnumKeyExW
128 #define RegEnumValue RegEnumValueW
129 #define RegLoadKey RegLoadKeyW
130 #define RegOpenKey RegOpenKeyW
131 #define RegOpenKeyEx RegOpenKeyExW
132 #define RegQueryInfoKey RegQueryInfoKeyW
133 #define RegQueryMultipleValues RegQueryMultipleValuesW
134 #define RegQueryValue RegQueryValueW
135 #define RegQueryValueEx RegQueryValueExW
136 #define RegReplaceKey RegReplaceKeyW
137 #define RegRestoreKey RegRestoreKeyW
138 #define RegSaveKey RegSaveKeyW
139 #define RegSetValue RegSetValueW
140 #define RegSetValueEx RegSetValueExW
141 #define RegUnLoadKey RegUnLoadKeyW
143 typedef VALENTA VALENT
,*PVALENT
;
144 #define AbortSystemShutdown AbortSystemShutdownA
145 #define InitiateSystemShutdown InitiateSystemShutdownA
146 #define RegConnectRegistry RegConnectRegistryA
147 #define RegCreateKey RegCreateKeyA
148 #define RegCreateKeyEx RegCreateKeyExA
149 #define RegDeleteKey RegDeleteKeyA
150 #if (WINVER >= 0x0502)
151 #define RegDeleteKeyEx RegDeleteKeyExA
153 #define RegDeleteValue RegDeleteValueA
154 #define RegEnumKey RegEnumKeyA
155 #define RegEnumKeyEx RegEnumKeyExA
156 #define RegEnumValue RegEnumValueA
157 #define RegLoadKey RegLoadKeyA
158 #define RegOpenKey RegOpenKeyA
159 #define RegOpenKeyEx RegOpenKeyExA
160 #define RegQueryInfoKey RegQueryInfoKeyA
161 #define RegQueryMultipleValues RegQueryMultipleValuesA
162 #define RegQueryValue RegQueryValueA
163 #define RegQueryValueEx RegQueryValueExA
164 #define RegReplaceKey RegReplaceKeyA
165 #define RegRestoreKey RegRestoreKeyA
166 #define RegSaveKey RegSaveKeyA
167 #define RegSetValue RegSetValueA
168 #define RegSetValueEx RegSetValueExA
169 #define RegUnLoadKey RegUnLoadKeyA