1
|
1 /***********************************************************************\
|
|
2 * winbase.d *
|
|
3 * *
|
|
4 * Windows API header module *
|
|
5 * *
|
|
6 * Translated from MinGW API for MS-Windows 3.10 *
|
|
7 * *
|
|
8 * Placed into public domain *
|
|
9 \***********************************************************************/
|
|
10 module win32.winbase;
|
|
11 pragma(lib, "kernel32.lib");
|
|
12
|
|
13 /**
|
|
14 Translation Notes:
|
|
15 The following macros are obsolete, and have no effect.
|
|
16
|
|
17 LockSegment(w), MakeProcInstance(p, i), UnlockResource(h), UnlockSegment(w)
|
|
18 FreeModule(m), FreeProcInstance(p), GetFreeSpace(w), DefineHandleTable(w)
|
|
19 SetSwapAreaSize(w), LimitEmsPages(n), Yield()
|
|
20
|
|
21 // The following Win16 functions are obselete in Win32.
|
|
22
|
|
23 int _hread(HFILE, LPVOID, int);
|
|
24 int _hwrite(HFILE, LPCSTR, int);
|
|
25 HFILE _lclose(HFILE);
|
|
26 HFILE _lcreat(LPCSTR, int);
|
|
27 LONG _llseek(HFILE, LONG, int);
|
|
28 HFILE _lopen(LPCSTR, int);
|
|
29 UINT _lread(HFILE, LPVOID, UINT);
|
|
30 UINT _lwrite(HFILE, LPCSTR, UINT);
|
|
31 SIZE_T GlobalCompact(DWORD);
|
|
32 VOID GlobalFix(HGLOBAL);
|
|
33 * MSDN contradicts itself on GlobalFlags:
|
|
34 * "This function is provided only for compatibility with 16-bit versions of Windows."
|
|
35 * but also requires Windows 2000 or above
|
|
36 UINT GlobalFlags(HGLOBAL);
|
|
37 VOID GlobalUnfix(HGLOBAL);
|
|
38 BOOL GlobalUnWire(HGLOBAL);
|
|
39 PVOID GlobalWire(HGLOBAL);
|
|
40 SIZE_T LocalCompact(UINT);
|
|
41 UINT LocalFlags(HLOCAL);
|
|
42 SIZE_T LocalShrink(HLOCAL, UINT);
|
|
43
|
|
44 // These are not required for DMD.
|
|
45
|
|
46 //FIXME:
|
|
47 // #ifndef UNDER_CE
|
|
48 int WinMain(HINSTANCE, HINSTANCE, LPSTR, int);
|
|
49 #else
|
|
50 int WinMain(HINSTANCE, HINSTANCE, LPWSTR, int);
|
|
51 #endif
|
|
52 int wWinMain(HINSTANCE, HINSTANCE, LPWSTR, int);
|
|
53
|
|
54 */
|
|
55
|
|
56 import win32.windef, win32.winver;
|
|
57 private import win32.basetyps, win32.w32api, win32.winnt;
|
|
58
|
|
59 // FIXME:
|
|
60 alias void va_list;
|
|
61
|
|
62
|
|
63 /+
|
|
64 //--------------------------------------
|
|
65 // These functions are problematic
|
|
66
|
|
67 version(UseNtoSKernel) {}else {
|
|
68 /* CAREFUL: These are exported from ntoskrnl.exe and declared in winddk.h
|
|
69 as __fastcall functions, but are exported from kernel32.dll as __stdcall */
|
|
70 static if (_WIN32_WINNT >= 0x0501) {
|
|
71 VOID InitializeSListHead(PSLIST_HEADER);
|
|
72 }
|
|
73 LONG InterlockedCompareExchange(LPLONG, LONG, LONG);
|
|
74 // PVOID WINAPI InterlockedCompareExchangePointer(PVOID*, PVOID, PVOID);
|
|
75 (PVOID)InterlockedCompareExchange((LPLONG)(d) (PVOID)InterlockedCompareExchange((LPLONG)(d), (LONG)(e), (LONG)(c))
|
|
76 LONG InterlockedDecrement(LPLONG);
|
|
77 LONG InterlockedExchange(LPLONG, LONG);
|
|
78 // PVOID WINAPI InterlockedExchangePointer(PVOID*, PVOID);
|
|
79 (PVOID)InterlockedExchange((LPLONG)((PVOID)InterlockedExchange((LPLONG)(t), (LONG)(v))
|
|
80 LONG InterlockedExchangeAdd(LPLONG, LONG);
|
|
81
|
|
82 static if (_WIN32_WINNT >= 0x0501) {
|
|
83 PSLIST_ENTRY InterlockedFlushSList(PSLIST_HEADER);
|
|
84 }
|
|
85 LONG InterlockedIncrement(LPLONG);
|
|
86 static if (_WIN32_WINNT >= 0x0501) {
|
|
87 PSLIST_ENTRY InterlockedPopEntrySList(PSLIST_HEADER);
|
|
88 PSLIST_ENTRY InterlockedPushEntrySList(PSLIST_HEADER, PSLIST_ENTRY);
|
|
89 }
|
|
90 } // #endif // __USE_NTOSKRNL__
|
|
91 //--------------------------------------
|
|
92 +/
|
|
93
|
|
94 // COMMPROP structure, used by GetCommProperties()
|
|
95 // -----------------------------------------------
|
|
96
|
|
97 // Communications provider type
|
|
98 enum : DWORD {
|
|
99 PST_UNSPECIFIED,
|
|
100 PST_RS232,
|
|
101 PST_PARALLELPORT,
|
|
102 PST_RS422,
|
|
103 PST_RS423,
|
|
104 PST_RS449,
|
|
105 PST_MODEM, // = 6
|
|
106 PST_FAX = 0x0021,
|
|
107 PST_SCANNER = 0x0022,
|
|
108 PST_NETWORK_BRIDGE = 0x0100,
|
|
109 PST_LAT = 0x0101,
|
|
110 PST_TCPIP_TELNET = 0x0102,
|
|
111 PST_X25 = 0x0103
|
|
112 }
|
|
113
|
|
114 // Max baud rate
|
|
115 enum : DWORD {
|
|
116 BAUD_075 = 0x00000001,
|
|
117 BAUD_110 = 0x00000002,
|
|
118 BAUD_134_5 = 0x00000004,
|
|
119 BAUD_150 = 0x00000008,
|
|
120 BAUD_300 = 0x00000010,
|
|
121 BAUD_600 = 0x00000020,
|
|
122 BAUD_1200 = 0x00000040,
|
|
123 BAUD_1800 = 0x00000080,
|
|
124 BAUD_2400 = 0x00000100,
|
|
125 BAUD_4800 = 0x00000200,
|
|
126 BAUD_7200 = 0x00000400,
|
|
127 BAUD_9600 = 0x00000800,
|
|
128 BAUD_14400 = 0x00001000,
|
|
129 BAUD_19200 = 0x00002000,
|
|
130 BAUD_38400 = 0x00004000,
|
|
131 BAUD_56K = 0x00008000,
|
|
132 BAUD_128K = 0x00010000,
|
|
133 BAUD_115200 = 0x00020000,
|
|
134 BAUD_57600 = 0x00040000,
|
|
135 BAUD_USER = 0x10000000
|
|
136 }
|
|
137
|
|
138 // Comm capabilities
|
|
139 enum : DWORD {
|
|
140 PCF_DTRDSR = 0x0001,
|
|
141 PCF_RTSCTS = 0x0002,
|
|
142 PCF_RLSD = 0x0004,
|
|
143 PCF_PARITY_CHECK = 0x0008,
|
|
144 PCF_XONXOFF = 0x0010,
|
|
145 PCF_SETXCHAR = 0x0020,
|
|
146 PCF_TOTALTIMEOUTS = 0x0040,
|
|
147 PCF_INTTIMEOUTS = 0x0080,
|
|
148 PCF_SPECIALCHARS = 0x0100,
|
|
149 PCF_16BITMODE = 0x0200
|
|
150 }
|
|
151
|
|
152 enum : DWORD {
|
|
153 SP_PARITY = 1,
|
|
154 SP_BAUD = 2,
|
|
155 SP_DATABITS = 4,
|
|
156 SP_STOPBITS = 8,
|
|
157 SP_HANDSHAKING = 16,
|
|
158 SP_PARITY_CHECK = 32,
|
|
159 SP_RLSD = 64
|
|
160 }
|
|
161
|
|
162 enum : DWORD {
|
|
163 DATABITS_5 = 1,
|
|
164 DATABITS_6 = 2,
|
|
165 DATABITS_7 = 4,
|
|
166 DATABITS_8 = 8,
|
|
167 DATABITS_16 = 16,
|
|
168 DATABITS_16X = 32
|
|
169 }
|
|
170
|
|
171 enum : WORD {
|
|
172 STOPBITS_10 = 0x0001,
|
|
173 STOPBITS_15 = 0x0002,
|
|
174 STOPBITS_20 = 0x0004,
|
|
175 PARITY_NONE = 0x0100,
|
|
176 PARITY_ODD = 0x0200,
|
|
177 PARITY_EVEN = 0x0400,
|
|
178 PARITY_MARK = 0x0800,
|
|
179 PARITY_SPACE = 0x1000
|
|
180 }
|
|
181
|
|
182 // used by dwServiceMask
|
|
183 const SP_SERIALCOMM = 1;
|
|
184
|
|
185 struct COMMPROP {
|
|
186 WORD wPacketLength;
|
|
187 WORD wPacketVersion;
|
|
188 DWORD dwServiceMask;
|
|
189 DWORD dwReserved1;
|
|
190 DWORD dwMaxTxQueue;
|
|
191 DWORD dwMaxRxQueue;
|
|
192 DWORD dwMaxBaud;
|
|
193 DWORD dwProvSubType;
|
|
194 DWORD dwProvCapabilities;
|
|
195 DWORD dwSettableParams;
|
|
196 DWORD dwSettableBaud;
|
|
197 WORD wSettableData;
|
|
198 WORD wSettableStopParity;
|
|
199 DWORD dwCurrentTxQueue;
|
|
200 DWORD dwCurrentRxQueue;
|
|
201 DWORD dwProvSpec1;
|
|
202 DWORD dwProvSpec2;
|
|
203 WCHAR _wcProvChar;
|
|
204
|
|
205 WCHAR* wcProvChar() { return &_wcProvChar; }
|
|
206 }
|
|
207 alias COMMPROP* LPCOMMPROP;
|
|
208
|
|
209 // ----------
|
|
210
|
|
211 // for DEBUG_EVENT
|
|
212 enum : DWORD {
|
|
213 EXCEPTION_DEBUG_EVENT = 1,
|
|
214 CREATE_THREAD_DEBUG_EVENT,
|
|
215 CREATE_PROCESS_DEBUG_EVENT,
|
|
216 EXIT_THREAD_DEBUG_EVENT,
|
|
217 EXIT_PROCESS_DEBUG_EVENT,
|
|
218 LOAD_DLL_DEBUG_EVENT,
|
|
219 UNLOAD_DLL_DEBUG_EVENT,
|
|
220 OUTPUT_DEBUG_STRING_EVENT,
|
|
221 RIP_EVENT
|
|
222 }
|
|
223
|
|
224 const HFILE HFILE_ERROR = cast(HFILE) (-1);
|
|
225
|
|
226 // for SetFilePointer()
|
|
227 enum : DWORD {
|
|
228 FILE_BEGIN = 0,
|
|
229 FILE_CURRENT = 1,
|
|
230 FILE_END = 2
|
|
231 }
|
|
232 const DWORD INVALID_SET_FILE_POINTER = -1;
|
|
233
|
|
234
|
|
235 // for OpenFile()
|
|
236 deprecated enum : UINT {
|
|
237 OF_READ = 0,
|
|
238 OF_WRITE = 0x0001,
|
|
239 OF_READWRITE = 0x0002,
|
|
240 OF_SHARE_COMPAT = 0,
|
|
241 OF_SHARE_EXCLUSIVE = 0x0010,
|
|
242 OF_SHARE_DENY_WRITE = 0x0020,
|
|
243 OF_SHARE_DENY_READ = 0x0030,
|
|
244 OF_SHARE_DENY_NONE = 0x0040,
|
|
245 OF_PARSE = 0x0100,
|
|
246 OF_DELETE = 0x0200,
|
|
247 OF_VERIFY = 0x0400,
|
|
248 OF_CANCEL = 0x0800,
|
|
249 OF_CREATE = 0x1000,
|
|
250 OF_PROMPT = 0x2000,
|
|
251 OF_EXIST = 0x4000,
|
|
252 OF_REOPEN = 0x8000
|
|
253 }
|
|
254
|
|
255 enum : DWORD {
|
|
256 NMPWAIT_NOWAIT = 1,
|
|
257 NMPWAIT_WAIT_FOREVER = -1,
|
|
258 NMPWAIT_USE_DEFAULT_WAIT = 0
|
|
259 }
|
|
260
|
|
261 // for ClearCommError()
|
|
262 const DWORD
|
|
263 CE_RXOVER = 0x0001,
|
|
264 CE_OVERRUN = 0x0002,
|
|
265 CE_RXPARITY = 0x0004,
|
|
266 CE_FRAME = 0x0008,
|
|
267 CE_BREAK = 0x0010,
|
|
268 CE_TXFULL = 0x0100,
|
|
269 CE_PTO = 0x0200,
|
|
270 CE_IOE = 0x0400,
|
|
271 CE_DNS = 0x0800,
|
|
272 CE_OOP = 0x1000,
|
|
273 CE_MODE = 0x8000;
|
|
274
|
|
275 // for CopyProgressRoutine callback.
|
|
276 enum : DWORD {
|
|
277 PROGRESS_CONTINUE = 0,
|
|
278 PROGRESS_CANCEL = 1,
|
|
279 PROGRESS_STOP = 2,
|
|
280 PROGRESS_QUIET = 3
|
|
281 }
|
|
282
|
|
283 enum : DWORD {
|
|
284 CALLBACK_CHUNK_FINISHED = 0,
|
|
285 CALLBACK_STREAM_SWITCH = 1
|
|
286 }
|
|
287
|
|
288 // CopyFileEx()
|
|
289 enum : DWORD {
|
|
290 COPY_FILE_FAIL_IF_EXISTS = 1,
|
|
291 COPY_FILE_RESTARTABLE = 2
|
|
292 }
|
|
293
|
|
294 enum : DWORD {
|
|
295 FILE_MAP_COPY = 1,
|
|
296 FILE_MAP_WRITE = 2,
|
|
297 FILE_MAP_READ = 4,
|
|
298 FILE_MAP_ALL_ACCESS = 0x000F001F
|
|
299 }
|
|
300
|
|
301 enum : DWORD {
|
|
302 MUTEX_ALL_ACCESS = 0x001f0001,
|
|
303 MUTEX_MODIFY_STATE = 0x00000001,
|
|
304 SEMAPHORE_ALL_ACCESS = 0x001f0003,
|
|
305 SEMAPHORE_MODIFY_STATE = 0x00000002,
|
|
306 EVENT_ALL_ACCESS = 0x001f0003,
|
|
307 EVENT_MODIFY_STATE = 0x00000002
|
|
308 }
|
|
309
|
|
310 // CreateNamedPipe()
|
|
311 enum : DWORD {
|
|
312 PIPE_ACCESS_INBOUND = 1,
|
|
313 PIPE_ACCESS_OUTBOUND = 2,
|
|
314 PIPE_ACCESS_DUPLEX = 3
|
|
315 }
|
|
316
|
|
317 const DWORD
|
|
318 PIPE_TYPE_BYTE = 0,
|
|
319 PIPE_TYPE_MESSAGE = 4,
|
|
320 PIPE_READMODE_BYTE = 0,
|
|
321 PIPE_READMODE_MESSAGE = 2,
|
|
322 PIPE_WAIT = 0,
|
|
323 PIPE_NOWAIT = 1;
|
|
324
|
|
325 // GetNamedPipeInfo()
|
|
326 const DWORD
|
|
327 PIPE_CLIENT_END = 0,
|
|
328 PIPE_SERVER_END = 1;
|
|
329
|
|
330 const DWORD PIPE_UNLIMITED_INSTANCES = 255;
|
|
331
|
|
332 // dwCreationFlags for CreateProcess() and CreateProcessAsUser()
|
|
333 enum : DWORD {
|
|
334 DEBUG_PROCESS = 0x00000001,
|
|
335 DEBUG_ONLY_THIS_PROCESS = 0x00000002,
|
|
336 CREATE_SUSPENDED = 0x00000004,
|
|
337 DETACHED_PROCESS = 0x00000008,
|
|
338 CREATE_NEW_CONSOLE = 0x00000010,
|
|
339 NORMAL_PRIORITY_CLASS = 0x00000020,
|
|
340 IDLE_PRIORITY_CLASS = 0x00000040,
|
|
341 HIGH_PRIORITY_CLASS = 0x00000080,
|
|
342 REALTIME_PRIORITY_CLASS = 0x00000100,
|
|
343 CREATE_NEW_PROCESS_GROUP = 0x00000200,
|
|
344 CREATE_UNICODE_ENVIRONMENT = 0x00000400,
|
|
345 CREATE_SEPARATE_WOW_VDM = 0x00000800,
|
|
346 CREATE_SHARED_WOW_VDM = 0x00001000,
|
|
347 CREATE_FORCEDOS = 0x00002000,
|
|
348 BELOW_NORMAL_PRIORITY_CLASS = 0x00004000,
|
|
349 ABOVE_NORMAL_PRIORITY_CLASS = 0x00008000,
|
|
350 CREATE_BREAKAWAY_FROM_JOB = 0x01000000,
|
|
351 CREATE_WITH_USERPROFILE = 0x02000000,
|
|
352 CREATE_DEFAULT_ERROR_MODE = 0x04000000,
|
|
353 CREATE_NO_WINDOW = 0x08000000,
|
|
354 PROFILE_USER = 0x10000000,
|
|
355 PROFILE_KERNEL = 0x20000000,
|
|
356 PROFILE_SERVER = 0x40000000
|
|
357 }
|
|
358
|
|
359 const DWORD CONSOLE_TEXTMODE_BUFFER = 1;
|
|
360
|
|
361 // CreateFile()
|
|
362 enum : DWORD {
|
|
363 CREATE_NEW = 1,
|
|
364 CREATE_ALWAYS,
|
|
365 OPEN_EXISTING,
|
|
366 OPEN_ALWAYS,
|
|
367 TRUNCATE_EXISTING
|
|
368 }
|
|
369
|
|
370 // CreateFile()
|
|
371 const DWORD
|
|
372 FILE_FLAG_WRITE_THROUGH = 0x80000000,
|
|
373 FILE_FLAG_OVERLAPPED = 0x40000000,
|
|
374 FILE_FLAG_NO_BUFFERING = 0x20000000,
|
|
375 FILE_FLAG_RANDOM_ACCESS = 0x10000000,
|
|
376 FILE_FLAG_SEQUENTIAL_SCAN = 0x08000000,
|
|
377 FILE_FLAG_DELETE_ON_CLOSE = 0x04000000,
|
|
378 FILE_FLAG_BACKUP_SEMANTICS = 0x02000000,
|
|
379 FILE_FLAG_POSIX_SEMANTICS = 0x01000000,
|
|
380 FILE_FLAG_OPEN_REPARSE_POINT = 0x00200000,
|
|
381 FILE_FLAG_OPEN_NO_RECALL = 0x00100000;
|
|
382
|
|
383 static if (_WIN32_WINNT_ONLY && _WIN32_WINNT >= 0x500) {
|
|
384 const DWORD FILE_FLAG_FIRST_PIPE_INSTANCE = 0x00080000;
|
|
385 }
|
|
386
|
|
387 // for CreateFile()
|
|
388 const DWORD
|
|
389 SECURITY_ANONYMOUS = SECURITY_IMPERSONATION_LEVEL.SecurityAnonymous<<16,
|
|
390 SECURITY_IDENTIFICATION = SECURITY_IMPERSONATION_LEVEL.SecurityIdentification<<16,
|
|
391 SECURITY_IMPERSONATION = SECURITY_IMPERSONATION_LEVEL.SecurityImpersonation<<16,
|
|
392 SECURITY_DELEGATION = SECURITY_IMPERSONATION_LEVEL.SecurityDelegation<<16,
|
|
393 SECURITY_CONTEXT_TRACKING = 0x00040000,
|
|
394 SECURITY_EFFECTIVE_ONLY = 0x00080000,
|
|
395 SECURITY_SQOS_PRESENT = 0x00100000,
|
|
396 SECURITY_VALID_SQOS_FLAGS = 0x001F0000;
|
|
397
|
|
398
|
|
399 // Thread exit code
|
|
400 const DWORD STILL_ACTIVE = 0x103;
|
|
401
|
|
402 /* ??? The only documentation of this seems to be about Windows CE and to
|
|
403 * state what _doesn't_ support it.
|
|
404 */
|
|
405 const DWORD FIND_FIRST_EX_CASE_SENSITIVE = 1;
|
|
406
|
|
407 // GetBinaryType()
|
|
408 enum : DWORD {
|
|
409 SCS_32BIT_BINARY = 0,
|
|
410 SCS_DOS_BINARY,
|
|
411 SCS_WOW_BINARY,
|
|
412 SCS_PIF_BINARY,
|
|
413 SCS_POSIX_BINARY,
|
|
414 SCS_OS216_BINARY
|
|
415 }
|
|
416
|
|
417 const size_t
|
|
418 MAX_COMPUTERNAME_LENGTH = 15,
|
|
419 HW_PROFILE_GUIDLEN = 39,
|
|
420 MAX_PROFILE_LEN = 80;
|
|
421
|
|
422 // HW_PROFILE_INFO
|
|
423 const DWORD
|
|
424 DOCKINFO_UNDOCKED = 1,
|
|
425 DOCKINFO_DOCKED = 2,
|
|
426 DOCKINFO_USER_SUPPLIED = 4,
|
|
427 DOCKINFO_USER_UNDOCKED = DOCKINFO_USER_SUPPLIED | DOCKINFO_UNDOCKED,
|
|
428 DOCKINFO_USER_DOCKED = DOCKINFO_USER_SUPPLIED | DOCKINFO_DOCKED;
|
|
429
|
|
430 // DriveType(), RealDriveType()
|
|
431 enum : int {
|
|
432 DRIVE_UNKNOWN = 0,
|
|
433 DRIVE_NO_ROOT_DIR,
|
|
434 DRIVE_REMOVABLE,
|
|
435 DRIVE_FIXED,
|
|
436 DRIVE_REMOTE,
|
|
437 DRIVE_CDROM,
|
|
438 DRIVE_RAMDISK
|
|
439 }
|
|
440
|
|
441 // GetFileType()
|
|
442 enum : DWORD {
|
|
443 FILE_TYPE_UNKNOWN = 0,
|
|
444 FILE_TYPE_DISK,
|
|
445 FILE_TYPE_CHAR,
|
|
446 FILE_TYPE_PIPE,
|
|
447 FILE_TYPE_REMOTE = 0x8000
|
|
448 }
|
|
449
|
|
450 // Get/SetHandleInformation()
|
|
451 const DWORD
|
|
452 HANDLE_FLAG_INHERIT = 0x01,
|
|
453 HANDLE_FLAG_PROTECT_FROM_CLOSE = 0x02;
|
|
454
|
|
455 enum : DWORD {
|
|
456 STD_INPUT_HANDLE = 0xFFFFFFF6,
|
|
457 STD_OUTPUT_HANDLE = 0xFFFFFFF5,
|
|
458 STD_ERROR_HANDLE = 0xFFFFFFF4
|
|
459 }
|
|
460
|
|
461 const HANDLE INVALID_HANDLE_VALUE = cast(HANDLE) (-1);
|
|
462
|
|
463 enum : DWORD {
|
|
464 GET_TAPE_MEDIA_INFORMATION = 0,
|
|
465 GET_TAPE_DRIVE_INFORMATION = 1
|
|
466 }
|
|
467
|
|
468 enum : DWORD {
|
|
469 SET_TAPE_MEDIA_INFORMATION = 0,
|
|
470 SET_TAPE_DRIVE_INFORMATION = 1
|
|
471 }
|
|
472
|
|
473 // SetThreadPriority()/GetThreadPriority()
|
|
474 enum : int {
|
|
475 THREAD_PRIORITY_IDLE = -15,
|
|
476 THREAD_PRIORITY_LOWEST = -2,
|
|
477 THREAD_PRIORITY_BELOW_NORMAL = -1,
|
|
478 THREAD_PRIORITY_NORMAL = 0,
|
|
479 THREAD_PRIORITY_ABOVE_NORMAL = 1,
|
|
480 THREAD_PRIORITY_HIGHEST = 2,
|
|
481 THREAD_PRIORITY_TIME_CRITICAL = 15,
|
|
482 THREAD_PRIORITY_ERROR_RETURN = 2147483647
|
|
483 }
|
|
484
|
|
485 enum : DWORD {
|
|
486 TIME_ZONE_ID_UNKNOWN,
|
|
487 TIME_ZONE_ID_STANDARD,
|
|
488 TIME_ZONE_ID_DAYLIGHT,
|
|
489 TIME_ZONE_ID_INVALID = 0xFFFFFFFF
|
|
490 }
|
|
491
|
|
492 const DWORD
|
|
493 FS_CASE_SENSITIVE = 1,
|
|
494 FS_CASE_IS_PRESERVED = 2,
|
|
495 FS_UNICODE_STORED_ON_DISK = 4,
|
|
496 FS_PERSISTENT_ACLS = 8,
|
|
497 FS_FILE_COMPRESSION = 16,
|
|
498 FS_VOL_IS_COMPRESSED = 32768;
|
|
499
|
|
500 // Flags for GlobalAlloc
|
|
501 const UINT
|
|
502 GMEM_FIXED = 0,
|
|
503 GMEM_MOVEABLE = 0x0002,
|
|
504 GMEM_ZEROINIT = 0x0040,
|
|
505 GPTR = 0x0040,
|
|
506 GHND = 0x0042,
|
|
507 GMEM_MODIFY = 0x0080, // used only for GlobalRealloc
|
|
508 GMEM_VALID_FLAGS = 0x7F72;
|
|
509
|
|
510 /+ // Obselete flags (Win16 only)
|
|
511 GMEM_NOCOMPACT=16;
|
|
512 GMEM_NODISCARD=32;
|
|
513 GMEM_DISCARDABLE=256;
|
|
514 GMEM_NOT_BANKED=4096;
|
|
515 GMEM_LOWER=4096;
|
|
516 GMEM_SHARE=8192;
|
|
517 GMEM_DDESHARE=8192;
|
|
518
|
|
519 GMEM_LOCKCOUNT=255;
|
|
520
|
|
521 // for GlobalFlags()
|
|
522 GMEM_DISCARDED = 16384;
|
|
523 GMEM_INVALID_HANDLE = 32768;
|
|
524
|
|
525 GMEM_NOTIFY = 16384;
|
|
526 +/
|
|
527
|
|
528 const UINT
|
|
529 LMEM_FIXED = 0,
|
|
530 LMEM_MOVEABLE = 0x0002,
|
|
531 LMEM_NONZEROLPTR = 0,
|
|
532 NONZEROLPTR = 0,
|
|
533 LMEM_NONZEROLHND = 0x0002,
|
|
534 NONZEROLHND = 0x0002,
|
|
535 LMEM_DISCARDABLE = 0x0F00,
|
|
536 LMEM_NOCOMPACT = 0x0010,
|
|
537 LMEM_NODISCARD = 0x0020,
|
|
538 LMEM_ZEROINIT = 0x0040,
|
|
539 LPTR = 0x0040,
|
|
540 LHND = 0x0042,
|
|
541 LMEM_MODIFY = 0x0080,
|
|
542 LMEM_LOCKCOUNT = 0x00FF,
|
|
543 LMEM_DISCARDED = 0x4000,
|
|
544 LMEM_INVALID_HANDLE = 0x8000;
|
|
545
|
|
546
|
|
547
|
|
548 // used in EXCEPTION_RECORD
|
|
549 enum : DWORD {
|
|
550 STATUS_WAIT_0 = 0,
|
|
551 STATUS_ABANDONED_WAIT_0 = 0x00000080,
|
|
552 STATUS_USER_APC = 0x000000C0,
|
|
553 STATUS_TIMEOUT = 0x00000102,
|
|
554 STATUS_PENDING = 0x00000103,
|
|
555
|
|
556 STATUS_SEGMENT_NOTIFICATION = 0x40000005,
|
|
557 STATUS_GUARD_PAGE_VIOLATION = 0x80000001,
|
|
558 STATUS_DATATYPE_MISALIGNMENT = 0x80000002,
|
|
559 STATUS_BREAKPOINT = 0x80000003,
|
|
560 STATUS_SINGLE_STEP = 0x80000004,
|
|
561
|
|
562 STATUS_ACCESS_VIOLATION = 0xC0000005,
|
|
563 STATUS_IN_PAGE_ERROR = 0xC0000006,
|
|
564 STATUS_INVALID_HANDLE = 0xC0000008,
|
|
565
|
|
566 STATUS_NO_MEMORY = 0xC0000017,
|
|
567 STATUS_ILLEGAL_INSTRUCTION = 0xC000001D,
|
|
568 STATUS_NONCONTINUABLE_EXCEPTION = 0xC0000025,
|
|
569 STATUS_INVALID_DISPOSITION = 0xC0000026,
|
|
570 STATUS_ARRAY_BOUNDS_EXCEEDED = 0xC000008C,
|
|
571 STATUS_FLOAT_DENORMAL_OPERAND = 0xC000008D,
|
|
572 STATUS_FLOAT_DIVIDE_BY_ZERO = 0xC000008E,
|
|
573 STATUS_FLOAT_INEXACT_RESULT = 0xC000008F,
|
|
574 STATUS_FLOAT_INVALID_OPERATION = 0xC0000090,
|
|
575 STATUS_FLOAT_OVERFLOW = 0xC0000091,
|
|
576 STATUS_FLOAT_STACK_CHECK = 0xC0000092,
|
|
577 STATUS_FLOAT_UNDERFLOW = 0xC0000093,
|
|
578 STATUS_INTEGER_DIVIDE_BY_ZERO = 0xC0000094,
|
|
579 STATUS_INTEGER_OVERFLOW = 0xC0000095,
|
|
580 STATUS_PRIVILEGED_INSTRUCTION = 0xC0000096,
|
|
581 STATUS_STACK_OVERFLOW = 0xC00000FD,
|
|
582 STATUS_CONTROL_C_EXIT = 0xC000013A,
|
|
583 STATUS_DLL_INIT_FAILED = 0xC0000142,
|
|
584 STATUS_DLL_INIT_FAILED_LOGOFF = 0xC000026B,
|
|
585
|
|
586 CONTROL_C_EXIT = STATUS_CONTROL_C_EXIT,
|
|
587
|
|
588 EXCEPTION_ACCESS_VIOLATION = STATUS_ACCESS_VIOLATION,
|
|
589 EXCEPTION_DATATYPE_MISALIGNMENT = STATUS_DATATYPE_MISALIGNMENT,
|
|
590 EXCEPTION_BREAKPOINT = STATUS_BREAKPOINT,
|
|
591 EXCEPTION_SINGLE_STEP = STATUS_SINGLE_STEP,
|
|
592 EXCEPTION_ARRAY_BOUNDS_EXCEEDED = STATUS_ARRAY_BOUNDS_EXCEEDED,
|
|
593 EXCEPTION_FLT_DENORMAL_OPERAND = STATUS_FLOAT_DENORMAL_OPERAND,
|
|
594 EXCEPTION_FLT_DIVIDE_BY_ZERO = STATUS_FLOAT_DIVIDE_BY_ZERO,
|
|
595 EXCEPTION_FLT_INEXACT_RESULT = STATUS_FLOAT_INEXACT_RESULT,
|
|
596 EXCEPTION_FLT_INVALID_OPERATION = STATUS_FLOAT_INVALID_OPERATION,
|
|
597 EXCEPTION_FLT_OVERFLOW = STATUS_FLOAT_OVERFLOW,
|
|
598 EXCEPTION_FLT_STACK_CHECK = STATUS_FLOAT_STACK_CHECK,
|
|
599 EXCEPTION_FLT_UNDERFLOW = STATUS_FLOAT_UNDERFLOW,
|
|
600 EXCEPTION_INT_DIVIDE_BY_ZERO = STATUS_INTEGER_DIVIDE_BY_ZERO,
|
|
601 EXCEPTION_INT_OVERFLOW = STATUS_INTEGER_OVERFLOW,
|
|
602 EXCEPTION_PRIV_INSTRUCTION = STATUS_PRIVILEGED_INSTRUCTION,
|
|
603 EXCEPTION_IN_PAGE_ERROR = STATUS_IN_PAGE_ERROR,
|
|
604 EXCEPTION_ILLEGAL_INSTRUCTION = STATUS_ILLEGAL_INSTRUCTION,
|
|
605 EXCEPTION_NONCONTINUABLE_EXCEPTION = STATUS_NONCONTINUABLE_EXCEPTION,
|
|
606 EXCEPTION_STACK_OVERFLOW = STATUS_STACK_OVERFLOW,
|
|
607 EXCEPTION_INVALID_DISPOSITION = STATUS_INVALID_DISPOSITION,
|
|
608 EXCEPTION_GUARD_PAGE = STATUS_GUARD_PAGE_VIOLATION,
|
|
609 EXCEPTION_INVALID_HANDLE = STATUS_INVALID_HANDLE
|
|
610 }
|
|
611
|
|
612 // for PROCESS_HEAP_ENTRY
|
|
613 const WORD
|
|
614 PROCESS_HEAP_REGION = 1,
|
|
615 PROCESS_HEAP_UNCOMMITTED_RANGE = 2,
|
|
616 PROCESS_HEAP_ENTRY_BUSY = 4,
|
|
617 PROCESS_HEAP_ENTRY_MOVEABLE = 16,
|
|
618 PROCESS_HEAP_ENTRY_DDESHARE = 32;
|
|
619
|
|
620 // for LoadLibraryEx()
|
|
621 const DWORD
|
|
622 DONT_RESOLVE_DLL_REFERENCES = 0x01, // not for WinME and earlier
|
|
623 LOAD_LIBRARY_AS_DATAFILE = 0x02,
|
|
624 LOAD_WITH_ALTERED_SEARCH_PATH = 0x08,
|
|
625 LOAD_IGNORE_CODE_AUTHZ_LEVEL = 0x10; // only for XP and later
|
|
626
|
|
627 // for LockFile()
|
|
628 const DWORD
|
|
629 LOCKFILE_FAIL_IMMEDIATELY = 1,
|
|
630 LOCKFILE_EXCLUSIVE_LOCK = 2;
|
|
631
|
|
632 const MAXIMUM_WAIT_OBJECTS = 64;
|
|
633 const MAXIMUM_SUSPEND_COUNT = 0x7F;
|
|
634
|
|
635 const WAIT_OBJECT_0 = 0;
|
|
636 const WAIT_ABANDONED_0 = 128;
|
|
637
|
|
638 //const WAIT_TIMEOUT=258; // also in winerror.h
|
|
639
|
|
640 enum : DWORD {
|
|
641 WAIT_IO_COMPLETION = 0x000000C0,
|
|
642 WAIT_ABANDONED = 0x00000080,
|
|
643 WAIT_FAILED = 0xFFFFFFFF
|
|
644 }
|
|
645
|
|
646 // PurgeComm()
|
|
647 const DWORD
|
|
648 PURGE_TXABORT = 1,
|
|
649 PURGE_RXABORT = 2,
|
|
650 PURGE_TXCLEAR = 4,
|
|
651 PURGE_RXCLEAR = 8;
|
|
652
|
|
653 // ReadEventLog()
|
|
654 const DWORD
|
|
655 EVENTLOG_SEQUENTIAL_READ = 1,
|
|
656 EVENTLOG_SEEK_READ = 2,
|
|
657 EVENTLOG_FORWARDS_READ = 4,
|
|
658 EVENTLOG_BACKWARDS_READ = 8;
|
|
659
|
|
660 // ReportEvent()
|
|
661 enum : WORD {
|
|
662 EVENTLOG_SUCCESS = 0,
|
|
663 EVENTLOG_ERROR_TYPE = 1,
|
|
664 EVENTLOG_WARNING_TYPE = 2,
|
|
665 EVENTLOG_INFORMATION_TYPE = 4,
|
|
666 EVENTLOG_AUDIT_SUCCESS = 8,
|
|
667 EVENTLOG_AUDIT_FAILURE = 16
|
|
668 }
|
|
669
|
|
670 // FormatMessage()
|
|
671 const DWORD
|
|
672 FORMAT_MESSAGE_ALLOCATE_BUFFER = 0x0100,
|
|
673 FORMAT_MESSAGE_IGNORE_INSERTS = 0x0200,
|
|
674 FORMAT_MESSAGE_FROM_STRING = 0x0400,
|
|
675 FORMAT_MESSAGE_FROM_HMODULE = 0x0800,
|
|
676 FORMAT_MESSAGE_FROM_SYSTEM = 0x1000,
|
|
677 FORMAT_MESSAGE_ARGUMENT_ARRAY = 0x2000;
|
|
678
|
|
679 const DWORD FORMAT_MESSAGE_MAX_WIDTH_MASK = 255;
|
|
680
|
|
681 // also in ddk/ntapi.h
|
|
682 // To restore default error mode, call SetErrorMode(0)
|
|
683 enum {
|
|
684 SEM_FAILCRITICALERRORS = 0x0001,
|
|
685 SEM_NOGPFAULTERRORBOX = 0x0002,
|
|
686 SEM_NOALIGNMENTFAULTEXCEPT = 0x0004,
|
|
687 SEM_NOOPENFILEERRORBOX = 0x8000
|
|
688 }
|
|
689 // end ntapi.h
|
|
690
|
|
691 enum {
|
|
692 SLE_ERROR = 1,
|
|
693 SLE_MINORERROR,
|
|
694 SLE_WARNING
|
|
695 }
|
|
696
|
|
697 const SHUTDOWN_NORETRY = 1;
|
|
698
|
|
699 // Return type for exception filters.
|
|
700 enum : LONG {
|
|
701 EXCEPTION_EXECUTE_HANDLER = 1,
|
|
702 EXCEPTION_CONTINUE_EXECUTION = -1,
|
|
703 EXCEPTION_CONTINUE_SEARCH = 0
|
|
704 }
|
|
705
|
|
706 enum : ATOM {
|
|
707 MAXINTATOM = 0xC000,
|
|
708 INVALID_ATOM = 0
|
|
709 }
|
|
710
|
|
711 const IGNORE = 0;
|
|
712 const INFINITE = 0xFFFFFFFF;
|
|
713
|
|
714 // EscapeCommFunction()
|
|
715 enum {
|
|
716 SETXOFF = 1,
|
|
717 SETXON,
|
|
718 SETRTS,
|
|
719 CLRRTS,
|
|
720 SETDTR,
|
|
721 CLRDTR, // = 6
|
|
722 SETBREAK = 8,
|
|
723 CLRBREAK = 9
|
|
724 }
|
|
725
|
|
726
|
|
727 // for SetCommMask()
|
|
728 const DWORD
|
|
729 EV_RXCHAR = 0x0001,
|
|
730 EV_RXFLAG = 0x0002,
|
|
731 EV_TXEMPTY = 0x0004,
|
|
732 EV_CTS = 0x0008,
|
|
733 EV_DSR = 0x0010,
|
|
734 EV_RLSD = 0x0020,
|
|
735 EV_BREAK = 0x0040,
|
|
736 EV_ERR = 0x0080,
|
|
737 EV_RING = 0x0100,
|
|
738 EV_PERR = 0x0200,
|
|
739 EV_RX80FULL = 0x0400,
|
|
740 EV_EVENT1 = 0x0800,
|
|
741 EV_EVENT2 = 0x1000;
|
|
742
|
|
743 // GetCommModemStatus()
|
|
744 const DWORD
|
|
745 MS_CTS_ON = 0x0010,
|
|
746 MS_DSR_ON = 0x0020,
|
|
747 MS_RING_ON = 0x0040,
|
|
748 MS_RLSD_ON = 0x0080;
|
|
749
|
|
750
|
|
751 // DCB
|
|
752 enum : BYTE {
|
|
753 NOPARITY = 0,
|
|
754 ODDPARITY,
|
|
755 EVENPARITY,
|
|
756 MARKPARITY,
|
|
757 SPACEPARITY
|
|
758 }
|
|
759 // DCB
|
|
760 enum : BYTE {
|
|
761 ONESTOPBIT = 0,
|
|
762 ONE5STOPBITS,
|
|
763 TWOSTOPBITS
|
|
764 }
|
|
765 // DCB
|
|
766 enum : DWORD {
|
|
767 CBR_110 = 110,
|
|
768 CBR_300 = 300,
|
|
769 CBR_600 = 600,
|
|
770 CBR_1200 = 1200,
|
|
771 CBR_2400 = 2400,
|
|
772 CBR_4800 = 4800,
|
|
773 CBR_9600 = 9600,
|
|
774 CBR_14400 = 14400,
|
|
775 CBR_19200 = 19200,
|
|
776 CBR_38400 = 38400,
|
|
777 CBR_56000 = 56000,
|
|
778 CBR_57600 = 57600,
|
|
779 CBR_115200 = 115200,
|
|
780 CBR_128000 = 128000,
|
|
781 CBR_256000 = 256000
|
|
782 }
|
|
783 // DCB, 2-bit bitfield
|
|
784 enum {
|
|
785 DTR_CONTROL_DISABLE = 0,
|
|
786 DTR_CONTROL_ENABLE,
|
|
787 DTR_CONTROL_HANDSHAKE
|
|
788 }
|
|
789
|
|
790 // DCB, 2-bit bitfield
|
|
791 enum {
|
|
792 RTS_CONTROL_DISABLE = 0,
|
|
793 RTS_CONTROL_ENABLE,
|
|
794 RTS_CONTROL_HANDSHAKE,
|
|
795 RTS_CONTROL_TOGGLE,
|
|
796 }
|
|
797
|
|
798 // WIN32_STREAM_ID
|
|
799 enum : DWORD {
|
|
800 BACKUP_INVALID = 0,
|
|
801 BACKUP_DATA,
|
|
802 BACKUP_EA_DATA,
|
|
803 BACKUP_SECURITY_DATA,
|
|
804 BACKUP_ALTERNATE_DATA,
|
|
805 BACKUP_LINK,
|
|
806 BACKUP_PROPERTY_DATA,
|
|
807 BACKUP_OBJECT_ID,
|
|
808 BACKUP_REPARSE_DATA,
|
|
809 BACKUP_SPARSE_BLOCK
|
|
810 }
|
|
811
|
|
812 // WIN32_STREAM_ID
|
|
813 enum : DWORD {
|
|
814 STREAM_NORMAL_ATTRIBUTE = 0,
|
|
815 STREAM_MODIFIED_WHEN_READ = 1,
|
|
816 STREAM_CONTAINS_SECURITY = 2,
|
|
817 STREAM_CONTAINS_PROPERTIES = 4
|
|
818 }
|
|
819
|
|
820 // STARTUPINFO
|
|
821 const DWORD
|
|
822 STARTF_USESHOWWINDOW = 0x0001,
|
|
823 STARTF_USESIZE = 0x0002,
|
|
824 STARTF_USEPOSITION = 0x0004,
|
|
825 STARTF_USECOUNTCHARS = 0x0008,
|
|
826 STARTF_USEFILLATTRIBUTE = 0x0010,
|
|
827 STARTF_RUNFULLSCREEN = 0x0020,
|
|
828 STARTF_FORCEONFEEDBACK = 0x0040,
|
|
829 STARTF_FORCEOFFFEEDBACK = 0x0080,
|
|
830 STARTF_USESTDHANDLES = 0x0100,
|
|
831 STARTF_USEHOTKEY = 0x0200;
|
|
832
|
|
833 // ???
|
|
834 enum {
|
|
835 TC_NORMAL = 0,
|
|
836 TC_HARDERR = 1,
|
|
837 TC_GP_TRAP = 2,
|
|
838 TC_SIGNAL = 3
|
|
839 }
|
|
840
|
|
841 /+ These seem to be Windows CE-specific
|
|
842 enum {
|
|
843 AC_LINE_OFFLINE = 0,
|
|
844 AC_LINE_ONLINE = 1,
|
|
845 AC_LINE_BACKUP_POWER = 2,
|
|
846 AC_LINE_UNKNOWN = 255
|
|
847 }
|
|
848
|
|
849 enum {
|
|
850 BATTERY_FLAG_HIGH = 1,
|
|
851 BATTERY_FLAG_LOW = 2,
|
|
852 BATTERY_FLAG_CRITICAL = 4,
|
|
853 BATTERY_FLAG_CHARGING = 8,
|
|
854 BATTERY_FLAG_NO_BATTERY = 128,
|
|
855 BATTERY_FLAG_UNKNOWN = 255,
|
|
856 BATTERY_PERCENTAGE_UNKNOWN = 255,
|
|
857 BATTERY_LIFE_UNKNOWN = 0xFFFFFFFF
|
|
858 }
|
|
859 +/
|
|
860
|
|
861 // ???
|
|
862 const HINSTANCE_ERROR = 32;
|
|
863
|
|
864 // returned from GetFileSize()
|
|
865 const DWORD INVALID_FILE_SIZE = 0xFFFFFFFF;
|
|
866
|
|
867 const DWORD TLS_OUT_OF_INDEXES = 0xFFFFFFFF;
|
|
868
|
|
869 // GetWriteWatch()
|
|
870 const DWORD WRITE_WATCH_FLAG_RESET = 1;
|
|
871
|
|
872 static if (_WIN32_WINNT_ONLY) {
|
|
873 // for LogonUser()
|
|
874 enum : DWORD {
|
|
875 LOGON32_LOGON_INTERACTIVE = 2,
|
|
876 LOGON32_LOGON_NETWORK = 3,
|
|
877 LOGON32_LOGON_BATCH = 4,
|
|
878 LOGON32_LOGON_SERVICE = 5,
|
|
879 LOGON32_LOGON_UNLOCK = 7
|
|
880 }
|
|
881
|
|
882 // for LogonUser()
|
|
883 enum : DWORD {
|
|
884 LOGON32_PROVIDER_DEFAULT,
|
|
885 LOGON32_PROVIDER_WINNT35,
|
|
886 LOGON32_PROVIDER_WINNT40,
|
|
887 LOGON32_PROVIDER_WINNT50
|
|
888 }
|
|
889
|
|
890 // for MoveFileEx()
|
|
891 const DWORD
|
|
892 MOVEFILE_REPLACE_EXISTING = 1,
|
|
893 MOVEFILE_COPY_ALLOWED = 2,
|
|
894 MOVEFILE_DELAY_UNTIL_REBOOT = 4,
|
|
895 MOVEFILE_WRITE_THROUGH = 8;
|
|
896
|
|
897 // DefineDosDevice()
|
|
898 const DWORD
|
|
899 DDD_RAW_TARGET_PATH = 1,
|
|
900 DDD_REMOVE_DEFINITION = 2,
|
|
901 DDD_EXACT_MATCH_ON_REMOVE = 4;
|
|
902
|
|
903 static if (_WIN32_WINNT >= 0x500) {
|
|
904 enum : DWORD {
|
|
905 LOGON32_LOGON_NETWORK_CLEARTEXT = 8,
|
|
906 LOGON32_LOGON_NEW_CREDENTIALS = 9
|
|
907 }
|
|
908
|
|
909 // ReplaceFile()
|
|
910 const DWORD
|
|
911 REPLACEFILE_WRITE_THROUGH = 1,
|
|
912 REPLACEFILE_IGNORE_MERGE_ERRORS = 2;
|
|
913 }
|
|
914
|
|
915 static if (_WIN32_WINNT >= 0x501) {
|
|
916 const DWORD
|
|
917 GET_MODULE_HANDLE_EX_FLAG_PIN = 1,
|
|
918 GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT = 2,
|
|
919 GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS = 4;
|
|
920
|
|
921 // for ACTCTX
|
|
922 const DWORD
|
|
923 ACTCTX_FLAG_PROCESSOR_ARCHITECTURE_VALID = 0x01,
|
|
924 ACTCTX_FLAG_LANGID_VALID = 0x02,
|
|
925 ACTCTX_FLAG_ASSEMBLY_DIRECTORY_VALID = 0x04,
|
|
926 ACTCTX_FLAG_RESOURCE_NAME_VALID = 0x08,
|
|
927 ACTCTX_FLAG_SET_PROCESS_DEFAULT = 0x10,
|
|
928 ACTCTX_FLAG_APPLICATION_NAME_VALID = 0x20,
|
|
929 ACTCTX_FLAG_HMODULE_VALID = 0x80;
|
|
930
|
|
931 // DeactivateActCtx()
|
|
932 const DWORD DEACTIVATE_ACTCTX_FLAG_FORCE_EARLY_DEACTIVATION = 1;
|
|
933 // FindActCtxSectionString()
|
|
934 const DWORD FIND_ACTCTX_SECTION_KEY_RETURN_HACTCTX = 1;
|
|
935 // QueryActCtxW()
|
|
936 const DWORD
|
|
937 QUERY_ACTCTX_FLAG_USE_ACTIVE_ACTCTX = 0x04,
|
|
938 QUERY_ACTCTX_FLAG_ACTCTX_IS_HMODULE = 0x08,
|
|
939 QUERY_ACTCTX_FLAG_ACTCTX_IS_ADDRESS = 0x10;
|
|
940
|
|
941 enum {
|
|
942 LOGON_WITH_PROFILE = 1,
|
|
943 LOGON_NETCREDENTIALS_ONLY
|
|
944 }
|
|
945 }
|
|
946 }
|
|
947
|
|
948 // ----
|
|
949
|
|
950 struct FILETIME {
|
|
951 DWORD dwLowDateTime;
|
|
952 DWORD dwHighDateTime;
|
|
953 }
|
|
954 alias FILETIME* PFILETIME, LPFILETIME;
|
|
955
|
|
956 struct BY_HANDLE_FILE_INFORMATION {
|
|
957 DWORD dwFileAttributes;
|
|
958 FILETIME ftCreationTime;
|
|
959 FILETIME ftLastAccessTime;
|
|
960 FILETIME ftLastWriteTime;
|
|
961 DWORD dwVolumeSerialNumber;
|
|
962 DWORD nFileSizeHigh;
|
|
963 DWORD nFileSizeLow;
|
|
964 DWORD nNumberOfLinks;
|
|
965 DWORD nFileIndexHigh;
|
|
966 DWORD nFileIndexLow;
|
|
967 }
|
|
968 alias BY_HANDLE_FILE_INFORMATION* LPBY_HANDLE_FILE_INFORMATION;
|
|
969
|
|
970 struct DCB {
|
|
971 DWORD DCBlength = DCB.sizeof;
|
|
972 DWORD BaudRate;
|
|
973 /+
|
|
974 DWORD fBinary:1; // Binary Mode (skip EOF check)
|
|
975 DWORD fParity:1; // Enable parity checking
|
|
976 DWORD fOutxCtsFlow:1; // CTS handshaking on output
|
|
977 DWORD fOutxDsrFlow:1; // DSR handshaking on output
|
|
978 DWORD fDtrControl:2; // DTR Flow control
|
|
979 DWORD fDsrSensitivity:1; // DSR Sensitivity
|
|
980 DWORD fTXContinueOnXoff:1; // Continue TX when Xoff sent
|
|
981 DWORD fOutX:1; // Enable output X-ON/X-OFF
|
|
982 DWORD fInX:1; // Enable input X-ON/X-OFF
|
|
983 DWORD fErrorChar:1; // Enable Err Replacement
|
|
984 DWORD fNull:1; // Enable Null stripping
|
|
985 DWORD fRtsControl:2; // Rts Flow control
|
|
986 DWORD fAbortOnError:1; // Abort all reads and writes on Error
|
|
987 DWORD fDummy2:17; // Reserved
|
|
988 +/
|
|
989 uint _bf;
|
|
990 bool fBinary(bool f) { _bf = (_bf & ~0x0001) | f; return f; }
|
|
991 bool fParity(bool f) { _bf = (_bf & ~0x0002) | (f<<1); return f; }
|
|
992 bool fOutxCtsFlow(bool f) { _bf = (_bf & ~0x0004) | (f<<2); return f; }
|
|
993 bool fOutxDsrFlow(bool f) { _bf = (_bf & ~0x0008) | (f<<3); return f; }
|
|
994 byte fDtrControl(byte x) { _bf = (_bf & ~0x0030) | (x<<4); return cast(byte)(x & 3); }
|
|
995 bool fDsrSensitivity(bool f) { _bf = (_bf & ~0x0040) | (f<<6); return f; }
|
|
996 bool fTXContinueOnXoff(bool f) { _bf = (_bf & ~0x0080) | (f<<7); return f; }
|
|
997 bool fOutX(bool f) { _bf = (_bf & ~0x0100) | (f<<8); return f; }
|
|
998 bool fInX(bool f) { _bf = (_bf & ~0x0200) | (f<<9); return f; }
|
|
999 bool fErrorChar(bool f) { _bf = (_bf & ~0x0400) | (f<<10); return f; }
|
|
1000 bool fNull(bool f) { _bf = (_bf & ~0x0800) | (f<<11); return f; }
|
|
1001 byte fRtsControl(byte x) { _bf = (_bf & ~0x3000) | (x<<12); return cast(byte)(x & 3); }
|
|
1002 bool fAbortOnError(bool f) { _bf = (_bf & ~0x4000) | (f<<14); return f; }
|
|
1003
|
|
1004 bool fBinary() { return cast(bool) (_bf & 1); }
|
|
1005 bool fParity() { return cast(bool) (_bf & 2); }
|
|
1006 bool fOutxCtsFlow() { return cast(bool) (_bf & 4); }
|
|
1007 bool fOutxDsrFlow() { return cast(bool) (_bf & 8); }
|
|
1008 byte fDtrControl() { return cast(byte) ((_bf & (32+16))>>4); }
|
|
1009 bool fDsrSensitivity() { return cast(bool) (_bf & 64); }
|
|
1010 bool fTXContinueOnXoff() { return cast(bool) (_bf & 128); }
|
|
1011 bool fOutX() { return cast(bool) (_bf & 256); }
|
|
1012 bool fInX() { return cast(bool) (_bf & 512); }
|
|
1013 bool fErrorChar() { return cast(bool) (_bf & 1024); }
|
|
1014 bool fNull() { return cast(bool) (_bf & 2048); }
|
|
1015 byte fRtsControl() { return cast(byte) ((_bf & (4096+8192))>>12); }
|
|
1016 bool fAbortOnError() { return cast(bool) (_bf & 16384); }
|
|
1017
|
|
1018 WORD wReserved;
|
|
1019 WORD XonLim;
|
|
1020 WORD XoffLim;
|
|
1021 BYTE ByteSize;
|
|
1022 BYTE Parity;
|
|
1023 BYTE StopBits;
|
|
1024 char XonChar;
|
|
1025 char XoffChar;
|
|
1026 char ErrorChar;
|
|
1027 char EofChar;
|
|
1028 char EvtChar;
|
|
1029 WORD wReserved1;
|
|
1030 }
|
|
1031 alias DCB* LPDCB;
|
|
1032
|
|
1033 struct COMMCONFIG {
|
|
1034 DWORD dwSize = COMMCONFIG.sizeof;
|
|
1035 WORD wVersion;
|
|
1036 WORD wReserved;
|
|
1037 DCB dcb;
|
|
1038 DWORD dwProviderSubType;
|
|
1039 DWORD dwProviderOffset;
|
|
1040 DWORD dwProviderSize;
|
|
1041 WCHAR _wcProviderData;
|
|
1042
|
|
1043 WCHAR* wcProviderData() { return &_wcProviderData; }
|
|
1044 }
|
|
1045 alias COMMCONFIG* LPCOMMCONFIG;
|
|
1046
|
|
1047 struct COMMTIMEOUTS {
|
|
1048 DWORD ReadIntervalTimeout;
|
|
1049 DWORD ReadTotalTimeoutMultiplier;
|
|
1050 DWORD ReadTotalTimeoutConstant;
|
|
1051 DWORD WriteTotalTimeoutMultiplier;
|
|
1052 DWORD WriteTotalTimeoutConstant;
|
|
1053 }
|
|
1054 alias COMMTIMEOUTS* LPCOMMTIMEOUTS;
|
|
1055
|
|
1056 struct COMSTAT {
|
|
1057 /+
|
|
1058 DWORD fCtsHold:1;
|
|
1059 DWORD fDsrHold:1;
|
|
1060 DWORD fRlsdHold:1;
|
|
1061 DWORD fXoffHold:1;
|
|
1062 DWORD fXoffSent:1;
|
|
1063 DWORD fEof:1;
|
|
1064 DWORD fTxim:1;
|
|
1065 DWORD fReserved:25;
|
|
1066 +/
|
|
1067 DWORD _bf;
|
|
1068 bool fCtsHold(bool f) { _bf = (_bf & ~1) | f; return f; }
|
|
1069 bool fDsrHold(bool f) { _bf = (_bf & ~2) | (f<<1); return f; }
|
|
1070 bool fRlsdHold(bool f) { _bf = (_bf & ~4) | (f<<2); return f; }
|
|
1071 bool fXoffHold(bool f) { _bf = (_bf & ~8) | (f<<3); return f; }
|
|
1072 bool fXoffSent(bool f) { _bf = (_bf & ~16) | (f<<4); return f; }
|
|
1073 bool fEof(bool f) { _bf = (_bf & ~32) | (f<<5); return f; }
|
|
1074 bool fTxim(bool f) { _bf = (_bf & ~64) | (f<<6); return f; }
|
|
1075
|
|
1076 bool fCtsHold() { return cast(bool) (_bf & 1); }
|
|
1077 bool fDsrHold() { return cast(bool) (_bf & 2); }
|
|
1078 bool fRlsdHold() { return cast(bool) (_bf & 4); }
|
|
1079 bool fXoffHold() { return cast(bool) (_bf & 8); }
|
|
1080 bool fXoffSent() { return cast(bool) (_bf & 16); }
|
|
1081 bool fEof() { return cast(bool) (_bf & 32); }
|
|
1082 bool fTxim() { return cast(bool) (_bf & 64); }
|
|
1083
|
|
1084 DWORD cbInQue;
|
|
1085 DWORD cbOutQue;
|
|
1086 }
|
|
1087 alias COMSTAT* LPCOMSTAT;
|
|
1088
|
|
1089 struct CREATE_PROCESS_DEBUG_INFO {
|
|
1090 HANDLE hFile;
|
|
1091 HANDLE hProcess;
|
|
1092 HANDLE hThread;
|
|
1093 LPVOID lpBaseOfImage;
|
|
1094 DWORD dwDebugInfoFileOffset;
|
|
1095 DWORD nDebugInfoSize;
|
|
1096 LPVOID lpThreadLocalBase;
|
|
1097 LPTHREAD_START_ROUTINE lpStartAddress;
|
|
1098 LPVOID lpImageName;
|
|
1099 WORD fUnicode;
|
|
1100 }
|
|
1101 alias CREATE_PROCESS_DEBUG_INFO* LPCREATE_PROCESS_DEBUG_INFO;
|
|
1102
|
|
1103 struct CREATE_THREAD_DEBUG_INFO {
|
|
1104 HANDLE hThread;
|
|
1105 LPVOID lpThreadLocalBase;
|
|
1106 LPTHREAD_START_ROUTINE lpStartAddress;
|
|
1107 }
|
|
1108 alias CREATE_THREAD_DEBUG_INFO* LPCREATE_THREAD_DEBUG_INFO;
|
|
1109
|
|
1110 struct EXCEPTION_DEBUG_INFO {
|
|
1111 EXCEPTION_RECORD ExceptionRecord;
|
|
1112 DWORD dwFirstChance;
|
|
1113 }
|
|
1114 alias EXCEPTION_DEBUG_INFO* LPEXCEPTION_DEBUG_INFO;
|
|
1115
|
|
1116 struct EXIT_THREAD_DEBUG_INFO {
|
|
1117 DWORD dwExitCode;
|
|
1118 }
|
|
1119 alias EXIT_THREAD_DEBUG_INFO* LPEXIT_THREAD_DEBUG_INFO;
|
|
1120
|
|
1121 struct EXIT_PROCESS_DEBUG_INFO {
|
|
1122 DWORD dwExitCode;
|
|
1123 }
|
|
1124 alias EXIT_PROCESS_DEBUG_INFO* LPEXIT_PROCESS_DEBUG_INFO;
|
|
1125
|
|
1126 struct LOAD_DLL_DEBUG_INFO {
|
|
1127 HANDLE hFile;
|
|
1128 LPVOID lpBaseOfDll;
|
|
1129 DWORD dwDebugInfoFileOffset;
|
|
1130 DWORD nDebugInfoSize;
|
|
1131 LPVOID lpImageName;
|
|
1132 WORD fUnicode;
|
|
1133 }
|
|
1134 alias LOAD_DLL_DEBUG_INFO* LPLOAD_DLL_DEBUG_INFO;
|
|
1135
|
|
1136 struct UNLOAD_DLL_DEBUG_INFO {
|
|
1137 LPVOID lpBaseOfDll;
|
|
1138 }
|
|
1139 alias UNLOAD_DLL_DEBUG_INFO* LPUNLOAD_DLL_DEBUG_INFO;
|
|
1140
|
|
1141 struct OUTPUT_DEBUG_STRING_INFO {
|
|
1142 LPSTR lpDebugStringData;
|
|
1143 WORD fUnicode;
|
|
1144 WORD nDebugStringLength;
|
|
1145 }
|
|
1146 alias OUTPUT_DEBUG_STRING_INFO* LPOUTPUT_DEBUG_STRING_INFO;
|
|
1147
|
|
1148 struct RIP_INFO {
|
|
1149 DWORD dwError;
|
|
1150 DWORD dwType;
|
|
1151 }
|
|
1152 alias RIP_INFO* LPRIP_INFO;
|
|
1153
|
|
1154 struct DEBUG_EVENT {
|
|
1155 DWORD dwDebugEventCode;
|
|
1156 DWORD dwProcessId;
|
|
1157 DWORD dwThreadId;
|
|
1158 union {
|
|
1159 EXCEPTION_DEBUG_INFO Exception;
|
|
1160 CREATE_THREAD_DEBUG_INFO CreateThread;
|
|
1161 CREATE_PROCESS_DEBUG_INFO CreateProcessInfo;
|
|
1162 EXIT_THREAD_DEBUG_INFO ExitThread;
|
|
1163 EXIT_PROCESS_DEBUG_INFO ExitProcess;
|
|
1164 LOAD_DLL_DEBUG_INFO LoadDll;
|
|
1165 UNLOAD_DLL_DEBUG_INFO UnloadDll;
|
|
1166 OUTPUT_DEBUG_STRING_INFO DebugString;
|
|
1167 RIP_INFO RipInfo;
|
|
1168 }
|
|
1169 }
|
|
1170 alias DEBUG_EVENT* LPDEBUG_EVENT;
|
|
1171
|
|
1172 struct OVERLAPPED {
|
|
1173 ULONG_PTR Internal;
|
|
1174 ULONG_PTR InternalHigh;
|
|
1175 union {
|
|
1176 struct {
|
|
1177 DWORD Offset;
|
|
1178 DWORD OffsetHigh;
|
|
1179 }
|
|
1180 PVOID Pointer;
|
|
1181 }
|
|
1182 HANDLE hEvent;
|
|
1183 }
|
|
1184 alias OVERLAPPED* POVERLAPPED, LPOVERLAPPED;
|
|
1185
|
|
1186 struct STARTUPINFOA {
|
|
1187 DWORD cb = STARTUPINFOA.sizeof;
|
|
1188 LPSTR lpReserved;
|
|
1189 LPSTR lpDesktop;
|
|
1190 LPSTR lpTitle;
|
|
1191 DWORD dwX;
|
|
1192 DWORD dwY;
|
|
1193 DWORD dwXSize;
|
|
1194 DWORD dwYSize;
|
|
1195 DWORD dwXCountChars;
|
|
1196 DWORD dwYCountChars;
|
|
1197 DWORD dwFillAttribute;
|
|
1198 DWORD dwFlags;
|
|
1199 WORD wShowWindow;
|
|
1200 WORD cbReserved2;
|
|
1201 PBYTE lpReserved2;
|
|
1202 HANDLE hStdInput;
|
|
1203 HANDLE hStdOutput;
|
|
1204 HANDLE hStdError;
|
|
1205 }
|
|
1206 alias STARTUPINFOA* LPSTARTUPINFOA;
|
|
1207
|
|
1208 struct STARTUPINFOW {
|
|
1209 DWORD cb = STARTUPINFOW.sizeof;
|
|
1210 LPWSTR lpReserved;
|
|
1211 LPWSTR lpDesktop;
|
|
1212 LPWSTR lpTitle;
|
|
1213 DWORD dwX;
|
|
1214 DWORD dwY;
|
|
1215 DWORD dwXSize;
|
|
1216 DWORD dwYSize;
|
|
1217 DWORD dwXCountChars;
|
|
1218 DWORD dwYCountChars;
|
|
1219 DWORD dwFillAttribute;
|
|
1220 DWORD dwFlags;
|
|
1221 WORD wShowWindow;
|
|
1222 WORD cbReserved2;
|
|
1223 PBYTE lpReserved2;
|
|
1224 HANDLE hStdInput;
|
|
1225 HANDLE hStdOutput;
|
|
1226 HANDLE hStdError;
|
|
1227 }
|
|
1228 alias STARTUPINFOW* LPSTARTUPINFOW;
|
|
1229
|
|
1230 struct PROCESS_INFORMATION {
|
|
1231 HANDLE hProcess;
|
|
1232 HANDLE hThread;
|
|
1233 DWORD dwProcessId;
|
|
1234 DWORD dwThreadId;
|
|
1235 }
|
|
1236 alias PROCESS_INFORMATION* PPROCESS_INFORMATION, LPPROCESS_INFORMATION;
|
|
1237
|
|
1238 struct CRITICAL_SECTION_DEBUG {
|
|
1239 WORD Type;
|
|
1240 WORD CreatorBackTraceIndex;
|
|
1241 CRITICAL_SECTION* CriticalSection;
|
|
1242 LIST_ENTRY ProcessLocksList;
|
|
1243 DWORD EntryCount;
|
|
1244 DWORD ContentionCount;
|
|
1245 DWORD[2] Spare;
|
|
1246 }
|
|
1247 alias CRITICAL_SECTION_DEBUG* PCRITICAL_SECTION_DEBUG;
|
|
1248
|
|
1249 struct CRITICAL_SECTION {
|
|
1250 PCRITICAL_SECTION_DEBUG DebugInfo;
|
|
1251 LONG LockCount;
|
|
1252 LONG RecursionCount;
|
|
1253 HANDLE OwningThread;
|
|
1254 HANDLE LockSemaphore;
|
|
1255 DWORD SpinCount;
|
|
1256 }
|
|
1257 alias CRITICAL_SECTION* PCRITICAL_SECTION, LPCRITICAL_SECTION;
|
|
1258
|
|
1259 struct SYSTEMTIME {
|
|
1260 WORD wYear;
|
|
1261 WORD wMonth;
|
|
1262 WORD wDayOfWeek;
|
|
1263 WORD wDay;
|
|
1264 WORD wHour;
|
|
1265 WORD wMinute;
|
|
1266 WORD wSecond;
|
|
1267 WORD wMilliseconds;
|
|
1268 }
|
|
1269 alias SYSTEMTIME* LPSYSTEMTIME;
|
|
1270
|
|
1271 static if (_WIN32_WINDOWS >= 0x410) {
|
|
1272 struct WIN32_FILE_ATTRIBUTE_DATA {
|
|
1273 DWORD dwFileAttributes;
|
|
1274 FILETIME ftCreationTime;
|
|
1275 FILETIME ftLastAccessTime;
|
|
1276 FILETIME ftLastWriteTime;
|
|
1277 DWORD nFileSizeHigh;
|
|
1278 DWORD nFileSizeLow;
|
|
1279 }
|
|
1280 alias WIN32_FILE_ATTRIBUTE_DATA* LPWIN32_FILE_ATTRIBUTE_DATA;
|
|
1281 }
|
|
1282
|
|
1283 struct WIN32_FIND_DATAA {
|
|
1284 DWORD dwFileAttributes;
|
|
1285 FILETIME ftCreationTime;
|
|
1286 FILETIME ftLastAccessTime;
|
|
1287 FILETIME ftLastWriteTime;
|
|
1288 DWORD nFileSizeHigh;
|
|
1289 DWORD nFileSizeLow;
|
|
1290 // #ifdef _WIN32_WCE
|
|
1291 // DWORD dwOID;
|
|
1292 // #else
|
|
1293 DWORD dwReserved0;
|
|
1294 DWORD dwReserved1;
|
|
1295 // #endif
|
|
1296 CHAR[MAX_PATH] cFileName;
|
|
1297 // #ifndef _WIN32_WCE
|
|
1298 CHAR[14] cAlternateFileName;
|
|
1299 // #endif
|
|
1300 }
|
|
1301 alias WIN32_FIND_DATAA* PWIN32_FIND_DATAA, LPWIN32_FIND_DATAA;
|
|
1302
|
|
1303 struct WIN32_FIND_DATAW {
|
|
1304 DWORD dwFileAttributes;
|
|
1305 FILETIME ftCreationTime;
|
|
1306 FILETIME ftLastAccessTime;
|
|
1307 FILETIME ftLastWriteTime;
|
|
1308 DWORD nFileSizeHigh;
|
|
1309 DWORD nFileSizeLow;
|
|
1310 // #ifdef _WIN32_WCE
|
|
1311 // DWORD dwOID;
|
|
1312 // #else
|
|
1313 DWORD dwReserved0;
|
|
1314 DWORD dwReserved1;
|
|
1315 // #endif
|
|
1316 WCHAR[MAX_PATH] cFileName;
|
|
1317 // #ifndef _WIN32_WCE
|
|
1318 WCHAR[14] cAlternateFileName;
|
|
1319 // #endif
|
|
1320 }
|
|
1321 alias WIN32_FIND_DATAW* PWIN32_FIND_DATAW, LPWIN32_FIND_DATAW;
|
|
1322
|
|
1323 static if (_WIN32_WINNT_ONLY) {
|
|
1324 struct WIN32_STREAM_ID {
|
|
1325 DWORD dwStreamId;
|
|
1326 DWORD dwStreamAttributes;
|
|
1327 LARGE_INTEGER Size;
|
|
1328 DWORD dwStreamNameSize;
|
|
1329 WCHAR _cStreamName;
|
|
1330
|
|
1331 WCHAR* cStreamName() { return &_cStreamName; }
|
|
1332 }
|
|
1333 alias WIN32_STREAM_ID* LPWIN32_STREAM_ID;
|
|
1334
|
|
1335 enum FINDEX_INFO_LEVELS {
|
|
1336 FindExInfoStandard,
|
|
1337 FindExInfoMaxInfoLevel
|
|
1338 }
|
|
1339
|
|
1340 enum FINDEX_SEARCH_OPS {
|
|
1341 FindExSearchNameMatch,
|
|
1342 FindExSearchLimitToDirectories,
|
|
1343 FindExSearchLimitToDevices,
|
|
1344 FindExSearchMaxSearchOp
|
|
1345 }
|
|
1346
|
|
1347 enum ACL_INFORMATION_CLASS {
|
|
1348 AclRevisionInformation = 1,
|
|
1349 AclSizeInformation
|
|
1350 }
|
|
1351
|
|
1352 struct HW_PROFILE_INFOA {
|
|
1353 DWORD dwDockInfo;
|
|
1354 CHAR[HW_PROFILE_GUIDLEN] szHwProfileGuid;
|
|
1355 CHAR[MAX_PROFILE_LEN] szHwProfileName;
|
|
1356 }
|
|
1357 alias HW_PROFILE_INFOA* LPHW_PROFILE_INFOA;
|
|
1358
|
|
1359 struct HW_PROFILE_INFOW {
|
|
1360 DWORD dwDockInfo;
|
|
1361 WCHAR[HW_PROFILE_GUIDLEN] szHwProfileGuid;
|
|
1362 WCHAR[MAX_PROFILE_LEN] szHwProfileName;
|
|
1363 }
|
|
1364 alias HW_PROFILE_INFOW* LPHW_PROFILE_INFOW;
|
|
1365 }
|
|
1366
|
|
1367 /* ??? MSDN documents this only for Windows CE/Mobile, but it's used by
|
|
1368 * GetFileAttributesEx, which is in desktop Windows.
|
|
1369 */
|
|
1370 enum GET_FILEEX_INFO_LEVELS {
|
|
1371 GetFileExInfoStandard,
|
|
1372 GetFileExMaxInfoLevel
|
|
1373 }
|
|
1374
|
|
1375 struct SYSTEM_INFO {
|
|
1376 union {
|
|
1377 DWORD dwOemId;
|
|
1378 struct {
|
|
1379 WORD wProcessorArchitecture;
|
|
1380 WORD wReserved;
|
|
1381 }
|
|
1382 }
|
|
1383 DWORD dwPageSize;
|
|
1384 PVOID lpMinimumApplicationAddress;
|
|
1385 PVOID lpMaximumApplicationAddress;
|
|
1386 DWORD dwActiveProcessorMask;
|
|
1387 DWORD dwNumberOfProcessors;
|
|
1388 DWORD dwProcessorType;
|
|
1389 DWORD dwAllocationGranularity;
|
|
1390 WORD wProcessorLevel;
|
|
1391 WORD wProcessorRevision;
|
|
1392 }
|
|
1393 alias SYSTEM_INFO* LPSYSTEM_INFO;
|
|
1394
|
|
1395 static if (_WIN32_WINNT_ONLY && _WIN32_WINNT >= 0x500) {
|
|
1396 struct SYSTEM_POWER_STATUS {
|
|
1397 BYTE ACLineStatus;
|
|
1398 BYTE BatteryFlag;
|
|
1399 BYTE BatteryLifePercent;
|
|
1400 BYTE Reserved1;
|
|
1401 DWORD BatteryLifeTime;
|
|
1402 DWORD BatteryFullLifeTime;
|
|
1403 }
|
|
1404 alias SYSTEM_POWER_STATUS* LPSYSTEM_POWER_STATUS;
|
|
1405 }
|
|
1406
|
|
1407 struct TIME_ZONE_INFORMATION {
|
|
1408 LONG Bias;
|
|
1409 WCHAR[32] StandardName;
|
|
1410 SYSTEMTIME StandardDate;
|
|
1411 LONG StandardBias;
|
|
1412 WCHAR[32] DaylightName;
|
|
1413 SYSTEMTIME DaylightDate;
|
|
1414 LONG DaylightBias;
|
|
1415 }
|
|
1416 alias TIME_ZONE_INFORMATION* LPTIME_ZONE_INFORMATION;
|
|
1417
|
|
1418 // MSDN documents this, possibly erroneously, as Win2000+.
|
|
1419 struct MEMORYSTATUS {
|
|
1420 DWORD dwLength;
|
|
1421 DWORD dwMemoryLoad;
|
|
1422 DWORD dwTotalPhys;
|
|
1423 DWORD dwAvailPhys;
|
|
1424 DWORD dwTotalPageFile;
|
|
1425 DWORD dwAvailPageFile;
|
|
1426 DWORD dwTotalVirtual;
|
|
1427 DWORD dwAvailVirtual;
|
|
1428 }
|
|
1429 alias MEMORYSTATUS* LPMEMORYSTATUS;
|
|
1430
|
|
1431 static if (_WIN32_WINNT >= 0x500) {
|
|
1432 struct MEMORYSTATUSEX {
|
|
1433 DWORD dwLength;
|
|
1434 DWORD dwMemoryLoad;
|
|
1435 DWORDLONG ullTotalPhys;
|
|
1436 DWORDLONG ullAvailPhys;
|
|
1437 DWORDLONG ullTotalPageFile;
|
|
1438 DWORDLONG ullAvailPageFile;
|
|
1439 DWORDLONG ullTotalVirtual;
|
|
1440 DWORDLONG ullAvailVirtual;
|
|
1441 DWORDLONG ullAvailExtendedVirtual;
|
|
1442 }
|
|
1443 alias MEMORYSTATUSEX* LPMEMORYSTATUSEX;
|
|
1444 }
|
|
1445
|
|
1446 struct LDT_ENTRY {
|
|
1447 WORD LimitLow;
|
|
1448 WORD BaseLow;
|
|
1449 struct {
|
|
1450 BYTE BaseMid;
|
|
1451 BYTE Flags1;
|
|
1452 BYTE Flags2;
|
|
1453 BYTE BaseHi;
|
|
1454
|
|
1455 byte Type(byte f) { Flags1 = cast(BYTE) ((Flags1 & 0xE0) | f); return cast(byte)(f & 0x1F); }
|
|
1456 byte Dpl(byte f) { Flags1 = cast(BYTE) ((Flags1 & 0x9F) | (f<<5)); return cast(byte)(f & 3); }
|
|
1457 bool Pres(bool f) { Flags1 = cast(BYTE) ((Flags1 & 0x7F) | (f<<7)); return f; }
|
|
1458
|
|
1459 byte LimitHi(byte f) { Flags2 = cast(BYTE) ((Flags2 & 0xF0) | (f&0x0F)); return cast(byte)(f & 0x0F); }
|
|
1460 bool Sys(bool f) { Flags2 = cast(BYTE) ((Flags2 & 0xEF) | (f<<4)); return f; }
|
|
1461 // Next bit is reserved
|
|
1462 bool Default_Big(bool f) { Flags2 = cast(BYTE) ((Flags2 & 0xBF) | (f<<6)); return f; }
|
|
1463 bool Granularity(bool f) { Flags2 = cast(BYTE) ((Flags2 & 0x7F) | (f<<7)); return f; }
|
|
1464
|
|
1465 byte Type() { return cast(byte) (Flags1 & 0x1F); }
|
|
1466 byte Dpl() { return cast(byte) ((Flags1 & 0x60)>>5); }
|
|
1467 bool Pres() { return cast(bool) (Flags1 & 0x80); }
|
|
1468
|
|
1469 byte LimitHi() { return cast(byte) (Flags2 & 0x0F); }
|
|
1470 bool Sys() { return cast(bool) (Flags2 & 0x10); }
|
|
1471 bool Default_Big() { return cast(bool) (Flags2 & 0x40); }
|
|
1472 bool Granularity() { return cast(bool) (Flags2 & 0x80); }
|
|
1473 }
|
|
1474 /+
|
|
1475 union HighWord {
|
|
1476 struct Bytes {
|
|
1477 BYTE BaseMid;
|
|
1478 BYTE Flags1;
|
|
1479 BYTE Flags2;
|
|
1480 BYTE BaseHi;
|
|
1481 }
|
|
1482 struct Bits {
|
|
1483 DWORD BaseMid:8;
|
|
1484 DWORD Type:5;
|
|
1485 DWORD Dpl:2;
|
|
1486 DWORD Pres:1;
|
|
1487 DWORD LimitHi:4;
|
|
1488 DWORD Sys:1;
|
|
1489 DWORD Reserved_0:1;
|
|
1490 DWORD Default_Big:1;
|
|
1491 DWORD Granularity:1;
|
|
1492 DWORD BaseHi:8;
|
|
1493 }
|
|
1494 }
|
|
1495 +/
|
|
1496 }
|
|
1497 alias LDT_ENTRY* PLDT_ENTRY, LPLDT_ENTRY;
|
|
1498
|
|
1499 /* As with the other memory management functions and structures, MSDN's
|
|
1500 * Windows version info shall be taken with a cup of salt.
|
|
1501 */
|
|
1502 struct PROCESS_HEAP_ENTRY {
|
|
1503 PVOID lpData;
|
|
1504 DWORD cbData;
|
|
1505 BYTE cbOverhead;
|
|
1506 BYTE iRegionIndex;
|
|
1507 WORD wFlags;
|
|
1508 union {
|
|
1509 struct Block {
|
|
1510 HANDLE hMem;
|
|
1511 DWORD[3] dwReserved;
|
|
1512 }
|
|
1513 struct Region {
|
|
1514 DWORD dwCommittedSize;
|
|
1515 DWORD dwUnCommittedSize;
|
|
1516 LPVOID lpFirstBlock;
|
|
1517 LPVOID lpLastBlock;
|
|
1518 }
|
|
1519 }
|
|
1520 }
|
|
1521 alias PROCESS_HEAP_ENTRY* LPPROCESS_HEAP_ENTRY;
|
|
1522
|
|
1523 struct OFSTRUCT {
|
|
1524 BYTE cBytes = OFSTRUCT.sizeof;
|
|
1525 BYTE fFixedDisk;
|
|
1526 WORD nErrCode;
|
|
1527 WORD Reserved1;
|
|
1528 WORD Reserved2;
|
|
1529 CHAR[128] szPathName; // const OFS_MAXPATHNAME = 128;
|
|
1530 }
|
|
1531 alias OFSTRUCT* LPOFSTRUCT, POFSTRUCT;
|
|
1532
|
|
1533 /* ??? MSDN documents this only for Windows CE, but it's used by
|
|
1534 * ImageGetCertificateData, which is in desktop Windows.
|
|
1535 */
|
|
1536 struct WIN_CERTIFICATE {
|
|
1537 DWORD dwLength;
|
|
1538 WORD wRevision;
|
|
1539 WORD wCertificateType;
|
|
1540 BYTE _bCertificate;
|
|
1541
|
|
1542 BYTE* bCertificate() { return &_bCertificate; }
|
|
1543 }
|
|
1544 alias WIN_CERTIFICATE* LPWIN_CERTIFICATE;
|
|
1545
|
|
1546 static if (_WIN32_WINNT >= 0x500) {
|
|
1547 enum COMPUTER_NAME_FORMAT {
|
|
1548 ComputerNameNetBIOS,
|
|
1549 ComputerNameDnsHostname,
|
|
1550 ComputerNameDnsDomain,
|
|
1551 ComputerNameDnsFullyQualified,
|
|
1552 ComputerNamePhysicalNetBIOS,
|
|
1553 ComputerNamePhysicalDnsHostname,
|
|
1554 ComputerNamePhysicalDnsDomain,
|
|
1555 ComputerNamePhysicalDnsFullyQualified,
|
|
1556 ComputerNameMax
|
|
1557 }
|
|
1558 }
|
|
1559
|
|
1560 static if (_WIN32_WINNT >= 0x501) {
|
|
1561 struct ACTCTXA {
|
|
1562 ULONG cbSize = this.sizeof;
|
|
1563 DWORD dwFlags;
|
|
1564 LPCSTR lpSource;
|
|
1565 USHORT wProcessorArchitecture;
|
|
1566 LANGID wLangId;
|
|
1567 LPCSTR lpAssemblyDirectory;
|
|
1568 LPCSTR lpResourceName;
|
|
1569 LPCSTR lpApplicationName;
|
|
1570 HMODULE hModule;
|
|
1571 }
|
|
1572 alias ACTCTXA* PACTCTXA, PCACTCTXA;
|
|
1573
|
|
1574 struct ACTCTXW {
|
|
1575 ULONG cbSize = this.sizeof;
|
|
1576 DWORD dwFlags;
|
|
1577 LPCWSTR lpSource;
|
|
1578 USHORT wProcessorArchitecture;
|
|
1579 LANGID wLangId;
|
|
1580 LPCWSTR lpAssemblyDirectory;
|
|
1581 LPCWSTR lpResourceName;
|
|
1582 LPCWSTR lpApplicationName;
|
|
1583 HMODULE hModule;
|
|
1584 }
|
|
1585 alias ACTCTXW* PACTCTXW, PCACTCTXW;
|
|
1586
|
|
1587 struct ACTCTX_SECTION_KEYED_DATA {
|
|
1588 ULONG cbSize = this.sizeof;
|
|
1589 ULONG ulDataFormatVersion;
|
|
1590 PVOID lpData;
|
|
1591 ULONG ulLength;
|
|
1592 PVOID lpSectionGlobalData;
|
|
1593 ULONG ulSectionGlobalDataLength;
|
|
1594 PVOID lpSectionBase;
|
|
1595 ULONG ulSectionTotalLength;
|
|
1596 HANDLE hActCtx;
|
|
1597 HANDLE ulAssemblyRosterIndex;
|
|
1598 }
|
|
1599 alias ACTCTX_SECTION_KEYED_DATA* PACTCTX_SECTION_KEYED_DATA, PCACTCTX_SECTION_KEYED_DATA;
|
|
1600
|
|
1601 enum MEMORY_RESOURCE_NOTIFICATION_TYPE {
|
|
1602 LowMemoryResourceNotification,
|
|
1603 HighMemoryResourceNotification
|
|
1604 }
|
|
1605
|
|
1606 } // (_WIN32_WINNT >= 0x0501)
|
|
1607
|
|
1608 static if (WINVER >= 0x410) {
|
|
1609 /* apparently used only by SetThreadExecutionState (Win2000+)
|
|
1610 * and DDK functions (version compatibility not established)
|
|
1611 */
|
|
1612 alias DWORD EXECUTION_STATE;
|
|
1613 }
|
|
1614
|
|
1615 // Callbacks
|
|
1616 extern (Windows) {
|
|
1617 alias DWORD function(LPVOID) LPTHREAD_START_ROUTINE;
|
|
1618 alias DWORD function(LARGE_INTEGER, LARGE_INTEGER, LARGE_INTEGER, LARGE_INTEGER,
|
|
1619 DWORD, DWORD, HANDLE, HANDLE, LPVOID) LPPROGRESS_ROUTINE;
|
|
1620 alias void function(PVOID) LPFIBER_START_ROUTINE;
|
|
1621
|
|
1622 alias BOOL function(HMODULE, LPCSTR, LPCSTR, WORD, LONG) ENUMRESLANGPROCA;
|
|
1623 alias BOOL function(HMODULE, LPCWSTR, LPCWSTR, WORD, LONG) ENUMRESLANGPROCW;
|
|
1624 alias BOOL function(HMODULE, LPCSTR, LPSTR, LONG) ENUMRESNAMEPROCA;
|
|
1625 alias BOOL function(HMODULE, LPCWSTR, LPWSTR, LONG) ENUMRESNAMEPROCW;
|
|
1626 alias BOOL function(HMODULE, LPSTR, LONG) ENUMRESTYPEPROCA;
|
|
1627 alias BOOL function(HMODULE, LPWSTR, LONG) ENUMRESTYPEPROCW;
|
|
1628 alias void function(DWORD, DWORD, LPOVERLAPPED) LPOVERLAPPED_COMPLETION_ROUTINE;
|
|
1629 alias LONG function(LPEXCEPTION_POINTERS) PTOP_LEVEL_EXCEPTION_FILTER;
|
|
1630 alias PTOP_LEVEL_EXCEPTION_FILTER LPTOP_LEVEL_EXCEPTION_FILTER;
|
|
1631
|
|
1632 alias void function(ULONG_PTR) PAPCFUNC;
|
|
1633 alias void function(PVOID, DWORD, DWORD) PTIMERAPCROUTINE;
|
|
1634
|
|
1635 static if (_WIN32_WINNT_ONLY && _WIN32_WINNT >= 0x500) {
|
|
1636 alias void function(PVOID, BOOLEAN) WAITORTIMERCALLBACK;
|
|
1637 }
|
|
1638 }
|
|
1639
|
|
1640 LPTSTR MAKEINTATOM(short i) {
|
|
1641 return cast(LPTSTR) i;
|
|
1642 }
|
|
1643
|
|
1644 extern (Windows) {
|
|
1645 ATOM AddAtomA(LPCSTR);
|
|
1646 ATOM AddAtomW(LPCWSTR);
|
|
1647 BOOL AreFileApisANSI();
|
|
1648 BOOL Beep(DWORD, DWORD);
|
|
1649 HANDLE BeginUpdateResourceA(LPCSTR, BOOL);
|
|
1650 HANDLE BeginUpdateResourceW(LPCWSTR, BOOL);
|
|
1651 BOOL BuildCommDCBA(LPCSTR, LPDCB);
|
|
1652 BOOL BuildCommDCBW(LPCWSTR, LPDCB);
|
|
1653 BOOL BuildCommDCBAndTimeoutsA(LPCSTR, LPDCB, LPCOMMTIMEOUTS);
|
|
1654 BOOL BuildCommDCBAndTimeoutsW(LPCWSTR, LPDCB, LPCOMMTIMEOUTS);
|
|
1655 BOOL CallNamedPipeA(LPCSTR, PVOID, DWORD, PVOID, DWORD, PDWORD, DWORD);
|
|
1656 BOOL CallNamedPipeW(LPCWSTR, PVOID, DWORD, PVOID, DWORD, PDWORD, DWORD);
|
|
1657 BOOL CancelDeviceWakeupRequest(HANDLE);
|
|
1658 BOOL CheckTokenMembership(HANDLE, PSID, PBOOL);
|
|
1659 BOOL ClearCommBreak(HANDLE);
|
|
1660 BOOL ClearCommError(HANDLE, PDWORD, LPCOMSTAT);
|
|
1661 BOOL CloseHandle(HANDLE);
|
|
1662 BOOL CommConfigDialogA(LPCSTR, HWND, LPCOMMCONFIG);
|
|
1663 BOOL CommConfigDialogW(LPCWSTR, HWND, LPCOMMCONFIG);
|
|
1664 LONG CompareFileTime(FILETIME*, FILETIME*);
|
|
1665 BOOL ContinueDebugEvent(DWORD, DWORD, DWORD);
|
|
1666 BOOL CopyFileA(LPCSTR, LPCSTR, BOOL);
|
|
1667 BOOL CopyFileW(LPCWSTR, LPCWSTR, BOOL);
|
|
1668 BOOL CopyFileExA(LPCSTR, LPCSTR, LPPROGRESS_ROUTINE, LPVOID, LPBOOL, DWORD);
|
|
1669 BOOL CopyFileExW(LPCWSTR, LPCWSTR, LPPROGRESS_ROUTINE, LPVOID, LPBOOL, DWORD);
|
|
1670
|
|
1671 /+ FIXME
|
|
1672 alias memmove RtlMoveMemory;
|
|
1673 alias memcpy RtlCopyMemory;
|
|
1674
|
|
1675 void RtlFillMemory(PVOID dest, SIZE_T len, BYTE fill) {
|
|
1676 memset(dest, fill, len);
|
|
1677 }
|
|
1678
|
|
1679 void RtlZeroMemory(PVOID dest, SIZE_T len) {
|
|
1680 RtlFillMemory(dest, len , 0);
|
|
1681 }
|
|
1682
|
|
1683 alias RtlMoveMemory MoveMemory;
|
|
1684 alias RtlCopyMemory CopyMemory;
|
|
1685 alias RtlFillMemory FillMemory;
|
|
1686 alias RtlZeroMemory ZeroMemory;
|
|
1687 +/
|
|
1688 BOOL CreateDirectoryA(LPCSTR, LPSECURITY_ATTRIBUTES);
|
|
1689 BOOL CreateDirectoryW(LPCWSTR, LPSECURITY_ATTRIBUTES);
|
|
1690 BOOL CreateDirectoryExA(LPCSTR, LPCSTR, LPSECURITY_ATTRIBUTES);
|
|
1691 BOOL CreateDirectoryExW(LPCWSTR, LPCWSTR, LPSECURITY_ATTRIBUTES);
|
|
1692 HANDLE CreateEventA(LPSECURITY_ATTRIBUTES, BOOL, BOOL, LPCSTR);
|
|
1693 HANDLE CreateEventW(LPSECURITY_ATTRIBUTES, BOOL, BOOL, LPCWSTR);
|
|
1694 HANDLE CreateFileA(LPCSTR, DWORD, DWORD, LPSECURITY_ATTRIBUTES, DWORD, DWORD, HANDLE);
|
|
1695 HANDLE CreateFileW(LPCWSTR, DWORD, DWORD, LPSECURITY_ATTRIBUTES, DWORD, DWORD, HANDLE);
|
|
1696 HANDLE CreateIoCompletionPort(HANDLE, HANDLE, ULONG_PTR, DWORD);
|
|
1697 HANDLE CreateMailslotA(LPCSTR, DWORD, DWORD, LPSECURITY_ATTRIBUTES);
|
|
1698 HANDLE CreateMailslotW(LPCWSTR, DWORD, DWORD, LPSECURITY_ATTRIBUTES);
|
|
1699 HANDLE CreateMutexA(LPSECURITY_ATTRIBUTES, BOOL, LPCSTR);
|
|
1700 HANDLE CreateMutexW(LPSECURITY_ATTRIBUTES, BOOL, LPCWSTR);
|
|
1701 BOOL CreatePipe(PHANDLE, PHANDLE, LPSECURITY_ATTRIBUTES, DWORD);
|
|
1702 BOOL CreateProcessA(LPCSTR, LPSTR, LPSECURITY_ATTRIBUTES, LPSECURITY_ATTRIBUTES, BOOL, DWORD, PVOID, LPCSTR, LPSTARTUPINFOA, LPPROCESS_INFORMATION);
|
|
1703 BOOL CreateProcessW(LPCWSTR, LPWSTR, LPSECURITY_ATTRIBUTES, LPSECURITY_ATTRIBUTES, BOOL, DWORD, PVOID, LPCWSTR, LPSTARTUPINFOW, LPPROCESS_INFORMATION);
|
|
1704 HANDLE CreateSemaphoreA(LPSECURITY_ATTRIBUTES, LONG, LONG, LPCSTR);
|
|
1705 HANDLE CreateSemaphoreW(LPSECURITY_ATTRIBUTES, LONG, LONG, LPCWSTR);
|
|
1706 HANDLE CreateThread(LPSECURITY_ATTRIBUTES, DWORD, LPTHREAD_START_ROUTINE, PVOID, DWORD, PDWORD);
|
|
1707 BOOL DebugActiveProcess(DWORD);
|
|
1708 void DebugBreak();
|
|
1709 ATOM DeleteAtom(ATOM);
|
|
1710 void DeleteCriticalSection(PCRITICAL_SECTION);
|
|
1711 BOOL DeleteFileA(LPCSTR);
|
|
1712 BOOL DeleteFileW(LPCWSTR);
|
|
1713 BOOL DisableThreadLibraryCalls(HMODULE);
|
|
1714 BOOL DosDateTimeToFileTime(WORD, WORD, LPFILETIME);
|
|
1715 BOOL DuplicateHandle(HANDLE, HANDLE, HANDLE, PHANDLE, DWORD, BOOL, DWORD);
|
|
1716 BOOL EndUpdateResourceA(HANDLE, BOOL);
|
|
1717 BOOL EndUpdateResourceW(HANDLE, BOOL);
|
|
1718 void EnterCriticalSection(LPCRITICAL_SECTION);
|
|
1719 BOOL EnumResourceLanguagesA(HMODULE, LPCSTR, LPCSTR, ENUMRESLANGPROC, LONG_PTR);
|
|
1720 BOOL EnumResourceLanguagesW(HMODULE, LPCWSTR, LPCWSTR, ENUMRESLANGPROC, LONG_PTR);
|
|
1721 BOOL EnumResourceNamesA(HMODULE, LPCSTR, ENUMRESNAMEPROC, LONG_PTR);
|
|
1722 BOOL EnumResourceNamesW(HMODULE, LPCWSTR, ENUMRESNAMEPROC, LONG_PTR);
|
|
1723 BOOL EnumResourceTypesA(HMODULE, ENUMRESTYPEPROC, LONG_PTR);
|
|
1724 BOOL EnumResourceTypesW(HMODULE, ENUMRESTYPEPROC, LONG_PTR);
|
|
1725 BOOL EscapeCommFunction(HANDLE, DWORD);
|
|
1726 void ExitProcess(UINT); // Never returns
|
|
1727 void ExitThread(DWORD); // Never returns
|
|
1728 DWORD ExpandEnvironmentStringsA(LPCSTR, LPSTR, DWORD);
|
|
1729 DWORD ExpandEnvironmentStringsW(LPCWSTR, LPWSTR, DWORD);
|
|
1730 void FatalAppExitA(UINT, LPCSTR);
|
|
1731 void FatalAppExitW(UINT, LPCWSTR);
|
|
1732 void FatalExit(int);
|
|
1733 BOOL FileTimeToDosDateTime(FILETIME* , LPWORD, LPWORD);
|
|
1734 BOOL FileTimeToLocalFileTime(FILETIME* , LPFILETIME);
|
|
1735 BOOL FileTimeToSystemTime(FILETIME* , LPSYSTEMTIME);
|
|
1736 ATOM FindAtomA(LPCSTR);
|
|
1737 ATOM FindAtomW(LPCWSTR);
|
|
1738 BOOL FindClose(HANDLE);
|
|
1739 BOOL FindCloseChangeNotification(HANDLE);
|
|
1740 HANDLE FindFirstChangeNotificationA(LPCSTR, BOOL, DWORD);
|
|
1741 HANDLE FindFirstChangeNotificationW(LPCWSTR, BOOL, DWORD);
|
|
1742 HANDLE FindFirstFileA(LPCSTR, LPWIN32_FIND_DATAA);
|
|
1743 HANDLE FindFirstFileW(LPCWSTR, LPWIN32_FIND_DATAW);
|
|
1744 BOOL FindNextChangeNotification(HANDLE);
|
|
1745 BOOL FindNextFileA(HANDLE, LPWIN32_FIND_DATAA);
|
|
1746 BOOL FindNextFileW(HANDLE, LPWIN32_FIND_DATAW);
|
|
1747 HRSRC FindResourceA(HMODULE, LPCSTR, LPCSTR);
|
|
1748 HRSRC FindResourceW(HINSTANCE, LPCWSTR, LPCWSTR);
|
|
1749 HRSRC FindResourceExA(HINSTANCE, LPCSTR, LPCSTR, WORD);
|
|
1750 HRSRC FindResourceExW(HINSTANCE, LPCWSTR, LPCWSTR, WORD);
|
|
1751 BOOL FlushFileBuffers(HANDLE);
|
|
1752 BOOL FlushInstructionCache(HANDLE, PCVOID, DWORD);
|
|
1753 DWORD FormatMessageA(DWORD, PCVOID, DWORD, DWORD, LPSTR, DWORD, va_list*);
|
|
1754 DWORD FormatMessageW(DWORD, PCVOID, DWORD, DWORD, LPWSTR, DWORD, va_list*);
|
|
1755 BOOL FreeEnvironmentStringsA(LPSTR);
|
|
1756 BOOL FreeEnvironmentStringsW(LPWSTR);
|
|
1757 BOOL FreeLibrary(HMODULE);
|
|
1758 void FreeLibraryAndExitThread(HMODULE, DWORD); // never returns
|
|
1759 BOOL FreeResource(HGLOBAL);
|
|
1760 UINT GetAtomNameA(ATOM, LPSTR, int);
|
|
1761 UINT GetAtomNameW(ATOM, LPWSTR, int);
|
|
1762 LPSTR GetCommandLineA();
|
|
1763 LPWSTR GetCommandLineW();
|
|
1764 BOOL GetCommConfig(HANDLE, LPCOMMCONFIG, PDWORD);
|
|
1765 BOOL GetCommMask(HANDLE, PDWORD);
|
|
1766 BOOL GetCommModemStatus(HANDLE, PDWORD);
|
|
1767 BOOL GetCommProperties(HANDLE, LPCOMMPROP);
|
|
1768 BOOL GetCommState(HANDLE, LPDCB);
|
|
1769 BOOL GetCommTimeouts(HANDLE, LPCOMMTIMEOUTS);
|
|
1770 BOOL GetComputerNameA(LPSTR, PDWORD);
|
|
1771 BOOL GetComputerNameW(LPWSTR, PDWORD);
|
|
1772 DWORD GetCurrentDirectoryA(DWORD, LPSTR);
|
|
1773 DWORD GetCurrentDirectoryW(DWORD, LPWSTR);
|
|
1774 HANDLE GetCurrentProcess();
|
|
1775 DWORD GetCurrentProcessId();
|
|
1776 HANDLE GetCurrentThread();
|
|
1777 /* In MinGW:
|
|
1778 #ifdef _WIN32_WCE
|
|
1779 extern DWORD GetCurrentThreadId(void);
|
|
1780 #else
|
|
1781 WINBASEAPI DWORD WINAPI GetCurrentThreadId(void);
|
|
1782 #endif
|
|
1783 */
|
|
1784 DWORD GetCurrentThreadId();
|
|
1785
|
|
1786 alias GetTickCount GetCurrentTime;
|
|
1787
|
|
1788 BOOL GetDefaultCommConfigA(LPCSTR, LPCOMMCONFIG, PDWORD);
|
|
1789 BOOL GetDefaultCommConfigW(LPCWSTR, LPCOMMCONFIG, PDWORD);
|
|
1790 BOOL GetDiskFreeSpaceA(LPCSTR, PDWORD, PDWORD, PDWORD, PDWORD);
|
|
1791 BOOL GetDiskFreeSpaceW(LPCWSTR, PDWORD, PDWORD, PDWORD, PDWORD);
|
|
1792 BOOL GetDiskFreeSpaceExA(LPCSTR, PULARGE_INTEGER, PULARGE_INTEGER, PULARGE_INTEGER);
|
|
1793 BOOL GetDiskFreeSpaceExW(LPCWSTR, PULARGE_INTEGER, PULARGE_INTEGER, PULARGE_INTEGER);
|
|
1794 UINT GetDriveTypeA(LPCSTR);
|
|
1795 UINT GetDriveTypeW(LPCWSTR);
|
|
1796 LPSTR GetEnvironmentStrings(); // ???
|
|
1797 LPSTR GetEnvironmentStringsA();
|
|
1798 LPWSTR GetEnvironmentStringsW();
|
|
1799 DWORD GetEnvironmentVariableA(LPCSTR, LPSTR, DWORD);
|
|
1800 DWORD GetEnvironmentVariableW(LPCWSTR, LPWSTR, DWORD);
|
|
1801 BOOL GetExitCodeProcess(HANDLE, PDWORD);
|
|
1802 BOOL GetExitCodeThread(HANDLE, PDWORD);
|
|
1803 DWORD GetFileAttributesA(LPCSTR);
|
|
1804 DWORD GetFileAttributesW(LPCWSTR);
|
|
1805 BOOL GetFileInformationByHandle(HANDLE, LPBY_HANDLE_FILE_INFORMATION);
|
|
1806 DWORD GetFileSize(HANDLE, PDWORD);
|
|
1807 BOOL GetFileTime(HANDLE, LPFILETIME, LPFILETIME, LPFILETIME);
|
|
1808 DWORD GetFileType(HANDLE);
|
|
1809 DWORD GetFullPathNameA(LPCSTR, DWORD, LPSTR, LPSTR*);
|
|
1810 DWORD GetFullPathNameW(LPCWSTR, DWORD, LPWSTR, LPWSTR*);
|
|
1811 DWORD GetLastError();
|
|
1812 void GetLocalTime(LPSYSTEMTIME);
|
|
1813 DWORD GetLogicalDrives();
|
|
1814 DWORD GetLogicalDriveStringsA(DWORD, LPSTR);
|
|
1815 DWORD GetLogicalDriveStringsW(DWORD, LPWSTR);
|
|
1816 BOOL GetMailslotInfo(HANDLE, PDWORD, PDWORD, PDWORD, PDWORD);
|
|
1817 DWORD GetModuleFileNameA(HINSTANCE, LPSTR, DWORD);
|
|
1818 DWORD GetModuleFileNameW(HINSTANCE, LPWSTR, DWORD);
|
|
1819 HMODULE GetModuleHandleA(LPCSTR);
|
|
1820 HMODULE GetModuleHandleW(LPCWSTR);
|
|
1821 BOOL GetNamedPipeHandleStateA(HANDLE, PDWORD, PDWORD, PDWORD, PDWORD, LPSTR, DWORD);
|
|
1822 BOOL GetNamedPipeHandleStateW(HANDLE, PDWORD, PDWORD, PDWORD, PDWORD, LPWSTR, DWORD);
|
|
1823 BOOL GetNamedPipeInfo(HANDLE, PDWORD, PDWORD, PDWORD, PDWORD);
|
|
1824 BOOL GetOverlappedResult(HANDLE, LPOVERLAPPED, PDWORD, BOOL);
|
|
1825 DWORD GetPriorityClass(HANDLE);
|
|
1826 UINT GetPrivateProfileIntA(LPCSTR, LPCSTR, INT, LPCSTR);
|
|
1827 UINT GetPrivateProfileIntW(LPCWSTR, LPCWSTR, INT, LPCWSTR);
|
|
1828 DWORD GetPrivateProfileSectionA(LPCSTR, LPSTR, DWORD, LPCSTR);
|
|
1829 DWORD GetPrivateProfileSectionW(LPCWSTR, LPWSTR, DWORD, LPCWSTR);
|
|
1830 DWORD GetPrivateProfileSectionNamesA(LPSTR, DWORD, LPCSTR);
|
|
1831 DWORD GetPrivateProfileSectionNamesW(LPWSTR, DWORD, LPCWSTR);
|
|
1832 DWORD GetPrivateProfileStringA(LPCSTR, LPCSTR, LPCSTR, LPSTR, DWORD, LPCSTR);
|
|
1833 DWORD GetPrivateProfileStringW(LPCWSTR, LPCWSTR, LPCWSTR, LPWSTR, DWORD, LPCWSTR);
|
|
1834 BOOL GetPrivateProfileStructA(LPCSTR, LPCSTR, LPVOID, UINT, LPCSTR);
|
|
1835 BOOL GetPrivateProfileStructW(LPCWSTR, LPCWSTR, LPVOID, UINT, LPCWSTR);
|
|
1836 FARPROC GetProcAddress(HINSTANCE, LPCSTR);
|
|
1837 BOOL GetProcessAffinityMask(HANDLE, PDWORD, PDWORD);
|
|
1838 DWORD GetProcessVersion(DWORD);
|
|
1839 UINT GetProfileIntA(LPCSTR, LPCSTR, INT);
|
|
1840 UINT GetProfileIntW(LPCWSTR, LPCWSTR, INT);
|
|
1841 DWORD GetProfileSectionA(LPCSTR, LPSTR, DWORD);
|
|
1842 DWORD GetProfileSectionW(LPCWSTR, LPWSTR, DWORD);
|
|
1843 DWORD GetProfileStringA(LPCSTR, LPCSTR, LPCSTR, LPSTR, DWORD);
|
|
1844 DWORD GetProfileStringW(LPCWSTR, LPCWSTR, LPCWSTR, LPWSTR, DWORD);
|
|
1845 DWORD GetShortPathNameA(LPCSTR, LPSTR, DWORD);
|
|
1846 DWORD GetShortPathNameW(LPCWSTR, LPWSTR, DWORD);
|
|
1847 VOID GetStartupInfoA(LPSTARTUPINFOA);
|
|
1848 VOID GetStartupInfoW(LPSTARTUPINFOW);
|
|
1849 HANDLE GetStdHandle(DWORD);
|
|
1850 UINT GetSystemDirectoryA(LPSTR, UINT);
|
|
1851 UINT GetSystemDirectoryW(LPWSTR, UINT);
|
|
1852 VOID GetSystemInfo(LPSYSTEM_INFO);
|
|
1853 VOID GetSystemTime(LPSYSTEMTIME);
|
|
1854 BOOL GetSystemTimeAdjustment(PDWORD, PDWORD, PBOOL);
|
|
1855 void GetSystemTimeAsFileTime(LPFILETIME);
|
|
1856 UINT GetTempFileNameA(LPCSTR, LPCSTR, UINT, LPSTR);
|
|
1857 UINT GetTempFileNameW(LPCWSTR, LPCWSTR, UINT, LPWSTR);
|
|
1858 DWORD GetTempPathA(DWORD, LPSTR);
|
|
1859 DWORD GetTempPathW(DWORD, LPWSTR);
|
|
1860 BOOL GetThreadContext(HANDLE, LPCONTEXT);
|
|
1861 int GetThreadPriority(HANDLE);
|
|
1862 BOOL GetThreadSelectorEntry(HANDLE, DWORD, LPLDT_ENTRY);
|
|
1863 DWORD GetTickCount();
|
|
1864 DWORD GetTimeZoneInformation(LPTIME_ZONE_INFORMATION);
|
|
1865 BOOL GetUserNameA (LPSTR, PDWORD);
|
|
1866 BOOL GetUserNameW(LPWSTR, PDWORD);
|
|
1867 DWORD GetVersion();
|
|
1868 BOOL GetVersionExA(LPOSVERSIONINFOA);
|
|
1869 BOOL GetVersionExW(LPOSVERSIONINFOW);
|
|
1870 BOOL GetVolumeInformationA(LPCSTR, LPSTR, DWORD, PDWORD, PDWORD, PDWORD, LPSTR, DWORD);
|
|
1871 BOOL GetVolumeInformationW(LPCWSTR, LPWSTR, DWORD, PDWORD, PDWORD, PDWORD, LPWSTR, DWORD);
|
|
1872 UINT GetWindowsDirectoryA(LPSTR, UINT);
|
|
1873 UINT GetWindowsDirectoryW(LPWSTR, UINT);
|
|
1874 DWORD GetWindowThreadProcessId(HWND, PDWORD);
|
|
1875 ATOM GlobalAddAtomA(LPCSTR);
|
|
1876 ATOM GlobalAddAtomW(LPCWSTR);
|
|
1877 ATOM GlobalDeleteAtom(ATOM);
|
|
1878 ATOM GlobalFindAtomA(LPCSTR);
|
|
1879 ATOM GlobalFindAtomW(LPCWSTR);
|
|
1880 UINT GlobalGetAtomNameA(ATOM, LPSTR, int);
|
|
1881 UINT GlobalGetAtomNameW(ATOM, LPWSTR, int);
|
|
1882
|
|
1883 bool HasOverlappedIoCompleted(LPOVERLAPPED lpOverlapped) {
|
|
1884 return lpOverlapped.Internal != STATUS_PENDING;
|
|
1885 }
|
|
1886
|
|
1887 BOOL InitAtomTable(DWORD);
|
|
1888 VOID InitializeCriticalSection(LPCRITICAL_SECTION);
|
|
1889 /* ??? The next two are allegedly obsolete and "supported only for
|
|
1890 * backward compatibility with the 16-bit Windows API". Yet the
|
|
1891 * replacements IsBadReadPtr and IsBadWritePtr are apparently Win2000+
|
|
1892 * only. Where's the mistake?
|
|
1893 */
|
|
1894 BOOL IsBadHugeReadPtr(PCVOID, UINT);
|
|
1895 BOOL IsBadHugeWritePtr(PVOID, UINT);
|
|
1896 BOOL IsBadReadPtr(PCVOID, UINT);
|
|
1897 BOOL IsBadStringPtrA(LPCSTR, UINT);
|
|
1898 BOOL IsBadStringPtrW(LPCWSTR, UINT);
|
|
1899 BOOL IsBadWritePtr(PVOID, UINT);
|
|
1900 void LeaveCriticalSection(LPCRITICAL_SECTION);
|
|
1901 HINSTANCE LoadLibraryA(LPCSTR);
|
|
1902 HINSTANCE LoadLibraryW(LPCWSTR);
|
|
1903 HINSTANCE LoadLibraryExA(LPCSTR, HANDLE, DWORD);
|
|
1904 HINSTANCE LoadLibraryExW(LPCWSTR, HANDLE, DWORD);
|
|
1905 DWORD LoadModule(LPCSTR, PVOID);
|
|
1906 HGLOBAL LoadResource(HINSTANCE, HRSRC);
|
|
1907 BOOL LocalFileTimeToFileTime(FILETIME* , LPFILETIME);
|
|
1908 BOOL LockFile(HANDLE, DWORD, DWORD, DWORD, DWORD);
|
|
1909 PVOID LockResource(HGLOBAL);
|
|
1910
|
|
1911 LPSTR lstrcatA(LPSTR, LPCSTR);
|
|
1912 LPWSTR lstrcatW(LPWSTR, LPCWSTR);
|
|
1913 int lstrcmpA(LPCSTR, LPCSTR);
|
|
1914 int lstrcmpiA(LPCSTR, LPCSTR);
|
|
1915 int lstrcmpiW(LPCWSTR, LPCWSTR);
|
|
1916 int lstrcmpW(LPCWSTR, LPCWSTR);
|
|
1917 LPSTR lstrcpyA(LPSTR, LPCSTR);
|
|
1918 LPSTR lstrcpynA(LPSTR, LPCSTR, int);
|
|
1919 LPWSTR lstrcpynW(LPWSTR, LPCWSTR, int);
|
|
1920 LPWSTR lstrcpyW(LPWSTR, LPCWSTR);
|
|
1921 int lstrlenA(LPCSTR);
|
|
1922 int lstrlenW(LPCWSTR);
|
|
1923
|
|
1924 BOOL MoveFileA(LPCSTR, LPCSTR);
|
|
1925 BOOL MoveFileW(LPCWSTR, LPCWSTR);
|
|
1926 int MulDiv(int, int, int);
|
|
1927 HANDLE OpenEventA(DWORD, BOOL, LPCSTR);
|
|
1928 HANDLE OpenEventW(DWORD, BOOL, LPCWSTR);
|
|
1929 deprecated HFILE OpenFile(LPCSTR, LPOFSTRUCT, UINT);
|
|
1930 HANDLE OpenMutexA(DWORD, BOOL, LPCSTR);
|
|
1931 HANDLE OpenMutexW(DWORD, BOOL, LPCWSTR);
|
|
1932 HANDLE OpenProcess(DWORD, BOOL, DWORD);
|
|
1933 HANDLE OpenSemaphoreA(DWORD, BOOL, LPCSTR);
|
|
1934 HANDLE OpenSemaphoreW(DWORD, BOOL, LPCWSTR);
|
|
1935 void OutputDebugStringA(LPCSTR);
|
|
1936 void OutputDebugStringW(LPCWSTR);
|
|
1937 BOOL PeekNamedPipe(HANDLE, PVOID, DWORD, PDWORD, PDWORD, PDWORD);
|
|
1938 BOOL PulseEvent(HANDLE);
|
|
1939 BOOL PurgeComm(HANDLE, DWORD);
|
|
1940 BOOL QueryPerformanceCounter(PLARGE_INTEGER);
|
|
1941 BOOL QueryPerformanceFrequency(PLARGE_INTEGER);
|
|
1942 DWORD QueueUserAPC(PAPCFUNC, HANDLE, ULONG_PTR);
|
|
1943 void RaiseException(DWORD, DWORD, DWORD, DWORD*);
|
|
1944 BOOL ReadFile(HANDLE, PVOID, DWORD, PDWORD, LPOVERLAPPED);
|
|
1945 BOOL ReadFileEx(HANDLE, PVOID, DWORD, LPOVERLAPPED, LPOVERLAPPED_COMPLETION_ROUTINE);
|
|
1946 BOOL ReadProcessMemory(HANDLE, PCVOID, PVOID, DWORD, PDWORD);
|
|
1947 BOOL ReleaseMutex(HANDLE);
|
|
1948 BOOL ReleaseSemaphore(HANDLE, LONG, LPLONG);
|
|
1949 BOOL RemoveDirectoryA(LPCSTR);
|
|
1950 BOOL RemoveDirectoryW(LPCWSTR);
|
|
1951 /* In MinGW:
|
|
1952 #ifdef _WIN32_WCE
|
|
1953 extern BOOL ResetEvent(HANDLE);
|
|
1954 #else
|
|
1955 WINBASEAPI BOOL WINAPI ResetEvent(HANDLE);
|
|
1956 #endif
|
|
1957 */
|
|
1958 BOOL ResetEvent(HANDLE);
|
|
1959 DWORD ResumeThread(HANDLE);
|
|
1960 DWORD SearchPathA(LPCSTR, LPCSTR, LPCSTR, DWORD, LPSTR, LPSTR*);
|
|
1961 DWORD SearchPathW(LPCWSTR, LPCWSTR, LPCWSTR, DWORD, LPWSTR, LPWSTR*);
|
|
1962 BOOL SetCommBreak(HANDLE);
|
|
1963 BOOL SetCommConfig(HANDLE, LPCOMMCONFIG, DWORD);
|
|
1964 BOOL SetCommMask(HANDLE, DWORD);
|
|
1965 BOOL SetCommState(HANDLE, LPDCB);
|
|
1966 BOOL SetCommTimeouts(HANDLE, LPCOMMTIMEOUTS);
|
|
1967 BOOL SetComputerNameA(LPCSTR);
|
|
1968 BOOL SetComputerNameW(LPCWSTR);
|
|
1969 BOOL SetCurrentDirectoryA(LPCSTR);
|
|
1970 BOOL SetCurrentDirectoryW(LPCWSTR);
|
|
1971 BOOL SetDefaultCommConfigA(LPCSTR, LPCOMMCONFIG, DWORD);
|
|
1972 BOOL SetDefaultCommConfigW(LPCWSTR, LPCOMMCONFIG, DWORD);
|
|
1973 BOOL SetEndOfFile(HANDLE);
|
|
1974 BOOL SetEnvironmentVariableA(LPCSTR, LPCSTR);
|
|
1975 BOOL SetEnvironmentVariableW(LPCWSTR, LPCWSTR);
|
|
1976 UINT SetErrorMode(UINT);
|
|
1977 /* In MinGW:
|
|
1978 #ifdef _WIN32_WCE
|
|
1979 extern BOOL SetEvent(HANDLE);
|
|
1980 #else
|
|
1981 WINBASEAPI BOOL WINAPI SetEvent(HANDLE);
|
|
1982 #endif
|
|
1983 */
|
|
1984 BOOL SetEvent(HANDLE);
|
|
1985 VOID SetFileApisToANSI();
|
|
1986 VOID SetFileApisToOEM();
|
|
1987 BOOL SetFileAttributesA(LPCSTR, DWORD);
|
|
1988 BOOL SetFileAttributesW(LPCWSTR, DWORD);
|
|
1989 DWORD SetFilePointer(HANDLE, LONG, PLONG, DWORD);
|
|
1990 BOOL SetFileTime(HANDLE, FILETIME*, FILETIME*, FILETIME*);
|
|
1991 deprecated UINT SetHandleCount(UINT);
|
|
1992 void SetLastError(DWORD);
|
|
1993 void SetLastErrorEx(DWORD, DWORD);
|
|
1994 BOOL SetLocalTime(SYSTEMTIME*);
|
|
1995 BOOL SetMailslotInfo(HANDLE, DWORD);
|
|
1996 BOOL SetNamedPipeHandleState(HANDLE, PDWORD, PDWORD, PDWORD);
|
|
1997 BOOL SetPriorityClass(HANDLE, DWORD);
|
|
1998 BOOL SetStdHandle(DWORD, HANDLE);
|
|
1999 BOOL SetSystemTime(SYSTEMTIME*);
|
|
2000 DWORD SetThreadAffinityMask(HANDLE, DWORD);
|
|
2001 BOOL SetThreadContext(HANDLE, CONTEXT*);
|
|
2002 BOOL SetThreadPriority(HANDLE, int);
|
|
2003 BOOL SetTimeZoneInformation(TIME_ZONE_INFORMATION*);
|
|
2004 LPTOP_LEVEL_EXCEPTION_FILTER SetUnhandledExceptionFilter(LPTOP_LEVEL_EXCEPTION_FILTER);
|
|
2005 BOOL SetupComm(HANDLE, DWORD, DWORD);
|
|
2006 BOOL SetVolumeLabelA(LPCSTR, LPCSTR);
|
|
2007 BOOL SetVolumeLabelW(LPCWSTR, LPCWSTR);
|
|
2008
|
|
2009 DWORD SizeofResource(HINSTANCE, HRSRC);
|
|
2010 void Sleep(DWORD);
|
|
2011 DWORD SleepEx(DWORD, BOOL);
|
|
2012 DWORD SuspendThread(HANDLE);
|
|
2013 BOOL SystemTimeToFileTime(SYSTEMTIME*, LPFILETIME);
|
|
2014 BOOL TerminateProcess(HANDLE, UINT);
|
|
2015 BOOL TerminateThread(HANDLE, DWORD);
|
|
2016 DWORD TlsAlloc();
|
|
2017 BOOL TlsFree(DWORD);
|
|
2018 PVOID TlsGetValue(DWORD);
|
|
2019 BOOL TlsSetValue(DWORD, PVOID);
|
|
2020 BOOL TransactNamedPipe(HANDLE, PVOID, DWORD, PVOID, DWORD, PDWORD, LPOVERLAPPED);
|
|
2021 BOOL TransmitCommChar(HANDLE, char);
|
|
2022 LONG UnhandledExceptionFilter(LPEXCEPTION_POINTERS);
|
|
2023 BOOL UnlockFile(HANDLE, DWORD, DWORD, DWORD, DWORD);
|
|
2024 BOOL WaitCommEvent(HANDLE, PDWORD, LPOVERLAPPED);
|
|
2025 BOOL WaitForDebugEvent(LPDEBUG_EVENT, DWORD);
|
|
2026 DWORD WaitForMultipleObjects(DWORD, HANDLE*, BOOL, DWORD);
|
|
2027 DWORD WaitForMultipleObjectsEx(DWORD, HANDLE*, BOOL, DWORD, BOOL);
|
|
2028 DWORD WaitForSingleObject(HANDLE, DWORD);
|
|
2029 DWORD WaitForSingleObjectEx(HANDLE, DWORD, BOOL);
|
|
2030 BOOL WaitNamedPipeA(LPCSTR, DWORD);
|
|
2031 BOOL WaitNamedPipeW(LPCWSTR, DWORD);
|
|
2032 // undocumented on MSDN
|
|
2033 BOOL WinLoadTrustProvider(GUID*);
|
|
2034 BOOL WriteFile(HANDLE, PCVOID, DWORD, PDWORD, LPOVERLAPPED);
|
|
2035 BOOL WriteFileEx(HANDLE, PCVOID, DWORD, LPOVERLAPPED, LPOVERLAPPED_COMPLETION_ROUTINE);
|
|
2036 BOOL WritePrivateProfileSectionA(LPCSTR, LPCSTR, LPCSTR);
|
|
2037 BOOL WritePrivateProfileSectionW(LPCWSTR, LPCWSTR, LPCWSTR);
|
|
2038 BOOL WritePrivateProfileStringA(LPCSTR, LPCSTR, LPCSTR, LPCSTR);
|
|
2039 BOOL WritePrivateProfileStringW(LPCWSTR, LPCWSTR, LPCWSTR, LPCWSTR);
|
|
2040 BOOL WritePrivateProfileStructA(LPCSTR, LPCSTR, LPVOID, UINT, LPCSTR);
|
|
2041 BOOL WritePrivateProfileStructW(LPCWSTR, LPCWSTR, LPVOID, UINT, LPCWSTR);
|
|
2042 BOOL WriteProcessMemory(HANDLE, LPVOID, LPCVOID, SIZE_T, SIZE_T*);
|
|
2043 BOOL WriteProfileSectionA(LPCSTR, LPCSTR);
|
|
2044 BOOL WriteProfileSectionW(LPCWSTR, LPCWSTR);
|
|
2045 BOOL WriteProfileStringA(LPCSTR, LPCSTR, LPCSTR);
|
|
2046 BOOL WriteProfileStringW(LPCWSTR, LPCWSTR, LPCWSTR);
|
|
2047
|
|
2048 /* Memory allocation functions.
|
|
2049 * MSDN documents these erroneously as Win2000+; thus it is uncertain what
|
|
2050 * version compatibility they really have.
|
|
2051 */
|
|
2052 HGLOBAL GlobalAlloc(UINT, DWORD);
|
|
2053 HGLOBAL GlobalDiscard(HGLOBAL);
|
|
2054 HGLOBAL GlobalFree(HGLOBAL);
|
|
2055 HGLOBAL GlobalHandle(PCVOID);
|
|
2056 LPVOID GlobalLock(HGLOBAL);
|
|
2057 VOID GlobalMemoryStatus(LPMEMORYSTATUS);
|
|
2058 HGLOBAL GlobalReAlloc(HGLOBAL, DWORD, UINT);
|
|
2059 DWORD GlobalSize(HGLOBAL);
|
|
2060 BOOL GlobalUnlock(HGLOBAL);
|
|
2061 PVOID HeapAlloc(HANDLE, DWORD, DWORD);
|
|
2062 SIZE_T HeapCompact(HANDLE, DWORD);
|
|
2063 HANDLE HeapCreate(DWORD, DWORD, DWORD);
|
|
2064 BOOL HeapDestroy(HANDLE);
|
|
2065 BOOL HeapFree(HANDLE, DWORD, PVOID);
|
|
2066 BOOL HeapLock(HANDLE);
|
|
2067 PVOID HeapReAlloc(HANDLE, DWORD, PVOID, DWORD);
|
|
2068 DWORD HeapSize(HANDLE, DWORD, PCVOID);
|
|
2069 BOOL HeapUnlock(HANDLE);
|
|
2070 BOOL HeapValidate(HANDLE, DWORD, PCVOID);
|
|
2071 BOOL HeapWalk(HANDLE, LPPROCESS_HEAP_ENTRY);
|
|
2072 HLOCAL LocalAlloc(UINT, SIZE_T);
|
|
2073 HLOCAL LocalDiscard(HLOCAL);
|
|
2074 HLOCAL LocalFree(HLOCAL);
|
|
2075 HLOCAL LocalHandle(LPCVOID);
|
|
2076 PVOID LocalLock(HLOCAL);
|
|
2077 HLOCAL LocalReAlloc(HLOCAL, SIZE_T, UINT);
|
|
2078 UINT LocalSize(HLOCAL);
|
|
2079 BOOL LocalUnlock(HLOCAL);
|
|
2080 PVOID VirtualAlloc(PVOID, DWORD, DWORD, DWORD);
|
|
2081 PVOID VirtualAllocEx(HANDLE, PVOID, DWORD, DWORD, DWORD);
|
|
2082 BOOL VirtualFree(PVOID, DWORD, DWORD);
|
|
2083 BOOL VirtualFreeEx(HANDLE, PVOID, DWORD, DWORD);
|
|
2084 BOOL VirtualLock(PVOID, DWORD);
|
|
2085 BOOL VirtualProtect(PVOID, DWORD, DWORD, PDWORD);
|
|
2086 BOOL VirtualProtectEx(HANDLE, PVOID, DWORD, DWORD, PDWORD);
|
|
2087 DWORD VirtualQuery(LPCVOID, PMEMORY_BASIC_INFORMATION, DWORD);
|
|
2088 DWORD VirtualQueryEx(HANDLE, LPCVOID, PMEMORY_BASIC_INFORMATION, DWORD);
|
|
2089 BOOL VirtualUnlock(PVOID, DWORD);
|
|
2090
|
|
2091 static if (_WIN32_WINDOWS >= 0x600) {
|
|
2092 BOOL CancelIoEx(HANDLE, LPOVERLAPPED);
|
|
2093 }
|
|
2094
|
|
2095 static if (_WIN32_WINDOWS >= 0x410) {
|
|
2096 BOOL CancelIo(HANDLE);
|
|
2097 BOOL CancelWaitableTimer(HANDLE);
|
|
2098 PVOID ConvertThreadToFiber(PVOID);
|
|
2099 LPVOID CreateFiber(SIZE_T, LPFIBER_START_ROUTINE, LPVOID);
|
|
2100 HANDLE CreateWaitableTimerA(LPSECURITY_ATTRIBUTES, BOOL, LPCSTR);
|
|
2101 HANDLE CreateWaitableTimerW(LPSECURITY_ATTRIBUTES, BOOL, LPCWSTR);
|
|
2102 void DeleteFiber(PVOID);
|
|
2103 BOOL GetFileAttributesExA(LPCSTR, GET_FILEEX_INFO_LEVELS, PVOID);
|
|
2104 BOOL GetFileAttributesExW(LPCWSTR, GET_FILEEX_INFO_LEVELS, PVOID);
|
|
2105 DWORD GetLongPathNameA(LPCSTR, LPSTR, DWORD);
|
|
2106 DWORD GetLongPathNameW(LPCWSTR, LPWSTR, DWORD);
|
|
2107 BOOL InitializeCriticalSectionAndSpinCount(LPCRITICAL_SECTION, DWORD);
|
|
2108 BOOL IsDebuggerPresent();
|
|
2109 HANDLE OpenWaitableTimerA(DWORD, BOOL, LPCSTR);
|
|
2110 HANDLE OpenWaitableTimerW(DWORD, BOOL, LPCWSTR);
|
|
2111 DWORD QueryDosDeviceA(LPCSTR, LPSTR, DWORD);
|
|
2112 DWORD QueryDosDeviceW(LPCWSTR, LPWSTR, DWORD);
|
|
2113 BOOL SetWaitableTimer(HANDLE, LARGE_INTEGER*, LONG, PTIMERAPCROUTINE, PVOID, BOOL);
|
|
2114 void SwitchToFiber(PVOID);
|
|
2115 }
|
|
2116
|
|
2117 static if (WINVER >= 0x500) {
|
|
2118 HANDLE OpenThread(DWORD, BOOL, DWORD);
|
|
2119 }
|
|
2120
|
|
2121 static if (_WIN32_WINNT_ONLY) {
|
|
2122 BOOL AccessCheck(PSECURITY_DESCRIPTOR, HANDLE, DWORD, PGENERIC_MAPPING, PPRIVILEGE_SET, PDWORD, PDWORD, PBOOL);
|
|
2123 BOOL AccessCheckAndAuditAlarmA(LPCSTR, LPVOID, LPSTR, LPSTR, PSECURITY_DESCRIPTOR, DWORD, PGENERIC_MAPPING, BOOL, PDWORD, PBOOL, PBOOL);
|
|
2124 BOOL AccessCheckAndAuditAlarmW(LPCWSTR, LPVOID, LPWSTR, LPWSTR, PSECURITY_DESCRIPTOR, DWORD, PGENERIC_MAPPING, BOOL, PDWORD, PBOOL, PBOOL);
|
|
2125 BOOL AddAccessAllowedAce(PACL, DWORD, DWORD, PSID);
|
|
2126 BOOL AddAccessDeniedAce(PACL, DWORD, DWORD, PSID);
|
|
2127 BOOL AddAce(PACL, DWORD, DWORD, PVOID, DWORD);
|
|
2128 BOOL AddAuditAccessAce(PACL, DWORD, DWORD, PSID, BOOL, BOOL);
|
|
2129 BOOL AdjustTokenGroups(HANDLE, BOOL, PTOKEN_GROUPS, DWORD, PTOKEN_GROUPS, PDWORD);
|
|
2130 BOOL AdjustTokenPrivileges(HANDLE, BOOL, PTOKEN_PRIVILEGES, DWORD, PTOKEN_PRIVILEGES, PDWORD);
|
|
2131 BOOL AllocateAndInitializeSid(PSID_IDENTIFIER_AUTHORITY, BYTE, DWORD, DWORD, DWORD, DWORD, DWORD, DWORD, DWORD, DWORD, PSID*);
|
|
2132 BOOL AllocateLocallyUniqueId(PLUID);
|
|
2133 BOOL AreAllAccessesGranted(DWORD, DWORD);
|
|
2134 BOOL AreAnyAccessesGranted(DWORD, DWORD);
|
|
2135 BOOL BackupEventLogA(HANDLE, LPCSTR);
|
|
2136 BOOL BackupEventLogW(HANDLE, LPCWSTR);
|
|
2137 BOOL BackupRead(HANDLE, LPBYTE, DWORD, LPDWORD, BOOL, BOOL, LPVOID*);
|
|
2138 BOOL BackupSeek(HANDLE, DWORD, DWORD, LPDWORD, LPDWORD, LPVOID*);
|
|
2139 BOOL BackupWrite(HANDLE, LPBYTE, DWORD, LPDWORD, BOOL, BOOL, LPVOID*);
|
|
2140 BOOL ClearEventLogA(HANDLE, LPCSTR);
|
|
2141 BOOL ClearEventLogW(HANDLE, LPCWSTR);
|
|
2142 BOOL CloseEventLog(HANDLE);
|
|
2143 BOOL ConnectNamedPipe(HANDLE, LPOVERLAPPED);
|
|
2144 BOOL CopySid(DWORD, PSID, PSID);
|
|
2145 HANDLE CreateNamedPipeA(LPCSTR, DWORD, DWORD, DWORD, DWORD, DWORD, DWORD, LPSECURITY_ATTRIBUTES);
|
|
2146 HANDLE CreateNamedPipeW(LPCWSTR, DWORD, DWORD, DWORD, DWORD, DWORD, DWORD, LPSECURITY_ATTRIBUTES);
|
|
2147 BOOL CreatePrivateObjectSecurity(PSECURITY_DESCRIPTOR, PSECURITY_DESCRIPTOR, PSECURITY_DESCRIPTOR*, BOOL, HANDLE, PGENERIC_MAPPING);
|
|
2148 BOOL CreateProcessAsUserA(HANDLE, LPCSTR, LPSTR, LPSECURITY_ATTRIBUTES, LPSECURITY_ATTRIBUTES, BOOL, DWORD, PVOID, LPCSTR, LPSTARTUPINFOA, LPPROCESS_INFORMATION);
|
|
2149 BOOL CreateProcessAsUserW(HANDLE, LPCWSTR, LPWSTR, LPSECURITY_ATTRIBUTES, LPSECURITY_ATTRIBUTES, BOOL, DWORD, PVOID, LPCWSTR, LPSTARTUPINFOW, LPPROCESS_INFORMATION);
|
|
2150 HANDLE CreateRemoteThread(HANDLE, LPSECURITY_ATTRIBUTES, DWORD, LPTHREAD_START_ROUTINE, LPVOID, DWORD, LPDWORD);
|
|
2151 DWORD CreateTapePartition(HANDLE, DWORD, DWORD, DWORD);
|
|
2152 BOOL DefineDosDeviceA(DWORD, LPCSTR, LPCSTR);
|
|
2153 BOOL DefineDosDeviceW(DWORD, LPCWSTR, LPCWSTR);
|
|
2154 BOOL DeleteAce(PACL, DWORD);
|
|
2155 BOOL DeregisterEventSource(HANDLE);
|
|
2156 BOOL DestroyPrivateObjectSecurity(PSECURITY_DESCRIPTOR*);
|
|
2157 BOOL DeviceIoControl(HANDLE, DWORD, PVOID, DWORD, PVOID, DWORD, PDWORD, POVERLAPPED);
|
|
2158 BOOL DisconnectNamedPipe(HANDLE);
|
|
2159 BOOL DuplicateToken(HANDLE, SECURITY_IMPERSONATION_LEVEL, PHANDLE);
|
|
2160 BOOL DuplicateTokenEx(HANDLE, DWORD, LPSECURITY_ATTRIBUTES, SECURITY_IMPERSONATION_LEVEL, TOKEN_TYPE, PHANDLE);
|
|
2161 BOOL EqualPrefixSid(PSID, PSID);
|
|
2162 BOOL EqualSid(PSID, PSID);
|
|
2163 DWORD EraseTape(HANDLE, DWORD, BOOL);
|
|
2164 HANDLE FindFirstFileExA(LPCSTR, FINDEX_INFO_LEVELS, PVOID, FINDEX_SEARCH_OPS, PVOID, DWORD);
|
|
2165 HANDLE FindFirstFileExW(LPCWSTR, FINDEX_INFO_LEVELS, PVOID, FINDEX_SEARCH_OPS, PVOID, DWORD);
|
|
2166 BOOL FindFirstFreeAce(PACL, PVOID*);
|
|
2167 PVOID FreeSid(PSID);
|
|
2168 BOOL GetAce(PACL, DWORD, LPVOID*);
|
|
2169 BOOL GetAclInformation(PACL, PVOID, DWORD, ACL_INFORMATION_CLASS);
|
|
2170 BOOL GetBinaryTypeA(LPCSTR, PDWORD);
|
|
2171 BOOL GetBinaryTypeW(LPCWSTR, PDWORD);
|
|
2172 DWORD GetCompressedFileSizeA(LPCSTR, PDWORD);
|
|
2173 DWORD GetCompressedFileSizeW(LPCWSTR, PDWORD);
|
|
2174 BOOL GetCurrentHwProfileA(LPHW_PROFILE_INFOA);
|
|
2175 BOOL GetCurrentHwProfileW(LPHW_PROFILE_INFOW);
|
|
2176 BOOL GetFileSecurityA(LPCSTR, SECURITY_INFORMATION, PSECURITY_DESCRIPTOR, DWORD, PDWORD);
|
|
2177 BOOL GetFileSecurityW(LPCWSTR, SECURITY_INFORMATION, PSECURITY_DESCRIPTOR, DWORD, PDWORD);
|
|
2178 BOOL GetHandleInformation(HANDLE, PDWORD);
|
|
2179 BOOL GetKernelObjectSecurity(HANDLE, SECURITY_INFORMATION, PSECURITY_DESCRIPTOR, DWORD, PDWORD);
|
|
2180 DWORD GetLengthSid(PSID);
|
|
2181 BOOL GetNumberOfEventLogRecords(HANDLE, PDWORD);
|
|
2182 BOOL GetOldestEventLogRecord(HANDLE, PDWORD);
|
|
2183 BOOL GetPrivateObjectSecurity(PSECURITY_DESCRIPTOR, SECURITY_INFORMATION, PSECURITY_DESCRIPTOR, DWORD, PDWORD);
|
|
2184 BOOL GetProcessPriorityBoost(HANDLE, PBOOL);
|
|
2185 BOOL GetProcessShutdownParameters(PDWORD, PDWORD);
|
|
2186 BOOL GetProcessTimes(HANDLE, LPFILETIME, LPFILETIME, LPFILETIME, LPFILETIME);
|
|
2187 HWINSTA GetProcessWindowStation();
|
|
2188 BOOL GetProcessWorkingSetSize(HANDLE, PSIZE_T, PSIZE_T);
|
|
2189 BOOL GetQueuedCompletionStatus(HANDLE, PDWORD, PULONG_PTR, LPOVERLAPPED*, DWORD);
|
|
2190 BOOL GetSecurityDescriptorControl(PSECURITY_DESCRIPTOR, PSECURITY_DESCRIPTOR_CONTROL, PDWORD);
|
|
2191 BOOL GetSecurityDescriptorDacl(PSECURITY_DESCRIPTOR, LPBOOL, PACL*, LPBOOL);
|
|
2192 BOOL GetSecurityDescriptorGroup(PSECURITY_DESCRIPTOR, PSID*, LPBOOL);
|
|
2193 DWORD GetSecurityDescriptorLength(PSECURITY_DESCRIPTOR);
|
|
2194 BOOL GetSecurityDescriptorOwner(PSECURITY_DESCRIPTOR, PSID*, LPBOOL);
|
|
2195 BOOL GetSecurityDescriptorSacl(PSECURITY_DESCRIPTOR, LPBOOL, PACL*, LPBOOL);
|
|
2196 PSID_IDENTIFIER_AUTHORITY GetSidIdentifierAuthority(PSID);
|
|
2197 DWORD GetSidLengthRequired(UCHAR);
|
|
2198 PDWORD GetSidSubAuthority(PSID, DWORD);
|
|
2199 PUCHAR GetSidSubAuthorityCount(PSID);
|
|
2200 DWORD GetTapeParameters(HANDLE, DWORD, PDWORD, PVOID);
|
|
2201 DWORD GetTapePosition(HANDLE, DWORD, PDWORD, PDWORD, PDWORD);
|
|
2202 DWORD GetTapeStatus(HANDLE);
|
|
2203 BOOL GetThreadPriorityBoost(HANDLE, PBOOL);
|
|
2204 BOOL GetThreadTimes(HANDLE, LPFILETIME, LPFILETIME, LPFILETIME, LPFILETIME);
|
|
2205 BOOL GetTokenInformation(HANDLE, TOKEN_INFORMATION_CLASS, PVOID, DWORD, PDWORD);
|
|
2206 BOOL ImpersonateLoggedOnUser(HANDLE);
|
|
2207 BOOL ImpersonateNamedPipeClient(HANDLE);
|
|
2208 BOOL ImpersonateSelf(SECURITY_IMPERSONATION_LEVEL);
|
|
2209 BOOL InitializeAcl(PACL, DWORD, DWORD);
|
|
2210 DWORD SetCriticalSectionSpinCount(LPCRITICAL_SECTION, DWORD);
|
|
2211 BOOL InitializeSecurityDescriptor(PSECURITY_DESCRIPTOR, DWORD);
|
|
2212 BOOL InitializeSid(PSID, PSID_IDENTIFIER_AUTHORITY, BYTE);
|
|
2213 BOOL IsProcessorFeaturePresent(DWORD);
|
|
2214 BOOL IsTextUnicode(PCVOID, int, LPINT);
|
|
2215 BOOL IsValidAcl(PACL);
|
|
2216 BOOL IsValidSecurityDescriptor(PSECURITY_DESCRIPTOR);
|
|
2217 BOOL IsValidSid(PSID);
|
|
2218 BOOL LockFileEx(HANDLE, DWORD, DWORD, DWORD, DWORD, LPOVERLAPPED);
|
|
2219 BOOL LogonUserA(LPSTR, LPSTR, LPSTR, DWORD, DWORD, PHANDLE);
|
|
2220 BOOL LogonUserW(LPWSTR, LPWSTR, LPWSTR, DWORD, DWORD, PHANDLE);
|
|
2221 BOOL LookupAccountNameA(LPCSTR, LPCSTR, PSID, PDWORD, LPSTR, PDWORD, PSID_NAME_USE);
|
|
2222 BOOL LookupAccountNameW(LPCWSTR, LPCWSTR, PSID, PDWORD, LPWSTR, PDWORD, PSID_NAME_USE);
|
|
2223 BOOL LookupAccountSidA(LPCSTR, PSID, LPSTR, PDWORD, LPSTR, PDWORD, PSID_NAME_USE);
|
|
2224 BOOL LookupAccountSidW(LPCWSTR, PSID, LPWSTR, PDWORD, LPWSTR, PDWORD, PSID_NAME_USE);
|
|
2225 BOOL LookupPrivilegeDisplayNameA(LPCSTR, LPCSTR, LPSTR, PDWORD, PDWORD);
|
|
2226 BOOL LookupPrivilegeDisplayNameW(LPCWSTR, LPCWSTR, LPWSTR, PDWORD, PDWORD);
|
|
2227 BOOL LookupPrivilegeNameA(LPCSTR, PLUID, LPSTR, PDWORD);
|
|
2228 BOOL LookupPrivilegeNameW(LPCWSTR, PLUID, LPWSTR, PDWORD);
|
|
2229 BOOL LookupPrivilegeValueA(LPCSTR, LPCSTR, PLUID);
|
|
2230 BOOL LookupPrivilegeValueW(LPCWSTR, LPCWSTR, PLUID);
|
|
2231 BOOL MakeAbsoluteSD(PSECURITY_DESCRIPTOR, PSECURITY_DESCRIPTOR, PDWORD, PACL, PDWORD, PACL, PDWORD, PSID, PDWORD, PSID, PDWORD);
|
|
2232 BOOL MakeSelfRelativeSD(PSECURITY_DESCRIPTOR, PSECURITY_DESCRIPTOR, PDWORD);
|
|
2233 VOID MapGenericMask(PDWORD, PGENERIC_MAPPING);
|
|
2234 BOOL MoveFileExA(LPCSTR, LPCSTR, DWORD);
|
|
2235 BOOL MoveFileExW(LPCWSTR, LPCWSTR, DWORD);
|
|
2236 BOOL NotifyChangeEventLog(HANDLE, HANDLE);
|
|
2237 BOOL ObjectCloseAuditAlarmA(LPCSTR, PVOID, BOOL);
|
|
2238 BOOL ObjectCloseAuditAlarmW(LPCWSTR, PVOID, BOOL);
|
|
2239 BOOL ObjectDeleteAuditAlarmA(LPCSTR, PVOID, BOOL);
|
|
2240 BOOL ObjectDeleteAuditAlarmW(LPCWSTR, PVOID, BOOL);
|
|
2241 BOOL ObjectOpenAuditAlarmA(LPCSTR, PVOID, LPSTR, LPSTR, PSECURITY_DESCRIPTOR, HANDLE, DWORD, DWORD, PPRIVILEGE_SET, BOOL, BOOL, PBOOL);
|
|
2242 BOOL ObjectOpenAuditAlarmW(LPCWSTR, PVOID, LPWSTR, LPWSTR, PSECURITY_DESCRIPTOR, HANDLE, DWORD, DWORD, PPRIVILEGE_SET, BOOL, BOOL, PBOOL);
|
|
2243 BOOL ObjectPrivilegeAuditAlarmA(LPCSTR, PVOID, HANDLE, DWORD, PPRIVILEGE_SET, BOOL);
|
|
2244 BOOL ObjectPrivilegeAuditAlarmW(LPCWSTR, PVOID, HANDLE, DWORD, PPRIVILEGE_SET, BOOL);
|
|
2245 HANDLE OpenBackupEventLogA(LPCSTR, LPCSTR);
|
|
2246 HANDLE OpenBackupEventLogW(LPCWSTR, LPCWSTR);
|
|
2247 HANDLE OpenEventLogA(LPCSTR, LPCSTR);
|
|
2248 HANDLE OpenEventLogW(LPCWSTR, LPCWSTR);
|
|
2249 BOOL OpenProcessToken(HANDLE, DWORD, PHANDLE);
|
|
2250 BOOL OpenThreadToken(HANDLE, DWORD, BOOL, PHANDLE);
|
|
2251 BOOL PostQueuedCompletionStatus(HANDLE, DWORD, ULONG_PTR, LPOVERLAPPED);
|
|
2252 DWORD PrepareTape(HANDLE, DWORD, BOOL);
|
|
2253 BOOL PrivilegeCheck(HANDLE, PPRIVILEGE_SET, PBOOL);
|
|
2254 BOOL PrivilegedServiceAuditAlarmA(LPCSTR, LPCSTR, HANDLE, PPRIVILEGE_SET, BOOL);
|
|
2255 BOOL PrivilegedServiceAuditAlarmW(LPCWSTR, LPCWSTR, HANDLE, PPRIVILEGE_SET, BOOL);
|
|
2256 BOOL ReadDirectoryChangesW(HANDLE, PVOID, DWORD, BOOL, DWORD, PDWORD, LPOVERLAPPED, LPOVERLAPPED_COMPLETION_ROUTINE);
|
|
2257 BOOL ReadEventLogA(HANDLE, DWORD, DWORD, PVOID, DWORD, DWORD*, DWORD*);
|
|
2258 BOOL ReadEventLogW(HANDLE, DWORD, DWORD, PVOID, DWORD, DWORD*, DWORD*);
|
|
2259 BOOL ReadFileScatter(HANDLE, FILE_SEGMENT_ELEMENT*, DWORD, LPDWORD, LPOVERLAPPED);
|
|
2260 HANDLE RegisterEventSourceA (LPCSTR, LPCSTR);
|
|
2261 HANDLE RegisterEventSourceW(LPCWSTR, LPCWSTR);
|
|
2262 BOOL ReportEventA(HANDLE, WORD, WORD, DWORD, PSID, WORD, DWORD, LPCSTR*, PVOID);
|
|
2263 BOOL ReportEventW(HANDLE, WORD, WORD, DWORD, PSID, WORD, DWORD, LPCWSTR*, PVOID);
|
|
2264 BOOL RevertToSelf();
|
|
2265 BOOL SetAclInformation(PACL, PVOID, DWORD, ACL_INFORMATION_CLASS);
|
|
2266 BOOL SetFileSecurityA(LPCSTR, SECURITY_INFORMATION, PSECURITY_DESCRIPTOR);
|
|
2267 BOOL SetFileSecurityW(LPCWSTR, SECURITY_INFORMATION, PSECURITY_DESCRIPTOR);
|
|
2268 BOOL SetHandleInformation(HANDLE, DWORD, DWORD);
|
|
2269 BOOL SetKernelObjectSecurity(HANDLE, SECURITY_INFORMATION, PSECURITY_DESCRIPTOR);
|
|
2270 BOOL SetPrivateObjectSecurity(SECURITY_INFORMATION, PSECURITY_DESCRIPTOR, PSECURITY_DESCRIPTOR* , PGENERIC_MAPPING, HANDLE);
|
|
2271 BOOL SetProcessAffinityMask(HANDLE, DWORD);
|
|
2272 BOOL SetProcessPriorityBoost(HANDLE, BOOL);
|
|
2273 BOOL SetProcessShutdownParameters(DWORD, DWORD);
|
|
2274 BOOL SetProcessWorkingSetSize(HANDLE, SIZE_T, SIZE_T);
|
|
2275 BOOL SetSecurityDescriptorDacl(PSECURITY_DESCRIPTOR, BOOL, PACL, BOOL);
|
|
2276 BOOL SetSecurityDescriptorGroup(PSECURITY_DESCRIPTOR, PSID, BOOL);
|
|
2277 BOOL SetSecurityDescriptorOwner(PSECURITY_DESCRIPTOR, PSID, BOOL);
|
|
2278 BOOL SetSecurityDescriptorSacl(PSECURITY_DESCRIPTOR, BOOL, PACL, BOOL);
|
|
2279 BOOL SetSystemTimeAdjustment(DWORD, BOOL);
|
|
2280 DWORD SetTapeParameters(HANDLE, DWORD, PVOID);
|
|
2281 DWORD SetTapePosition(HANDLE, DWORD, DWORD, DWORD, DWORD, BOOL);
|
|
2282 BOOL SetThreadPriorityBoost(HANDLE, BOOL);
|
|
2283 BOOL SetThreadToken(PHANDLE, HANDLE);
|
|
2284 BOOL SetTokenInformation(HANDLE, TOKEN_INFORMATION_CLASS, PVOID, DWORD);
|
|
2285 DWORD SignalObjectAndWait(HANDLE, HANDLE, DWORD, BOOL);
|
|
2286 BOOL SwitchToThread();
|
|
2287 BOOL SystemTimeToTzSpecificLocalTime(LPTIME_ZONE_INFORMATION, LPSYSTEMTIME, LPSYSTEMTIME);
|
|
2288 BOOL TryEnterCriticalSection(LPCRITICAL_SECTION);
|
|
2289 BOOL UnlockFileEx(HANDLE, DWORD, DWORD, DWORD, LPOVERLAPPED);
|
|
2290 BOOL UpdateResourceA(HANDLE, LPCSTR, LPCSTR, WORD, PVOID, DWORD);
|
|
2291 BOOL UpdateResourceW(HANDLE, LPCWSTR, LPCWSTR, WORD, PVOID, DWORD);
|
|
2292 BOOL WriteFileGather(HANDLE, FILE_SEGMENT_ELEMENT*, DWORD, LPDWORD, LPOVERLAPPED);
|
|
2293 DWORD WriteTapemark(HANDLE, DWORD, DWORD, BOOL);
|
|
2294
|
|
2295 static if (_WIN32_WINNT >= 0x500) {
|
|
2296 BOOL AddAccessAllowedAceEx(PACL, DWORD, DWORD, DWORD, PSID);
|
|
2297 BOOL AddAccessDeniedAceEx(PACL, DWORD, DWORD, DWORD, PSID);
|
|
2298 PVOID AddVectoredExceptionHandler(ULONG, PVECTORED_EXCEPTION_HANDLER);
|
|
2299 BOOL AllocateUserPhysicalPages(HANDLE, PULONG_PTR, PULONG_PTR);
|
|
2300 BOOL AssignProcessToJobObject(HANDLE, HANDLE);
|
|
2301 BOOL ChangeTimerQueueTimer(HANDLE,HANDLE,ULONG,ULONG);
|
|
2302 LPVOID CreateFiberEx(SIZE_T, SIZE_T, DWORD, LPFIBER_START_ROUTINE, LPVOID);
|
|
2303 HANDLE CreateFileMappingA(HANDLE, LPSECURITY_ATTRIBUTES, DWORD, DWORD, DWORD, LPCSTR);
|
|
2304 HANDLE CreateFileMappingW(HANDLE, LPSECURITY_ATTRIBUTES, DWORD, DWORD, DWORD, LPCWSTR);
|
|
2305 BOOL CreateHardLinkA(LPCSTR, LPCSTR, LPSECURITY_ATTRIBUTES);
|
|
2306 BOOL CreateHardLinkW(LPCWSTR, LPCWSTR, LPSECURITY_ATTRIBUTES);
|
|
2307 HANDLE CreateJobObjectA(LPSECURITY_ATTRIBUTES, LPCSTR);
|
|
2308 HANDLE CreateJobObjectW(LPSECURITY_ATTRIBUTES, LPCWSTR);
|
|
2309 BOOL CreateProcessWithLogonW(LPCWSTR, LPCWSTR, LPCWSTR, DWORD, LPCWSTR, LPWSTR, DWORD, LPVOID, LPCWSTR, LPSTARTUPINFOW, LPPROCESS_INFORMATION);
|
|
2310 HANDLE CreateTimerQueue();
|
|
2311 BOOL CreateTimerQueueTimer(PHANDLE, HANDLE, WAITORTIMERCALLBACK, PVOID, DWORD, DWORD, ULONG);
|
|
2312 BOOL DeleteTimerQueue(HANDLE);
|
|
2313 BOOL DeleteTimerQueueEx(HANDLE, HANDLE);
|
|
2314 BOOL DeleteTimerQueueTimer(HANDLE, HANDLE, HANDLE);
|
|
2315 BOOL DeleteVolumeMountPointA(LPCSTR);
|
|
2316 BOOL DeleteVolumeMountPointW(LPCWSTR);
|
|
2317 BOOL DnsHostnameToComputerNameA(LPCSTR, LPSTR, LPDWORD);
|
|
2318 BOOL DnsHostnameToComputerNameW(LPCWSTR, LPWSTR, LPDWORD);
|
|
2319 BOOL EncryptFileA(LPCSTR);
|
|
2320 BOOL EncryptFileW(LPCWSTR);
|
|
2321 BOOL FileEncryptionStatusA(LPCSTR, LPDWORD);
|
|
2322 BOOL FileEncryptionStatusW(LPCWSTR, LPDWORD);
|
|
2323 HANDLE FindFirstVolumeA(LPCSTR, DWORD);
|
|
2324 HANDLE FindFirstVolumeMountPointA(LPSTR, LPSTR, DWORD);
|
|
2325 HANDLE FindFirstVolumeMountPointW(LPWSTR, LPWSTR, DWORD);
|
|
2326 HANDLE FindFirstVolumeW(LPCWSTR, DWORD);
|
|
2327 BOOL FindNextVolumeA(HANDLE, LPCSTR, DWORD);
|
|
2328 BOOL FindNextVolumeW(HANDLE, LPWSTR, DWORD);
|
|
2329 BOOL FindNextVolumeMountPointA(HANDLE, LPSTR, DWORD);
|
|
2330 BOOL FindNextVolumeMountPointW(HANDLE, LPWSTR, DWORD);
|
|
2331 BOOL FindVolumeClose(HANDLE);
|
|
2332 BOOL FindVolumeMountPointClose(HANDLE);
|
|
2333 BOOL FlushViewOfFile(PCVOID, DWORD);
|
|
2334 BOOL FreeUserPhysicalPages(HANDLE, PULONG_PTR, PULONG_PTR);
|
|
2335 BOOL GetComputerNameExA(COMPUTER_NAME_FORMAT, LPSTR, LPDWORD);
|
|
2336 BOOL GetComputerNameExW(COMPUTER_NAME_FORMAT, LPWSTR, LPDWORD);
|
|
2337 BOOL GetFileSizeEx(HANDLE, PLARGE_INTEGER);
|
|
2338 BOOL GetModuleHandleExA(DWORD, LPCSTR, HMODULE*);
|
|
2339 BOOL GetModuleHandleExW(DWORD, LPCWSTR, HMODULE*);
|
|
2340 HANDLE GetProcessHeap();
|
|
2341 DWORD GetProcessHeaps(DWORD, PHANDLE);
|
|
2342 BOOL GetProcessIoCounters(HANDLE, PIO_COUNTERS);
|
|
2343 BOOL GetSystemPowerStatus(LPSYSTEM_POWER_STATUS);
|
|
2344 UINT GetSystemWindowsDirectoryA(LPSTR, UINT);
|
|
2345 UINT GetSystemWindowsDirectoryW(LPWSTR, UINT);
|
|
2346 BOOL GetVolumeNameForVolumeMountPointA(LPCSTR, LPSTR, DWORD);
|
|
2347 BOOL GetVolumeNameForVolumeMountPointW(LPCWSTR, LPWSTR, DWORD);
|
|
2348 BOOL GetVolumePathNameA(LPCSTR, LPSTR, DWORD);
|
|
2349 BOOL GetVolumePathNameW(LPCWSTR, LPWSTR, DWORD);
|
|
2350 BOOL GlobalMemoryStatusEx(LPMEMORYSTATUSEX);
|
|
2351 BOOL IsBadCodePtr(FARPROC);
|
|
2352 BOOL IsSystemResumeAutomatic();
|
|
2353 BOOL MapUserPhysicalPages(PVOID, ULONG_PTR, PULONG_PTR);
|
|
2354 BOOL MapUserPhysicalPagesScatter(PVOID*, ULONG_PTR, PULONG_PTR);
|
|
2355 PVOID MapViewOfFile(HANDLE, DWORD, DWORD, DWORD, DWORD);
|
|
2356 PVOID MapViewOfFileEx(HANDLE, DWORD, DWORD, DWORD, DWORD, PVOID);
|
|
2357 HANDLE OpenFileMappingA(DWORD, BOOL, LPCSTR);
|
|
2358 HANDLE OpenFileMappingW(DWORD, BOOL, LPCWSTR);
|
|
2359 BOOL ProcessIdToSessionId(DWORD, DWORD*);
|
|
2360 BOOL QueryInformationJobObject(HANDLE, JOBOBJECTINFOCLASS, LPVOID, DWORD, LPDWORD);
|
|
2361 ULONG RemoveVectoredExceptionHandler(PVOID);
|
|
2362 BOOL ReplaceFileA(LPCSTR, LPCSTR, LPCSTR, DWORD, LPVOID, LPVOID);
|
|
2363 BOOL ReplaceFileW(LPCWSTR, LPCWSTR, LPCWSTR, DWORD, LPVOID, LPVOID);
|
|
2364 BOOL SetComputerNameExA(COMPUTER_NAME_FORMAT, LPCSTR);
|
|
2365 BOOL SetComputerNameExW(COMPUTER_NAME_FORMAT, LPCWSTR);
|
|
2366 BOOL SetFilePointerEx(HANDLE, LARGE_INTEGER, PLARGE_INTEGER, DWORD);
|
|
2367 BOOL SetInformationJobObject(HANDLE, JOBOBJECTINFOCLASS, LPVOID, DWORD);
|
|
2368 BOOL SetSecurityDescriptorControl(PSECURITY_DESCRIPTOR, SECURITY_DESCRIPTOR_CONTROL, SECURITY_DESCRIPTOR_CONTROL);
|
|
2369 BOOL SetSystemPowerState(BOOL, BOOL);
|
|
2370 EXECUTION_STATE SetThreadExecutionState(EXECUTION_STATE);
|
|
2371 DWORD SetThreadIdealProcessor(HANDLE, DWORD);
|
|
2372 BOOL SetVolumeMountPointA(LPCSTR, LPCSTR);
|
|
2373 BOOL SetVolumeMountPointW(LPCWSTR, LPCWSTR);
|
|
2374 BOOL TerminateJobObject(HANDLE, UINT);
|
|
2375 BOOL UnmapViewOfFile(PVOID);
|
|
2376 BOOL UnregisterWait(HANDLE);
|
|
2377 BOOL UnregisterWaitEx(HANDLE, HANDLE);
|
|
2378 BOOL VerifyVersionInfoA(LPOSVERSIONINFOEXA, DWORD, DWORDLONG);
|
|
2379 BOOL VerifyVersionInfoW(LPOSVERSIONINFOEXW, DWORD, DWORDLONG);
|
|
2380 }
|
|
2381
|
|
2382 static if (_WIN32_WINNT >= 0x501) {
|
|
2383 BOOL ActivateActCtx(HANDLE, ULONG_PTR*);
|
|
2384 void AddRefActCtx(HANDLE);
|
|
2385 BOOL CheckNameLegalDOS8Dot3A(LPCSTR, LPSTR, DWORD, PBOOL, PBOOL);
|
|
2386 BOOL CheckNameLegalDOS8Dot3W(LPCWSTR, LPSTR, DWORD, PBOOL, PBOOL);
|
|
2387 BOOL CheckRemoteDebuggerPresent(HANDLE, PBOOL);
|
|
2388 BOOL ConvertFiberToThread();
|
|
2389 HANDLE CreateActCtxA(PCACTCTXA);
|
|
2390 HANDLE CreateActCtxW(PCACTCTXW);
|
|
2391 HANDLE CreateMemoryResourceNotification(MEMORY_RESOURCE_NOTIFICATION_TYPE);
|
|
2392 BOOL DeactivateActCtx(DWORD, ULONG_PTR);
|
|
2393 BOOL DebugActiveProcessStop(DWORD);
|
|
2394 BOOL DebugBreakProcess(HANDLE);
|
|
2395 BOOL DebugSetProcessKillOnExit(BOOL);
|
|
2396 BOOL FindActCtxSectionGuid(DWORD, GUID*, ULONG, GUID*,
|
|
2397 PACTCTX_SECTION_KEYED_DATA);
|
|
2398 BOOL FindActCtxSectionStringA(DWORD, GUID*, ULONG, LPCSTR,
|
|
2399 PACTCTX_SECTION_KEYED_DATA);
|
|
2400 BOOL FindActCtxSectionStringW(DWORD, GUID*, ULONG, LPCWSTR,
|
|
2401 PACTCTX_SECTION_KEYED_DATA);
|
|
2402 BOOL GetCurrentActCtx(HANDLE*);
|
|
2403 VOID GetNativeSystemInfo(LPSYSTEM_INFO);
|
|
2404 BOOL GetProcessHandleCount(HANDLE, PDWORD);
|
|
2405 BOOL GetSystemRegistryQuota(PDWORD, PDWORD);
|
|
2406 BOOL GetSystemTimes(LPFILETIME, LPFILETIME, LPFILETIME);
|
|
2407 UINT GetSystemWow64DirectoryA(LPSTR, UINT);
|
|
2408 UINT GetSystemWow64DirectoryW(LPWSTR, UINT);
|
|
2409 BOOL GetThreadIOPendingFlag(HANDLE, PBOOL);
|
|
2410 BOOL GetVolumePathNamesForVolumeNameA(LPCSTR, LPSTR, DWORD, PDWORD);
|
|
2411 BOOL GetVolumePathNamesForVolumeNameW(LPCWSTR, LPWSTR, DWORD, PDWORD);
|
|
2412 UINT GetWriteWatch(DWORD, PVOID, SIZE_T, PVOID*, PULONG_PTR, PULONG);
|
|
2413 BOOL HeapQueryInformation(HANDLE, HEAP_INFORMATION_CLASS, PVOID, SIZE_T, PSIZE_T);
|
|
2414 BOOL HeapSetInformation(HANDLE, HEAP_INFORMATION_CLASS, PVOID, SIZE_T);
|
|
2415 BOOL IsProcessInJob(HANDLE, HANDLE, PBOOL);
|
|
2416 BOOL IsWow64Process(HANDLE, PBOOL);
|
|
2417 BOOL QueryActCtxW(DWORD, HANDLE, PVOID, ULONG, PVOID, SIZE_T, SIZE_T*);
|
|
2418 BOOL QueryMemoryResourceNotification(HANDLE, PBOOL);
|
|
2419 void ReleaseActCtx(HANDLE);
|
|
2420 UINT ResetWriteWatch(LPVOID, SIZE_T);
|
|
2421 BOOL SetFileShortNameA(HANDLE, LPCSTR);
|
|
2422 BOOL SetFileShortNameW(HANDLE, LPCWSTR);
|
|
2423 BOOL SetFileValidData(HANDLE, LONGLONG);
|
|
2424 BOOL ZombifyActCtx(HANDLE);
|
|
2425 }
|
|
2426
|
|
2427 static if (_WIN32_WINNT >= 0x502) {
|
|
2428 DWORD GetFirmwareEnvironmentVariableA(LPCSTR, LPCSTR, PVOID, DWORD);
|
|
2429 DWORD GetFirmwareEnvironmentVariableW(LPCWSTR, LPCWSTR, PVOID, DWORD);
|
|
2430 DWORD GetDllDirectoryA(DWORD, LPSTR);
|
|
2431 DWORD GetDllDirectoryW(DWORD, LPWSTR);
|
|
2432 DWORD GetProcessId(HANDLE);
|
|
2433 HANDLE ReOpenFile(HANDLE, DWORD, DWORD, DWORD);
|
|
2434 BOOL SetDllDirectoryA(LPCSTR);
|
|
2435 BOOL SetDllDirectoryW(LPCWSTR);
|
|
2436 BOOL SetFirmwareEnvironmentVariableA(LPCSTR, LPCSTR, PVOID, DWORD);
|
|
2437 BOOL SetFirmwareEnvironmentVariableW(LPCWSTR, LPCWSTR, PVOID, DWORD);
|
|
2438 }
|
|
2439 }
|
|
2440
|
|
2441 // ???
|
|
2442 static if (_WIN32_WINNT >= 0x510) {
|
|
2443 VOID RestoreLastError(DWORD);
|
|
2444 }
|
|
2445 }
|
|
2446
|
|
2447
|
|
2448 version (Unicode) {
|
|
2449 alias STARTUPINFOW STARTUPINFO;
|
|
2450 alias WIN32_FIND_DATAW WIN32_FIND_DATA;
|
|
2451 alias ENUMRESLANGPROCW ENUMRESLANGPROC;
|
|
2452 alias ENUMRESNAMEPROCW ENUMRESNAMEPROC;
|
|
2453 alias ENUMRESTYPEPROCW ENUMRESTYPEPROC;
|
|
2454 alias AddAtomW AddAtom;
|
|
2455 alias BeginUpdateResourceW BeginUpdateResource;
|
|
2456 alias BuildCommDCBW BuildCommDCB;
|
|
2457 alias BuildCommDCBAndTimeoutsW BuildCommDCBAndTimeouts;
|
|
2458 alias CallNamedPipeW CallNamedPipe;
|
|
2459 alias CommConfigDialogW CommConfigDialog;
|
|
2460 alias CopyFileW CopyFile;
|
|
2461 alias CopyFileExW CopyFileEx;
|
|
2462 alias CreateDirectoryW CreateDirectory;
|
|
2463 alias CreateDirectoryExW CreateDirectoryEx;
|
|
2464 alias CreateEventW CreateEvent;
|
|
2465 alias CreateFileW CreateFile;
|
|
2466 alias CreateMailslotW CreateMailslot;
|
|
2467 alias CreateMutexW CreateMutex;
|
|
2468 alias CreateProcessW CreateProcess;
|
|
2469 alias CreateSemaphoreW CreateSemaphore;
|
|
2470 alias DeleteFileW DeleteFile;
|
|
2471 alias EndUpdateResourceW EndUpdateResource;
|
|
2472 alias EnumResourceLanguagesW EnumResourceLanguages;
|
|
2473 alias EnumResourceNamesW EnumResourceNames;
|
|
2474 alias EnumResourceTypesW EnumResourceTypes;
|
|
2475 alias ExpandEnvironmentStringsW ExpandEnvironmentStrings;
|
|
2476 alias FatalAppExitW FatalAppExit;
|
|
2477 alias FindAtomW FindAtom;
|
|
2478 alias FindFirstChangeNotificationW FindFirstChangeNotification;
|
|
2479 alias FindFirstFileW FindFirstFile;
|
|
2480 alias FindNextFileW FindNextFile;
|
|
2481 alias FindResourceW FindResource;
|
|
2482 alias FindResourceExW FindResourceEx;
|
|
2483 alias FormatMessageW FormatMessage;
|
|
2484 alias FreeEnvironmentStringsW FreeEnvironmentStrings;
|
|
2485 alias GetAtomNameW GetAtomName;
|
|
2486 alias GetCommandLineW GetCommandLine;
|
|
2487 alias GetComputerNameW GetComputerName;
|
|
2488 alias GetCurrentDirectoryW GetCurrentDirectory;
|
|
2489 alias GetDefaultCommConfigW GetDefaultCommConfig;
|
|
2490 alias GetDiskFreeSpaceW GetDiskFreeSpace;
|
|
2491 alias GetDiskFreeSpaceExW GetDiskFreeSpaceEx;
|
|
2492 alias GetDriveTypeW GetDriveType;
|
|
2493 alias GetEnvironmentStringsW GetEnvironmentStrings;
|
|
2494 alias GetEnvironmentVariableW GetEnvironmentVariable;
|
|
2495 alias GetFileAttributesW GetFileAttributes;
|
|
2496 alias GetFullPathNameW GetFullPathName;
|
|
2497 alias GetLogicalDriveStringsW GetLogicalDriveStrings;
|
|
2498 alias GetModuleFileNameW GetModuleFileName;
|
|
2499 alias GetModuleHandleW GetModuleHandle;
|
|
2500 alias GetNamedPipeHandleStateW GetNamedPipeHandleState;
|
|
2501 alias GetPrivateProfileIntW GetPrivateProfileInt;
|
|
2502 alias GetPrivateProfileSectionW GetPrivateProfileSection;
|
|
2503 alias GetPrivateProfileSectionNamesW GetPrivateProfileSectionNames;
|
|
2504 alias GetPrivateProfileStringW GetPrivateProfileString;
|
|
2505 alias GetPrivateProfileStructW GetPrivateProfileStruct;
|
|
2506 alias GetProfileIntW GetProfileInt;
|
|
2507 alias GetProfileSectionW GetProfileSection;
|
|
2508 alias GetProfileStringW GetProfileString;
|
|
2509 alias GetShortPathNameW GetShortPathName;
|
|
2510 alias GetStartupInfoW GetStartupInfo;
|
|
2511 alias GetSystemDirectoryW GetSystemDirectory;
|
|
2512 alias GetTempFileNameW GetTempFileName;
|
|
2513 alias GetTempPathW GetTempPath;
|
|
2514 alias GetUserNameW GetUserName;
|
|
2515 alias GetVersionExW GetVersionEx;
|
|
2516 alias GetVolumeInformationW GetVolumeInformation;
|
|
2517 alias GetWindowsDirectoryW GetWindowsDirectory;
|
|
2518 alias GlobalAddAtomW GlobalAddAtom;
|
|
2519 alias GlobalFindAtomW GlobalFindAtom;
|
|
2520 alias GlobalGetAtomNameW GlobalGetAtomName;
|
|
2521 alias IsBadStringPtrW IsBadStringPtr;
|
|
2522 alias LoadLibraryW LoadLibrary;
|
|
2523 alias LoadLibraryExW LoadLibraryEx;
|
|
2524 alias lstrcatW lstrcat;
|
|
2525 alias lstrcmpW lstrcmp;
|
|
2526 alias lstrcmpiW lstrcmpi;
|
|
2527 alias lstrcpyW lstrcpy;
|
|
2528 alias lstrcpynW lstrcpyn;
|
|
2529 alias lstrlenW lstrlen;
|
|
2530 alias MoveFileW MoveFile;
|
|
2531 alias OpenEventW OpenEvent;
|
|
2532 alias OpenMutexW OpenMutex;
|
|
2533 alias OpenSemaphoreW OpenSemaphore;
|
|
2534 alias OutputDebugStringW OutputDebugString;
|
|
2535 alias RemoveDirectoryW RemoveDirectory;
|
|
2536 alias SearchPathW SearchPath;
|
|
2537 alias SetComputerNameW SetComputerName;
|
|
2538 alias SetCurrentDirectoryW SetCurrentDirectory;
|
|
2539 alias SetDefaultCommConfigW SetDefaultCommConfig;
|
|
2540 alias SetEnvironmentVariableW SetEnvironmentVariable;
|
|
2541 alias SetFileAttributesW SetFileAttributes;
|
|
2542 alias SetVolumeLabelW SetVolumeLabel;
|
|
2543 alias WaitNamedPipeW WaitNamedPipe;
|
|
2544 alias WritePrivateProfileSectionW WritePrivateProfileSection;
|
|
2545 alias WritePrivateProfileStringW WritePrivateProfileString;
|
|
2546 alias WritePrivateProfileStructW WritePrivateProfileStruct;
|
|
2547 alias WriteProfileSectionW WriteProfileSection;
|
|
2548 alias WriteProfileStringW WriteProfileString;
|
|
2549
|
|
2550 static if (_WIN32_WINDOWS >= 0x410) {
|
|
2551 alias CreateWaitableTimerW CreateWaitableTimer;
|
|
2552 alias GetFileAttributesExW GetFileAttributesEx;
|
|
2553 alias GetLongPathNameW GetLongPathName;
|
|
2554 alias QueryDosDeviceW QueryDosDevice;
|
|
2555 }
|
|
2556
|
|
2557 static if (_WIN32_WINNT_ONLY) {
|
|
2558 alias HW_PROFILE_INFOW HW_PROFILE_INFO;
|
|
2559 alias AccessCheckAndAuditAlarmW AccessCheckAndAuditAlarm;
|
|
2560 alias BackupEventLogW BackupEventLog;
|
|
2561 alias ClearEventLogW ClearEventLog;
|
|
2562 alias CreateNamedPipeW CreateNamedPipe;
|
|
2563 alias CreateProcessAsUserW CreateProcessAsUser;
|
|
2564 alias DefineDosDeviceW DefineDosDevice;
|
|
2565 alias FindFirstFileExW FindFirstFileEx;
|
|
2566 alias GetBinaryTypeW GetBinaryType;
|
|
2567 alias GetCompressedFileSizeW GetCompressedFileSize;
|
|
2568 alias GetFileSecurityW GetFileSecurity;
|
|
2569 alias LogonUserW LogonUser;
|
|
2570 alias LookupAccountNameW LookupAccountName;
|
|
2571 alias LookupAccountSidW LookupAccountSid;
|
|
2572 alias LookupPrivilegeDisplayNameW LookupPrivilegeDisplayName;
|
|
2573 alias LookupPrivilegeNameW LookupPrivilegeName;
|
|
2574 alias LookupPrivilegeValueW LookupPrivilegeValue;
|
|
2575 alias MoveFileExW MoveFileEx;
|
|
2576 alias ObjectCloseAuditAlarmW ObjectCloseAuditAlarm;
|
|
2577 alias ObjectDeleteAuditAlarmW ObjectDeleteAuditAlarm;
|
|
2578 alias ObjectOpenAuditAlarmW ObjectOpenAuditAlarm;
|
|
2579 alias ObjectPrivilegeAuditAlarmW ObjectPrivilegeAuditAlarm;
|
|
2580 alias OpenBackupEventLogW OpenBackupEventLog;
|
|
2581 alias OpenEventLogW OpenEventLog;
|
|
2582 alias PrivilegedServiceAuditAlarmW PrivilegedServiceAuditAlarm;
|
|
2583 alias ReadEventLogW ReadEventLog;
|
|
2584 alias RegisterEventSourceW RegisterEventSource;
|
|
2585 alias ReportEventW ReportEvent;
|
|
2586 alias SetFileSecurityW SetFileSecurity;
|
|
2587 alias UpdateResourceW UpdateResource;
|
|
2588
|
|
2589 static if (_WIN32_WINNT >= 0x500) {
|
|
2590 alias CreateFileMappingW CreateFileMapping;
|
|
2591 alias CreateHardLinkW CreateHardLink;
|
|
2592 alias CreateJobObjectW CreateJobObject;
|
|
2593 alias DeleteVolumeMountPointW DeleteVolumeMountPoint;
|
|
2594 alias DnsHostnameToComputerNameW DnsHostnameToComputerName;
|
|
2595 alias EncryptFileW EncryptFile;
|
|
2596 alias FileEncryptionStatusW FileEncryptionStatus;
|
|
2597 alias FindFirstVolumeW FindFirstVolume;
|
|
2598 alias FindFirstVolumeMountPointW FindFirstVolumeMountPoint;
|
|
2599 alias FindNextVolumeW FindNextVolume;
|
|
2600 alias FindNextVolumeMountPointW FindNextVolumeMountPoint;
|
|
2601 alias GetModuleHandleExW GetModuleHandleEx;
|
|
2602 alias GetSystemWindowsDirectoryW GetSystemWindowsDirectory;
|
|
2603 alias GetVolumeNameForVolumeMountPointW GetVolumeNameForVolumeMountPoint;
|
|
2604 alias GetVolumePathNameW GetVolumePathName;
|
|
2605 alias OpenFileMappingW OpenFileMapping;
|
|
2606 alias ReplaceFileW ReplaceFile;
|
|
2607 alias SetVolumeMountPointW SetVolumeMountPoint;
|
|
2608 alias VerifyVersionInfoW VerifyVersionInfo;
|
|
2609 }
|
|
2610
|
|
2611 static if (_WIN32_WINNT >= 0x501) {
|
|
2612 alias ACTCTXW ACTCTX;
|
|
2613 alias CheckNameLegalDOS8Dot3W CheckNameLegalDOS8Dot3;
|
|
2614 alias CreateActCtxW CreateActCtx;
|
|
2615 alias FindActCtxSectionStringW FindActCtxSectionString;
|
|
2616 alias GetSystemWow64DirectoryW GetSystemWow64Directory;
|
|
2617 alias GetVolumePathNamesForVolumeNameW GetVolumePathNamesForVolumeName;
|
|
2618 alias SetFileShortNameW SetFileShortName;
|
|
2619 }
|
|
2620
|
|
2621 static if (_WIN32_WINNT >= 0x502) {
|
|
2622 alias SetFirmwareEnvironmentVariableW SetFirmwareEnvironmentVariable;
|
|
2623 alias SetDllDirectoryW SetDllDirectory;
|
|
2624 alias GetDllDirectoryW GetDllDirectory;
|
|
2625 }
|
|
2626 }
|
|
2627
|
|
2628 } else {
|
|
2629 alias STARTUPINFOA STARTUPINFO;
|
|
2630 alias WIN32_FIND_DATAA WIN32_FIND_DATA;
|
|
2631 alias ENUMRESLANGPROCW ENUMRESLANGPROC;
|
|
2632 alias ENUMRESNAMEPROCW ENUMRESNAMEPROC;
|
|
2633 alias ENUMRESTYPEPROCW ENUMRESTYPEPROC;
|
|
2634 alias AddAtomA AddAtom;
|
|
2635 alias BeginUpdateResourceA BeginUpdateResource;
|
|
2636 alias BuildCommDCBA BuildCommDCB;
|
|
2637 alias BuildCommDCBAndTimeoutsA BuildCommDCBAndTimeouts;
|
|
2638 alias CallNamedPipeA CallNamedPipe;
|
|
2639 alias CommConfigDialogA CommConfigDialog;
|
|
2640 alias CopyFileA CopyFile;
|
|
2641 alias CopyFileExA CopyFileEx;
|
|
2642 alias CreateDirectoryA CreateDirectory;
|
|
2643 alias CreateDirectoryExA CreateDirectoryEx;
|
|
2644 alias CreateEventA CreateEvent;
|
|
2645 alias CreateFileA CreateFile;
|
|
2646 alias CreateMailslotA CreateMailslot;
|
|
2647 alias CreateMutexA CreateMutex;
|
|
2648 alias CreateProcessA CreateProcess;
|
|
2649 alias CreateSemaphoreA CreateSemaphore;
|
|
2650 alias DeleteFileA DeleteFile;
|
|
2651 alias EndUpdateResourceA EndUpdateResource;
|
|
2652 alias EnumResourceLanguagesA EnumResourceLanguages;
|
|
2653 alias EnumResourceNamesA EnumResourceNames;
|
|
2654 alias EnumResourceTypesA EnumResourceTypes;
|
|
2655 alias ExpandEnvironmentStringsA ExpandEnvironmentStrings;
|
|
2656 alias FatalAppExitA FatalAppExit;
|
|
2657 alias FindAtomA FindAtom;
|
|
2658 alias FindFirstChangeNotificationA FindFirstChangeNotification;
|
|
2659 alias FindFirstFileA FindFirstFile;
|
|
2660 alias FindNextFileA FindNextFile;
|
|
2661 alias FindResourceA FindResource;
|
|
2662 alias FindResourceExA FindResourceEx;
|
|
2663 alias FormatMessageA FormatMessage;
|
|
2664 alias FreeEnvironmentStringsA FreeEnvironmentStrings;
|
|
2665 alias GetAtomNameA GetAtomName;
|
|
2666 alias GetCommandLineA GetCommandLine;
|
|
2667 alias GetComputerNameA GetComputerName;
|
|
2668 alias GetCurrentDirectoryA GetCurrentDirectory;
|
|
2669 alias GetDefaultCommConfigA GetDefaultCommConfig;
|
|
2670 alias GetDiskFreeSpaceA GetDiskFreeSpace;
|
|
2671 alias GetDiskFreeSpaceExA GetDiskFreeSpaceEx;
|
|
2672 alias GetDriveTypeA GetDriveType;
|
|
2673 alias GetEnvironmentVariableA GetEnvironmentVariable;
|
|
2674 alias GetFileAttributesA GetFileAttributes;
|
|
2675 alias GetFullPathNameA GetFullPathName;
|
|
2676 alias GetLogicalDriveStringsA GetLogicalDriveStrings;
|
|
2677 alias GetNamedPipeHandleStateA GetNamedPipeHandleState;
|
|
2678 alias GetModuleHandleA GetModuleHandle;
|
|
2679 alias GetModuleFileNameA GetModuleFileName;
|
|
2680 alias GetPrivateProfileIntA GetPrivateProfileInt;
|
|
2681 alias GetPrivateProfileSectionA GetPrivateProfileSection;
|
|
2682 alias GetPrivateProfileSectionNamesA GetPrivateProfileSectionNames;
|
|
2683 alias GetPrivateProfileStringA GetPrivateProfileString;
|
|
2684 alias GetPrivateProfileStructA GetPrivateProfileStruct;
|
|
2685 alias GetProfileIntA GetProfileInt;
|
|
2686 alias GetProfileSectionA GetProfileSection;
|
|
2687 alias GetProfileStringA GetProfileString;
|
|
2688 alias GetShortPathNameA GetShortPathName;
|
|
2689 alias GetStartupInfoA GetStartupInfo;
|
|
2690 alias GetSystemDirectoryA GetSystemDirectory;
|
|
2691 alias GetTempFileNameA GetTempFileName;
|
|
2692 alias GetTempPathA GetTempPath;
|
|
2693 alias GetUserNameA GetUserName;
|
|
2694 alias GetVersionExA GetVersionEx;
|
|
2695 alias GetVolumeInformationA GetVolumeInformation;
|
|
2696 alias GetWindowsDirectoryA GetWindowsDirectory;
|
|
2697 alias GlobalAddAtomA GlobalAddAtom;
|
|
2698 alias GlobalFindAtomA GlobalFindAtom;
|
|
2699 alias GlobalGetAtomNameA GlobalGetAtomName;
|
|
2700 alias IsBadStringPtrA IsBadStringPtr;
|
|
2701 alias LoadLibraryA LoadLibrary;
|
|
2702 alias LoadLibraryExA LoadLibraryEx;
|
|
2703 alias lstrcatA lstrcat;
|
|
2704 alias lstrcmpA lstrcmp;
|
|
2705 alias lstrcmpiA lstrcmpi;
|
|
2706 alias lstrcpyA lstrcpy;
|
|
2707 alias lstrcpynA lstrcpyn;
|
|
2708 alias lstrlenA lstrlen;
|
|
2709 alias MoveFileA MoveFile;
|
|
2710 alias OpenEventA OpenEvent;
|
|
2711 alias OpenMutexA OpenMutex;
|
|
2712 alias OpenSemaphoreA OpenSemaphore;
|
|
2713 alias OutputDebugStringA OutputDebugString;
|
|
2714 alias RemoveDirectoryA RemoveDirectory;
|
|
2715 alias SearchPathA SearchPath;
|
|
2716 alias SetComputerNameA SetComputerName;
|
|
2717 alias SetCurrentDirectoryA SetCurrentDirectory;
|
|
2718 alias SetDefaultCommConfigA SetDefaultCommConfig;
|
|
2719 alias SetEnvironmentVariableA SetEnvironmentVariable;
|
|
2720 alias SetFileAttributesA SetFileAttributes;
|
|
2721 alias SetVolumeLabelA SetVolumeLabel;
|
|
2722 alias WaitNamedPipeA WaitNamedPipe;
|
|
2723 alias WritePrivateProfileSectionA WritePrivateProfileSection;
|
|
2724 alias WritePrivateProfileStringA WritePrivateProfileString;
|
|
2725 alias WritePrivateProfileStructA WritePrivateProfileStruct;
|
|
2726 alias WriteProfileSectionA WriteProfileSection;
|
|
2727 alias WriteProfileStringA WriteProfileString;
|
|
2728
|
|
2729 static if (_WIN32_WINDOWS >= 0x410) {
|
|
2730 alias CreateWaitableTimerA CreateWaitableTimer;
|
|
2731 alias GetFileAttributesExA GetFileAttributesEx;
|
|
2732 alias GetLongPathNameA GetLongPathName;
|
|
2733 alias QueryDosDeviceA QueryDosDevice;
|
|
2734 }
|
|
2735
|
|
2736 static if (_WIN32_WINNT_ONLY) {
|
|
2737 alias HW_PROFILE_INFOA HW_PROFILE_INFO;
|
|
2738 alias AccessCheckAndAuditAlarmA AccessCheckAndAuditAlarm;
|
|
2739 alias BackupEventLogA BackupEventLog;
|
|
2740 alias ClearEventLogA ClearEventLog;
|
|
2741 alias CreateNamedPipeA CreateNamedPipe;
|
|
2742 alias CreateProcessAsUserA CreateProcessAsUser;
|
|
2743 alias DefineDosDeviceA DefineDosDevice;
|
|
2744 alias FindFirstFileExA FindFirstFileEx;
|
|
2745 alias GetBinaryTypeA GetBinaryType;
|
|
2746 alias GetCompressedFileSizeA GetCompressedFileSize;
|
|
2747 alias GetFileSecurityA GetFileSecurity;
|
|
2748 alias LogonUserA LogonUser;
|
|
2749 alias LookupAccountNameA LookupAccountName;
|
|
2750 alias LookupAccountSidA LookupAccountSid;
|
|
2751 alias LookupPrivilegeDisplayNameA LookupPrivilegeDisplayName;
|
|
2752 alias LookupPrivilegeNameA LookupPrivilegeName;
|
|
2753 alias LookupPrivilegeValueA LookupPrivilegeValue;
|
|
2754 alias MoveFileExA MoveFileEx;
|
|
2755 alias ObjectCloseAuditAlarmA ObjectCloseAuditAlarm;
|
|
2756 alias ObjectDeleteAuditAlarmA ObjectDeleteAuditAlarm;
|
|
2757 alias ObjectOpenAuditAlarmA ObjectOpenAuditAlarm;
|
|
2758 alias ObjectPrivilegeAuditAlarmA ObjectPrivilegeAuditAlarm;
|
|
2759 alias OpenBackupEventLogA OpenBackupEventLog;
|
|
2760 alias OpenEventLogA OpenEventLog;
|
|
2761 alias PrivilegedServiceAuditAlarmA PrivilegedServiceAuditAlarm;
|
|
2762 alias ReadEventLogA ReadEventLog;
|
|
2763 alias RegisterEventSourceA RegisterEventSource;
|
|
2764 alias ReportEventA ReportEvent;
|
|
2765 alias SetFileSecurityA SetFileSecurity;
|
|
2766 alias UpdateResourceA UpdateResource;
|
|
2767
|
|
2768 static if (_WIN32_WINNT >= 0x500) {
|
|
2769 alias CreateFileMappingA CreateFileMapping;
|
|
2770 alias CreateHardLinkA CreateHardLink;
|
|
2771 alias CreateJobObjectA CreateJobObject;
|
|
2772 alias DeleteVolumeMountPointA DeleteVolumeMountPoint;
|
|
2773 alias DnsHostnameToComputerNameA DnsHostnameToComputerName;
|
|
2774 alias EncryptFileA EncryptFile;
|
|
2775 alias FileEncryptionStatusA FileEncryptionStatus;
|
|
2776 alias FindFirstVolumeA FindFirstVolume;
|
|
2777 alias FindFirstVolumeMountPointA FindFirstVolumeMountPoint;
|
|
2778 alias FindNextVolumeA FindNextVolume;
|
|
2779 alias FindNextVolumeMountPointA FindNextVolumeMountPoint;
|
|
2780 alias GetModuleHandleExA GetModuleHandleEx;
|
|
2781 alias GetSystemWindowsDirectoryA GetSystemWindowsDirectory;
|
|
2782 alias GetVolumeNameForVolumeMountPointA GetVolumeNameForVolumeMountPoint;
|
|
2783 alias GetVolumePathNameA GetVolumePathName;
|
|
2784 alias OpenFileMappingA OpenFileMapping;
|
|
2785 alias ReplaceFileA ReplaceFile;
|
|
2786 alias SetVolumeMountPointA SetVolumeMountPoint;
|
|
2787 alias VerifyVersionInfoA VerifyVersionInfo;
|
|
2788 }
|
|
2789
|
|
2790 static if (_WIN32_WINNT >= 0x501) {
|
|
2791 alias ACTCTXA ACTCTX;
|
|
2792 alias CheckNameLegalDOS8Dot3A CheckNameLegalDOS8Dot3;
|
|
2793 alias CreateActCtxA CreateActCtx;
|
|
2794 alias FindActCtxSectionStringA FindActCtxSectionString;
|
|
2795 alias GetSystemWow64DirectoryA GetSystemWow64Directory;
|
|
2796 alias GetVolumePathNamesForVolumeNameA GetVolumePathNamesForVolumeName;
|
|
2797 alias SetFileShortNameA SetFileShortName;
|
|
2798 }
|
|
2799
|
|
2800 static if (_WIN32_WINNT >= 0x502) {
|
|
2801 alias GetDllDirectoryA GetDllDirectory;
|
|
2802 alias SetDllDirectoryA SetDllDirectory;
|
|
2803 alias SetFirmwareEnvironmentVariableA SetFirmwareEnvironmentVariable;
|
|
2804 }
|
|
2805 }
|
|
2806 }
|
|
2807
|
|
2808 alias STARTUPINFO* LPSTARTUPINFO;
|
|
2809 alias WIN32_FIND_DATA* LPWIN32_FIND_DATA;
|
|
2810
|
|
2811 static if (_WIN32_WINNT_ONLY) {
|
|
2812 alias HW_PROFILE_INFO* LPHW_PROFILE_INFO;
|
|
2813
|
|
2814 static if (_WIN32_WINNT >= 0x501) {
|
|
2815 alias ACTCTX* PACTCTX, PCACTCTX;
|
|
2816 }
|
|
2817 }
|