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