winprefs 0.4.1
Dump a registry path to a series of 'reg add' commands.
Loading...
Searching...
No Matches
wrappers.h
1#ifndef TESTS_WRAPPERS_H
2#define TESTS_WRAPPERS_H
3
4#define ARRAY_SIZE(array) (sizeof(array) / sizeof(array[0]))
5
6#define UINT64 uint64_t
7typedef short WORD;
8typedef char CHAR;
9typedef CHAR *LPSTR, *LPCCH;
10typedef bool BOOL;
11typedef struct _SYSTEMTIME {
12 WORD wYear;
13 WORD wMonth;
14 WORD wDayOfWeek;
15 WORD wDay;
16 WORD wHour;
17 WORD wMinute;
18 WORD wSecond;
19 WORD wMilliseconds;
21typedef char byte, BYTE, *PBYTE, *LPBYTE;
22typedef unsigned long DWORD, LCID, *LPDWORD, REGSAM;
23typedef unsigned long long QWORD;
24typedef long LONG;
25typedef LONG HRESULT, LSTATUS;
26typedef wchar_t WCHAR;
27typedef WCHAR *LPWSTR;
28typedef const WCHAR *LPCWSTR;
29typedef const WCHAR *LPCWCH, *PCWCH, *LMCSTR, *LPCWSTR, *PCWSTR;
30typedef unsigned int UINT;
31typedef void *HANDLE, *PHANDLE, *LPVOID, *LPOVERLAPPED, *HWND;
32typedef const void *LPCVOID;
33typedef struct _SECURITY_ATTRIBUTES {
34 DWORD nLength;
35 LPVOID lpSecurityDescriptor;
36 bool bInheritHandle;
38typedef struct _STARTUPINFO {
39 DWORD cb;
40 LPWSTR lpReserved;
41 LPWSTR lpDesktop;
42 LPWSTR lpTitle;
43 DWORD dwX;
44 DWORD dwY;
45 DWORD dwXSize;
46 DWORD dwYSize;
47 DWORD dwXCountChars;
48 DWORD dwYCountChars;
49 DWORD dwFillAttribute;
50 DWORD dwFlags;
51 WORD wShowWindow;
52 WORD cbReserved2;
53 LPBYTE lpReserved2;
54 HANDLE hStdInput;
55 HANDLE hStdOutput;
56 HANDLE hStdError;
58typedef struct _PROCESS_INFORMATION {
59 HANDLE hProcess;
60 HANDLE hThread;
61 DWORD dwProcessId;
62 DWORD dwThreadId;
64typedef HANDLE HKEY, *PHKEY;
65typedef struct _FILETIME {
66 DWORD dwLowDateTime;
67 DWORD dwHighDateTime;
68} FILETIME;
69typedef struct _FILETIME *PFILETIME;
70typedef WCHAR *LPTSTR;
71const enum REG_TYPES {
72 REG_BINARY,
73 REG_DWORD,
74 REG_EXPAND_SZ,
75 REG_MULTI_SZ,
76 REG_NONE,
77 REG_QWORD,
78 REG_SZ,
79};
83typedef void *PSID;
84
85#define CP_UTF8 0
86#define CREATE_ALWAYS 2
87#define CREATE_NO_WINDOW 0
88#define CSIDL_APPDATA 0
89#define ERROR_ACCESS_DENIED 802
90#define ERROR_ALREADY_EXISTS 803
91#define ERROR_MORE_DATA 800
92#define ERROR_NO_MORE_ITEMS 801
93#define ERROR_SUCCESS 0
94
95#define FILE_ATTRIBUTE_DIRECTORY 0x00000010
96#define FILE_ATTRIBUTE_NORMAL 0x00000080
97#define FORMAT_MESSAGE_FROM_SYSTEM 2
98#define FORMAT_MESSAGE_IGNORE_INSERTS 1
99#define GENERIC_READ 0
100#define GENERIC_WRITE 1
101#define HKEY_CLASSES_ROOT (HKEY)2
102#define HKEY_CURRENT_CONFIG (HKEY)4
103#define HKEY_CURRENT_USER (HKEY)1
104#define HKEY_DYN_DATA (HKEY)6
105#define HKEY_LOCAL_MACHINE (HKEY)3
106#define HKEY_USERS (HKEY)5
107#define INFINITE 0xFFFFFFFF
108#define INVALID_FILE_ATTRIBUTES ((DWORD) - 1)
109#define INVALID_HANDLE_VALUE (void *)3
110#define IsWindowsVistaOrGreater() 0
111#define KEY_READ 0
112#define KEY_WRITE 1
113#define LOCALE_USER_DEFAULT 0
114#define MAKELANGID(x, y) 0
115#define MAX_PATH 260
116#define P_WAIT 0
117#define STARTF_USESHOWWINDOW 1
118#define STARTF_USESTDHANDLES 2
119#define STD_OUTPUT_HANDLE 0
120#define SUCCEEDED(x) x == 0
121#define SW_HIDE 0
122#define WAIT_OBJECT_0 0
123#define SECURITY_NT_AUTHORITY {0, 0, 0, 0, 0, 5}
124#define SECURITY_BUILTIN_DOMAIN_RID 0x00000020
125#define DOMAIN_ALIAS_RID_ADMINS 0x00000220
126
127#ifndef min
128#define min(a, b) (((a) < (b)) ? (a) : (b))
129#endif
130#ifndef TEXT
131#define TEXT(quote) L##quote
132#endif
133
134DWORD GetFileAttributes(wchar_t *path);
135int GetTimeFormat(LCID Locale,
136 DWORD dwFlags,
137 const SYSTEMTIME *lpTime,
138 LPCWSTR lpFormat,
139 LPWSTR lpTimeStr,
140 int cchTime);
141int GetDateFormat(LCID Locale,
142 DWORD dwFlags,
143 const SYSTEMTIME *lpDate,
144 LPCWSTR lpFormat,
145 LPWSTR lpDateStr,
146 int cchDate);
147bool CreatePipe(PHANDLE hReadPipe,
148 PHANDLE hWritePipe,
149 LPSECURITY_ATTRIBUTES lpPipeAttributes,
150 DWORD nSize);
151bool CloseHandle(HANDLE hObject);
152DWORD WaitForSingleObject(HANDLE hHandle, DWORD dwMilliseconds);
153bool PeekNamedPipe(HANDLE hNamedPipe,
154 LPVOID lpBuffer,
155 DWORD nBufferSize,
156 LPDWORD lpBytesRead,
157 LPDWORD lpTotalBytesAvail,
158 LPDWORD lpBytesLeftThisMessage);
159bool ReadFile(HANDLE hFile,
160 LPVOID lpBuffer,
161 DWORD nNumberOfBytesToRead,
162 LPDWORD lpNumberOfBytesRead,
163 LPOVERLAPPED lpOverlapped);
164int MultiByteToWideChar(UINT CodePage,
165 DWORD dwFlags,
166 LPCCH lpMultiByteStr,
167 int cbMultiByte,
168 LPWSTR lpWideCharStr,
169 int cchWideChar);
170int WideCharToMultiByte(UINT CodePage,
171 DWORD dwFlags,
172 LPCWCH lpWideCharStr,
173 int cchWideChar,
174 LPSTR lpMultiByteStr,
175 int cbMultiByte,
176 LPCCH lpDefaultChar,
177 bool *lpUsedDefaultChar);
178void PathStripPath(LPWSTR pszPath);
179bool CreateProcess(LPCWSTR lpApplicationName,
180 LPWSTR lpCommandLine,
181 SECURITY_ATTRIBUTES *lpProcessAttributes,
182 SECURITY_ATTRIBUTES *lpThreadAttributes,
183 bool bInheritHandles,
184 DWORD dwCreationFlags,
185 void *lpEnvironment,
186 LPCWSTR lpCurrentDirectory,
187 LPSTARTUPINFO lpStartupInfo,
188 LPPROCESS_INFORMATION lpProcessInformation);
189bool WriteFile(HANDLE hFile,
190 LPCVOID lpBuffer,
191 DWORD nNumberOfBytesToWrite,
192 LPDWORD lpNumberOfBytesWritten,
193 LPOVERLAPPED lpOverlapped);
194LSTATUS RegEnumValue(HKEY hKey,
195 DWORD dwIndex,
196 LPWSTR lpValueName,
197 LPDWORD lpcchValueName,
198 LPDWORD lpReserved,
199 LPDWORD lpType,
200 LPBYTE lpData,
201 LPDWORD lpcbData);
202DWORD GetLastError();
203bool CreateDirectory(LPCWSTR lpPathName, LPSECURITY_ATTRIBUTES lpSecurityAttributes);
204bool PathAppend(LPWSTR pszPath, LPCWSTR pszMore);
205HANDLE GetStdHandle(DWORD nStdHandle);
206LSTATUS
207RegOpenKeyEx(HKEY hKey, LPCWSTR lpSubKey, DWORD ulOptions, REGSAM samDesired, PHKEY phkResult);
208LSTATUS RegEnumKeyEx(HKEY hKey,
209 DWORD dwIndex,
210 LPWSTR lpName,
211 LPDWORD lpcchName,
212 LPDWORD lpReserved,
213 LPWSTR lpClass,
214 LPDWORD lpcchClass,
215 PFILETIME lpftLastWriteTime);
216LSTATUS RegCloseKey(HKEY hKey);
217HANDLE CreateFile(LPCWSTR lpFileName,
218 DWORD dwDesiredAccess,
219 DWORD dwShareMode,
220 LPSECURITY_ATTRIBUTES lpSecurityAttributes,
221 DWORD dwCreationDisposition,
222 DWORD dwFlagsAndAttributes,
223 HANDLE hTemplateFile);
224LSTATUS RegQueryInfoKey(HKEY hKey,
225 LPWSTR lpClass,
226 LPDWORD lpcchClass,
227 LPDWORD lpReserved,
228 LPDWORD lpcSubKeys,
229 LPDWORD lpcbMaxSubKeyLen,
230 LPDWORD lpcbMaxClassLen,
231 LPDWORD lpcValues,
232 LPDWORD lpcbMaxValueNameLen,
233 LPDWORD lpcbMaxValueLen,
234 LPDWORD lpcbSecurityDescriptor,
235 PFILETIME lpftLastWriteTime);
236LSTATUS RegQueryValueEx(HKEY hKey,
237 LPCWSTR lpValueName,
238 LPDWORD lpReserved,
239 LPDWORD lpType,
240 LPBYTE lpData,
241 LPDWORD lpcbData);
242HRESULT SHGetFolderPath(HWND hwnd, int csidl, HANDLE hToken, DWORD dwFlags, LPWSTR pszPath);
243wchar_t *_wfullpath(wchar_t *absPath, const wchar_t *relPath, size_t maxLength);
244wchar_t *_wgetcwd(wchar_t *buffer, int maxlen);
245int _wchdir(const wchar_t *dirname);
246int _snwprintf(wchar_t *buffer, size_t count, const wchar_t *format, ...);
247int _wcsicmp(const wchar_t *a, const wchar_t *b);
248bool _CrtDumpMemoryLeaks();
249DWORD FormatMessage(DWORD dwFlags,
250 LPCVOID lpSource,
251 DWORD dwMessageId,
252 DWORD dwLanguageId,
253 LPWSTR lpBuffer,
254 DWORD nSize,
255 va_list *Arguments);
256bool GetExitCodeProcess(HANDLE hProcess, LPDWORD lpExitCode);
257bool StrTrim(wchar_t *str, const wchar_t *trimChars);
258bool PathMatchSpec(const wchar_t *pszFile, const wchar_t *pszSpec);
259LSTATUS RegSetValueEx(
260 HKEY hKey, LPCWSTR lpValueName, DWORD Reserved, DWORD dwType, const BYTE *lpData, DWORD cbData);
261LSTATUS RegCreateKeyEx(HKEY hKey,
262 LPCWSTR lpSubKey,
263 DWORD Reserved,
264 LPWSTR lpClass,
265 DWORD dwOptions,
266 REGSAM samDesired,
267 LPSECURITY_ATTRIBUTES lpSecurityAttributes,
268 PHKEY phkResult,
269 LPDWORD disposition);
270bool AllocateAndInitializeSid(PSID_IDENTIFIER_AUTHORITY pIdentifierAuthority,
271 BYTE nSubAuthorityCount,
272 DWORD nSubAuthority0,
273 DWORD nSubAuthority1,
274 DWORD nSubAuthority2,
275 DWORD nSubAuthority3,
276 DWORD nSubAuthority4,
277 DWORD nSubAuthority5,
278 DWORD nSubAuthority6,
279 DWORD nSubAuthority7,
280 PSID *pSid);
281bool CheckTokenMembership(HANDLE TokenHandle, PSID SidToCheck, bool *IsMember);
282void FreeSid(PSID pSid);
283
284#endif // TESTS_WRAPPERS_H
Definition wrappers.h:65
Definition wrappers.h:58
Definition wrappers.h:33
Definition wrappers.h:80
Definition wrappers.h:38
Definition wrappers.h:11