Differences From Artifact [59684aebe49706fd]:
- File
src/win32/winbase.d
- 2011-02-23 12:53:16 - part of checkin [c2b7a98c21] on branch trunk - Initial import (user: kinaba) [annotate]
To Artifact [5a227ddcf54fb45e]:
- File
src/win32/winbase.d
- 2015-04-21 10:46:55 - part of checkin [4e2933c620] on branch trunk - Rebased to the latest verson dmd 2.067. Not yet verified the outcome. (user: kinaba) [annotate]
> 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 \***********************************************************************/
1 module win32.winbase; 10 module win32.winbase;
> 11 pragma(lib, "kernel32.lib");
2 | 12
3 // Translated from Microsoft Platform SDK August 2001 Edition <
4 // by Y.Tomino (demoonlit@inter7.jp) | 13 /**
5 <
> 14 Translation Notes:
6 import win32.windef; | 15 The following macros are obsolete, and have no effect.
7 | 16
8 // #ifndef _WINBASE_ | 17 LockSegment(w), MakeProcInstance(p, i), UnlockResource(h), UnlockSegment(w)
9 // #define _WINBASE_ | 18 FreeModule(m), FreeProcInstance(p), GetFreeSpace(w), DefineHandleTable(w)
> 19 SetSwapAreaSize(w), LimitEmsPages(n), Yield()
10 | 20
11 // #if _MSC_VER > 1000 <
12 // #pragma once | 21 // The following Win16 functions are obselete in Win32.
13 // #endif <
14 | 22
> 23 int _hread(HFILE, LPVOID, int);
15 // #ifdef _MAC | 24 int _hwrite(HFILE, LPCSTR, int);
16 // #... | 25 HFILE _lclose(HFILE);
17 // #endif //_MAC | 26 HFILE _lcreat(LPCSTR, int);
18 <
> 27 LONG _llseek(HFILE, LONG, int);
19 // #if !defined(_ADVAPI32_) | 28 HFILE _lopen(LPCSTR, int);
20 // #define WINADVAPI DECLSPEC_IMPORT | 29 UINT _lread(HFILE, LPVOID, UINT);
21 // #else | 30 UINT _lwrite(HFILE, LPCSTR, UINT);
22 // #... | 31 SIZE_T GlobalCompact(DWORD);
23 // #endif | 32 VOID GlobalFix(HGLOBAL);
> 33 * MSDN contradicts itself on GlobalFlags:
> 34 * "This function is provided only for compatibility with 16-bit versions of Wind
> 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);
24 | 43
25 // #if !defined(_KERNEL32_) <
26 // #define WINBASEAPI DECLSPEC_IMPORT <
27 // #else <
28 // #... <
29 // #endif <
> 44 // These are not required for DMD.
30 | 45
31 // #if !defined(_ZAWPROXY_) <
32 // #define ZAWPROXYAPI DECLSPEC_IMPORT <
> 46 //FIXME:
> 47 // #ifndef UNDER_CE
> 48 int WinMain(HINSTANCE, HINSTANCE, LPSTR, int);
33 // #else | 49 #else
34 // #... <
> 50 int WinMain(HINSTANCE, HINSTANCE, LPWSTR, int);
35 // #endif | 51 #endif
> 52 int wWinMain(HINSTANCE, HINSTANCE, LPWSTR, int);
36 | 53
37 // #ifdef __cplusplus <
38 // extern "C" { <
39 // #endif <
> 54 */
40 | 55
41 // #define DefineHandleTable(w) ((w),TRUE) <
42 // #define LimitEmsPages(dw) <
43 // #define SetSwapAreaSize(w) (w) <
44 // #define LockSegment(w) GlobalFix((HANDLE)(w)) <
45 // #define UnlockSegment(w) GlobalUnfix((HANDLE)(w)) <
46 alias GetTickCount GetCurrentTime; <
47 <
> 56 import win32.windef, win32.winver;
48 // #define Yield() | 57 private import win32.basetyps, win32.w32api, win32.winnt;
49 | 58
50 HANDLE INVALID_HANDLE_VALUE = cast(HANDLE)-1; | 59 // FIXME:
51 enum : uint { INVALID_FILE_SIZE = cast(DWORD)0xFFFFFFFF } | 60 alias void va_list;
52 enum : uint { INVALID_SET_FILE_POINTER = cast(DWORD)-1 } <
53 enum : uint { INVALID_FILE_ATTRIBUTES = cast(DWORD)-1 } <
54 | 61
55 enum : uint { FILE_BEGIN = 0 } <
56 enum : uint { FILE_CURRENT = 1 } <
57 enum : uint { FILE_END = 2 } <
58 | 62
59 enum : uint { TIME_ZONE_ID_INVALID = cast(DWORD)0xFFFFFFFF } <
> 63 /+
> 64 //--------------------------------------
> 65 // These functions are problematic
60 | 66
61 enum : uint { WAIT_FAILED = cast(DWORD)0xFFFFFFFF } <
62 alias STATUS_WAIT_0 WAIT_OBJECT_0; <
63 <
64 alias STATUS_ABANDONED_WAIT_0 WAIT_ABANDONED; <
65 alias STATUS_ABANDONED_WAIT_0 WAIT_ABANDONED_0; <
66 <
67 alias STATUS_USER_APC WAIT_IO_COMPLETION; <
68 alias STATUS_PENDING STILL_ACTIVE; <
69 alias STATUS_ACCESS_VIOLATION EXCEPTION_ACCESS_VIOLATION; <
70 alias STATUS_DATATYPE_MISALIGNMENT EXCEPTION_DATATYPE_MISALIGNMENT; <
71 alias STATUS_BREAKPOINT EXCEPTION_BREAKPOINT; <
72 alias STATUS_SINGLE_STEP EXCEPTION_SINGLE_STEP; <
73 alias STATUS_ARRAY_BOUNDS_EXCEEDED EXCEPTION_ARRAY_BOUNDS_EXCEEDED; <
74 alias STATUS_FLOAT_DENORMAL_OPERAND EXCEPTION_FLT_DENORMAL_OPERAND; <
75 alias STATUS_FLOAT_DIVIDE_BY_ZERO EXCEPTION_FLT_DIVIDE_BY_ZERO; <
76 alias STATUS_FLOAT_INEXACT_RESULT EXCEPTION_FLT_INEXACT_RESULT; <
77 alias STATUS_FLOAT_INVALID_OPERATION EXCEPTION_FLT_INVALID_OPERATION; <
78 alias STATUS_FLOAT_OVERFLOW EXCEPTION_FLT_OVERFLOW; <
79 alias STATUS_FLOAT_STACK_CHECK EXCEPTION_FLT_STACK_CHECK; <
80 alias STATUS_FLOAT_UNDERFLOW EXCEPTION_FLT_UNDERFLOW; <
81 alias STATUS_INTEGER_DIVIDE_BY_ZERO EXCEPTION_INT_DIVIDE_BY_ZERO; <
82 alias STATUS_INTEGER_OVERFLOW EXCEPTION_INT_OVERFLOW; <
83 alias STATUS_PRIVILEGED_INSTRUCTION EXCEPTION_PRIV_INSTRUCTION; <
84 alias STATUS_IN_PAGE_ERROR EXCEPTION_IN_PAGE_ERROR; <
85 alias STATUS_ILLEGAL_INSTRUCTION EXCEPTION_ILLEGAL_INSTRUCTION; <
86 alias STATUS_NONCONTINUABLE_EXCEPTION EXCEPTION_NONCONTINUABLE_EXCEPTION; <
87 alias STATUS_STACK_OVERFLOW EXCEPTION_STACK_OVERFLOW; <
88 alias STATUS_INVALID_DISPOSITION EXCEPTION_INVALID_DISPOSITION; <
89 alias STATUS_GUARD_PAGE_VIOLATION EXCEPTION_GUARD_PAGE; <
90 alias STATUS_INVALID_HANDLE EXCEPTION_INVALID_HANDLE; <
91 alias STATUS_CONTROL_C_EXIT CONTROL_C_EXIT; <
92 alias RtlMoveMemory MoveMemory; <
93 alias RtlCopyMemory CopyMemory; <
94 alias RtlFillMemory FillMemory; <
95 alias RtlZeroMemory ZeroMemory; <
96 <
97 enum : uint { FILE_FLAG_WRITE_THROUGH = 0x80000000 } <
98 enum : uint { FILE_FLAG_OVERLAPPED = 0x40000000 } <
99 enum : uint { FILE_FLAG_NO_BUFFERING = 0x20000000 } <
100 enum : uint { FILE_FLAG_RANDOM_ACCESS = 0x10000000 } <
101 enum : uint { FILE_FLAG_SEQUENTIAL_SCAN = 0x08000000 } <
102 enum : uint { FILE_FLAG_DELETE_ON_CLOSE = 0x04000000 } <
103 enum : uint { FILE_FLAG_BACKUP_SEMANTICS = 0x02000000 } <
104 enum : uint { FILE_FLAG_POSIX_SEMANTICS = 0x01000000 } <
105 enum : uint { FILE_FLAG_OPEN_REPARSE_POINT = 0x00200000 } <
106 enum : uint { FILE_FLAG_OPEN_NO_RECALL = 0x00100000 } <
107 enum : uint { FILE_FLAG_FIRST_PIPE_INSTANCE = 0x00080000 } <
108 <
109 enum : uint { CREATE_NEW = 1 } <
110 enum : uint { CREATE_ALWAYS = 2 } <
111 enum : uint { OPEN_EXISTING = 3 } <
112 enum : uint { OPEN_ALWAYS = 4 } <
113 enum : uint { TRUNCATE_EXISTING = 5 } <
114 <
> 67 version(UseNtoSKernel) {}else {
> 68 /* CAREFUL: These are exported from ntoskrnl.exe and declared in winddk.
> 69 as __fastcall functions, but are exported from kernel32.dll as __std
115 // #if(_WIN32_WINNT >= 0x0400) | 70 static if (_WIN32_WINNT >= 0x0501) {
> 71 VOID InitializeSListHead(PSLIST_HEADER);
116 | 72 }
117 enum : uint { PROGRESS_CONTINUE = 0 } <
118 enum : uint { PROGRESS_CANCEL = 1 } <
119 enum : uint { PROGRESS_STOP = 2 } <
120 enum : uint { PROGRESS_QUIET = 3 } <
> 73 LONG InterlockedCompareExchange(LPLONG, LONG, LONG);
> 74 // PVOID WINAPI InterlockedCompareExchangePointer(PVOID*, PVOID, PVOID);
> 75 (PVOID)InterlockedCompareExchange((LPLONG)(d) (PVOID)InterlockedCompa
> 76 LONG InterlockedDecrement(LPLONG);
> 77 LONG InterlockedExchange(LPLONG, LONG);
> 78 // PVOID WINAPI InterlockedExchangePointer(PVOID*, PVOID);
> 79 (PVOID)InterlockedExchange((LPLONG)((PVOID)InterlockedExchange((LPLONG)(
> 80 LONG InterlockedExchangeAdd(LPLONG, LONG);
121 | 81
122 enum : uint { CALLBACK_CHUNK_FINISHED = 0x00000000 } <
123 enum : uint { CALLBACK_STREAM_SWITCH = 0x00000001 } <
124 <
125 enum : uint { COPY_FILE_FAIL_IF_EXISTS = 0x00000001 } <
126 enum : uint { COPY_FILE_RESTARTABLE = 0x00000002 } <
127 enum : uint { COPY_FILE_OPEN_SOURCE_FOR_WRITE = 0x00000004 } <
128 enum : uint { COPY_FILE_ALLOW_DECRYPTED_DESTINATION = 0x00000008 } <
129 // #endif /* _WIN32_WINNT >= 0x0400 */ | 82 static if (_WIN32_WINNT >= 0x0501) {
> 83 PSLIST_ENTRY InterlockedFlushSList(PSLIST_HEADER);
130 | 84 }
> 85 LONG InterlockedIncrement(LPLONG);
131 // #if (_WIN32_WINNT >= 0x0500) | 86 static if (_WIN32_WINNT >= 0x0501) {
> 87 PSLIST_ENTRY InterlockedPopEntrySList(PSLIST_HEADER);
> 88 PSLIST_ENTRY InterlockedPushEntrySList(PSLIST_HEADER, PSLIST_ENTRY);
132 | 89 }
133 enum : uint { REPLACEFILE_WRITE_THROUGH = 0x00000001 } <
134 enum : uint { REPLACEFILE_IGNORE_MERGE_ERRORS = 0x00000002 } <
> 90 } // #endif // __USE_NTOSKRNL__
> 91 //--------------------------------------
> 92 +/
135 | 93
136 // #endif // #if (_WIN32_WINNT >= 0x0500) <
> 94 // COMMPROP structure, used by GetCommProperties()
> 95 // -----------------------------------------------
137 | 96
138 enum : uint { PIPE_ACCESS_INBOUND = 0x00000001 } <
139 enum : uint { PIPE_ACCESS_OUTBOUND = 0x00000002 } <
140 enum : uint { PIPE_ACCESS_DUPLEX = 0x00000003 } <
> 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
141 | 112 }
142 enum : uint { PIPE_CLIENT_END = 0x00000000 } <
143 enum : uint { PIPE_SERVER_END = 0x00000001 } <
144 | 113
> 114 // Max baud rate
> 115 enum : DWORD {
145 enum : uint { PIPE_WAIT = 0x00000000 } | 116 BAUD_075 = 0x00000001,
146 enum : uint { PIPE_NOWAIT = 0x00000001 } | 117 BAUD_110 = 0x00000002,
147 enum : uint { PIPE_READMODE_BYTE = 0x00000000 } <
148 enum : uint { PIPE_READMODE_MESSAGE = 0x00000002 } <
149 enum : uint { PIPE_TYPE_BYTE = 0x00000000 } | 118 BAUD_134_5 = 0x00000004,
150 enum : uint { PIPE_TYPE_MESSAGE = 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
151 | 136 }
152 enum : uint { PIPE_UNLIMITED_INSTANCES = 255 } <
153 | 137
154 enum : uint { SECURITY_ANONYMOUS = SecurityAnonymous << 16 } <
155 enum : uint { SECURITY_IDENTIFICATION = SecurityIdentification << 16 } <
156 enum : uint { SECURITY_IMPERSONATION = SecurityImpersonation << 16 } <
157 enum : uint { SECURITY_DELEGATION = SecurityDelegation << 16 } <
158 <
159 enum : uint { SECURITY_CONTEXT_TRACKING = 0x00040000 } <
160 enum : uint { SECURITY_EFFECTIVE_ONLY = 0x00080000 } <
161 <
162 enum : uint { SECURITY_SQOS_PRESENT = 0x00100000 } <
163 enum : uint { SECURITY_VALID_SQOS_FLAGS = 0x001F0000 } <
164 <
165 struct _OVERLAPPED { <
166 ULONG_PTR Internal; <
167 ULONG_PTR InternalHigh; <
168 union { <
169 struct { <
> 138 // Comm capabilities
170 DWORD Offset; | 139 enum : DWORD {
171 DWORD OffsetHigh; <
172 } <
173 <
174 PVOID Pointer; <
175 } <
176 <
177 HANDLE hEvent; <
178 } <
179 alias _OVERLAPPED OVERLAPPED; <
180 alias _OVERLAPPED* LPOVERLAPPED; <
181 <
182 struct _SECURITY_ATTRIBUTES { <
183 DWORD nLength; <
184 LPVOID lpSecurityDescriptor; <
185 BOOL bInheritHandle; <
186 } <
187 alias _SECURITY_ATTRIBUTES SECURITY_ATTRIBUTES; <
188 alias _SECURITY_ATTRIBUTES* PSECURITY_ATTRIBUTES; <
189 alias _SECURITY_ATTRIBUTES* LPSECURITY_ATTRIBUTES; <
190 <
191 struct _PROCESS_INFORMATION { <
192 HANDLE hProcess; <
193 HANDLE hThread; <
194 DWORD dwProcessId; <
195 DWORD dwThreadId; <
196 } <
197 alias _PROCESS_INFORMATION PROCESS_INFORMATION; <
198 alias _PROCESS_INFORMATION* PPROCESS_INFORMATION; <
199 alias _PROCESS_INFORMATION* LPPROCESS_INFORMATION; <
200 <
201 struct _FILETIME { <
202 DWORD dwLowDateTime; <
203 DWORD dwHighDateTime; <
204 } <
205 alias _FILETIME FILETIME; <
206 alias _FILETIME* PFILETIME; <
207 alias _FILETIME* LPFILETIME; <
208 <
209 struct _SYSTEMTIME { <
210 WORD wYear; <
211 WORD wMonth; <
212 WORD wDayOfWeek; <
213 WORD wDay; <
214 WORD wHour; <
215 WORD wMinute; <
216 WORD wSecond; <
217 WORD wMilliseconds; <
218 } <
219 alias _SYSTEMTIME SYSTEMTIME; <
220 alias _SYSTEMTIME* PSYSTEMTIME; <
221 alias _SYSTEMTIME* LPSYSTEMTIME; <
222 <
223 extern(Windows) alias DWORD function( LPVOID lpThreadParameter ) PTHREAD_START_R <
224 alias PTHREAD_START_ROUTINE LPTHREAD_START_ROUTINE; <
225 <
226 // #if(_WIN32_WINNT >= 0x0400) <
227 extern(Windows) alias VOID function( LPVOID lpFiberParameter ) PFIBER_START_ROUT <
228 alias PFIBER_START_ROUTINE LPFIBER_START_ROUTINE; <
229 // #endif /* _WIN32_WINNT >= 0x0400 */ <
230 <
231 alias RTL_CRITICAL_SECTION CRITICAL_SECTION; <
232 alias PRTL_CRITICAL_SECTION PCRITICAL_SECTION; <
233 alias PRTL_CRITICAL_SECTION LPCRITICAL_SECTION; <
234 <
235 alias RTL_CRITICAL_SECTION_DEBUG CRITICAL_SECTION_DEBUG; <
236 alias PRTL_CRITICAL_SECTION_DEBUG PCRITICAL_SECTION_DEBUG; <
237 alias PRTL_CRITICAL_SECTION_DEBUG LPCRITICAL_SECTION_DEBUG; <
238 <
239 // #if defined(_X86_) <
240 alias PLDT_ENTRY LPLDT_ENTRY; <
241 // #else <
242 // ... <
243 // #endif <
244 <
245 alias MUTANT_QUERY_STATE MUTEX_MODIFY_STATE; <
246 alias MUTANT_ALL_ACCESS MUTEX_ALL_ACCESS; <
247 <
248 enum : uint { SP_SERIALCOMM = cast(DWORD)0x00000001 } <
249 <
250 enum : uint { PST_UNSPECIFIED = cast(DWORD)0x00000000 } <
251 enum : uint { PST_RS232 = cast(DWORD)0x00000001 } <
252 enum : uint { PST_PARALLELPORT = cast(DWORD)0x00000002 } <
253 enum : uint { PST_RS422 = cast(DWORD)0x00000003 } <
254 enum : uint { PST_RS423 = cast(DWORD)0x00000004 } <
255 enum : uint { PST_RS449 = cast(DWORD)0x00000005 } <
256 enum : uint { PST_MODEM = cast(DWORD)0x00000006 } <
257 enum : uint { PST_FAX = cast(DWORD)0x00000021 } <
258 enum : uint { PST_SCANNER = cast(DWORD)0x00000022 } <
259 enum : uint { PST_NETWORK_BRIDGE = cast(DWORD)0x00000100 } <
260 enum : uint { PST_LAT = cast(DWORD)0x00000101 } <
261 enum : uint { PST_TCPIP_TELNET = cast(DWORD)0x00000102 } <
262 enum : uint { PST_X25 = cast(DWORD)0x00000103 } <
263 <
264 enum : uint { PCF_DTRDSR = cast(DWORD)0x0001 } <
265 enum : uint { PCF_RTSCTS = cast(DWORD)0x0002 } <
266 enum : uint { PCF_RLSD = cast(DWORD)0x0004 } <
> 140 PCF_DTRDSR = 0x0001,
> 141 PCF_RTSCTS = 0x0002,
> 142 PCF_RLSD = 0x0004,
267 enum : uint { PCF_PARITY_CHECK = cast(DWORD)0x0008 } | 143 PCF_PARITY_CHECK = 0x0008,
268 enum : uint { PCF_XONXOFF = cast(DWORD)0x0010 } <
> 144 PCF_XONXOFF = 0x0010,
269 enum : uint { PCF_SETXCHAR = cast(DWORD)0x0020 } | 145 PCF_SETXCHAR = 0x0020,
270 enum : uint { PCF_TOTALTIMEOUTS = cast(DWORD)0x0040 } | 146 PCF_TOTALTIMEOUTS = 0x0040,
271 enum : uint { PCF_INTTIMEOUTS = cast(DWORD)0x0080 } | 147 PCF_INTTIMEOUTS = 0x0080,
272 enum : uint { PCF_SPECIALCHARS = cast(DWORD)0x0100 } | 148 PCF_SPECIALCHARS = 0x0100,
273 enum : uint { PCF_16BITMODE = cast(DWORD)0x0200 } | 149 PCF_16BITMODE = 0x0200
274 | 150 }
275 enum : uint { SP_PARITY = cast(DWORD)0x0001 } <
276 enum : uint { SP_BAUD = cast(DWORD)0x0002 } <
> 151
> 152 enum : DWORD {
> 153 SP_PARITY = 1,
> 154 SP_BAUD = 2,
277 enum : uint { SP_DATABITS = cast(DWORD)0x0004 } | 155 SP_DATABITS = 4,
278 enum : uint { SP_STOPBITS = cast(DWORD)0x0008 } | 156 SP_STOPBITS = 8,
279 enum : uint { SP_HANDSHAKING = cast(DWORD)0x0010 } | 157 SP_HANDSHAKING = 16,
280 enum : uint { SP_PARITY_CHECK = cast(DWORD)0x0020 } | 158 SP_PARITY_CHECK = 32,
281 enum : uint { SP_RLSD = cast(DWORD)0x0040 } <
> 159 SP_RLSD = 64
282 | 160 }
283 enum : uint { BAUD_075 = cast(DWORD)0x00000001 } <
284 enum : uint { BAUD_110 = cast(DWORD)0x00000002 } <
285 enum : uint { BAUD_134_5 = cast(DWORD)0x00000004 } <
286 enum : uint { BAUD_150 = cast(DWORD)0x00000008 } <
287 enum : uint { BAUD_300 = cast(DWORD)0x00000010 } <
288 enum : uint { BAUD_600 = cast(DWORD)0x00000020 } <
289 enum : uint { BAUD_1200 = cast(DWORD)0x00000040 } <
290 enum : uint { BAUD_1800 = cast(DWORD)0x00000080 } <
291 enum : uint { BAUD_2400 = cast(DWORD)0x00000100 } <
292 enum : uint { BAUD_4800 = cast(DWORD)0x00000200 } <
293 enum : uint { BAUD_7200 = cast(DWORD)0x00000400 } <
294 enum : uint { BAUD_9600 = cast(DWORD)0x00000800 } <
295 enum : uint { BAUD_14400 = cast(DWORD)0x00001000 } <
296 enum : uint { BAUD_19200 = cast(DWORD)0x00002000 } <
297 enum : uint { BAUD_38400 = cast(DWORD)0x00004000 } <
298 enum : uint { BAUD_56K = cast(DWORD)0x00008000 } <
299 enum : uint { BAUD_128K = cast(DWORD)0x00010000 } <
300 enum : uint { BAUD_115200 = cast(DWORD)0x00020000 } <
301 enum : uint { BAUD_57600 = cast(DWORD)0x00040000 } <
302 enum : uint { BAUD_USER = cast(DWORD)0x10000000 } <
303 | 161
> 162 enum : DWORD {
304 enum : uint { DATABITS_5 = cast(WORD)0x0001 } | 163 DATABITS_5 = 1,
305 enum : uint { DATABITS_6 = cast(WORD)0x0002 } | 164 DATABITS_6 = 2,
306 enum : uint { DATABITS_7 = cast(WORD)0x0004 } | 165 DATABITS_7 = 4,
307 enum : uint { DATABITS_8 = cast(WORD)0x0008 } | 166 DATABITS_8 = 8,
308 enum : uint { DATABITS_16 = cast(WORD)0x0010 } | 167 DATABITS_16 = 16,
309 enum : uint { DATABITS_16X = cast(WORD)0x0020 } | 168 DATABITS_16X = 32
310 | 169 }
> 170
> 171 enum : WORD {
311 enum : uint { STOPBITS_10 = cast(WORD)0x0001 } | 172 STOPBITS_10 = 0x0001,
312 enum : uint { STOPBITS_15 = cast(WORD)0x0002 } | 173 STOPBITS_15 = 0x0002,
313 enum : uint { STOPBITS_20 = cast(WORD)0x0004 } | 174 STOPBITS_20 = 0x0004,
314 enum : uint { PARITY_NONE = cast(WORD)0x0100 } | 175 PARITY_NONE = 0x0100,
315 enum : uint { PARITY_ODD = cast(WORD)0x0200 } <
> 176 PARITY_ODD = 0x0200,
316 enum : uint { PARITY_EVEN = cast(WORD)0x0400 } | 177 PARITY_EVEN = 0x0400,
317 enum : uint { PARITY_MARK = cast(WORD)0x0800 } | 178 PARITY_MARK = 0x0800,
318 enum : uint { PARITY_SPACE = cast(WORD)0x1000 } | 179 PARITY_SPACE = 0x1000
319 | 180 }
> 181
> 182 // used by dwServiceMask
> 183 const SP_SERIALCOMM = 1;
> 184
320 struct _COMMPROP { | 185 struct COMMPROP {
321 WORD wPacketLength; | 186 WORD wPacketLength;
322 WORD wPacketVersion; | 187 WORD wPacketVersion;
323 DWORD dwServiceMask; | 188 DWORD dwServiceMask;
324 DWORD dwReserved1; | 189 DWORD dwReserved1;
325 DWORD dwMaxTxQueue; | 190 DWORD dwMaxTxQueue;
326 DWORD dwMaxRxQueue; | 191 DWORD dwMaxRxQueue;
327 DWORD dwMaxBaud; | 192 DWORD dwMaxBaud;
328 DWORD dwProvSubType; | 193 DWORD dwProvSubType;
329 DWORD dwProvCapabilities; | 194 DWORD dwProvCapabilities;
330 DWORD dwSettableParams; | 195 DWORD dwSettableParams;
331 DWORD dwSettableBaud; | 196 DWORD dwSettableBaud;
332 WORD wSettableData; | 197 WORD wSettableData;
333 WORD wSettableStopParity; | 198 WORD wSettableStopParity;
334 DWORD dwCurrentTxQueue; | 199 DWORD dwCurrentTxQueue;
335 DWORD dwCurrentRxQueue; | 200 DWORD dwCurrentRxQueue;
336 DWORD dwProvSpec1; | 201 DWORD dwProvSpec1;
337 DWORD dwProvSpec2; | 202 DWORD dwProvSpec2;
338 WCHAR wcProvChar[1]; | 203 WCHAR _wcProvChar;
339 } | 204
340 alias _COMMPROP COMMPROP; <
> 205 WCHAR* wcProvChar() { return &_wcProvChar; }
> 206 }
341 alias _COMMPROP* LPCOMMPROP; | 207 alias COMMPROP* LPCOMMPROP;
342 | 208
343 enum : uint { COMMPROP_INITIALIZED = cast(DWORD)0xE73CF52E } <
> 209 // ----------
344 | 210
345 struct _COMSTAT { <
346 // DWORD fCtsHold : 1; <
347 // DWORD fDsrHold : 1; <
348 // DWORD fRlsdHold : 1; <
349 // DWORD fXoffHold : 1; <
350 // DWORD fXoffSent : 1; <
> 211 // for DEBUG_EVENT
351 // DWORD fEof : 1; | 212 enum : DWORD {
352 // DWORD fTxim : 1; <
353 // DWORD fReserved : 25; <
354 DWORD cbInQue; <
355 DWORD cbOutQue; <
> 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
356 } | 222 }
357 alias _COMSTAT COMSTAT; <
358 alias _COMSTAT* LPCOMSTAT; <
359 | 223
360 enum : uint { DTR_CONTROL_DISABLE = 0x00 } <
361 enum : uint { DTR_CONTROL_ENABLE = 0x01 } <
362 enum : uint { DTR_CONTROL_HANDSHAKE = 0x02 } <
> 224 const HFILE HFILE_ERROR = cast(HFILE) (-1);
363 | 225
364 enum : uint { RTS_CONTROL_DISABLE = 0x00 } <
365 enum : uint { RTS_CONTROL_ENABLE = 0x01 } <
366 enum : uint { RTS_CONTROL_HANDSHAKE = 0x02 } <
367 enum : uint { RTS_CONTROL_TOGGLE = 0x03 } <
> 226 // for SetFilePointer()
> 227 enum : DWORD {
> 228 FILE_BEGIN = 0,
> 229 FILE_CURRENT = 1,
> 230 FILE_END = 2
368 | 231 }
369 struct _DCB { <
370 DWORD DCBlength; <
371 DWORD BaudRate; <
372 // DWORD fBinary: 1; <
373 // DWORD fParity: 1; <
374 // DWORD fOutxCtsFlow:1; <
375 // DWORD fOutxDsrFlow:1; <
376 // DWORD fDtrControl:2; <
377 // DWORD fDsrSensitivity:1; <
378 // DWORD fTXContinueOnXoff: 1; <
379 // DWORD fOutX: 1; <
380 // DWORD fInX: 1; <
381 // DWORD fErrorChar: 1; <
382 // DWORD fNull: 1; <
383 // DWORD fRtsControl:2; <
384 // DWORD fAbortOnError:1; <
385 // DWORD fDummy2:17; <
386 WORD wReserved; <
387 WORD XonLim; <
388 WORD XoffLim; <
389 BYTE ByteSize; <
390 BYTE Parity; <
391 BYTE StopBits; <
392 char XonChar; <
393 char XoffChar; <
394 char ErrorChar; <
395 char EofChar; <
396 char EvtChar; <
397 WORD wReserved1; <
> 232 const DWORD INVALID_SET_FILE_POINTER = -1;
398 } | 233
399 alias _DCB DCB; <
400 alias _DCB* LPDCB; <
401 | 234
402 struct _COMMTIMEOUTS { <
403 DWORD ReadIntervalTimeout; <
404 DWORD ReadTotalTimeoutMultiplier; <
405 DWORD ReadTotalTimeoutConstant; <
406 DWORD WriteTotalTimeoutMultiplier; <
407 DWORD WriteTotalTimeoutConstant; <
> 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
408 } | 253 }
409 alias _COMMTIMEOUTS COMMTIMEOUTS; <
410 alias _COMMTIMEOUTS* LPCOMMTIMEOUTS; <
411 | 254
412 struct _COMMCONFIG { <
413 DWORD dwSize; | 255 enum : DWORD {
414 WORD wVersion; <
415 WORD wReserved; <
416 DCB dcb; <
417 DWORD dwProviderSubType; <
418 DWORD dwProviderOffset; <
419 DWORD dwProviderSize; <
420 WCHAR wcProviderData[1]; <
> 256 NMPWAIT_NOWAIT = 1,
> 257 NMPWAIT_WAIT_FOREVER = -1,
> 258 NMPWAIT_USE_DEFAULT_WAIT = 0
421 } | 259 }
422 alias _COMMCONFIG COMMCONFIG; <
423 alias _COMMCONFIG* LPCOMMCONFIG; <
424 | 260
425 struct _SYSTEM_INFO { <
426 union { <
> 261 // for ClearCommError()
427 DWORD dwOemId; | 262 const DWORD
428 struct { <
429 WORD wProcessorArchitecture; <
430 WORD wReserved; <
> 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;
431 } | 274
> 275 // for CopyProgressRoutine callback.
> 276 enum : DWORD {
> 277 PROGRESS_CONTINUE = 0,
> 278 PROGRESS_CANCEL = 1,
> 279 PROGRESS_STOP = 2,
> 280 PROGRESS_QUIET = 3
432 | 281 }
433 } | 282
434 <
435 DWORD dwPageSize; | 283 enum : DWORD {
436 LPVOID lpMinimumApplicationAddress; <
437 LPVOID lpMaximumApplicationAddress; <
438 DWORD_PTR dwActiveProcessorMask; <
439 DWORD dwNumberOfProcessors; <
440 DWORD dwProcessorType; <
441 DWORD dwAllocationGranularity; <
442 WORD wProcessorLevel; <
443 WORD wProcessorRevision; <
> 284 CALLBACK_CHUNK_FINISHED = 0,
> 285 CALLBACK_STREAM_SWITCH = 1
444 } | 286 }
445 alias _SYSTEM_INFO SYSTEM_INFO; <
446 alias _SYSTEM_INFO* LPSYSTEM_INFO; <
447 | 287
448 alias FreeLibrary FreeModule; <
449 // #define MakeProcInstance(lpProc,hInstance) (lpProc) <
450 // #define FreeProcInstance(lpProc) (lpProc) <
> 288 // CopyFileEx()
> 289 enum : DWORD {
> 290 COPY_FILE_FAIL_IF_EXISTS = 1,
> 291 COPY_FILE_RESTARTABLE = 2
451 | 292 }
452 enum : uint { GMEM_FIXED = 0x0000 } <
453 enum : uint { GMEM_MOVEABLE = 0x0002 } <
454 enum : uint { GMEM_NOCOMPACT = 0x0010 } <
455 enum : uint { GMEM_NODISCARD = 0x0020 } <
456 enum : uint { GMEM_ZEROINIT = 0x0040 } <
457 enum : uint { GMEM_MODIFY = 0x0080 } <
458 enum : uint { GMEM_DISCARDABLE = 0x0100 } <
459 enum : uint { GMEM_NOT_BANKED = 0x1000 } <
460 enum : uint { GMEM_SHARE = 0x2000 } <
461 enum : uint { GMEM_DDESHARE = 0x2000 } <
462 enum : uint { GMEM_NOTIFY = 0x4000 } <
463 alias GMEM_NOT_BANKED GMEM_LOWER; <
464 enum : uint { GMEM_VALID_FLAGS = 0x7F72 } <
465 enum : uint { GMEM_INVALID_HANDLE = 0x8000 } <
466 | 293
467 enum : uint { GHND = GMEM_MOVEABLE | GMEM_ZEROINIT } <
468 enum : uint { GPTR = GMEM_FIXED | GMEM_ZEROINIT } <
> 294 enum : DWORD {
> 295 FILE_MAP_COPY = 1,
> 296 FILE_MAP_WRITE = 2,
> 297 FILE_MAP_READ = 4,
> 298 FILE_MAP_ALL_ACCESS = 0x000F001F
469 | 299 }
470 // #define GlobalLRUNewest( h ) ((HANDLE)(h)) <
471 // #define GlobalLRUOldest( h ) ((HANDLE)(h)) <
472 // #define GlobalDiscard( h ) GlobalReAlloc( (h), 0, GMEM_MOVEABLE ) <
473 | 300
474 enum : uint { GMEM_DISCARDED = 0x4000 } <
475 enum : uint { GMEM_LOCKCOUNT = 0x00FF } <
476 <
477 struct _MEMORYSTATUS { <
478 DWORD dwLength; | 301 enum : DWORD {
479 DWORD dwMemoryLoad; <
480 SIZE_T dwTotalPhys; <
481 SIZE_T dwAvailPhys; <
482 SIZE_T dwTotalPageFile; <
483 SIZE_T dwAvailPageFile; <
484 SIZE_T dwTotalVirtual; <
485 SIZE_T dwAvailVirtual; <
> 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
486 } | 308 }
487 alias _MEMORYSTATUS MEMORYSTATUS; <
488 alias _MEMORYSTATUS* LPMEMORYSTATUS; <
489 | 309
490 enum : uint { LMEM_FIXED = 0x0000 } <
491 enum : uint { LMEM_MOVEABLE = 0x0002 } <
492 enum : uint { LMEM_NOCOMPACT = 0x0010 } <
493 enum : uint { LMEM_NODISCARD = 0x0020 } <
494 enum : uint { LMEM_ZEROINIT = 0x0040 } <
495 enum : uint { LMEM_MODIFY = 0x0080 } <
496 enum : uint { LMEM_DISCARDABLE = 0x0F00 } <
497 enum : uint { LMEM_VALID_FLAGS = 0x0F72 } <
498 enum : uint { LMEM_INVALID_HANDLE = 0x8000 } <
> 310 // CreateNamedPipe()
> 311 enum : DWORD {
> 312 PIPE_ACCESS_INBOUND = 1,
> 313 PIPE_ACCESS_OUTBOUND = 2,
> 314 PIPE_ACCESS_DUPLEX = 3
499 | 315 }
500 enum : uint { LHND = LMEM_MOVEABLE | LMEM_ZEROINIT } <
501 enum : uint { LPTR = LMEM_FIXED | LMEM_ZEROINIT } <
502 | 316
503 enum : uint { NONZEROLHND = LMEM_MOVEABLE } <
504 enum : uint { NONZEROLPTR = LMEM_FIXED } <
> 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;
505 | 324
506 // #define LocalDiscard( h ) LocalReAlloc( (h), 0, LMEM_MOVEABLE ) <
> 325 // GetNamedPipeInfo()
> 326 const DWORD
> 327 PIPE_CLIENT_END = 0,
> 328 PIPE_SERVER_END = 1;
507 | 329
508 enum : uint { LMEM_DISCARDED = 0x4000 } <
509 enum : uint { LMEM_LOCKCOUNT = 0x00FF } <
> 330 const DWORD PIPE_UNLIMITED_INSTANCES = 255;
510 | 331
> 332 // dwCreationFlags for CreateProcess() and CreateProcessAsUser()
> 333 enum : DWORD {
511 enum : uint { DEBUG_PROCESS = 0x00000001 } | 334 DEBUG_PROCESS = 0x00000001,
512 enum : uint { DEBUG_ONLY_THIS_PROCESS = 0x00000002 } | 335 DEBUG_ONLY_THIS_PROCESS = 0x00000002,
513 <
514 enum : uint { CREATE_SUSPENDED = 0x00000004 } | 336 CREATE_SUSPENDED = 0x00000004,
515 <
516 enum : uint { DETACHED_PROCESS = 0x00000008 } | 337 DETACHED_PROCESS = 0x00000008,
517 <
518 enum : uint { CREATE_NEW_CONSOLE = 0x00000010 } | 338 CREATE_NEW_CONSOLE = 0x00000010,
519 <
520 enum : uint { NORMAL_PRIORITY_CLASS = 0x00000020 } | 339 NORMAL_PRIORITY_CLASS = 0x00000020,
521 enum : uint { IDLE_PRIORITY_CLASS = 0x00000040 } | 340 IDLE_PRIORITY_CLASS = 0x00000040,
522 enum : uint { HIGH_PRIORITY_CLASS = 0x00000080 } | 341 HIGH_PRIORITY_CLASS = 0x00000080,
523 enum : uint { REALTIME_PRIORITY_CLASS = 0x00000100 } | 342 REALTIME_PRIORITY_CLASS = 0x00000100,
524 <
525 enum : uint { CREATE_NEW_PROCESS_GROUP = 0x00000200 } | 343 CREATE_NEW_PROCESS_GROUP = 0x00000200,
526 enum : uint { CREATE_UNICODE_ENVIRONMENT = 0x00000400 } | 344 CREATE_UNICODE_ENVIRONMENT = 0x00000400,
527 <
528 enum : uint { CREATE_SEPARATE_WOW_VDM = 0x00000800 } | 345 CREATE_SEPARATE_WOW_VDM = 0x00000800,
529 enum : uint { CREATE_SHARED_WOW_VDM = 0x00001000 } | 346 CREATE_SHARED_WOW_VDM = 0x00001000,
530 enum : uint { CREATE_FORCEDOS = 0x00002000 } | 347 CREATE_FORCEDOS = 0x00002000,
531 <
532 enum : uint { BELOW_NORMAL_PRIORITY_CLASS = 0x00004000 } | 348 BELOW_NORMAL_PRIORITY_CLASS = 0x00004000,
533 enum : uint { ABOVE_NORMAL_PRIORITY_CLASS = 0x00008000 } | 349 ABOVE_NORMAL_PRIORITY_CLASS = 0x00008000,
534 enum : uint { STACK_SIZE_PARAM_IS_A_RESERVATION = 0x00010000 } <
535 <
536 enum : uint { CREATE_BREAKAWAY_FROM_JOB = 0x01000000 } | 350 CREATE_BREAKAWAY_FROM_JOB = 0x01000000,
537 enum : uint { CREATE_PRESERVE_CODE_AUTHZ_LEVEL = 0x02000000 } <
538 <
> 351 CREATE_WITH_USERPROFILE = 0x02000000,
539 enum : uint { CREATE_DEFAULT_ERROR_MODE = 0x04000000 } | 352 CREATE_DEFAULT_ERROR_MODE = 0x04000000,
540 enum : uint { CREATE_NO_WINDOW = 0x08000000 } | 353 CREATE_NO_WINDOW = 0x08000000,
541 <
542 enum : uint { PROFILE_USER = 0x10000000 } <
> 354 PROFILE_USER = 0x10000000,
543 enum : uint { PROFILE_KERNEL = 0x20000000 } | 355 PROFILE_KERNEL = 0x20000000,
544 enum : uint { PROFILE_SERVER = 0x40000000 } | 356 PROFILE_SERVER = 0x40000000
545 | 357 }
546 enum : uint { CREATE_IGNORE_SYSTEM_DEFAULT = 0x80000000 } <
547 | 358
548 alias THREAD_BASE_PRIORITY_MIN THREAD_PRIORITY_LOWEST; <
549 enum : uint { THREAD_PRIORITY_BELOW_NORMAL = THREAD_PRIORITY_LOWEST+1 } <
550 enum : uint { THREAD_PRIORITY_NORMAL = 0 } <
551 alias THREAD_BASE_PRIORITY_MAX THREAD_PRIORITY_HIGHEST; <
552 enum : uint { THREAD_PRIORITY_ABOVE_NORMAL = THREAD_PRIORITY_HIGHEST-1 } <
553 enum : uint { THREAD_PRIORITY_ERROR_RETURN = MAXLONG } <
> 359 const DWORD CONSOLE_TEXTMODE_BUFFER = 1;
554 | 360
555 alias THREAD_BASE_PRIORITY_LOWRT THREAD_PRIORITY_TIME_CRITICAL; <
556 alias THREAD_BASE_PRIORITY_IDLE THREAD_PRIORITY_IDLE; <
557 <
558 enum : uint { EXCEPTION_DEBUG_EVENT = 1 } <
559 enum : uint { CREATE_THREAD_DEBUG_EVENT = 2 } <
560 enum : uint { CREATE_PROCESS_DEBUG_EVENT = 3 } <
561 enum : uint { EXIT_THREAD_DEBUG_EVENT = 4 } <
562 enum : uint { EXIT_PROCESS_DEBUG_EVENT = 5 } <
563 enum : uint { LOAD_DLL_DEBUG_EVENT = 6 } <
564 enum : uint { UNLOAD_DLL_DEBUG_EVENT = 7 } <
565 enum : uint { OUTPUT_DEBUG_STRING_EVENT = 8 } <
566 enum : uint { RIP_EVENT = 9 } <
567 <
568 struct _EXCEPTION_DEBUG_INFO { <
569 EXCEPTION_RECORD ExceptionRecord; <
> 361 // CreateFile()
570 DWORD dwFirstChance; | 362 enum : DWORD {
> 363 CREATE_NEW = 1,
> 364 CREATE_ALWAYS,
> 365 OPEN_EXISTING,
> 366 OPEN_ALWAYS,
> 367 TRUNCATE_EXISTING
571 } | 368 }
572 alias _EXCEPTION_DEBUG_INFO EXCEPTION_DEBUG_INFO; <
573 alias _EXCEPTION_DEBUG_INFO* LPEXCEPTION_DEBUG_INFO; <
574 | 369
575 struct _CREATE_THREAD_DEBUG_INFO { <
576 HANDLE hThread; <
577 LPVOID lpThreadLocalBase; <
578 LPTHREAD_START_ROUTINE lpStartAddress; <
> 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;
579 } | 382
580 alias _CREATE_THREAD_DEBUG_INFO CREATE_THREAD_DEBUG_INFO; <
581 alias _CREATE_THREAD_DEBUG_INFO* LPCREATE_THREAD_DEBUG_INFO; <
> 383 static if (_WIN32_WINNT_ONLY && _WIN32_WINNT >= 0x500) {
> 384 const DWORD FILE_FLAG_FIRST_PIPE_INSTANCE = 0x00080000;
582 | 385 }
583 struct _CREATE_PROCESS_DEBUG_INFO { <
584 HANDLE hFile; <
585 HANDLE hProcess; <
586 HANDLE hThread; <
587 LPVOID lpBaseOfImage; <
588 DWORD dwDebugInfoFileOffset; <
589 DWORD nDebugInfoSize; <
590 LPVOID lpThreadLocalBase; <
591 LPTHREAD_START_ROUTINE lpStartAddress; <
592 LPVOID lpImageName; <
593 WORD fUnicode; <
594 } | 386
595 alias _CREATE_PROCESS_DEBUG_INFO CREATE_PROCESS_DEBUG_INFO; <
596 alias _CREATE_PROCESS_DEBUG_INFO* LPCREATE_PROCESS_DEBUG_INFO; <
597 <
598 struct _EXIT_THREAD_DEBUG_INFO { <
> 387 // for CreateFile()
599 DWORD dwExitCode; | 388 const DWORD
> 389 SECURITY_ANONYMOUS = SECURITY_IMPERSONATION_LEVEL.SecurityAnonymo
> 390 SECURITY_IDENTIFICATION = SECURITY_IMPERSONATION_LEVEL.SecurityIdentif
> 391 SECURITY_IMPERSONATION = SECURITY_IMPERSONATION_LEVEL.SecurityImperso
> 392 SECURITY_DELEGATION = SECURITY_IMPERSONATION_LEVEL.SecurityDelegat
> 393 SECURITY_CONTEXT_TRACKING = 0x00040000,
> 394 SECURITY_EFFECTIVE_ONLY = 0x00080000,
> 395 SECURITY_SQOS_PRESENT = 0x00100000,
> 396 SECURITY_VALID_SQOS_FLAGS = 0x001F0000;
600 } | 397
601 alias _EXIT_THREAD_DEBUG_INFO EXIT_THREAD_DEBUG_INFO; <
602 alias _EXIT_THREAD_DEBUG_INFO* LPEXIT_THREAD_DEBUG_INFO; <
603 | 398
604 struct _EXIT_PROCESS_DEBUG_INFO { <
605 DWORD dwExitCode; <
> 399 // Thread exit code
> 400 const DWORD STILL_ACTIVE = 0x103;
606 } | 401
607 alias _EXIT_PROCESS_DEBUG_INFO EXIT_PROCESS_DEBUG_INFO; <
608 alias _EXIT_PROCESS_DEBUG_INFO* LPEXIT_PROCESS_DEBUG_INFO; <
> 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;
609 | 406
610 struct _LOAD_DLL_DEBUG_INFO { <
611 HANDLE hFile; <
612 LPVOID lpBaseOfDll; <
613 DWORD dwDebugInfoFileOffset; <
> 407 // GetBinaryType()
614 DWORD nDebugInfoSize; | 408 enum : DWORD {
615 LPVOID lpImageName; <
616 WORD fUnicode; <
> 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
617 } | 415 }
618 alias _LOAD_DLL_DEBUG_INFO LOAD_DLL_DEBUG_INFO; <
619 alias _LOAD_DLL_DEBUG_INFO* LPLOAD_DLL_DEBUG_INFO; <
620 | 416
621 struct _UNLOAD_DLL_DEBUG_INFO { <
622 LPVOID lpBaseOfDll; <
> 417 const size_t
> 418 MAX_COMPUTERNAME_LENGTH = 15,
> 419 HW_PROFILE_GUIDLEN = 39,
> 420 MAX_PROFILE_LEN = 80;
623 } | 421
624 alias _UNLOAD_DLL_DEBUG_INFO UNLOAD_DLL_DEBUG_INFO; <
625 alias _UNLOAD_DLL_DEBUG_INFO* LPUNLOAD_DLL_DEBUG_INFO; <
626 <
627 struct _OUTPUT_DEBUG_STRING_INFO { <
628 LPSTR lpDebugStringData; <
629 WORD fUnicode; <
630 WORD nDebugStringLength; <
631 } <
632 alias _OUTPUT_DEBUG_STRING_INFO OUTPUT_DEBUG_STRING_INFO; <
633 alias _OUTPUT_DEBUG_STRING_INFO* LPOUTPUT_DEBUG_STRING_INFO; <
634 <
635 struct _RIP_INFO { <
> 422 // HW_PROFILE_INFO
636 DWORD dwError; | 423 const DWORD
637 DWORD dwType; <
> 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;
638 } | 429
639 alias _RIP_INFO RIP_INFO; <
640 alias _RIP_INFO* LPRIP_INFO; <
641 <
642 struct _DEBUG_EVENT { <
643 DWORD dwDebugEventCode; <
644 DWORD dwProcessId; <
645 DWORD dwThreadId; <
646 union { <
647 EXCEPTION_DEBUG_INFO Exception; <
648 CREATE_THREAD_DEBUG_INFO CreateThread; <
649 CREATE_PROCESS_DEBUG_INFO CreateProcessInfo; <
650 EXIT_THREAD_DEBUG_INFO ExitThread; <
651 EXIT_PROCESS_DEBUG_INFO ExitProcess; <
652 LOAD_DLL_DEBUG_INFO LoadDll; <
653 UNLOAD_DLL_DEBUG_INFO UnloadDll; <
654 OUTPUT_DEBUG_STRING_INFO DebugString; <
655 RIP_INFO RipInfo; <
656 } <
657 <
658 } <
659 alias _DEBUG_EVENT DEBUG_EVENT; <
660 alias _DEBUG_EVENT* LPDEBUG_EVENT; <
661 <
662 // #if !defined(MIDL_PASS) <
663 alias PCONTEXT LPCONTEXT; <
664 alias PEXCEPTION_RECORD LPEXCEPTION_RECORD; <
665 alias PEXCEPTION_POINTERS LPEXCEPTION_POINTERS; <
666 // #endif <
667 <
> 430 // DriveType(), RealDriveType()
> 431 enum : int {
668 enum : uint { DRIVE_UNKNOWN = 0 } | 432 DRIVE_UNKNOWN = 0,
669 enum : uint { DRIVE_NO_ROOT_DIR = 1 } | 433 DRIVE_NO_ROOT_DIR,
670 enum : uint { DRIVE_REMOVABLE = 2 } | 434 DRIVE_REMOVABLE,
671 enum : uint { DRIVE_FIXED = 3 } | 435 DRIVE_FIXED,
672 enum : uint { DRIVE_REMOTE = 4 } | 436 DRIVE_REMOTE,
673 enum : uint { DRIVE_CDROM = 5 } | 437 DRIVE_CDROM,
674 enum : uint { DRIVE_RAMDISK = 6 } | 438 DRIVE_RAMDISK
675 | 439 }
676 // #ifndef _MAC <
677 // #define GetFreeSpace(w) (0x100000L) <
678 // #else <
679 // ... <
680 // #endif <
681 | 440
> 441 // GetFileType()
> 442 enum : DWORD {
682 enum : uint { FILE_TYPE_UNKNOWN = 0x0000 } | 443 FILE_TYPE_UNKNOWN = 0,
683 enum : uint { FILE_TYPE_DISK = 0x0001 } | 444 FILE_TYPE_DISK,
684 enum : uint { FILE_TYPE_CHAR = 0x0002 } | 445 FILE_TYPE_CHAR,
685 enum : uint { FILE_TYPE_PIPE = 0x0003 } | 446 FILE_TYPE_PIPE,
686 enum : uint { FILE_TYPE_REMOTE = 0x8000 } | 447 FILE_TYPE_REMOTE = 0x8000
687 | 448 }
> 449
> 450 // Get/SetHandleInformation()
> 451 const DWORD
> 452 HANDLE_FLAG_INHERIT = 0x01,
> 453 HANDLE_FLAG_PROTECT_FROM_CLOSE = 0x02;
> 454
> 455 enum : DWORD {
688 enum : uint { STD_INPUT_HANDLE = cast(DWORD)-10 } | 456 STD_INPUT_HANDLE = 0xFFFFFFF6,
689 enum : uint { STD_OUTPUT_HANDLE = cast(DWORD)-11 } | 457 STD_OUTPUT_HANDLE = 0xFFFFFFF5,
690 enum : uint { STD_ERROR_HANDLE = cast(DWORD)-12 } | 458 STD_ERROR_HANDLE = 0xFFFFFFF4
691 | 459 }
692 enum : uint { NOPARITY = 0 } <
693 enum : uint { ODDPARITY = 1 } <
694 enum : uint { EVENPARITY = 2 } <
695 enum : uint { MARKPARITY = 3 } <
696 enum : uint { SPACEPARITY = 4 } <
697 | 460
698 enum : uint { ONESTOPBIT = 0 } <
699 enum : uint { ONE5STOPBITS = 1 } <
700 enum : uint { TWOSTOPBITS = 2 } <
> 461 const HANDLE INVALID_HANDLE_VALUE = cast(HANDLE) (-1);
701 | 462
702 enum : uint { IGNORE = 0 } | 463 enum : DWORD {
703 enum : uint { INFINITE = 0xFFFFFFFF } <
> 464 GET_TAPE_MEDIA_INFORMATION = 0,
> 465 GET_TAPE_DRIVE_INFORMATION = 1
704 | 466 }
705 enum : uint { CBR_110 = 110 } <
706 enum : uint { CBR_300 = 300 } <
707 enum : uint { CBR_600 = 600 } <
708 enum : uint { CBR_1200 = 1200 } <
709 enum : uint { CBR_2400 = 2400 } <
710 enum : uint { CBR_4800 = 4800 } <
711 enum : uint { CBR_9600 = 9600 } <
712 enum : uint { CBR_14400 = 14400 } <
713 enum : uint { CBR_19200 = 19200 } <
714 enum : uint { CBR_38400 = 38400 } <
715 enum : uint { CBR_56000 = 56000 } <
716 enum : uint { CBR_57600 = 57600 } <
717 enum : uint { CBR_115200 = 115200 } <
718 enum : uint { CBR_128000 = 128000 } <
719 enum : uint { CBR_256000 = 256000 } <
720 | 467
721 enum : uint { CE_RXOVER = 0x0001 } <
722 enum : uint { CE_OVERRUN = 0x0002 } <
723 enum : uint { CE_RXPARITY = 0x0004 } <
724 enum : uint { CE_FRAME = 0x0008 } <
725 enum : uint { CE_BREAK = 0x0010 } <
726 enum : uint { CE_TXFULL = 0x0100 } <
727 enum : uint { CE_PTO = 0x0200 } <
728 enum : uint { CE_IOE = 0x0400 } <
729 enum : uint { CE_DNS = 0x0800 } <
730 enum : uint { CE_OOP = 0x1000 } <
731 enum : uint { CE_MODE = 0x8000 } <
> 468 enum : DWORD {
> 469 SET_TAPE_MEDIA_INFORMATION = 0,
> 470 SET_TAPE_DRIVE_INFORMATION = 1
732 | 471 }
733 enum { IE_BADID = -1 } <
734 enum { IE_OPEN = -2 } <
735 enum { IE_NOPEN = -3 } <
736 enum { IE_MEMORY = -4 } <
737 enum { IE_DEFAULT = -5 } <
738 enum { IE_HARDWARE = -10 } <
739 enum { IE_BYTESIZE = -11 } <
740 enum { IE_BAUDRATE = -12 } <
741 | 472
742 enum : uint { EV_RXCHAR = 0x0001 } <
743 enum : uint { EV_RXFLAG = 0x0002 } <
744 enum : uint { EV_TXEMPTY = 0x0004 } <
745 enum : uint { EV_CTS = 0x0008 } <
746 enum : uint { EV_DSR = 0x0010 } <
747 enum : uint { EV_RLSD = 0x0020 } <
748 enum : uint { EV_BREAK = 0x0040 } <
749 enum : uint { EV_ERR = 0x0080 } <
750 enum : uint { EV_RING = 0x0100 } <
751 enum : uint { EV_PERR = 0x0200 } <
752 enum : uint { EV_RX80FULL = 0x0400 } <
753 enum : uint { EV_EVENT1 = 0x0800 } <
754 enum : uint { EV_EVENT2 = 0x1000 } <
> 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
755 | 483 }
756 enum : uint { SETXOFF = 1 } <
757 enum : uint { SETXON = 2 } <
758 enum : uint { SETRTS = 3 } <
759 enum : uint { CLRRTS = 4 } <
760 enum : uint { SETDTR = 5 } <
761 enum : uint { CLRDTR = 6 } <
762 enum : uint { RESETDEV = 7 } <
763 enum : uint { SETBREAK = 8 } <
764 enum : uint { CLRBREAK = 9 } <
765 | 484
766 enum : uint { PURGE_TXABORT = 0x0001 } <
767 enum : uint { PURGE_RXABORT = 0x0002 } <
768 enum : uint { PURGE_TXCLEAR = 0x0004 } <
769 enum : uint { PURGE_RXCLEAR = 0x0008 } <
> 485 enum : DWORD {
> 486 TIME_ZONE_ID_UNKNOWN,
> 487 TIME_ZONE_ID_STANDARD,
> 488 TIME_ZONE_ID_DAYLIGHT,
> 489 TIME_ZONE_ID_INVALID = 0xFFFFFFFF
770 | 490 }
771 enum : uint { LPTx = 0x80 } <
772 | 491
773 enum : uint { MS_CTS_ON = cast(DWORD)0x0010 } <
774 enum : uint { MS_DSR_ON = cast(DWORD)0x0020 } <
775 enum : uint { MS_RING_ON = cast(DWORD)0x0040 } <
776 enum : uint { MS_RLSD_ON = cast(DWORD)0x0080 } <
> 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;
777 | 499
778 enum : uint { S_QUEUEEMPTY = 0 } <
779 enum : uint { S_THRESHOLD = 1 } <
780 enum : uint { S_ALLTHRESHOLD = 2 } <
> 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;
781 | 509
782 enum : uint { S_NORMAL = 0 } <
783 enum : uint { S_LEGATO = 1 } <
784 enum : uint { S_STACCATO = 2 } <
> 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;
785 | 518
786 enum : uint { S_PERIOD512 = 0 } <
787 enum : uint { S_PERIOD1024 = 1 } <
788 enum : uint { S_PERIOD2048 = 2 } <
789 enum : uint { S_PERIODVOICE = 3 } <
790 enum : uint { S_WHITE512 = 4 } <
791 enum : uint { S_WHITE1024 = 5 } <
792 enum : uint { S_WHITE2048 = 6 } <
793 enum : uint { S_WHITEVOICE = 7 } <
> 519 GMEM_LOCKCOUNT=255;
794 | 520
795 enum { S_SERDVNA = -1 } <
796 enum { S_SEROFM = -2 } <
797 enum { S_SERMACT = -3 } <
798 enum { S_SERQFUL = -4 } <
799 enum { S_SERBDNT = -5 } <
800 enum { S_SERDLN = -6 } <
801 enum { S_SERDCC = -7 } <
802 enum { S_SERDTP = -8 } <
803 enum { S_SERDVL = -9 } <
804 enum { S_SERDMD = -10 } <
805 enum { S_SERDSH = -11 } <
806 enum { S_SERDPT = -12 } <
807 enum { S_SERDFQ = -13 } <
808 enum { S_SERDDR = -14 } <
809 enum { S_SERDSR = -15 } <
810 enum { S_SERDST = -16 } <
> 521 // for GlobalFlags()
> 522 GMEM_DISCARDED = 16384;
> 523 GMEM_INVALID_HANDLE = 32768;
811 | 524
812 enum : uint { NMPWAIT_WAIT_FOREVER = 0xffffffff } <
813 enum : uint { NMPWAIT_NOWAIT = 0x00000001 } <
814 enum : uint { NMPWAIT_USE_DEFAULT_WAIT = 0x00000000 } <
> 525 GMEM_NOTIFY = 16384;
> 526 +/
815 | 527
816 alias FILE_CASE_PRESERVED_NAMES FS_CASE_IS_PRESERVED; <
817 alias FILE_CASE_SENSITIVE_SEARCH FS_CASE_SENSITIVE; <
818 alias FILE_UNICODE_ON_DISK FS_UNICODE_STORED_ON_DISK; <
819 alias FILE_PERSISTENT_ACLS FS_PERSISTENT_ACLS; <
820 alias FILE_VOLUME_IS_COMPRESSED FS_VOL_IS_COMPRESSED; <
821 alias FILE_FILE_COMPRESSION FS_FILE_COMPRESSION; <
822 alias FILE_SUPPORTS_ENCRYPTION FS_FILE_ENCRYPTION; <
> 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;
823 | 545
824 alias SECTION_QUERY FILE_MAP_COPY; <
825 alias SECTION_MAP_WRITE FILE_MAP_WRITE; <
826 alias SECTION_MAP_READ FILE_MAP_READ; <
827 alias SECTION_ALL_ACCESS FILE_MAP_ALL_ACCESS; <
828 | 546
829 enum : uint { OF_READ = 0x00000000 } <
830 enum : uint { OF_WRITE = 0x00000001 } <
831 enum : uint { OF_READWRITE = 0x00000002 } <
832 enum : uint { OF_SHARE_COMPAT = 0x00000000 } <
833 enum : uint { OF_SHARE_EXCLUSIVE = 0x00000010 } <
834 enum : uint { OF_SHARE_DENY_WRITE = 0x00000020 } <
835 enum : uint { OF_SHARE_DENY_READ = 0x00000030 } <
836 enum : uint { OF_SHARE_DENY_NONE = 0x00000040 } <
837 enum : uint { OF_PARSE = 0x00000100 } <
838 enum : uint { OF_DELETE = 0x00000200 } <
839 enum : uint { OF_VERIFY = 0x00000400 } <
840 enum : uint { OF_CANCEL = 0x00000800 } <
841 enum : uint { OF_CREATE = 0x00001000 } <
842 enum : uint { OF_PROMPT = 0x00002000 } <
843 enum : uint { OF_EXIST = 0x00004000 } <
844 enum : uint { OF_REOPEN = 0x00008000 } <
845 | 547
846 enum : uint { OFS_MAXPATHNAME = 128 } <
847 struct _OFSTRUCT { <
848 BYTE cBytes; <
849 BYTE fFixedDisk; <
> 548 // used in EXCEPTION_RECORD
850 WORD nErrCode; | 549 enum : DWORD {
851 WORD Reserved1; <
852 WORD Reserved2; <
853 CHAR szPathName[OFS_MAXPATHNAME]; <
> 550 STATUS_WAIT_0 = 0,
> 551 STATUS_ABANDONED_WAIT_0 = 0x00000080,
> 552 STATUS_USER_APC = 0x000000C0,
> 553 STATUS_TIMEOUT = 0x00000102,
> 554 STATUS_PENDING = 0x00000103,
854 } | 555
855 alias _OFSTRUCT OFSTRUCT; <
856 alias _OFSTRUCT* LPOFSTRUCT; <
857 alias _OFSTRUCT* POFSTRUCT; <
> 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,
858 | 561
859 // #ifndef NOWINBASEINTERLOCK <
> 562 STATUS_ACCESS_VIOLATION = 0xC0000005,
> 563 STATUS_IN_PAGE_ERROR = 0xC0000006,
> 564 STATUS_INVALID_HANDLE = 0xC0000008,
860 | 565
861 // #ifndef _NTOS_ <
> 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,
862 | 585
863 // #if defined(_M_IA64) && !defined(RC_INVOKED) <
> 586 CONTROL_C_EXIT = STATUS_CONTROL_C_EXIT,
864 | 587
865 // #... <
866 // #... <
867 // #... <
868 // #... <
869 // #... <
870 // #... <
871 // #... <
> 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
872 | 610 }
873 // ... <
874 | 611
875 // ... <
> 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;
876 | 619
877 // ... <
> 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
878 | 626
879 // ... <
> 627 // for LockFile()
> 628 const DWORD
> 629 LOCKFILE_FAIL_IMMEDIATELY = 1,
> 630 LOCKFILE_EXCLUSIVE_LOCK = 2;
880 | 631
881 // ... <
> 632 const MAXIMUM_WAIT_OBJECTS = 64;
> 633 const MAXIMUM_SUSPEND_COUNT = 0x7F;
882 | 634
883 // ... <
> 635 const WAIT_OBJECT_0 = 0;
> 636 const WAIT_ABANDONED_0 = 128;
884 | 637
885 // ... <
> 638 //const WAIT_TIMEOUT=258; // also in winerror.h
886 | 639
887 // #... <
888 // #... <
889 // #... <
890 // #... <
891 // #... <
892 // #... <
893 // #... <
> 640 enum : DWORD {
> 641 WAIT_IO_COMPLETION = 0x000000C0,
> 642 WAIT_ABANDONED = 0x00000080,
> 643 WAIT_FAILED = 0xFFFFFFFF
894 | 644 }
895 // #elif defined(_M_AMD64) && !defined(RC_INVOKED) <
896 | 645
897 // #... <
898 // #... <
899 // #... <
900 // #... <
901 // #... <
902 // #... <
903 // #... <
> 646 // PurgeComm()
> 647 const DWORD
> 648 PURGE_TXABORT = 1,
> 649 PURGE_RXABORT = 2,
> 650 PURGE_TXCLEAR = 4,
> 651 PURGE_RXCLEAR = 8;
904 | 652
905 // ... <
> 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;
906 | 659
907 // ... <
> 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
908 | 668 }
909 // ... <
910 | 669
911 // ... <
> 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;
912 | 678
913 // ... <
> 679 const DWORD FORMAT_MESSAGE_MAX_WIDTH_MASK = 255;
914 | 680
915 // ... <
> 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
916 | 688 }
917 // ... <
> 689 // end ntapi.h
918 | 690
919 // #... <
920 // #... <
921 // #... <
922 // #... <
923 // #... <
924 // #... <
925 // #... <
> 691 enum {
> 692 SLE_ERROR = 1,
> 693 SLE_MINORERROR,
> 694 SLE_WARNING
926 | 695 }
927 // #else // X86 interlocked definitions <
928 | 696
929 extern(Windows) export LONG InterlockedIncrement( <
930 LONG *lpAddend); <
> 697 const SHUTDOWN_NORETRY = 1;
931 | 698
932 extern(Windows) export LONG InterlockedDecrement( <
> 699 // Return type for exception filters.
933 LONG *lpAddend); | 700 enum : LONG {
> 701 EXCEPTION_EXECUTE_HANDLER = 1,
> 702 EXCEPTION_CONTINUE_EXECUTION = -1,
> 703 EXCEPTION_CONTINUE_SEARCH = 0
934 | 704 }
935 extern(Windows) export LONG InterlockedExchange( <
936 LONG *Target, <
937 LONG Value); <
938 | 705
939 void* InterlockedExchangePointer(void** t, void* v){ return cast(void*)Interlock <
> 706 enum : ATOM {
> 707 MAXINTATOM = 0xC000,
> 708 INVALID_ATOM = 0
940 | 709 }
941 extern(Windows) export LONG InterlockedExchangeAdd( <
942 LONG *Addend, <
943 LONG Value); <
944 | 710
945 extern(Windows) export LONG InterlockedCompareExchange( <
946 LONG *Destination, <
947 LONG Exchange, <
948 LONG Comperand); <
> 711 const IGNORE = 0;
> 712 const INFINITE = 0xFFFFFFFF;
949 | 713
950 // #ifdef __cplusplus <
> 714 // EscapeCommFunction()
> 715 enum {
> 716 SETXOFF = 1,
> 717 SETXON,
> 718 SETRTS,
> 719 CLRRTS,
> 720 SETDTR,
> 721 CLRDTR, // = 6
> 722 SETBREAK = 8,
> 723 CLRBREAK = 9
951 | 724 }
952 PVOID __InlineInterlockedCompareExchangePointer(PVOID* Destination, PVOID ExChan <
953 alias __InlineInterlockedCompareExchangePointer InterlockedCompareExchangePointe <
954 | 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
955 // #else | 751 // DCB
> 752 enum : BYTE {
> 753 NOPARITY = 0,
> 754 ODDPARITY,
> 755 EVENPARITY,
> 756 MARKPARITY,
> 757 SPACEPARITY
956 | 758 }
957 // #... | 759 // DCB
> 760 enum : BYTE {
> 761 ONESTOPBIT = 0,
> 762 ONE5STOPBITS,
> 763 TWOSTOPBITS
> 764 }
958 // ... | 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
959 | 782 }
960 // #endif /* __cplusplus */ <
> 783 // DCB, 2-bit bitfield
> 784 enum {
> 785 DTR_CONTROL_DISABLE = 0,
> 786 DTR_CONTROL_ENABLE,
> 787 DTR_CONTROL_HANDSHAKE
961 | 788 }
962 // #endif /* X86 | IA64 */ <
963 | 789
964 // #if defined(_SLIST_HEADER_) && !defined(_NTOSP_) <
> 790 // DCB, 2-bit bitfield
> 791 enum {
> 792 RTS_CONTROL_DISABLE = 0,
> 793 RTS_CONTROL_ENABLE,
> 794 RTS_CONTROL_HANDSHAKE,
> 795 RTS_CONTROL_TOGGLE,
965 | 796 }
966 // ... <
967 | 797
968 // ... <
> 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
969 | 810 }
970 // ... <
971 | 811
972 // ... <
> 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
973 | 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
974 // ... | 833 // ???
> 834 enum {
> 835 TC_NORMAL = 0,
> 836 TC_HARDERR = 1,
> 837 TC_GP_TRAP = 2,
> 838 TC_SIGNAL = 3
975 | 839 }
976 // #endif /* _SLIST_HEADER_ */ <
977 // #endif /* _NTOS_ */ <
978 | 840
979 // #endif /* NOWINBASEINTERLOCK */ <
> 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
980 | 847 }
981 extern(Windows) export BOOL FreeResource( <
982 HGLOBAL hResData); <
983 | 848
984 extern(Windows) export LPVOID LockResource( <
985 HGLOBAL hResData); <
> 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
986 | 858 }
987 // #define UnlockResource(hResData) ((hResData), 0) <
988 enum : uint { MAXINTATOM = 0xC000 } <
989 // #define MAKEINTATOM(i) (LPTSTR)((ULONG_PTR)((WORD)(i))) <
990 enum : ATOM { INVALID_ATOM = 0 } <
> 859 +/
991 | 860
992 // #ifndef _MAC <
993 // ??? 861 // ???
994 // ??? | 862 const HINSTANCE_ERROR = 32;
995 // #else <
> 863
996 // ... | 864 // returned from GetFileSize()
997 // #endif | 865 const DWORD INVALID_FILE_SIZE = 0xFFFFFFFF;
998 // WinMain <
999 | 866
1000 extern(Windows) export BOOL FreeLibrary( <
> 867 const DWORD TLS_OUT_OF_INDEXES = 0xFFFFFFFF;
> 868
1001 HMODULE hLibModule); | 869 // GetWriteWatch()
> 870 const DWORD WRITE_WATCH_FLAG_RESET = 1;
1002 | 871
1003 extern(Windows) export VOID FreeLibraryAndExitThread( <
1004 HMODULE hLibModule, | 872 static if (_WIN32_WINNT_ONLY) {
> 873 // for LogonUser()
1005 DWORD dwExitCode); | 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
1006 | 880 }
1007 extern(Windows) export BOOL DisableThreadLibraryCalls( <
1008 HMODULE hLibModule); <
1009 | 881
1010 extern(Windows) export FARPROC GetProcAddress( <
1011 HMODULE hModule, <
1012 LPCSTR lpProcName); <
> 882 // for LogonUser()
> 883 enum : DWORD {
> 884 LOGON32_PROVIDER_DEFAULT,
> 885 LOGON32_PROVIDER_WINNT35,
> 886 LOGON32_PROVIDER_WINNT40,
> 887 LOGON32_PROVIDER_WINNT50
1013 | 888 }
1014 extern(Windows) export DWORD GetVersion(); <
1015 | 889
1016 extern(Windows) export HGLOBAL GlobalAlloc( <
1017 UINT uFlags, <
1018 SIZE_T dwBytes); <
> 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;
1019 | 896
1020 extern(Windows) export HGLOBAL GlobalReAlloc( <
1021 HGLOBAL hMem, <
1022 SIZE_T dwBytes, <
1023 UINT uFlags); <
> 897 // DefineDosDevice()
> 898 const DWORD
> 899 DDD_RAW_TARGET_PATH = 1,
> 900 DDD_REMOVE_DEFINITION = 2,
> 901 DDD_EXACT_MATCH_ON_REMOVE = 4;
1024 | 902
1025 extern(Windows) export SIZE_T GlobalSize( <
1026 HGLOBAL hMem); <
> 903 static if (_WIN32_WINNT >= 0x500) {
> 904 enum : DWORD {
> 905 LOGON32_LOGON_NETWORK_CLEARTEXT = 8,
> 906 LOGON32_LOGON_NEW_CREDENTIALS = 9
1027 | 907 }
1028 extern(Windows) export UINT GlobalFlags( <
1029 HGLOBAL hMem); <
1030 | 908
1031 extern(Windows) export LPVOID GlobalLock( <
1032 HGLOBAL hMem); <
> 909 // ReplaceFile()
> 910 const DWORD
> 911 REPLACEFILE_WRITE_THROUGH = 1,
> 912 REPLACEFILE_IGNORE_MERGE_ERRORS = 2;
1033 | 913 }
1034 extern(Windows) export HGLOBAL GlobalHandle( <
1035 LPCVOID pMem); <
1036 | 914
1037 extern(Windows) export BOOL GlobalUnlock( <
1038 HGLOBAL hMem); <
> 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;
1039 | 920
1040 extern(Windows) export HGLOBAL GlobalFree( <
1041 HGLOBAL hMem); <
> 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;
1042 | 930
1043 extern(Windows) export SIZE_T GlobalCompact( <
> 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()
1044 DWORD dwMinFree); | 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;
1045 | 940
1046 extern(Windows) export VOID GlobalFix( <
1047 HGLOBAL hMem); <
> 941 enum {
> 942 LOGON_WITH_PROFILE = 1,
> 943 LOGON_NETCREDENTIALS_ONLY
1048 | 944 }
1049 extern(Windows) export VOID GlobalUnfix( <
1050 HGLOBAL hMem); <
1051 | 945 }
1052 extern(Windows) export LPVOID GlobalWire( <
1053 HGLOBAL hMem); <
1054 | 946 }
1055 extern(Windows) export BOOL GlobalUnWire( <
1056 HGLOBAL hMem); <
1057 | 947
1058 extern(Windows) export VOID GlobalMemoryStatus( <
1059 LPMEMORYSTATUS lpBuffer); <
> 948 // ----
1060 | 949
1061 struct _MEMORYSTATUSEX { | 950 struct FILETIME {
1062 DWORD dwLength; | 951 DWORD dwLowDateTime;
1063 DWORD dwMemoryLoad; | 952 DWORD dwHighDateTime;
1064 DWORDLONG ullTotalPhys; <
1065 DWORDLONG ullAvailPhys; <
1066 DWORDLONG ullTotalPageFile; <
1067 DWORDLONG ullAvailPageFile; <
1068 DWORDLONG ullTotalVirtual; <
1069 DWORDLONG ullAvailVirtual; <
1070 DWORDLONG ullAvailExtendedVirtual; <
1071 } | 953 }
1072 alias _MEMORYSTATUSEX MEMORYSTATUSEX; <
1073 alias _MEMORYSTATUSEX* LPMEMORYSTATUSEX; <
> 954 alias FILETIME* PFILETIME, LPFILETIME;
1074 | 955
1075 extern(Windows) export BOOL GlobalMemoryStatusEx( <
1076 LPMEMORYSTATUSEX lpBuffer); <
> 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;
1077 | 967 }
1078 extern(Windows) export HLOCAL LocalAlloc( <
1079 UINT uFlags, <
1080 SIZE_T uBytes); <
> 968 alias BY_HANDLE_FILE_INFORMATION* LPBY_HANDLE_FILE_INFORMATION;
1081 | 969
1082 extern(Windows) export HLOCAL LocalReAlloc( <
1083 HLOCAL hMem, <
1084 SIZE_T uBytes, <
1085 UINT uFlags); <
> 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
> 992 bool fOutxCtsFlow(bool f) { _bf = (_bf & ~0x0004) | (f<<2); return
> 993 bool fOutxDsrFlow(bool f) { _bf = (_bf & ~0x0008) | (f<<3); return
> 994 byte fDtrControl(byte x) { _bf = (_bf & ~0x0030) | (x<<4); return
> 995 bool fDsrSensitivity(bool f) { _bf = (_bf & ~0x0040) | (f<<6); return
> 996 bool fTXContinueOnXoff(bool f) { _bf = (_bf & ~0x0080) | (f<<7); return
> 997 bool fOutX(bool f) { _bf = (_bf & ~0x0100) | (f<<8); return
> 998 bool fInX(bool f) { _bf = (_bf & ~0x0200) | (f<<9); return
> 999 bool fErrorChar(bool f) { _bf = (_bf & ~0x0400) | (f<<10); return
> 1000 bool fNull(bool f) { _bf = (_bf & ~0x0800) | (f<<11); return
> 1001 byte fRtsControl(byte x) { _bf = (_bf & ~0x3000) | (x<<12); return
> 1002 bool fAbortOnError(bool f) { _bf = (_bf & ~0x4000) | (f<<14); return
1086 | 1003
1087 extern(Windows) export LPVOID LocalLock( <
1088 HLOCAL hMem); <
> 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); }
1089 | 1017
1090 extern(Windows) export HLOCAL LocalHandle( <
1091 LPCVOID pMem); <
> 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;
1092 | 1030 }
1093 extern(Windows) export BOOL LocalUnlock( <
1094 HLOCAL hMem); <
> 1031 alias DCB* LPDCB;
1095 | 1032
1096 extern(Windows) export SIZE_T LocalSize( <
1097 HLOCAL hMem); <
> 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;
1098 | 1042
1099 extern(Windows) export UINT LocalFlags( <
1100 HLOCAL hMem); <
> 1043 WCHAR* wcProviderData() { return &_wcProviderData; }
1101 | 1044 }
1102 extern(Windows) export HLOCAL LocalFree( <
1103 HLOCAL hMem); <
> 1045 alias COMMCONFIG* LPCOMMCONFIG;
1104 | 1046
1105 extern(Windows) export SIZE_T LocalShrink( <
1106 HLOCAL hMem, <
1107 UINT cbNewSize); <
> 1047 struct COMMTIMEOUTS {
> 1048 DWORD ReadIntervalTimeout;
> 1049 DWORD ReadTotalTimeoutMultiplier;
> 1050 DWORD ReadTotalTimeoutConstant;
> 1051 DWORD WriteTotalTimeoutMultiplier;
> 1052 DWORD WriteTotalTimeoutConstant;
1108 | 1053 }
1109 extern(Windows) export SIZE_T LocalCompact( <
1110 UINT uMinFree); <
> 1054 alias COMMTIMEOUTS* LPCOMMTIMEOUTS;
1111 | 1055
1112 extern(Windows) export BOOL FlushInstructionCache( <
1113 HANDLE hProcess, <
1114 LPCVOID lpBaseAddress, <
1115 SIZE_T dwSize); <
1116 <
1117 extern(Windows) export LPVOID VirtualAlloc( <
1118 LPVOID lpAddress, <
1119 SIZE_T dwSize, <
> 1056 struct COMSTAT {
> 1057 /+
> 1058 DWORD fCtsHold:1;
> 1059 DWORD fDsrHold:1;
> 1060 DWORD fRlsdHold:1;
> 1061 DWORD fXoffHold:1;
> 1062 DWORD fXoffSent:1;
1120 DWORD flAllocationType, | 1063 DWORD fEof:1;
1121 DWORD flProtect); | 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; }
1122 | 1075
1123 extern(Windows) export BOOL VirtualFree( <
1124 LPVOID lpAddress, <
1125 SIZE_T dwSize, <
1126 DWORD dwFreeType); <
> 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); }
1127 | 1083
1128 extern(Windows) export BOOL VirtualProtect( <
1129 LPVOID lpAddress, <
1130 SIZE_T dwSize, <
1131 DWORD flNewProtect, | 1084 DWORD cbInQue;
1132 PDWORD lpflOldProtect); <
> 1085 DWORD cbOutQue;
1133 | 1086 }
1134 extern(Windows) export SIZE_T VirtualQuery( <
1135 LPCVOID lpAddress, <
1136 PMEMORY_BASIC_INFORMATION lpBuffer, <
1137 SIZE_T dwLength); <
> 1087 alias COMSTAT* LPCOMSTAT;
1138 | 1088
1139 extern(Windows) export LPVOID VirtualAllocEx( <
> 1089 struct CREATE_PROCESS_DEBUG_INFO {
> 1090 HANDLE hFile;
1140 HANDLE hProcess, | 1091 HANDLE hProcess;
> 1092 HANDLE hThread;
> 1093 LPVOID lpBaseOfImage;
> 1094 DWORD dwDebugInfoFileOffset;
> 1095 DWORD nDebugInfoSize;
> 1096 LPVOID lpThreadLocalBase;
> 1097 LPTHREAD_START_ROUTINE lpStartAddress;
1141 LPVOID lpAddress, | 1098 LPVOID lpImageName;
1142 SIZE_T dwSize, <
1143 DWORD flAllocationType, <
1144 DWORD flProtect); <
> 1099 WORD fUnicode;
1145 | 1100 }
1146 extern(Windows) export UINT GetWriteWatch( <
1147 DWORD dwFlags, <
1148 PVOID lpBaseAddress, <
1149 SIZE_T dwRegionSize, <
1150 PVOID *lpAddresses, <
1151 PULONG_PTR lpdwCount, <
1152 PULONG lpdwGranularity); <
> 1101 alias CREATE_PROCESS_DEBUG_INFO* LPCREATE_PROCESS_DEBUG_INFO;
1153 | 1102
1154 extern(Windows) export UINT ResetWriteWatch( <
> 1103 struct CREATE_THREAD_DEBUG_INFO {
> 1104 HANDLE hThread;
1155 LPVOID lpBaseAddress, | 1105 LPVOID lpThreadLocalBase;
1156 SIZE_T dwRegionSize); <
> 1106 LPTHREAD_START_ROUTINE lpStartAddress;
1157 | 1107 }
1158 extern(Windows) export BOOL VirtualFreeEx( <
1159 HANDLE hProcess, <
1160 LPVOID lpAddress, <
1161 SIZE_T dwSize, <
1162 DWORD dwFreeType); <
> 1108 alias CREATE_THREAD_DEBUG_INFO* LPCREATE_THREAD_DEBUG_INFO;
1163 | 1109
1164 extern(Windows) export BOOL VirtualProtectEx( <
1165 HANDLE hProcess, <
1166 LPVOID lpAddress, <
1167 SIZE_T dwSize, <
1168 DWORD flNewProtect, <
1169 PDWORD lpflOldProtect); <
> 1110 struct EXCEPTION_DEBUG_INFO {
> 1111 EXCEPTION_RECORD ExceptionRecord;
> 1112 DWORD dwFirstChance;
1170 | 1113 }
1171 extern(Windows) export SIZE_T VirtualQueryEx( <
1172 HANDLE hProcess, <
1173 LPCVOID lpAddress, <
1174 PMEMORY_BASIC_INFORMATION lpBuffer, <
1175 SIZE_T dwLength); <
> 1114 alias EXCEPTION_DEBUG_INFO* LPEXCEPTION_DEBUG_INFO;
1176 | 1115
1177 extern(Windows) export HANDLE HeapCreate( <
> 1116 struct EXIT_THREAD_DEBUG_INFO {
1178 DWORD flOptions, | 1117 DWORD dwExitCode;
1179 SIZE_T dwInitialSize, <
1180 SIZE_T dwMaximumSize); <
1181 | 1118 }
1182 extern(Windows) export BOOL HeapDestroy( <
1183 HANDLE hHeap); <
> 1119 alias EXIT_THREAD_DEBUG_INFO* LPEXIT_THREAD_DEBUG_INFO;
1184 | 1120
1185 extern(Windows) export LPVOID HeapAlloc( <
1186 HANDLE hHeap, <
> 1121 struct EXIT_PROCESS_DEBUG_INFO {
1187 DWORD dwFlags, | 1122 DWORD dwExitCode;
1188 SIZE_T dwBytes); <
1189 | 1123 }
1190 extern(Windows) export LPVOID HeapReAlloc( <
> 1124 alias EXIT_PROCESS_DEBUG_INFO* LPEXIT_PROCESS_DEBUG_INFO;
> 1125
> 1126 struct LOAD_DLL_DEBUG_INFO {
1191 HANDLE hHeap, | 1127 HANDLE hFile;
1192 DWORD dwFlags, <
1193 LPVOID lpMem, | 1128 LPVOID lpBaseOfDll;
1194 SIZE_T dwBytes); <
> 1129 DWORD dwDebugInfoFileOffset;
> 1130 DWORD nDebugInfoSize;
> 1131 LPVOID lpImageName;
> 1132 WORD fUnicode;
1195 | 1133 }
1196 extern(Windows) export BOOL HeapFree( <
1197 HANDLE hHeap, <
1198 DWORD dwFlags, <
> 1134 alias LOAD_DLL_DEBUG_INFO* LPLOAD_DLL_DEBUG_INFO;
> 1135
> 1136 struct UNLOAD_DLL_DEBUG_INFO {
1199 LPVOID lpMem); | 1137 LPVOID lpBaseOfDll;
1200 | 1138 }
1201 extern(Windows) export SIZE_T HeapSize( <
1202 HANDLE hHeap, <
> 1139 alias UNLOAD_DLL_DEBUG_INFO* LPUNLOAD_DLL_DEBUG_INFO;
> 1140
> 1141 struct OUTPUT_DEBUG_STRING_INFO {
> 1142 LPSTR lpDebugStringData;
1203 DWORD dwFlags, | 1143 WORD fUnicode;
1204 LPCVOID lpMem); <
> 1144 WORD nDebugStringLength;
1205 | 1145 }
1206 extern(Windows) export BOOL HeapValidate( <
1207 HANDLE hHeap, <
> 1146 alias OUTPUT_DEBUG_STRING_INFO* LPOUTPUT_DEBUG_STRING_INFO;
> 1147
> 1148 struct RIP_INFO {
> 1149 DWORD dwError;
1208 DWORD dwFlags, | 1150 DWORD dwType;
1209 LPCVOID lpMem); <
1210 | 1151 }
1211 extern(Windows) export SIZE_T HeapCompact( <
1212 HANDLE hHeap, <
> 1152 alias RIP_INFO* LPRIP_INFO;
> 1153
> 1154 struct DEBUG_EVENT {
> 1155 DWORD dwDebugEventCode;
1213 DWORD dwFlags); | 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;
1214 | 1168 }
1215 extern(Windows) export HANDLE GetProcessHeap(); <
1216 | 1169 }
1217 extern(Windows) export DWORD GetProcessHeaps( <
1218 DWORD NumberOfHeaps, <
1219 PHANDLE ProcessHeaps); <
> 1170 alias DEBUG_EVENT* LPDEBUG_EVENT;
1220 | 1171
1221 struct _PROCESS_HEAP_ENTRY { <
1222 PVOID lpData; <
1223 DWORD cbData; <
1224 BYTE cbOverhead; <
1225 BYTE iRegionIndex; <
1226 WORD wFlags; <
> 1172 struct OVERLAPPED {
> 1173 ULONG_PTR Internal;
> 1174 ULONG_PTR InternalHigh;
1227 union { | 1175 union {
1228 struct { | 1176 struct {
> 1177 DWORD Offset;
> 1178 DWORD OffsetHigh;
> 1179 }
> 1180 PVOID Pointer;
> 1181 }
1229 HANDLE hMem; | 1182 HANDLE hEvent;
1230 DWORD dwReserved[ 3 ]; <
1231 } | 1183 }
> 1184 alias OVERLAPPED* POVERLAPPED, LPOVERLAPPED;
1232 | 1185
1233 struct { | 1186 struct STARTUPINFOA {
> 1187 DWORD cb = STARTUPINFOA.sizeof;
> 1188 LPSTR lpReserved;
> 1189 LPSTR lpDesktop;
> 1190 LPSTR lpTitle;
1234 DWORD dwCommittedSize; | 1191 DWORD dwX;
1235 DWORD dwUnCommittedSize; | 1192 DWORD dwY;
1236 LPVOID lpFirstBlock; <
1237 LPVOID lpLastBlock; <
> 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;
1238 } | 1205 }
> 1206 alias STARTUPINFOA* LPSTARTUPINFOA;
1239 | 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;
1240 } | 1227 }
> 1228 alias STARTUPINFOW* LPSTARTUPINFOW;
1241 | 1229
> 1230 struct PROCESS_INFORMATION {
> 1231 HANDLE hProcess;
> 1232 HANDLE hThread;
> 1233 DWORD dwProcessId;
> 1234 DWORD dwThreadId;
1242 } | 1235 }
1243 alias _PROCESS_HEAP_ENTRY PROCESS_HEAP_ENTRY; <
1244 alias _PROCESS_HEAP_ENTRY* LPPROCESS_HEAP_ENTRY; <
1245 alias _PROCESS_HEAP_ENTRY* PPROCESS_HEAP_ENTRY; <
> 1236 alias PROCESS_INFORMATION* PPROCESS_INFORMATION, LPPROCESS_INFORMATION;
1246 | 1237
1247 enum : uint { PROCESS_HEAP_REGION = 0x0001 } <
1248 enum : uint { PROCESS_HEAP_UNCOMMITTED_RANGE = 0x0002 } <
1249 enum : uint { PROCESS_HEAP_ENTRY_BUSY = 0x0004 } <
1250 enum : uint { PROCESS_HEAP_ENTRY_MOVEABLE = 0x0010 } <
1251 enum : uint { PROCESS_HEAP_ENTRY_DDESHARE = 0x0020 } <
> 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;
1252 | 1246 }
1253 extern(Windows) export BOOL HeapLock( <
1254 HANDLE hHeap); <
> 1247 alias CRITICAL_SECTION_DEBUG* PCRITICAL_SECTION_DEBUG;
1255 | 1248
1256 extern(Windows) export BOOL HeapUnlock( <
> 1249 struct CRITICAL_SECTION {
> 1250 PCRITICAL_SECTION_DEBUG DebugInfo;
> 1251 LONG LockCount;
> 1252 LONG RecursionCount;
1257 HANDLE hHeap); | 1253 HANDLE OwningThread;
> 1254 HANDLE LockSemaphore;
> 1255 DWORD SpinCount;
1258 | 1256 }
1259 extern(Windows) export BOOL HeapWalk( <
1260 HANDLE hHeap, <
1261 LPPROCESS_HEAP_ENTRY lpEntry); <
> 1257 alias CRITICAL_SECTION* PCRITICAL_SECTION, LPCRITICAL_SECTION;
1262 | 1258
1263 extern(Windows) export BOOL HeapSetInformation( <
1264 PVOID HeapHandle, <
1265 HEAP_INFORMATION_CLASS HeapInformationClass, <
1266 PVOID HeapInformation , <
1267 SIZE_T HeapInformationLength ); <
> 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 | 1268 }
1269 extern(Windows) export BOOL HeapQueryInformation( <
1270 PVOID HeapHandle, <
1271 HEAP_INFORMATION_CLASS HeapInformationClass, <
1272 PVOID HeapInformation , <
1273 SIZE_T HeapInformationLength , <
1274 PSIZE_T ReturnLength ); <
> 1269 alias SYSTEMTIME* LPSYSTEMTIME;
1275 | 1270
1276 enum : uint { SCS_32BIT_BINARY = 0 } <
1277 enum : uint { SCS_DOS_BINARY = 1 } <
1278 enum : uint { SCS_WOW_BINARY = 2 } <
1279 enum : uint { SCS_PIF_BINARY = 3 } <
1280 enum : uint { SCS_POSIX_BINARY = 4 } <
1281 enum : uint { SCS_OS216_BINARY = 5 } <
1282 enum : uint { SCS_64BIT_BINARY = 6 } <
> 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;
1283 | 1279 }
1284 // #if defined(_WIN64) <
1285 // #... <
> 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;
1286 // #else 1292 // #else
1287 alias SCS_32BIT_BINARY SCS_THIS_PLATFORM_BINARY; | 1293 DWORD dwReserved0;
> 1294 DWORD dwReserved1;
> 1295 // #endif
> 1296 CHAR[MAX_PATH] cFileName;
> 1297 // #ifndef _WIN32_WCE
> 1298 CHAR[14] cAlternateFileName;
1288 // #endif 1299 // #endif
1289 | 1300 }
1290 extern(Windows) export BOOL GetBinaryTypeA( | 1301 alias WIN32_FIND_DATAA* PWIN32_FIND_DATAA, LPWIN32_FIND_DATAA;
1291 LPCSTR lpApplicationName, <
1292 LPDWORD lpBinaryType); <
1293 extern(Windows) export BOOL GetBinaryTypeW( <
1294 LPCWSTR lpApplicationName, <
1295 LPDWORD lpBinaryType); <
1296 // #ifdef UNICODE <
1297 alias GetBinaryTypeW GetBinaryType; <
1298 // #else <
1299 // #... <
1300 // #endif // !UNICODE <
1301 | 1302
1302 extern(Windows) export DWORD GetShortPathNameA( <
1303 LPCSTR lpszLongPath, <
1304 LPSTR lpszShortPath, <
1305 DWORD cchBuffer); <
1306 extern(Windows) export DWORD GetShortPathNameW( <
1307 LPCWSTR lpszLongPath, <
1308 LPWSTR lpszShortPath, <
1309 DWORD cchBuffer); <
> 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 UNICODE | 1310 // #ifdef _WIN32_WCE
1311 alias GetShortPathNameW GetShortPathName; <
1312 // #else <
1313 // #... <
1314 // #endif // !UNICODE <
1315 <
1316 extern(Windows) export DWORD GetLongPathNameA( <
1317 LPCSTR lpszShortPath, <
1318 LPSTR lpszLongPath, <
1319 DWORD cchBuffer); <
1320 extern(Windows) export DWORD GetLongPathNameW( <
1321 LPCWSTR lpszShortPath, <
1322 LPWSTR lpszLongPath, <
1323 DWORD cchBuffer); <
1324 // #ifdef UNICODE <
1325 alias GetLongPathNameW GetLongPathName; <
1326 // #else <
1327 // #... <
1328 // #endif // !UNICODE <
1329 <
1330 extern(Windows) export BOOL GetProcessAffinityMask( <
1331 HANDLE hProcess, <
1332 PDWORD_PTR lpProcessAffinityMask, <
1333 PDWORD_PTR lpSystemAffinityMask); <
1334 <
1335 extern(Windows) export BOOL SetProcessAffinityMask( <
1336 HANDLE hProcess, <
1337 DWORD_PTR dwProcessAffinityMask); <
1338 <
1339 extern(Windows) export BOOL GetProcessTimes( <
1340 HANDLE hProcess, <
1341 LPFILETIME lpCreationTime, <
1342 LPFILETIME lpExitTime, <
1343 LPFILETIME lpKernelTime, <
1344 LPFILETIME lpUserTime); <
1345 <
1346 extern(Windows) export BOOL GetProcessIoCounters( <
1347 HANDLE hProcess, <
1348 PIO_COUNTERS lpIoCounters); <
1349 <
1350 extern(Windows) export BOOL GetProcessWorkingSetSize( <
1351 HANDLE hProcess, <
1352 PSIZE_T lpMinimumWorkingSetSize, <
1353 PSIZE_T lpMaximumWorkingSetSize); <
1354 <
1355 extern(Windows) export BOOL SetProcessWorkingSetSize( <
1356 HANDLE hProcess, <
1357 SIZE_T dwMinimumWorkingSetSize, <
1358 SIZE_T dwMaximumWorkingSetSize); <
1359 <
1360 extern(Windows) export HANDLE OpenProcess( <
1361 DWORD dwDesiredAccess, <
1362 BOOL bInheritHandle, <
1363 DWORD dwProcessId); | 1311 // DWORD dwOID;
1364 <
1365 extern(Windows) export HANDLE GetCurrentProcess(); <
1366 <
1367 extern(Windows) export DWORD GetCurrentProcessId(); <
1368 <
1369 extern(Windows) export VOID ExitProcess( <
1370 UINT uExitCode); <
1371 <
1372 extern(Windows) export BOOL TerminateProcess( <
1373 HANDLE hProcess, <
1374 UINT uExitCode); <
1375 <
1376 extern(Windows) export BOOL GetExitCodeProcess( <
1377 HANDLE hProcess, <
1378 LPDWORD lpExitCode); <
1379 <
1380 extern(Windows) export VOID FatalExit( <
1381 int ExitCode); <
1382 <
1383 extern(Windows) export LPSTR GetEnvironmentStrings(); <
1384 <
1385 extern(Windows) export LPWSTR GetEnvironmentStringsW(); <
1386 <
1387 // #ifdef UNICODE <
1388 alias GetEnvironmentStringsW GetEnvironmentStrings; <
1389 // #else 1312 // #else
1390 // #... | 1313 DWORD dwReserved0;
> 1314 DWORD dwReserved1;
1391 // #endif // !UNICODE | 1315 // #endif
1392 <
1393 extern(Windows) export BOOL FreeEnvironmentStringsA( | 1316 WCHAR[MAX_PATH] cFileName;
1394 LPSTR); <
> 1317 // #ifndef _WIN32_WCE
1395 extern(Windows) export BOOL FreeEnvironmentStringsW( | 1318 WCHAR[14] cAlternateFileName;
1396 LPWSTR); <
1397 // #ifdef UNICODE <
1398 alias FreeEnvironmentStringsW FreeEnvironmentStrings; <
1399 // #else <
1400 // #... <
1401 // #endif // !UNICODE <
1402 <
1403 extern(Windows) export VOID RaiseException( <
1404 DWORD dwExceptionCode, <
1405 DWORD dwExceptionFlags, <
1406 DWORD nNumberOfArguments, <
1407 ULONG_PTR *lpArguments); <
1408 <
1409 extern(Windows) export LONG UnhandledExceptionFilter( <
1410 _EXCEPTION_POINTERS *ExceptionInfo); <
1411 <
1412 extern(Windows) alias LONG function( _EXCEPTION_POINTERS *ExceptionInfo ) PTOP_ <
1413 alias PTOP_LEVEL_EXCEPTION_FILTER LPTOP_LEVEL_EXCEPTION_FILTER; <
1414 <
1415 extern(Windows) export LPTOP_LEVEL_EXCEPTION_FILTER SetUnhandledExceptionFilter( <
1416 LPTOP_LEVEL_EXCEPTION_FILTER lpTopLevelExceptionFilter); <
1417 <
1418 // #if(_WIN32_WINNT >= 0x0400) <
1419 <
1420 extern(Windows) export LPVOID CreateFiber( <
1421 SIZE_T dwStackSize, <
1422 LPFIBER_START_ROUTINE lpStartAddress, <
1423 LPVOID lpParameter); <
1424 <
1425 extern(Windows) export LPVOID CreateFiberEx( <
1426 SIZE_T dwStackCommitSize, <
1427 SIZE_T dwStackReserveSize, <
1428 DWORD dwFlags, <
1429 LPFIBER_START_ROUTINE lpStartAddress, <
1430 LPVOID lpParameter); <
1431 <
1432 extern(Windows) export VOID DeleteFiber( <
1433 LPVOID lpFiber); <
1434 <
1435 extern(Windows) export LPVOID ConvertThreadToFiber( <
1436 LPVOID lpParameter); <
1437 <
1438 extern(Windows) export BOOL ConvertFiberToThread(); <
1439 <
1440 extern(Windows) export VOID SwitchToFiber( <
1441 LPVOID lpFiber); <
1442 <
1443 extern(Windows) export BOOL SwitchToThread(); <
1444 // #endif /* _WIN32_WINNT >= 0x0400 */ <
1445 <
1446 extern(Windows) export HANDLE CreateThread( <
1447 LPSECURITY_ATTRIBUTES lpThreadAttributes, <
1448 SIZE_T dwStackSize, <
1449 LPTHREAD_START_ROUTINE lpStartAddress, <
1450 LPVOID lpParameter, <
1451 DWORD dwCreationFlags, <
1452 LPDWORD lpThreadId); <
1453 <
1454 extern(Windows) export HANDLE CreateRemoteThread( <
1455 HANDLE hProcess, <
1456 LPSECURITY_ATTRIBUTES lpThreadAttributes, <
1457 SIZE_T dwStackSize, <
1458 LPTHREAD_START_ROUTINE lpStartAddress, <
1459 LPVOID lpParameter, <
1460 DWORD dwCreationFlags, <
1461 LPDWORD lpThreadId); <
1462 <
1463 extern(Windows) export HANDLE GetCurrentThread(); <
1464 <
1465 extern(Windows) export DWORD GetCurrentThreadId(); <
1466 <
1467 extern(Windows) export DWORD_PTR SetThreadAffinityMask( <
1468 HANDLE hThread, <
1469 DWORD_PTR dwThreadAffinityMask); <
1470 <
1471 // #if(_WIN32_WINNT >= 0x0400) <
1472 extern(Windows) export DWORD SetThreadIdealProcessor( <
1473 HANDLE hThread, <
1474 DWORD dwIdealProcessor); <
1475 // #endif /* _WIN32_WINNT >= 0x0400 */ <
1476 <
1477 extern(Windows) export BOOL SetProcessPriorityBoost( <
1478 HANDLE hProcess, <
1479 BOOL bDisablePriorityBoost); <
1480 <
1481 extern(Windows) export BOOL GetProcessPriorityBoost( <
1482 HANDLE hProcess, <
1483 PBOOL pDisablePriorityBoost); <
1484 <
1485 extern(Windows) export BOOL RequestWakeupLatency( <
1486 LATENCY_TIME latency); <
1487 <
1488 extern(Windows) export BOOL IsSystemResumeAutomatic(); <
1489 <
1490 extern(Windows) export HANDLE OpenThread( <
1491 DWORD dwDesiredAccess, <
1492 BOOL bInheritHandle, <
1493 DWORD dwThreadId); <
1494 <
1495 extern(Windows) export BOOL SetThreadPriority( <
1496 HANDLE hThread, <
1497 int nPriority); <
1498 <
1499 extern(Windows) export BOOL SetThreadPriorityBoost( <
1500 HANDLE hThread, <
1501 BOOL bDisablePriorityBoost); <
1502 <
1503 extern(Windows) export BOOL GetThreadPriorityBoost( <
1504 HANDLE hThread, <
1505 PBOOL pDisablePriorityBoost); <
1506 <
1507 extern(Windows) export int GetThreadPriority( <
1508 HANDLE hThread); <
1509 <
1510 extern(Windows) export BOOL GetThreadTimes( <
1511 HANDLE hThread, <
1512 LPFILETIME lpCreationTime, <
1513 LPFILETIME lpExitTime, <
1514 LPFILETIME lpKernelTime, <
1515 LPFILETIME lpUserTime); <
1516 <
1517 extern(Windows) export VOID ExitThread( <
1518 DWORD dwExitCode); <
1519 <
1520 extern(Windows) export BOOL TerminateThread( <
1521 HANDLE hThread, <
1522 DWORD dwExitCode); <
1523 <
1524 extern(Windows) export BOOL GetExitCodeThread( <
1525 HANDLE hThread, <
1526 LPDWORD lpExitCode); <
1527 <
1528 extern(Windows) export BOOL GetThreadSelectorEntry( <
1529 HANDLE hThread, <
1530 DWORD dwSelector, <
1531 LPLDT_ENTRY lpSelectorEntry); <
1532 <
1533 extern(Windows) export EXECUTION_STATE SetThreadExecutionState( <
1534 EXECUTION_STATE esFlags); <
1535 <
1536 extern(Windows) export DWORD GetLastError(); <
1537 <
1538 extern(Windows) export VOID SetLastError( <
1539 DWORD dwErrCode); <
1540 <
1541 // #if !defined(RC_INVOKED) // RC warns because "WINBASE_DECLARE_RESTORE_LAST_ER <
1542 <
1543 // #if defined(WINBASE_DECLARE_RESTORE_LAST_ERROR) <
1544 <
1545 // ... <
1546 <
1547 // ... <
1548 // #... <
1549 // #... <
1550 // #... <
1551 <
1552 // #endif 1319 // #endif
1553 // #endif <
1554 | 1320 }
1555 bit HasOverlappedIoCompleted(LPOVERLAPPED lpOverlapped){ return (*lpOverlapped). <
> 1321 alias WIN32_FIND_DATAW* PWIN32_FIND_DATAW, LPWIN32_FIND_DATAW;
1556 | 1322
> 1323 static if (_WIN32_WINNT_ONLY) {
1557 extern(Windows) export BOOL GetOverlappedResult( | 1324 struct WIN32_STREAM_ID {
1558 HANDLE hFile, | 1325 DWORD dwStreamId;
1559 LPOVERLAPPED lpOverlapped, | 1326 DWORD dwStreamAttributes;
1560 LPDWORD lpNumberOfBytesTransferred, | 1327 LARGE_INTEGER Size;
1561 BOOL bWait); | 1328 DWORD dwStreamNameSize;
> 1329 WCHAR _cStreamName;
1562 | 1330
1563 extern(Windows) export HANDLE CreateIoCompletionPort( <
1564 HANDLE FileHandle, | 1331 WCHAR* cStreamName() { return &_cStreamName; }
1565 HANDLE ExistingCompletionPort, <
> 1332 }
1566 ULONG_PTR CompletionKey, | 1333 alias WIN32_STREAM_ID* LPWIN32_STREAM_ID;
1567 DWORD NumberOfConcurrentThreads); <
1568 | 1334
> 1335 enum FINDEX_INFO_LEVELS {
1569 extern(Windows) export BOOL GetQueuedCompletionStatus( | 1336 FindExInfoStandard,
1570 HANDLE CompletionPort, | 1337 FindExInfoMaxInfoLevel
1571 LPDWORD lpNumberOfBytesTransferred, <
1572 PULONG_PTR lpCompletionKey, <
> 1338 }
> 1339
1573 LPOVERLAPPED *lpOverlapped, | 1340 enum FINDEX_SEARCH_OPS {
1574 DWORD dwMilliseconds); | 1341 FindExSearchNameMatch,
> 1342 FindExSearchLimitToDirectories,
> 1343 FindExSearchLimitToDevices,
> 1344 FindExSearchMaxSearchOp
1575 | 1345 }
1576 extern(Windows) export BOOL PostQueuedCompletionStatus( <
1577 HANDLE CompletionPort, <
1578 DWORD dwNumberOfBytesTransferred, <
1579 ULONG_PTR dwCompletionKey, <
> 1346
1580 LPOVERLAPPED lpOverlapped); | 1347 enum ACL_INFORMATION_CLASS {
> 1348 AclRevisionInformation = 1,
> 1349 AclSizeInformation
1581 | 1350 }
1582 enum : uint { SEM_FAILCRITICALERRORS = 0x0001 } <
1583 enum : uint { SEM_NOGPFAULTERRORBOX = 0x0002 } <
1584 enum : uint { SEM_NOALIGNMENTFAULTEXCEPT = 0x0004 } <
1585 enum : uint { SEM_NOOPENFILEERRORBOX = 0x8000 } <
1586 | 1351
> 1352 struct HW_PROFILE_INFOA {
> 1353 DWORD dwDockInfo;
1587 extern(Windows) export UINT SetErrorMode( | 1354 CHAR[HW_PROFILE_GUIDLEN] szHwProfileGuid;
1588 UINT uMode); | 1355 CHAR[MAX_PROFILE_LEN] szHwProfileName;
1589 | 1356 }
1590 extern(Windows) export BOOL ReadProcessMemory( | 1357 alias HW_PROFILE_INFOA* LPHW_PROFILE_INFOA;
1591 HANDLE hProcess, <
1592 LPCVOID lpBaseAddress, <
1593 LPVOID lpBuffer, <
1594 SIZE_T nSize, <
1595 SIZE_T * lpNumberOfBytesRead); <
1596 | 1358
1597 extern(Windows) export BOOL WriteProcessMemory( <
1598 HANDLE hProcess, <
1599 LPVOID lpBaseAddress, <
1600 LPCVOID lpBuffer, <
1601 SIZE_T nSize, <
1602 SIZE_T * lpNumberOfBytesWritten); <
> 1359 struct HW_PROFILE_INFOW {
> 1360 DWORD dwDockInfo;
> 1361 WCHAR[HW_PROFILE_GUIDLEN] szHwProfileGuid;
> 1362 WCHAR[MAX_PROFILE_LEN] szHwProfileName;
1603 | 1363 }
1604 // #if !defined(MIDL_PASS) <
1605 extern(Windows) export BOOL GetThreadContext( <
1606 HANDLE hThread, <
1607 LPCONTEXT lpContext); <
> 1364 alias HW_PROFILE_INFOW* LPHW_PROFILE_INFOW;
1608 | 1365 }
1609 extern(Windows) export BOOL SetThreadContext( <
1610 HANDLE hThread, <
1611 CONTEXT *lpContext); <
1612 // #endif <
1613 | 1366
1614 extern(Windows) export DWORD SuspendThread( <
1615 HANDLE hThread); <
> 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
1616 | 1373 }
1617 extern(Windows) export DWORD ResumeThread( <
1618 HANDLE hThread); <
1619 | 1374
1620 // #if(_WIN32_WINNT >= 0x0400) || (_WIN32_WINDOWS > 0x0400) <
> 1375 struct SYSTEM_INFO {
> 1376 union {
> 1377 DWORD dwOemId;
> 1378 struct {
> 1379 WORD wProcessorArchitecture;
> 1380 WORD wReserved;
1621 | 1381 }
1622 // ... <
1623 | 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;
1624 // ... | 1391 WORD wProcessorRevision;
1625 | 1392 }
1626 // #endif /* _WIN32_WINNT >= 0x0400 || _WIN32_WINDOWS > 0x0400 */ | 1393 alias SYSTEM_INFO* LPSYSTEM_INFO;
1627 | 1394
1628 // #if (_WIN32_WINNT >= 0x0400) || (_WIN32_WINDOWS > 0x0400) | 1395 static if (_WIN32_WINNT_ONLY && _WIN32_WINNT >= 0x500) {
1629 extern(Windows) export BOOL IsDebuggerPresent(); | 1396 struct SYSTEM_POWER_STATUS {
1630 // #endif | 1397 BYTE ACLineStatus;
> 1398 BYTE BatteryFlag;
> 1399 BYTE BatteryLifePercent;
> 1400 BYTE Reserved1;
> 1401 DWORD BatteryLifeTime;
> 1402 DWORD BatteryFullLifeTime;
1631 | 1403 }
1632 extern(Windows) export VOID DebugBreak(); <
> 1404 alias SYSTEM_POWER_STATUS* LPSYSTEM_POWER_STATUS;
1633 | 1405 }
1634 extern(Windows) export BOOL WaitForDebugEvent( <
1635 LPDEBUG_EVENT lpDebugEvent, <
1636 DWORD dwMilliseconds); <
1637 | 1406
1638 extern(Windows) export BOOL ContinueDebugEvent( <
> 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 {
1639 DWORD dwProcessId, | 1420 DWORD dwLength;
> 1421 DWORD dwMemoryLoad;
1640 DWORD dwThreadId, | 1422 DWORD dwTotalPhys;
1641 DWORD dwContinueStatus); | 1423 DWORD dwAvailPhys;
> 1424 DWORD dwTotalPageFile;
> 1425 DWORD dwAvailPageFile;
> 1426 DWORD dwTotalVirtual;
> 1427 DWORD dwAvailVirtual;
1642 | 1428 }
1643 extern(Windows) export BOOL DebugActiveProcess( <
1644 DWORD dwProcessId); <
> 1429 alias MEMORYSTATUS* LPMEMORYSTATUS;
1645 | 1430
1646 extern(Windows) export BOOL DebugActiveProcessStop( <
1647 DWORD dwProcessId); <
> 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;
1648 | 1442 }
1649 extern(Windows) export BOOL DebugSetProcessKillOnExit( <
1650 BOOL KillOnExit); <
> 1443 alias MEMORYSTATUSEX* LPMEMORYSTATUSEX;
1651 | 1444 }
1652 extern(Windows) export BOOL DebugBreakProcess( <
1653 HANDLE Process); <
1654 | 1445
1655 extern(Windows) export VOID InitializeCriticalSection( <
1656 LPCRITICAL_SECTION lpCriticalSection); <
> 1446 struct LDT_ENTRY {
> 1447 WORD LimitLow;
> 1448 WORD BaseLow;
> 1449 struct {
> 1450 BYTE BaseMid;
> 1451 BYTE Flags1;
> 1452 BYTE Flags2;
> 1453 BYTE BaseHi;
1657 | 1454
1658 extern(Windows) export VOID EnterCriticalSection( <
1659 LPCRITICAL_SECTION lpCriticalSection); <
> 1455 byte Type(byte f) { Flags1 = cast(BYTE) ((Flags1 & 0xE0)
> 1456 byte Dpl(byte f) { Flags1 = cast(BYTE) ((Flags1 & 0x9F)
> 1457 bool Pres(bool f) { Flags1 = cast(BYTE) ((Flags1 & 0x7F)
1660 | 1458
1661 extern(Windows) export VOID LeaveCriticalSection( <
1662 LPCRITICAL_SECTION lpCriticalSection); <
> 1459 byte LimitHi(byte f) { Flags2 = cast(BYTE) ((Flags2 & 0xF0)
> 1460 bool Sys(bool f) { Flags2 = cast(BYTE) ((Flags2 & 0xEF)
> 1461 // Next bit is reserved
> 1462 bool Default_Big(bool f) { Flags2 = cast(BYTE) ((Flags2 & 0xBF)
> 1463 bool Granularity(bool f) { Flags2 = cast(BYTE) ((Flags2 & 0x7F)
1663 | 1464
1664 // #if (_WIN32_WINNT >= 0x0403) <
1665 extern(Windows) export BOOL InitializeCriticalSectionAndSpinCount( <
1666 LPCRITICAL_SECTION lpCriticalSection, <
1667 DWORD dwSpinCount); <
> 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); }
1668 | 1468
1669 extern(Windows) export DWORD SetCriticalSectionSpinCount( <
1670 LPCRITICAL_SECTION lpCriticalSection, <
> 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;
1671 DWORD dwSpinCount); | 1485 DWORD Dpl:2;
1672 // #endif <
> 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;
1673 | 1493 }
1674 // #if(_WIN32_WINNT >= 0x0400) <
1675 extern(Windows) export BOOL TryEnterCriticalSection( <
1676 LPCRITICAL_SECTION lpCriticalSection); <
1677 // #endif /* _WIN32_WINNT >= 0x0400 */ <
1678 | 1494 }
1679 extern(Windows) export VOID DeleteCriticalSection( <
1680 LPCRITICAL_SECTION lpCriticalSection); <
> 1495 +/
1681 | 1496 }
1682 extern(Windows) export BOOL SetEvent( <
1683 HANDLE hEvent); <
> 1497 alias LDT_ENTRY* PLDT_ENTRY, LPLDT_ENTRY;
1684 | 1498
1685 extern(Windows) export BOOL ResetEvent( <
> 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 {
1686 HANDLE hEvent); | 1510 HANDLE hMem;
> 1511 DWORD[3] dwReserved;
1687 | 1512 }
1688 extern(Windows) export BOOL PulseEvent( <
1689 HANDLE hEvent); <
> 1513 struct Region {
> 1514 DWORD dwCommittedSize;
> 1515 DWORD dwUnCommittedSize;
> 1516 LPVOID lpFirstBlock;
> 1517 LPVOID lpLastBlock;
1690 | 1518 }
1691 extern(Windows) export BOOL ReleaseSemaphore( <
1692 HANDLE hSemaphore, <
1693 LONG lReleaseCount, <
1694 LPLONG lpPreviousCount); <
1695 | 1519 }
1696 extern(Windows) export BOOL ReleaseMutex( <
1697 HANDLE hMutex); <
1698 | 1520 }
1699 extern(Windows) export DWORD WaitForSingleObject( <
1700 HANDLE hHandle, <
1701 DWORD dwMilliseconds); <
> 1521 alias PROCESS_HEAP_ENTRY* LPPROCESS_HEAP_ENTRY;
1702 | 1522
1703 extern(Windows) export DWORD WaitForMultipleObjects( <
1704 DWORD nCount, <
1705 HANDLE *lpHandles, <
1706 BOOL bWaitAll, <
1707 DWORD dwMilliseconds); <
> 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;
1708 | 1530 }
1709 extern(Windows) export VOID Sleep( <
> 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 {
1710 DWORD dwMilliseconds); | 1537 DWORD dwLength;
> 1538 WORD wRevision;
> 1539 WORD wCertificateType;
> 1540 BYTE _bCertificate;
1711 | 1541
1712 extern(Windows) export HGLOBAL LoadResource( <
> 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;
1713 HMODULE hModule, | 1570 HMODULE hModule;
1714 HRSRC hResInfo); <
1715 | 1571 }
1716 extern(Windows) export DWORD SizeofResource( <
> 1572 alias ACTCTXA* PACTCTXA;
> 1573 alias CPtr!(ACTCTXA) PCACTCTXA;
> 1574
> 1575 struct ACTCTXW {
> 1576 ULONG cbSize = this.sizeof;
> 1577 DWORD dwFlags;
> 1578 LPCWSTR lpSource;
> 1579 USHORT wProcessorArchitecture;
> 1580 LANGID wLangId;
> 1581 LPCWSTR lpAssemblyDirectory;
> 1582 LPCWSTR lpResourceName;
> 1583 LPCWSTR lpApplicationName;
1717 HMODULE hModule, | 1584 HMODULE hModule;
1718 HRSRC hResInfo); <
1719 | 1585 }
1720 extern(Windows) export ATOM GlobalDeleteAtom( <
1721 ATOM nAtom); <
> 1586 alias ACTCTXW* PACTCTXW;
> 1587 alias CPtr!(ACTCTXW) PCACTCTXW;
1722 | 1588
1723 extern(Windows) export BOOL InitAtomTable( <
1724 DWORD nSize); <
> 1589 struct ACTCTX_SECTION_KEYED_DATA {
> 1590 ULONG cbSize = this.sizeof;
> 1591 ULONG ulDataFormatVersion;
> 1592 PVOID lpData;
> 1593 ULONG ulLength;
> 1594 PVOID lpSectionGlobalData;
> 1595 ULONG ulSectionGlobalDataLength;
> 1596 PVOID lpSectionBase;
> 1597 ULONG ulSectionTotalLength;
> 1598 HANDLE hActCtx;
> 1599 HANDLE ulAssemblyRosterIndex;
1725 | 1600 }
1726 extern(Windows) export ATOM DeleteAtom( <
1727 ATOM nAtom); <
> 1601 alias ACTCTX_SECTION_KEYED_DATA* PACTCTX_SECTION_KEYED_DATA;
> 1602 alias CPtr!(ACTCTX_SECTION_KEYED_DATA) PCACTCTX_SECTION_KEYED_DATA;
1728 | 1603
1729 extern(Windows) export UINT SetHandleCount( <
1730 UINT uNumber); <
> 1604 enum MEMORY_RESOURCE_NOTIFICATION_TYPE {
> 1605 LowMemoryResourceNotification,
> 1606 HighMemoryResourceNotification
1731 | 1607 }
1732 extern(Windows) export DWORD GetLogicalDrives(); <
1733 | 1608
> 1609 } // (_WIN32_WINNT >= 0x0501)
> 1610
> 1611 static if (WINVER >= 0x410) {
> 1612 /* apparently used only by SetThreadExecutionState (Win2000+)
> 1613 * and DDK functions (version compatibility not established)
> 1614 */
> 1615 alias DWORD EXECUTION_STATE;
> 1616 }
> 1617
> 1618 // Callbacks
1734 extern(Windows) export BOOL LockFile( | 1619 extern (Windows) {
1735 HANDLE hFile, <
1736 DWORD dwFileOffsetLow, <
1737 DWORD dwFileOffsetHigh, <
1738 DWORD nNumberOfBytesToLockLow, <
1739 DWORD nNumberOfBytesToLockHigh); <
> 1620 alias DWORD function(LPVOID) LPTHREAD_START_ROUTINE;
> 1621 alias DWORD function(LARGE_INTEGER, LARGE_INTEGER, LARGE_INTEGER, LARGE_
> 1622 DWORD, DWORD, HANDLE, HANDLE, LPVOID) LPPROGRESS_ROUTINE;
> 1623 alias void function(PVOID) LPFIBER_START_ROUTINE;
1740 | 1624
1741 extern(Windows) export BOOL UnlockFile( <
1742 HANDLE hFile, <
1743 DWORD dwFileOffsetLow, <
1744 DWORD dwFileOffsetHigh, <
1745 DWORD nNumberOfBytesToUnlockLow, <
1746 DWORD nNumberOfBytesToUnlockHigh); <
> 1625 alias BOOL function(HMODULE, LPCSTR, LPCSTR, WORD, LONG) ENUMRESLANGPROC
> 1626 alias BOOL function(HMODULE, LPCWSTR, LPCWSTR, WORD, LONG) ENUMRESLANGPR
> 1627 alias BOOL function(HMODULE, LPCSTR, LPSTR, LONG) ENUMRESNAMEPROCA;
> 1628 alias BOOL function(HMODULE, LPCWSTR, LPWSTR, LONG) ENUMRESNAMEPROCW;
> 1629 alias BOOL function(HMODULE, LPSTR, LONG) ENUMRESTYPEPROCA;
> 1630 alias BOOL function(HMODULE, LPWSTR, LONG) ENUMRESTYPEPROCW;
> 1631 alias void function(DWORD, DWORD, LPOVERLAPPED) LPOVERLAPPED_COMPLETION_
> 1632 alias LONG function(LPEXCEPTION_POINTERS) PTOP_LEVEL_EXCEPTION_FILTER;
> 1633 alias PTOP_LEVEL_EXCEPTION_FILTER LPTOP_LEVEL_EXCEPTION_FILTER;
1747 | 1634
1748 extern(Windows) export BOOL LockFileEx( <
1749 HANDLE hFile, <
1750 DWORD dwFlags, <
1751 DWORD dwReserved, <
1752 DWORD nNumberOfBytesToLockLow, <
1753 DWORD nNumberOfBytesToLockHigh, <
1754 LPOVERLAPPED lpOverlapped); <
> 1635 alias void function(ULONG_PTR) PAPCFUNC;
> 1636 alias void function(PVOID, DWORD, DWORD) PTIMERAPCROUTINE;
1755 | 1637
1756 enum : uint { LOCKFILE_FAIL_IMMEDIATELY = 0x00000001 } <
1757 enum : uint { LOCKFILE_EXCLUSIVE_LOCK = 0x00000002 } <
> 1638 static if (_WIN32_WINNT_ONLY && _WIN32_WINNT >= 0x500) {
> 1639 alias void function(PVOID, BOOLEAN) WAITORTIMERCALLBACK;
1758 | 1640 }
1759 extern(Windows) export BOOL UnlockFileEx( <
1760 HANDLE hFile, <
1761 DWORD dwReserved, <
1762 DWORD nNumberOfBytesToUnlockLow, <
1763 DWORD nNumberOfBytesToUnlockHigh, <
1764 LPOVERLAPPED lpOverlapped); <
1765 | 1641 }
1766 struct _BY_HANDLE_FILE_INFORMATION { <
1767 DWORD dwFileAttributes; <
1768 FILETIME ftCreationTime; <
1769 FILETIME ftLastAccessTime; <
1770 FILETIME ftLastWriteTime; <
1771 DWORD dwVolumeSerialNumber; <
1772 DWORD nFileSizeHigh; <
1773 DWORD nFileSizeLow; <
1774 DWORD nNumberOfLinks; <
1775 DWORD nFileIndexHigh; <
1776 DWORD nFileIndexLow; <
> 1642
> 1643 LPTSTR MAKEINTATOM(short i) {
> 1644 return cast(LPTSTR) i;
1777 } 1645 }
1778 alias _BY_HANDLE_FILE_INFORMATION BY_HANDLE_FILE_INFORMATION; <
1779 alias _BY_HANDLE_FILE_INFORMATION* PBY_HANDLE_FILE_INFORMATION; <
1780 alias _BY_HANDLE_FILE_INFORMATION* LPBY_HANDLE_FILE_INFORMATION; <
1781 | 1646
> 1647 extern (Windows) {
> 1648 ATOM AddAtomA(LPCSTR);
> 1649 ATOM AddAtomW(LPCWSTR);
1782 extern(Windows) export BOOL GetFileInformationByHandle( | 1650 BOOL AreFileApisANSI();
1783 HANDLE hFile, | 1651 BOOL Beep(DWORD, DWORD);
1784 LPBY_HANDLE_FILE_INFORMATION lpFileInformation); | 1652 HANDLE BeginUpdateResourceA(LPCSTR, BOOL);
1785 <
> 1653 HANDLE BeginUpdateResourceW(LPCWSTR, BOOL);
1786 extern(Windows) export DWORD GetFileType( | 1654 BOOL BuildCommDCBA(LPCSTR, LPDCB);
1787 HANDLE hFile); | 1655 BOOL BuildCommDCBW(LPCWSTR, LPDCB);
1788 <
> 1656 BOOL BuildCommDCBAndTimeoutsA(LPCSTR, LPDCB, LPCOMMTIMEOUTS);
1789 extern(Windows) export DWORD GetFileSize( | 1657 BOOL BuildCommDCBAndTimeoutsW(LPCWSTR, LPDCB, LPCOMMTIMEOUTS);
1790 HANDLE hFile, | 1658 BOOL CallNamedPipeA(LPCSTR, PVOID, DWORD, PVOID, DWORD, PDWORD, DWORD);
1791 LPDWORD lpFileSizeHigh); | 1659 BOOL CallNamedPipeW(LPCWSTR, PVOID, DWORD, PVOID, DWORD, PDWORD, DWORD);
1792 <
> 1660 BOOL CancelDeviceWakeupRequest(HANDLE);
1793 extern(Windows) export BOOL GetFileSizeEx( | 1661 BOOL CheckTokenMembership(HANDLE, PSID, PBOOL);
1794 HANDLE hFile, | 1662 BOOL ClearCommBreak(HANDLE);
1795 PLARGE_INTEGER lpFileSize); | 1663 BOOL ClearCommError(HANDLE, PDWORD, LPCOMSTAT);
> 1664 BOOL CloseHandle(HANDLE);
> 1665 BOOL CommConfigDialogA(LPCSTR, HWND, LPCOMMCONFIG);
> 1666 BOOL CommConfigDialogW(LPCWSTR, HWND, LPCOMMCONFIG);
> 1667 LONG CompareFileTime(CPtr!(FILETIME), CPtr!(FILETIME));
> 1668 BOOL ContinueDebugEvent(DWORD, DWORD, DWORD);
> 1669 BOOL CopyFileA(LPCSTR, LPCSTR, BOOL);
> 1670 BOOL CopyFileW(LPCWSTR, LPCWSTR, BOOL);
> 1671 BOOL CopyFileExA(LPCSTR, LPCSTR, LPPROGRESS_ROUTINE, LPVOID, LPBOOL, DWO
> 1672 BOOL CopyFileExW(LPCWSTR, LPCWSTR, LPPROGRESS_ROUTINE, LPVOID, LPBOOL, D
1796 | 1673
1797 extern(Windows) export HANDLE GetStdHandle( <
1798 DWORD nStdHandle); <
> 1674 /+ FIXME
> 1675 alias memmove RtlMoveMemory;
> 1676 alias memcpy RtlCopyMemory;
1799 | 1677
1800 extern(Windows) export BOOL SetStdHandle( <
1801 DWORD nStdHandle, <
1802 HANDLE hHandle); <
> 1678 void RtlFillMemory(PVOID dest, SIZE_T len, BYTE fill) {
> 1679 memset(dest, fill, len);
1803 | 1680 }
1804 extern(Windows) export BOOL WriteFile( <
1805 HANDLE hFile, <
1806 LPCVOID lpBuffer, <
1807 DWORD nNumberOfBytesToWrite, <
1808 LPDWORD lpNumberOfBytesWritten, <
1809 LPOVERLAPPED lpOverlapped); <
1810 | 1681
1811 extern(Windows) export BOOL ReadFile( <
1812 HANDLE hFile, <
1813 LPVOID lpBuffer, <
1814 DWORD nNumberOfBytesToRead, | 1682 void RtlZeroMemory(PVOID dest, SIZE_T len) {
1815 LPDWORD lpNumberOfBytesRead, | 1683 RtlFillMemory(dest, len , 0);
1816 LPOVERLAPPED lpOverlapped); <
1817 | 1684 }
1818 extern(Windows) export BOOL FlushFileBuffers( <
1819 HANDLE hFile); <
1820 | 1685
> 1686 alias RtlMoveMemory MoveMemory;
> 1687 alias RtlCopyMemory CopyMemory;
> 1688 alias RtlFillMemory FillMemory;
1821 extern(Windows) export BOOL DeviceIoControl( | 1689 alias RtlZeroMemory ZeroMemory;
1822 HANDLE hDevice, <
> 1690 +/
1823 DWORD dwIoControlCode, | 1691 BOOL CreateDirectoryA(LPCSTR, LPSECURITY_ATTRIBUTES);
1824 LPVOID lpInBuffer, | 1692 BOOL CreateDirectoryW(LPCWSTR, LPSECURITY_ATTRIBUTES);
1825 DWORD nInBufferSize, | 1693 BOOL CreateDirectoryExA(LPCSTR, LPCSTR, LPSECURITY_ATTRIBUTES);
1826 LPVOID lpOutBuffer, | 1694 BOOL CreateDirectoryExW(LPCWSTR, LPCWSTR, LPSECURITY_ATTRIBUTES);
1827 DWORD nOutBufferSize, | 1695 HANDLE CreateEventA(LPSECURITY_ATTRIBUTES, BOOL, BOOL, LPCSTR);
1828 LPDWORD lpBytesReturned, | 1696 HANDLE CreateEventW(LPSECURITY_ATTRIBUTES, BOOL, BOOL, LPCWSTR);
1829 LPOVERLAPPED lpOverlapped); | 1697 HANDLE CreateFileA(LPCSTR, DWORD, DWORD, LPSECURITY_ATTRIBUTES, DWORD, D
1830 <
> 1698 HANDLE CreateFileW(LPCWSTR, DWORD, DWORD, LPSECURITY_ATTRIBUTES, DWORD,
1831 extern(Windows) export BOOL RequestDeviceWakeup( | 1699 HANDLE CreateIoCompletionPort(HANDLE, HANDLE, ULONG_PTR, DWORD);
1832 HANDLE hDevice); | 1700 HANDLE CreateMailslotA(LPCSTR, DWORD, DWORD, LPSECURITY_ATTRIBUTES);
1833 <
> 1701 HANDLE CreateMailslotW(LPCWSTR, DWORD, DWORD, LPSECURITY_ATTRIBUTES);
1834 extern(Windows) export BOOL CancelDeviceWakeupRequest( | 1702 HANDLE CreateMutexA(LPSECURITY_ATTRIBUTES, BOOL, LPCSTR);
1835 HANDLE hDevice); | 1703 HANDLE CreateMutexW(LPSECURITY_ATTRIBUTES, BOOL, LPCWSTR);
1836 <
> 1704 BOOL CreatePipe(PHANDLE, PHANDLE, LPSECURITY_ATTRIBUTES, DWORD);
1837 extern(Windows) export BOOL GetDevicePowerState( | 1705 BOOL CreateProcessA(LPCSTR, LPSTR, LPSECURITY_ATTRIBUTES, LPSECURITY_ATT
1838 HANDLE hDevice, | 1706 BOOL CreateProcessW(LPCWSTR, LPWSTR, LPSECURITY_ATTRIBUTES, LPSECURITY_A
1839 BOOL *pfOn); | 1707 HANDLE CreateSemaphoreA(LPSECURITY_ATTRIBUTES, LONG, LONG, LPCSTR);
1840 <
> 1708 HANDLE CreateSemaphoreW(LPSECURITY_ATTRIBUTES, LONG, LONG, LPCWSTR);
1841 extern(Windows) export BOOL SetMessageWaitingIndicator( | 1709 HANDLE CreateThread(LPSECURITY_ATTRIBUTES, DWORD, LPTHREAD_START_ROUTINE
1842 HANDLE hMsgIndicator, | 1710 BOOL DebugActiveProcess(DWORD);
1843 ULONG ulMsgCount); | 1711 void DebugBreak();
1844 <
> 1712 ATOM DeleteAtom(ATOM);
1845 extern(Windows) export BOOL SetEndOfFile( | 1713 void DeleteCriticalSection(PCRITICAL_SECTION);
1846 HANDLE hFile); | 1714 BOOL DeleteFileA(LPCSTR);
1847 <
> 1715 BOOL DeleteFileW(LPCWSTR);
1848 extern(Windows) export DWORD SetFilePointer( | 1716 BOOL DisableThreadLibraryCalls(HMODULE);
1849 HANDLE hFile, | 1717 BOOL DosDateTimeToFileTime(WORD, WORD, LPFILETIME);
1850 LONG lDistanceToMove, | 1718 BOOL DuplicateHandle(HANDLE, HANDLE, HANDLE, PHANDLE, DWORD, BOOL, DWORD
1851 PLONG lpDistanceToMoveHigh, | 1719 BOOL EndUpdateResourceA(HANDLE, BOOL);
1852 DWORD dwMoveMethod); | 1720 BOOL EndUpdateResourceW(HANDLE, BOOL);
1853 <
> 1721 void EnterCriticalSection(LPCRITICAL_SECTION);
1854 extern(Windows) export BOOL SetFilePointerEx( | 1722 BOOL EnumResourceLanguagesA(HMODULE, LPCSTR, LPCSTR, ENUMRESLANGPROC, LO
1855 HANDLE hFile, | 1723 BOOL EnumResourceLanguagesW(HMODULE, LPCWSTR, LPCWSTR, ENUMRESLANGPROC,
1856 LARGE_INTEGER liDistanceToMove, | 1724 BOOL EnumResourceNamesA(HMODULE, LPCSTR, ENUMRESNAMEPROC, LONG_PTR);
1857 PLARGE_INTEGER lpNewFilePointer, | 1725 BOOL EnumResourceNamesW(HMODULE, LPCWSTR, ENUMRESNAMEPROC, LONG_PTR);
1858 DWORD dwMoveMethod); | 1726 BOOL EnumResourceTypesA(HMODULE, ENUMRESTYPEPROC, LONG_PTR);
1859 <
> 1727 BOOL EnumResourceTypesW(HMODULE, ENUMRESTYPEPROC, LONG_PTR);
1860 extern(Windows) export BOOL FindClose( | 1728 BOOL EscapeCommFunction(HANDLE, DWORD);
1861 HANDLE hFindFile); | 1729 void ExitProcess(UINT); // Never returns
1862 <
> 1730 void ExitThread(DWORD); // Never returns
1863 extern(Windows) export BOOL GetFileTime( | 1731 DWORD ExpandEnvironmentStringsA(LPCSTR, LPSTR, DWORD);
1864 HANDLE hFile, | 1732 DWORD ExpandEnvironmentStringsW(LPCWSTR, LPWSTR, DWORD);
1865 LPFILETIME lpCreationTime, | 1733 void FatalAppExitA(UINT, LPCSTR);
1866 LPFILETIME lpLastAccessTime, | 1734 void FatalAppExitW(UINT, LPCWSTR);
1867 LPFILETIME lpLastWriteTime); | 1735 void FatalExit(int);
1868 <
> 1736 BOOL FileTimeToDosDateTime(CPtr!(FILETIME) , LPWORD, LPWORD);
1869 extern(Windows) export BOOL SetFileTime( | 1737 BOOL FileTimeToLocalFileTime(CPtr!(FILETIME) , LPFILETIME);
1870 HANDLE hFile, | 1738 BOOL FileTimeToSystemTime(CPtr!(FILETIME) , LPSYSTEMTIME);
1871 FILETIME *lpCreationTime, | 1739 ATOM FindAtomA(LPCSTR);
1872 FILETIME *lpLastAccessTime, | 1740 ATOM FindAtomW(LPCWSTR);
1873 FILETIME *lpLastWriteTime); | 1741 BOOL FindClose(HANDLE);
1874 <
> 1742 BOOL FindCloseChangeNotification(HANDLE);
1875 extern(Windows) export BOOL SetFileValidData( | 1743 HANDLE FindFirstChangeNotificationA(LPCSTR, BOOL, DWORD);
1876 HANDLE hFile, | 1744 HANDLE FindFirstChangeNotificationW(LPCWSTR, BOOL, DWORD);
1877 LONGLONG ValidDataLength); | 1745 HANDLE FindFirstFileA(LPCSTR, LPWIN32_FIND_DATAA);
1878 <
> 1746 HANDLE FindFirstFileW(LPCWSTR, LPWIN32_FIND_DATAW);
1879 extern(Windows) export BOOL SetFileShortNameA( | 1747 BOOL FindNextChangeNotification(HANDLE);
1880 HANDLE hFile, | 1748 BOOL FindNextFileA(HANDLE, LPWIN32_FIND_DATAA);
1881 LPCSTR lpShortName); | 1749 BOOL FindNextFileW(HANDLE, LPWIN32_FIND_DATAW);
1882 extern(Windows) export BOOL SetFileShortNameW( | 1750 HRSRC FindResourceA(HMODULE, LPCSTR, LPCSTR);
1883 HANDLE hFile, | 1751 HRSRC FindResourceW(HINSTANCE, LPCWSTR, LPCWSTR);
1884 LPCWSTR lpShortName); | 1752 HRSRC FindResourceExA(HINSTANCE, LPCSTR, LPCSTR, WORD);
1885 // #ifdef UNICODE | 1753 HRSRC FindResourceExW(HINSTANCE, LPCWSTR, LPCWSTR, WORD);
1886 alias SetFileShortNameW SetFileShortName; | 1754 BOOL FlushFileBuffers(HANDLE);
1887 // #else | 1755 BOOL FlushInstructionCache(HANDLE, PCVOID, DWORD);
1888 // #... | 1756 DWORD FormatMessageA(DWORD, PCVOID, DWORD, DWORD, LPSTR, DWORD, va_list*
1889 // #endif // !UNICODE | 1757 DWORD FormatMessageW(DWORD, PCVOID, DWORD, DWORD, LPWSTR, DWORD, va_list
1890 <
> 1758 BOOL FreeEnvironmentStringsA(LPSTR);
1891 extern(Windows) export BOOL CloseHandle( | 1759 BOOL FreeEnvironmentStringsW(LPWSTR);
1892 HANDLE hObject); | 1760 BOOL FreeLibrary(HMODULE);
1893 <
> 1761 void FreeLibraryAndExitThread(HMODULE, DWORD); // never returns
1894 extern(Windows) export BOOL DuplicateHandle( | 1762 BOOL FreeResource(HGLOBAL);
1895 HANDLE hSourceProcessHandle, | 1763 UINT GetAtomNameA(ATOM, LPSTR, int);
1896 HANDLE hSourceHandle, | 1764 UINT GetAtomNameW(ATOM, LPWSTR, int);
1897 HANDLE hTargetProcessHandle, | 1765 LPSTR GetCommandLineA();
1898 LPHANDLE lpTargetHandle, | 1766 LPWSTR GetCommandLineW();
1899 DWORD dwDesiredAccess, | 1767 BOOL GetCommConfig(HANDLE, LPCOMMCONFIG, PDWORD);
1900 BOOL bInheritHandle, | 1768 BOOL GetCommMask(HANDLE, PDWORD);
1901 DWORD dwOptions); | 1769 BOOL GetCommModemStatus(HANDLE, PDWORD);
1902 <
> 1770 BOOL GetCommProperties(HANDLE, LPCOMMPROP);
1903 extern(Windows) export BOOL GetHandleInformation( | 1771 BOOL GetCommState(HANDLE, LPDCB);
1904 HANDLE hObject, | 1772 BOOL GetCommTimeouts(HANDLE, LPCOMMTIMEOUTS);
1905 LPDWORD lpdwFlags); | 1773 BOOL GetComputerNameA(LPSTR, PDWORD);
1906 <
> 1774 BOOL GetComputerNameW(LPWSTR, PDWORD);
1907 extern(Windows) export BOOL SetHandleInformation( | 1775 DWORD GetCurrentDirectoryA(DWORD, LPSTR);
1908 HANDLE hObject, | 1776 DWORD GetCurrentDirectoryW(DWORD, LPWSTR);
1909 DWORD dwMask, | 1777 HANDLE GetCurrentProcess();
1910 DWORD dwFlags); | 1778 DWORD GetCurrentProcessId();
1911 <
> 1779 HANDLE GetCurrentThread();
1912 enum : uint { HANDLE_FLAG_INHERIT = 0x00000001 } | 1780 /* In MinGW:
1913 enum : uint { HANDLE_FLAG_PROTECT_FROM_CLOSE = 0x00000002 } | 1781 #ifdef _WIN32_WCE
1914 <
> 1782 extern DWORD GetCurrentThreadId(void);
1915 enum : uint { HINSTANCE_ERROR = 32 } | 1783 #else
1916 <
> 1784 WINBASEAPI DWORD WINAPI GetCurrentThreadId(void);
1917 extern(Windows) export DWORD LoadModule( | 1785 #endif
1918 LPCSTR lpModuleName, <
> 1786 */
1919 LPVOID lpParameterBlock); | 1787 DWORD GetCurrentThreadId();
1920 | 1788
1921 extern(Windows) export UINT WinExec( | 1789 alias GetTickCount GetCurrentTime;
1922 LPCSTR lpCmdLine, <
1923 UINT uCmdShow); <
1924 | 1790
> 1791 BOOL GetDefaultCommConfigA(LPCSTR, LPCOMMCONFIG, PDWORD);
> 1792 BOOL GetDefaultCommConfigW(LPCWSTR, LPCOMMCONFIG, PDWORD);
1925 extern(Windows) export BOOL ClearCommBreak( | 1793 BOOL GetDiskFreeSpaceA(LPCSTR, PDWORD, PDWORD, PDWORD, PDWORD);
1926 HANDLE hFile); | 1794 BOOL GetDiskFreeSpaceW(LPCWSTR, PDWORD, PDWORD, PDWORD, PDWORD);
1927 <
> 1795 BOOL GetDiskFreeSpaceExA(LPCSTR, PULARGE_INTEGER, PULARGE_INTEGER, PULAR
1928 extern(Windows) export BOOL ClearCommError( | 1796 BOOL GetDiskFreeSpaceExW(LPCWSTR, PULARGE_INTEGER, PULARGE_INTEGER, PULA
1929 HANDLE hFile, | 1797 UINT GetDriveTypeA(LPCSTR);
1930 LPDWORD lpErrors, | 1798 UINT GetDriveTypeW(LPCWSTR);
1931 LPCOMSTAT lpStat); | 1799 LPSTR GetEnvironmentStrings(); // ???
1932 <
> 1800 LPSTR GetEnvironmentStringsA();
1933 extern(Windows) export BOOL SetupComm( | 1801 LPWSTR GetEnvironmentStringsW();
1934 HANDLE hFile, | 1802 DWORD GetEnvironmentVariableA(LPCSTR, LPSTR, DWORD);
1935 DWORD dwInQueue, | 1803 DWORD GetEnvironmentVariableW(LPCWSTR, LPWSTR, DWORD);
1936 DWORD dwOutQueue); | 1804 BOOL GetExitCodeProcess(HANDLE, PDWORD);
1937 <
> 1805 BOOL GetExitCodeThread(HANDLE, PDWORD);
1938 extern(Windows) export BOOL EscapeCommFunction( | 1806 DWORD GetFileAttributesA(LPCSTR);
1939 HANDLE hFile, | 1807 DWORD GetFileAttributesW(LPCWSTR);
1940 DWORD dwFunc); | 1808 BOOL GetFileInformationByHandle(HANDLE, LPBY_HANDLE_FILE_INFORMATION);
1941 <
> 1809 DWORD GetFileSize(HANDLE, PDWORD);
1942 extern(Windows) export BOOL GetCommConfig( | 1810 BOOL GetFileTime(HANDLE, LPFILETIME, LPFILETIME, LPFILETIME);
1943 HANDLE hCommDev, | 1811 DWORD GetFileType(HANDLE);
1944 LPCOMMCONFIG lpCC, | 1812 DWORD GetFullPathNameA(LPCSTR, DWORD, LPSTR, LPSTR*);
1945 LPDWORD lpdwSize); | 1813 DWORD GetFullPathNameW(LPCWSTR, DWORD, LPWSTR, LPWSTR*);
1946 <
> 1814 DWORD GetLastError();
1947 extern(Windows) export BOOL GetCommMask( | 1815 void GetLocalTime(LPSYSTEMTIME);
1948 HANDLE hFile, | 1816 DWORD GetLogicalDrives();
1949 LPDWORD lpEvtMask); | 1817 DWORD GetLogicalDriveStringsA(DWORD, LPSTR);
1950 <
> 1818 DWORD GetLogicalDriveStringsW(DWORD, LPWSTR);
1951 extern(Windows) export BOOL GetCommProperties( | 1819 BOOL GetMailslotInfo(HANDLE, PDWORD, PDWORD, PDWORD, PDWORD);
1952 HANDLE hFile, | 1820 DWORD GetModuleFileNameA(HINSTANCE, LPSTR, DWORD);
1953 LPCOMMPROP lpCommProp); | 1821 DWORD GetModuleFileNameW(HINSTANCE, LPWSTR, DWORD);
1954 <
> 1822 HMODULE GetModuleHandleA(LPCSTR);
1955 extern(Windows) export BOOL GetCommModemStatus( | 1823 HMODULE GetModuleHandleW(LPCWSTR);
> 1824 BOOL GetNamedPipeHandleStateA(HANDLE, PDWORD, PDWORD, PDWORD, PDWORD, LP
> 1825 BOOL GetNamedPipeHandleStateW(HANDLE, PDWORD, PDWORD, PDWORD, PDWORD, LP
> 1826 BOOL GetNamedPipeInfo(HANDLE, PDWORD, PDWORD, PDWORD, PDWORD);
> 1827 BOOL GetOverlappedResult(HANDLE, LPOVERLAPPED, PDWORD, BOOL);
> 1828 DWORD GetPriorityClass(HANDLE);
> 1829 UINT GetPrivateProfileIntA(LPCSTR, LPCSTR, INT, LPCSTR);
> 1830 UINT GetPrivateProfileIntW(LPCWSTR, LPCWSTR, INT, LPCWSTR);
> 1831 DWORD GetPrivateProfileSectionA(LPCSTR, LPSTR, DWORD, LPCSTR);
> 1832 DWORD GetPrivateProfileSectionW(LPCWSTR, LPWSTR, DWORD, LPCWSTR);
> 1833 DWORD GetPrivateProfileSectionNamesA(LPSTR, DWORD, LPCSTR);
> 1834 DWORD GetPrivateProfileSectionNamesW(LPWSTR, DWORD, LPCWSTR);
> 1835 DWORD GetPrivateProfileStringA(LPCSTR, LPCSTR, LPCSTR, LPSTR, DWORD, LPC
> 1836 DWORD GetPrivateProfileStringW(LPCWSTR, LPCWSTR, LPCWSTR, LPWSTR, DWORD,
> 1837 BOOL GetPrivateProfileStructA(LPCSTR, LPCSTR, LPVOID, UINT, LPCSTR);
> 1838 BOOL GetPrivateProfileStructW(LPCWSTR, LPCWSTR, LPVOID, UINT, LPCWSTR);
> 1839 FARPROC GetProcAddress(HINSTANCE, LPCSTR);
> 1840 BOOL GetProcessAffinityMask(HANDLE, PDWORD, PDWORD);
> 1841 DWORD GetProcessVersion(DWORD);
> 1842 UINT GetProfileIntA(LPCSTR, LPCSTR, INT);
> 1843 UINT GetProfileIntW(LPCWSTR, LPCWSTR, INT);
> 1844 DWORD GetProfileSectionA(LPCSTR, LPSTR, DWORD);
> 1845 DWORD GetProfileSectionW(LPCWSTR, LPWSTR, DWORD);
> 1846 DWORD GetProfileStringA(LPCSTR, LPCSTR, LPCSTR, LPSTR, DWORD);
> 1847 DWORD GetProfileStringW(LPCWSTR, LPCWSTR, LPCWSTR, LPWSTR, DWORD);
> 1848 DWORD GetShortPathNameA(LPCSTR, LPSTR, DWORD);
> 1849 DWORD GetShortPathNameW(LPCWSTR, LPWSTR, DWORD);
> 1850 VOID GetStartupInfoA(LPSTARTUPINFOA);
> 1851 VOID GetStartupInfoW(LPSTARTUPINFOW);
1956 HANDLE hFile, | 1852 HANDLE GetStdHandle(DWORD);
1957 LPDWORD lpModemStat); <
> 1853 UINT GetSystemDirectoryA(LPSTR, UINT);
> 1854 UINT GetSystemDirectoryW(LPWSTR, UINT);
> 1855 VOID GetSystemInfo(LPSYSTEM_INFO);
> 1856 VOID GetSystemTime(LPSYSTEMTIME);
> 1857 BOOL GetSystemTimeAdjustment(PDWORD, PDWORD, PBOOL);
> 1858 void GetSystemTimeAsFileTime(LPFILETIME);
> 1859 UINT GetTempFileNameA(LPCSTR, LPCSTR, UINT, LPSTR);
> 1860 UINT GetTempFileNameW(LPCWSTR, LPCWSTR, UINT, LPWSTR);
> 1861 DWORD GetTempPathA(DWORD, LPSTR);
> 1862 DWORD GetTempPathW(DWORD, LPWSTR);
> 1863 BOOL GetThreadContext(HANDLE, LPCONTEXT);
> 1864 int GetThreadPriority(HANDLE);
> 1865 BOOL GetThreadSelectorEntry(HANDLE, DWORD, LPLDT_ENTRY);
> 1866 DWORD GetTickCount();
> 1867 DWORD GetTimeZoneInformation(LPTIME_ZONE_INFORMATION);
> 1868 BOOL GetUserNameA (LPSTR, PDWORD);
> 1869 BOOL GetUserNameW(LPWSTR, PDWORD);
> 1870 DWORD GetVersion();
> 1871 BOOL GetVersionExA(LPOSVERSIONINFOA);
> 1872 BOOL GetVersionExW(LPOSVERSIONINFOW);
> 1873 BOOL GetVolumeInformationA(LPCSTR, LPSTR, DWORD, PDWORD, PDWORD, PDWORD,
> 1874 BOOL GetVolumeInformationW(LPCWSTR, LPWSTR, DWORD, PDWORD, PDWORD, PDWOR
> 1875 UINT GetWindowsDirectoryA(LPSTR, UINT);
> 1876 UINT GetWindowsDirectoryW(LPWSTR, UINT);
> 1877 DWORD GetWindowThreadProcessId(HWND, PDWORD);
> 1878 ATOM GlobalAddAtomA(LPCSTR);
> 1879 ATOM GlobalAddAtomW(LPCWSTR);
> 1880 ATOM GlobalDeleteAtom(ATOM);
> 1881 ATOM GlobalFindAtomA(LPCSTR);
> 1882 ATOM GlobalFindAtomW(LPCWSTR);
> 1883 UINT GlobalGetAtomNameA(ATOM, LPSTR, int);
> 1884 UINT GlobalGetAtomNameW(ATOM, LPWSTR, int);
1958 | 1885
1959 extern(Windows) export BOOL GetCommState( <
1960 HANDLE hFile, <
1961 LPDCB lpDCB); <
> 1886 bool HasOverlappedIoCompleted(LPOVERLAPPED lpOverlapped) {
> 1887 return lpOverlapped.Internal != STATUS_PENDING;
1962 | 1888 }
1963 extern(Windows) export BOOL GetCommTimeouts( <
1964 HANDLE hFile, <
1965 LPCOMMTIMEOUTS lpCommTimeouts); <
1966 | 1889
1967 extern(Windows) export BOOL PurgeComm( <
1968 HANDLE hFile, <
1969 DWORD dwFlags); <
> 1890 BOOL InitAtomTable(DWORD);
> 1891 VOID InitializeCriticalSection(LPCRITICAL_SECTION);
> 1892 /* ??? The next two are allegedly obsolete and "supported only for
> 1893 * backward compatibility with the 16-bit Windows API". Yet the
> 1894 * replacements IsBadReadPtr and IsBadWritePtr are apparently Win20
> 1895 * only. Where's the mistake?
> 1896 */
> 1897 BOOL IsBadHugeReadPtr(PCVOID, UINT);
> 1898 BOOL IsBadHugeWritePtr(PVOID, UINT);
> 1899 BOOL IsBadReadPtr(PCVOID, UINT);
> 1900 BOOL IsBadStringPtrA(LPCSTR, UINT);
> 1901 BOOL IsBadStringPtrW(LPCWSTR, UINT);
> 1902 BOOL IsBadWritePtr(PVOID, UINT);
> 1903 void LeaveCriticalSection(LPCRITICAL_SECTION);
> 1904 HINSTANCE LoadLibraryA(LPCSTR);
> 1905 HINSTANCE LoadLibraryW(LPCWSTR);
> 1906 HINSTANCE LoadLibraryExA(LPCSTR, HANDLE, DWORD);
> 1907 HINSTANCE LoadLibraryExW(LPCWSTR, HANDLE, DWORD);
> 1908 DWORD LoadModule(LPCSTR, PVOID);
> 1909 HGLOBAL LoadResource(HINSTANCE, HRSRC);
> 1910 BOOL LocalFileTimeToFileTime(CPtr!(FILETIME) , LPFILETIME);
> 1911 BOOL LockFile(HANDLE, DWORD, DWORD, DWORD, DWORD);
> 1912 PVOID LockResource(HGLOBAL);
1970 | 1913
1971 extern(Windows) export BOOL SetCommBreak( <
1972 HANDLE hFile); <
> 1914 LPSTR lstrcatA(LPSTR, LPCSTR);
> 1915 LPWSTR lstrcatW(LPWSTR, LPCWSTR);
> 1916 int lstrcmpA(LPCSTR, LPCSTR);
> 1917 int lstrcmpiA(LPCSTR, LPCSTR);
> 1918 int lstrcmpiW(LPCWSTR, LPCWSTR);
> 1919 int lstrcmpW(LPCWSTR, LPCWSTR);
> 1920 LPSTR lstrcpyA(LPSTR, LPCSTR);
> 1921 LPSTR lstrcpynA(LPSTR, LPCSTR, int);
> 1922 LPWSTR lstrcpynW(LPWSTR, LPCWSTR, int);
> 1923 LPWSTR lstrcpyW(LPWSTR, LPCWSTR);
> 1924 int lstrlenA(LPCSTR);
> 1925 int lstrlenW(LPCWSTR);
1973 | 1926
> 1927 BOOL MoveFileA(LPCSTR, LPCSTR);
> 1928 BOOL MoveFileW(LPCWSTR, LPCWSTR);
> 1929 int MulDiv(int, int, int);
> 1930 HANDLE OpenEventA(DWORD, BOOL, LPCSTR);
> 1931 HANDLE OpenEventW(DWORD, BOOL, LPCWSTR);
> 1932 deprecated HFILE OpenFile(LPCSTR, LPOFSTRUCT, UINT);
> 1933 HANDLE OpenMutexA(DWORD, BOOL, LPCSTR);
> 1934 HANDLE OpenMutexW(DWORD, BOOL, LPCWSTR);
> 1935 HANDLE OpenProcess(DWORD, BOOL, DWORD);
> 1936 HANDLE OpenSemaphoreA(DWORD, BOOL, LPCSTR);
> 1937 HANDLE OpenSemaphoreW(DWORD, BOOL, LPCWSTR);
> 1938 void OutputDebugStringA(LPCSTR);
> 1939 void OutputDebugStringW(LPCWSTR);
> 1940 BOOL PeekNamedPipe(HANDLE, PVOID, DWORD, PDWORD, PDWORD, PDWORD);
> 1941 BOOL PulseEvent(HANDLE);
> 1942 BOOL PurgeComm(HANDLE, DWORD);
> 1943 BOOL QueryPerformanceCounter(PLARGE_INTEGER);
> 1944 BOOL QueryPerformanceFrequency(PLARGE_INTEGER);
> 1945 DWORD QueueUserAPC(PAPCFUNC, HANDLE, ULONG_PTR);
> 1946 void RaiseException(DWORD, DWORD, DWORD, CPtr!(DWORD));
> 1947 BOOL ReadFile(HANDLE, PVOID, DWORD, PDWORD, LPOVERLAPPED);
> 1948 BOOL ReadFileEx(HANDLE, PVOID, DWORD, LPOVERLAPPED, LPOVERLAPPED_COMPLET
> 1949 BOOL ReadProcessMemory(HANDLE, PCVOID, PVOID, DWORD, PDWORD);
> 1950 BOOL ReleaseMutex(HANDLE);
> 1951 BOOL ReleaseSemaphore(HANDLE, LONG, LPLONG);
> 1952 BOOL RemoveDirectoryA(LPCSTR);
> 1953 BOOL RemoveDirectoryW(LPCWSTR);
> 1954 /* In MinGW:
> 1955 #ifdef _WIN32_WCE
> 1956 extern BOOL ResetEvent(HANDLE);
> 1957 #else
> 1958 WINBASEAPI BOOL WINAPI ResetEvent(HANDLE);
> 1959 #endif
> 1960 */
> 1961 BOOL ResetEvent(HANDLE);
> 1962 DWORD ResumeThread(HANDLE);
> 1963 DWORD SearchPathA(LPCSTR, LPCSTR, LPCSTR, DWORD, LPSTR, LPSTR*);
> 1964 DWORD SearchPathW(LPCWSTR, LPCWSTR, LPCWSTR, DWORD, LPWSTR, LPWSTR*);
1974 extern(Windows) export BOOL SetCommConfig( | 1965 BOOL SetCommBreak(HANDLE);
1975 HANDLE hCommDev, <
1976 LPCOMMCONFIG lpCC, | 1966 BOOL SetCommConfig(HANDLE, LPCOMMCONFIG, DWORD);
1977 DWORD dwSize); <
1978 <
1979 extern(Windows) export BOOL SetCommMask( | 1967 BOOL SetCommMask(HANDLE, DWORD);
1980 HANDLE hFile, <
1981 DWORD dwEvtMask); <
1982 <
1983 extern(Windows) export BOOL SetCommState( | 1968 BOOL SetCommState(HANDLE, LPDCB);
1984 HANDLE hFile, <
1985 LPDCB lpDCB); <
1986 <
1987 extern(Windows) export BOOL SetCommTimeouts( | 1969 BOOL SetCommTimeouts(HANDLE, LPCOMMTIMEOUTS);
> 1970 BOOL SetComputerNameA(LPCSTR);
> 1971 BOOL SetComputerNameW(LPCWSTR);
> 1972 BOOL SetCurrentDirectoryA(LPCSTR);
> 1973 BOOL SetCurrentDirectoryW(LPCWSTR);
> 1974 BOOL SetDefaultCommConfigA(LPCSTR, LPCOMMCONFIG, DWORD);
> 1975 BOOL SetDefaultCommConfigW(LPCWSTR, LPCOMMCONFIG, DWORD);
> 1976 BOOL SetEndOfFile(HANDLE);
> 1977 BOOL SetEnvironmentVariableA(LPCSTR, LPCSTR);
> 1978 BOOL SetEnvironmentVariableW(LPCWSTR, LPCWSTR);
> 1979 UINT SetErrorMode(UINT);
> 1980 /* In MinGW:
> 1981 #ifdef _WIN32_WCE
> 1982 extern BOOL SetEvent(HANDLE);
> 1983 #else
> 1984 WINBASEAPI BOOL WINAPI SetEvent(HANDLE);
> 1985 #endif
> 1986 */
1988 HANDLE hFile, | 1987 BOOL SetEvent(HANDLE);
1989 LPCOMMTIMEOUTS lpCommTimeouts); <
> 1988 VOID SetFileApisToANSI();
> 1989 VOID SetFileApisToOEM();
> 1990 BOOL SetFileAttributesA(LPCSTR, DWORD);
> 1991 BOOL SetFileAttributesW(LPCWSTR, DWORD);
> 1992 DWORD SetFilePointer(HANDLE, LONG, PLONG, DWORD);
> 1993 BOOL SetFileTime(HANDLE, CPtr!(FILETIME), CPtr!(FILETIME), CPtr!(FILETIM
> 1994 deprecated UINT SetHandleCount(UINT);
> 1995 void SetLastError(DWORD);
> 1996 void SetLastErrorEx(DWORD, DWORD);
> 1997 BOOL SetLocalTime(CPtr!(SYSTEMTIME));
> 1998 BOOL SetMailslotInfo(HANDLE, DWORD);
> 1999 BOOL SetNamedPipeHandleState(HANDLE, PDWORD, PDWORD, PDWORD);
> 2000 BOOL SetPriorityClass(HANDLE, DWORD);
> 2001 BOOL SetStdHandle(DWORD, HANDLE);
> 2002 BOOL SetSystemTime(CPtr!(SYSTEMTIME));
> 2003 DWORD SetThreadAffinityMask(HANDLE, DWORD);
> 2004 BOOL SetThreadContext(HANDLE, CPtr!(CONTEXT));
> 2005 BOOL SetThreadPriority(HANDLE, int);
> 2006 BOOL SetTimeZoneInformation(CPtr!(TIME_ZONE_INFORMATION));
> 2007 LPTOP_LEVEL_EXCEPTION_FILTER SetUnhandledExceptionFilter(LPTOP_LEVEL_EXC
> 2008 BOOL SetupComm(HANDLE, DWORD, DWORD);
> 2009 BOOL SetVolumeLabelA(LPCSTR, LPCSTR);
> 2010 BOOL SetVolumeLabelW(LPCWSTR, LPCWSTR);
1990 | 2011
> 2012 DWORD SizeofResource(HINSTANCE, HRSRC);
> 2013 void Sleep(DWORD);
> 2014 DWORD SleepEx(DWORD, BOOL);
> 2015 DWORD SuspendThread(HANDLE);
> 2016 BOOL SystemTimeToFileTime(CPtr!(SYSTEMTIME), LPFILETIME);
> 2017 BOOL TerminateProcess(HANDLE, UINT);
> 2018 BOOL TerminateThread(HANDLE, DWORD);
> 2019 DWORD TlsAlloc();
> 2020 BOOL TlsFree(DWORD);
> 2021 PVOID TlsGetValue(DWORD);
> 2022 BOOL TlsSetValue(DWORD, PVOID);
> 2023 BOOL TransactNamedPipe(HANDLE, PVOID, DWORD, PVOID, DWORD, PDWORD, LPOVE
1991 extern(Windows) export BOOL TransmitCommChar( | 2024 BOOL TransmitCommChar(HANDLE, char);
1992 HANDLE hFile, <
1993 char cChar); <
> 2025 LONG UnhandledExceptionFilter(LPEXCEPTION_POINTERS);
> 2026 BOOL UnlockFile(HANDLE, DWORD, DWORD, DWORD, DWORD);
> 2027 BOOL WaitCommEvent(HANDLE, PDWORD, LPOVERLAPPED);
> 2028 BOOL WaitForDebugEvent(LPDEBUG_EVENT, DWORD);
> 2029 DWORD WaitForMultipleObjects(DWORD, CPtr!(HANDLE), BOOL, DWORD);
> 2030 DWORD WaitForMultipleObjectsEx(DWORD, CPtr!(HANDLE), BOOL, DWORD, BOOL);
> 2031 DWORD WaitForSingleObject(HANDLE, DWORD);
> 2032 DWORD WaitForSingleObjectEx(HANDLE, DWORD, BOOL);
> 2033 BOOL WaitNamedPipeA(LPCSTR, DWORD);
> 2034 BOOL WaitNamedPipeW(LPCWSTR, DWORD);
> 2035 // undocumented on MSDN
> 2036 BOOL WinLoadTrustProvider(GUID*);
> 2037 BOOL WriteFile(HANDLE, PCVOID, DWORD, PDWORD, LPOVERLAPPED);
> 2038 BOOL WriteFileEx(HANDLE, PCVOID, DWORD, LPOVERLAPPED, LPOVERLAPPED_COMPL
> 2039 BOOL WritePrivateProfileSectionA(LPCSTR, LPCSTR, LPCSTR);
> 2040 BOOL WritePrivateProfileSectionW(LPCWSTR, LPCWSTR, LPCWSTR);
> 2041 BOOL WritePrivateProfileStringA(LPCSTR, LPCSTR, LPCSTR, LPCSTR);
> 2042 BOOL WritePrivateProfileStringW(LPCWSTR, LPCWSTR, LPCWSTR, LPCWSTR);
> 2043 BOOL WritePrivateProfileStructA(LPCSTR, LPCSTR, LPVOID, UINT, LPCSTR);
> 2044 BOOL WritePrivateProfileStructW(LPCWSTR, LPCWSTR, LPVOID, UINT, LPCWSTR)
> 2045 BOOL WriteProcessMemory(HANDLE, LPVOID, LPCVOID, SIZE_T, SIZE_T*);
> 2046 BOOL WriteProfileSectionA(LPCSTR, LPCSTR);
> 2047 BOOL WriteProfileSectionW(LPCWSTR, LPCWSTR);
> 2048 BOOL WriteProfileStringA(LPCSTR, LPCSTR, LPCSTR);
> 2049 BOOL WriteProfileStringW(LPCWSTR, LPCWSTR, LPCWSTR);
1994 | 2050
1995 extern(Windows) export BOOL WaitCommEvent( <
> 2051 /* Memory allocation functions.
> 2052 * MSDN documents these erroneously as Win2000+; thus it is uncerta
> 2053 * version compatibility they really have.
> 2054 */
> 2055 HGLOBAL GlobalAlloc(UINT, DWORD);
> 2056 HGLOBAL GlobalDiscard(HGLOBAL);
> 2057 HGLOBAL GlobalFree(HGLOBAL);
> 2058 HGLOBAL GlobalHandle(PCVOID);
> 2059 LPVOID GlobalLock(HGLOBAL);
> 2060 VOID GlobalMemoryStatus(LPMEMORYSTATUS);
> 2061 HGLOBAL GlobalReAlloc(HGLOBAL, DWORD, UINT);
> 2062 DWORD GlobalSize(HGLOBAL);
> 2063 BOOL GlobalUnlock(HGLOBAL);
> 2064 PVOID HeapAlloc(HANDLE, DWORD, DWORD);
> 2065 SIZE_T HeapCompact(HANDLE, DWORD);
> 2066 HANDLE HeapCreate(DWORD, DWORD, DWORD);
> 2067 BOOL HeapDestroy(HANDLE);
> 2068 BOOL HeapFree(HANDLE, DWORD, PVOID);
1996 HANDLE hFile, | 2069 BOOL HeapLock(HANDLE);
1997 LPDWORD lpEvtMask, <
1998 LPOVERLAPPED lpOverlapped); <
> 2070 PVOID HeapReAlloc(HANDLE, DWORD, PVOID, DWORD);
> 2071 DWORD HeapSize(HANDLE, DWORD, PCVOID);
> 2072 BOOL HeapUnlock(HANDLE);
> 2073 BOOL HeapValidate(HANDLE, DWORD, PCVOID);
> 2074 BOOL HeapWalk(HANDLE, LPPROCESS_HEAP_ENTRY);
> 2075 HLOCAL LocalAlloc(UINT, SIZE_T);
> 2076 HLOCAL LocalDiscard(HLOCAL);
> 2077 HLOCAL LocalFree(HLOCAL);
> 2078 HLOCAL LocalHandle(LPCVOID);
> 2079 PVOID LocalLock(HLOCAL);
> 2080 HLOCAL LocalReAlloc(HLOCAL, SIZE_T, UINT);
> 2081 UINT LocalSize(HLOCAL);
> 2082 BOOL LocalUnlock(HLOCAL);
> 2083 PVOID VirtualAlloc(PVOID, DWORD, DWORD, DWORD);
> 2084 PVOID VirtualAllocEx(HANDLE, PVOID, DWORD, DWORD, DWORD);
> 2085 BOOL VirtualFree(PVOID, DWORD, DWORD);
> 2086 BOOL VirtualFreeEx(HANDLE, PVOID, DWORD, DWORD);
> 2087 BOOL VirtualLock(PVOID, DWORD);
> 2088 BOOL VirtualProtect(PVOID, DWORD, DWORD, PDWORD);
> 2089 BOOL VirtualProtectEx(HANDLE, PVOID, DWORD, DWORD, PDWORD);
> 2090 DWORD VirtualQuery(LPCVOID, PMEMORY_BASIC_INFORMATION, DWORD);
> 2091 DWORD VirtualQueryEx(HANDLE, LPCVOID, PMEMORY_BASIC_INFORMATION, DWORD);
> 2092 BOOL VirtualUnlock(PVOID, DWORD);
1999 | 2093
2000 extern(Windows) export DWORD SetTapePosition( <
2001 HANDLE hDevice, <
2002 DWORD dwPositionMethod, <
2003 DWORD dwPartition, <
2004 DWORD dwOffsetLow, <
2005 DWORD dwOffsetHigh, <
2006 BOOL bImmediate); <
> 2094 static if (_WIN32_WINDOWS >= 0x600) {
> 2095 BOOL CancelIoEx(HANDLE, LPOVERLAPPED);
2007 | 2096 }
2008 extern(Windows) export DWORD GetTapePosition( <
2009 HANDLE hDevice, <
2010 DWORD dwPositionType, <
2011 LPDWORD lpdwPartition, <
2012 LPDWORD lpdwOffsetLow, <
2013 LPDWORD lpdwOffsetHigh); <
2014 | 2097
2015 extern(Windows) export DWORD PrepareTape( <
2016 HANDLE hDevice, <
2017 DWORD dwOperation, <
2018 BOOL bImmediate); <
> 2098 static if (_WIN32_WINDOWS >= 0x410) {
> 2099 BOOL CancelIo(HANDLE);
> 2100 BOOL CancelWaitableTimer(HANDLE);
> 2101 PVOID ConvertThreadToFiber(PVOID);
> 2102 LPVOID CreateFiber(SIZE_T, LPFIBER_START_ROUTINE, LPVOID);
> 2103 HANDLE CreateWaitableTimerA(LPSECURITY_ATTRIBUTES, BOOL, LPCSTR)
> 2104 HANDLE CreateWaitableTimerW(LPSECURITY_ATTRIBUTES, BOOL, LPCWSTR
> 2105 void DeleteFiber(PVOID);
> 2106 BOOL GetFileAttributesExA(LPCSTR, GET_FILEEX_INFO_LEVELS, PVOID)
> 2107 BOOL GetFileAttributesExW(LPCWSTR, GET_FILEEX_INFO_LEVELS, PVOID
> 2108 DWORD GetLongPathNameA(LPCSTR, LPSTR, DWORD);
> 2109 DWORD GetLongPathNameW(LPCWSTR, LPWSTR, DWORD);
> 2110 BOOL InitializeCriticalSectionAndSpinCount(LPCRITICAL_SECTION, D
> 2111 BOOL IsDebuggerPresent();
> 2112 HANDLE OpenWaitableTimerA(DWORD, BOOL, LPCSTR);
> 2113 HANDLE OpenWaitableTimerW(DWORD, BOOL, LPCWSTR);
> 2114 DWORD QueryDosDeviceA(LPCSTR, LPSTR, DWORD);
> 2115 DWORD QueryDosDeviceW(LPCWSTR, LPWSTR, DWORD);
> 2116 BOOL SetWaitableTimer(HANDLE, CPtr!(LARGE_INTEGER), LONG, PTIMER
> 2117 void SwitchToFiber(PVOID);
2019 | 2118 }
2020 extern(Windows) export DWORD EraseTape( <
2021 HANDLE hDevice, <
2022 DWORD dwEraseType, <
2023 BOOL bImmediate); <
2024 | 2119
2025 extern(Windows) export DWORD CreateTapePartition( <
2026 HANDLE hDevice, <
2027 DWORD dwPartitionMethod, <
2028 DWORD dwCount, <
2029 DWORD dwSize); <
> 2120 static if (WINVER >= 0x500) {
> 2121 HANDLE OpenThread(DWORD, BOOL, DWORD);
2030 | 2122 }
2031 extern(Windows) export DWORD WriteTapemark( <
2032 HANDLE hDevice, <
2033 DWORD dwTapemarkType, <
2034 DWORD dwTapemarkCount, <
2035 BOOL bImmediate); <
2036 | 2123
> 2124 static if (_WIN32_WINNT_ONLY) {
> 2125 BOOL AccessCheck(PSECURITY_DESCRIPTOR, HANDLE, DWORD, PGENERIC_M
> 2126 BOOL AccessCheckAndAuditAlarmA(LPCSTR, LPVOID, LPSTR, LPSTR, PSE
> 2127 BOOL AccessCheckAndAuditAlarmW(LPCWSTR, LPVOID, LPWSTR, LPWSTR,
> 2128 BOOL AddAccessAllowedAce(PACL, DWORD, DWORD, PSID);
> 2129 BOOL AddAccessDeniedAce(PACL, DWORD, DWORD, PSID);
> 2130 BOOL AddAce(PACL, DWORD, DWORD, PVOID, DWORD);
> 2131 BOOL AddAuditAccessAce(PACL, DWORD, DWORD, PSID, BOOL, BOOL);
> 2132 BOOL AdjustTokenGroups(HANDLE, BOOL, PTOKEN_GROUPS, DWORD, PTOKE
> 2133 BOOL AdjustTokenPrivileges(HANDLE, BOOL, PTOKEN_PRIVILEGES, DWOR
> 2134 BOOL AllocateAndInitializeSid(PSID_IDENTIFIER_AUTHORITY, BYTE, D
> 2135 BOOL AllocateLocallyUniqueId(PLUID);
> 2136 BOOL AreAllAccessesGranted(DWORD, DWORD);
> 2137 BOOL AreAnyAccessesGranted(DWORD, DWORD);
> 2138 BOOL BackupEventLogA(HANDLE, LPCSTR);
> 2139 BOOL BackupEventLogW(HANDLE, LPCWSTR);
> 2140 BOOL BackupRead(HANDLE, LPBYTE, DWORD, LPDWORD, BOOL, BOOL, LPVO
> 2141 BOOL BackupSeek(HANDLE, DWORD, DWORD, LPDWORD, LPDWORD, LPVOID*)
> 2142 BOOL BackupWrite(HANDLE, LPBYTE, DWORD, LPDWORD, BOOL, BOOL, LPV
> 2143 BOOL ClearEventLogA(HANDLE, LPCSTR);
> 2144 BOOL ClearEventLogW(HANDLE, LPCWSTR);
> 2145 BOOL CloseEventLog(HANDLE);
> 2146 BOOL ConnectNamedPipe(HANDLE, LPOVERLAPPED);
> 2147 BOOL CopySid(DWORD, PSID, PSID);
> 2148 HANDLE CreateNamedPipeA(LPCSTR, DWORD, DWORD, DWORD, DWORD, DWOR
> 2149 HANDLE CreateNamedPipeW(LPCWSTR, DWORD, DWORD, DWORD, DWORD, DWO
> 2150 BOOL CreatePrivateObjectSecurity(PSECURITY_DESCRIPTOR, PSECURITY
> 2151 BOOL CreateProcessAsUserA(HANDLE, LPCSTR, LPSTR, LPSECURITY_ATTR
> 2152 BOOL CreateProcessAsUserW(HANDLE, LPCWSTR, LPWSTR, LPSECURITY_AT
> 2153 HANDLE CreateRemoteThread(HANDLE, LPSECURITY_ATTRIBUTES, DWORD,
> 2154 DWORD CreateTapePartition(HANDLE, DWORD, DWORD, DWORD);
> 2155 BOOL DefineDosDeviceA(DWORD, LPCSTR, LPCSTR);
> 2156 BOOL DefineDosDeviceW(DWORD, LPCWSTR, LPCWSTR);
> 2157 BOOL DeleteAce(PACL, DWORD);
> 2158 BOOL DeregisterEventSource(HANDLE);
> 2159 BOOL DestroyPrivateObjectSecurity(PSECURITY_DESCRIPTOR*);
> 2160 BOOL DeviceIoControl(HANDLE, DWORD, PVOID, DWORD, PVOID, DWORD,
> 2161 BOOL DisconnectNamedPipe(HANDLE);
> 2162 BOOL DuplicateToken(HANDLE, SECURITY_IMPERSONATION_LEVEL, PHANDL
> 2163 BOOL DuplicateTokenEx(HANDLE, DWORD, LPSECURITY_ATTRIBUTES, SECU
> 2164 BOOL EqualPrefixSid(PSID, PSID);
> 2165 BOOL EqualSid(PSID, PSID);
> 2166 DWORD EraseTape(HANDLE, DWORD, BOOL);
> 2167 HANDLE FindFirstFileExA(LPCSTR, FINDEX_INFO_LEVELS, PVOID, FINDE
> 2168 HANDLE FindFirstFileExW(LPCWSTR, FINDEX_INFO_LEVELS, PVOID, FIND
> 2169 BOOL FindFirstFreeAce(PACL, PVOID*);
> 2170 PVOID FreeSid(PSID);
> 2171 BOOL GetAce(PACL, DWORD, LPVOID*);
> 2172 BOOL GetAclInformation(PACL, PVOID, DWORD, ACL_INFORMATION_CLASS
> 2173 BOOL GetBinaryTypeA(LPCSTR, PDWORD);
> 2174 BOOL GetBinaryTypeW(LPCWSTR, PDWORD);
> 2175 DWORD GetCompressedFileSizeA(LPCSTR, PDWORD);
> 2176 DWORD GetCompressedFileSizeW(LPCWSTR, PDWORD);
> 2177 BOOL GetCurrentHwProfileA(LPHW_PROFILE_INFOA);
> 2178 BOOL GetCurrentHwProfileW(LPHW_PROFILE_INFOW);
> 2179 BOOL GetFileSecurityA(LPCSTR, SECURITY_INFORMATION, PSECURITY_DE
> 2180 BOOL GetFileSecurityW(LPCWSTR, SECURITY_INFORMATION, PSECURITY_D
> 2181 BOOL GetHandleInformation(HANDLE, PDWORD);
> 2182 BOOL GetKernelObjectSecurity(HANDLE, SECURITY_INFORMATION, PSECU
> 2183 DWORD GetLengthSid(PSID);
> 2184 BOOL GetNumberOfEventLogRecords(HANDLE, PDWORD);
> 2185 BOOL GetOldestEventLogRecord(HANDLE, PDWORD);
> 2186 BOOL GetPrivateObjectSecurity(PSECURITY_DESCRIPTOR, SECURITY_INF
> 2187 BOOL GetProcessPriorityBoost(HANDLE, PBOOL);
> 2188 BOOL GetProcessShutdownParameters(PDWORD, PDWORD);
> 2189 BOOL GetProcessTimes(HANDLE, LPFILETIME, LPFILETIME, LPFILETIME,
> 2190 HWINSTA GetProcessWindowStation();
> 2191 BOOL GetProcessWorkingSetSize(HANDLE, PSIZE_T, PSIZE_T);
> 2192 BOOL GetQueuedCompletionStatus(HANDLE, PDWORD, PULONG_PTR, LPOVE
> 2193 BOOL GetSecurityDescriptorControl(PSECURITY_DESCRIPTOR, PSECURIT
> 2194 BOOL GetSecurityDescriptorDacl(PSECURITY_DESCRIPTOR, LPBOOL, PAC
> 2195 BOOL GetSecurityDescriptorGroup(PSECURITY_DESCRIPTOR, PSID*, LPB
> 2196 DWORD GetSecurityDescriptorLength(PSECURITY_DESCRIPTOR);
> 2197 BOOL GetSecurityDescriptorOwner(PSECURITY_DESCRIPTOR, PSID*, LPB
> 2198 BOOL GetSecurityDescriptorSacl(PSECURITY_DESCRIPTOR, LPBOOL, PAC
> 2199 PSID_IDENTIFIER_AUTHORITY GetSidIdentifierAuthority(PSID);
> 2200 DWORD GetSidLengthRequired(UCHAR);
> 2201 PDWORD GetSidSubAuthority(PSID, DWORD);
> 2202 PUCHAR GetSidSubAuthorityCount(PSID);
> 2203 DWORD GetTapeParameters(HANDLE, DWORD, PDWORD, PVOID);
> 2204 DWORD GetTapePosition(HANDLE, DWORD, PDWORD, PDWORD, PDWORD);
2037 extern(Windows) export DWORD GetTapeStatus( | 2205 DWORD GetTapeStatus(HANDLE);
2038 HANDLE hDevice); <
2039 <
> 2206 BOOL GetThreadPriorityBoost(HANDLE, PBOOL);
> 2207 BOOL GetThreadTimes(HANDLE, LPFILETIME, LPFILETIME, LPFILETIME,
> 2208 BOOL GetTokenInformation(HANDLE, TOKEN_INFORMATION_CLASS, PVOID,
> 2209 BOOL ImpersonateLoggedOnUser(HANDLE);
> 2210 BOOL ImpersonateNamedPipeClient(HANDLE);
> 2211 BOOL ImpersonateSelf(SECURITY_IMPERSONATION_LEVEL);
> 2212 BOOL InitializeAcl(PACL, DWORD, DWORD);
> 2213 DWORD SetCriticalSectionSpinCount(LPCRITICAL_SECTION, DWORD);
> 2214 BOOL InitializeSecurityDescriptor(PSECURITY_DESCRIPTOR, DWORD);
> 2215 BOOL InitializeSid(PSID, PSID_IDENTIFIER_AUTHORITY, BYTE);
> 2216 BOOL IsProcessorFeaturePresent(DWORD);
> 2217 BOOL IsTextUnicode(PCVOID, int, LPINT);
> 2218 BOOL IsValidAcl(PACL);
> 2219 BOOL IsValidSecurityDescriptor(PSECURITY_DESCRIPTOR);
> 2220 BOOL IsValidSid(PSID);
> 2221 BOOL LockFileEx(HANDLE, DWORD, DWORD, DWORD, DWORD, LPOVERLAPPED
> 2222 BOOL LogonUserA(LPSTR, LPSTR, LPSTR, DWORD, DWORD, PHANDLE);
> 2223 BOOL LogonUserW(LPWSTR, LPWSTR, LPWSTR, DWORD, DWORD, PHANDLE);
> 2224 BOOL LookupAccountNameA(LPCSTR, LPCSTR, PSID, PDWORD, LPSTR, PDW
> 2225 BOOL LookupAccountNameW(LPCWSTR, LPCWSTR, PSID, PDWORD, LPWSTR,
> 2226 BOOL LookupAccountSidA(LPCSTR, PSID, LPSTR, PDWORD, LPSTR, PDWOR
> 2227 BOOL LookupAccountSidW(LPCWSTR, PSID, LPWSTR, PDWORD, LPWSTR, PD
> 2228 BOOL LookupPrivilegeDisplayNameA(LPCSTR, LPCSTR, LPSTR, PDWORD,
> 2229 BOOL LookupPrivilegeDisplayNameW(LPCWSTR, LPCWSTR, LPWSTR, PDWOR
> 2230 BOOL LookupPrivilegeNameA(LPCSTR, PLUID, LPSTR, PDWORD);
> 2231 BOOL LookupPrivilegeNameW(LPCWSTR, PLUID, LPWSTR, PDWORD);
> 2232 BOOL LookupPrivilegeValueA(LPCSTR, LPCSTR, PLUID);
> 2233 BOOL LookupPrivilegeValueW(LPCWSTR, LPCWSTR, PLUID);
> 2234 BOOL MakeAbsoluteSD(PSECURITY_DESCRIPTOR, PSECURITY_DESCRIPTOR,
> 2235 BOOL MakeSelfRelativeSD(PSECURITY_DESCRIPTOR, PSECURITY_DESCRIPT
> 2236 VOID MapGenericMask(PDWORD, PGENERIC_MAPPING);
> 2237 BOOL MoveFileExA(LPCSTR, LPCSTR, DWORD);
> 2238 BOOL MoveFileExW(LPCWSTR, LPCWSTR, DWORD);
> 2239 BOOL NotifyChangeEventLog(HANDLE, HANDLE);
> 2240 BOOL ObjectCloseAuditAlarmA(LPCSTR, PVOID, BOOL);
> 2241 BOOL ObjectCloseAuditAlarmW(LPCWSTR, PVOID, BOOL);
> 2242 BOOL ObjectDeleteAuditAlarmA(LPCSTR, PVOID, BOOL);
> 2243 BOOL ObjectDeleteAuditAlarmW(LPCWSTR, PVOID, BOOL);
> 2244 BOOL ObjectOpenAuditAlarmA(LPCSTR, PVOID, LPSTR, LPSTR, PSECURIT
> 2245 BOOL ObjectOpenAuditAlarmW(LPCWSTR, PVOID, LPWSTR, LPWSTR, PSECU
> 2246 BOOL ObjectPrivilegeAuditAlarmA(LPCSTR, PVOID, HANDLE, DWORD, PP
> 2247 BOOL ObjectPrivilegeAuditAlarmW(LPCWSTR, PVOID, HANDLE, DWORD, P
> 2248 HANDLE OpenBackupEventLogA(LPCSTR, LPCSTR);
> 2249 HANDLE OpenBackupEventLogW(LPCWSTR, LPCWSTR);
> 2250 HANDLE OpenEventLogA(LPCSTR, LPCSTR);
> 2251 HANDLE OpenEventLogW(LPCWSTR, LPCWSTR);
> 2252 BOOL OpenProcessToken(HANDLE, DWORD, PHANDLE);
> 2253 BOOL OpenThreadToken(HANDLE, DWORD, BOOL, PHANDLE);
> 2254 BOOL PostQueuedCompletionStatus(HANDLE, DWORD, ULONG_PTR, LPOVER
> 2255 DWORD PrepareTape(HANDLE, DWORD, BOOL);
> 2256 BOOL PrivilegeCheck(HANDLE, PPRIVILEGE_SET, PBOOL);
> 2257 BOOL PrivilegedServiceAuditAlarmA(LPCSTR, LPCSTR, HANDLE, PPRIVI
> 2258 BOOL PrivilegedServiceAuditAlarmW(LPCWSTR, LPCWSTR, HANDLE, PPRI
> 2259 BOOL ReadDirectoryChangesW(HANDLE, PVOID, DWORD, BOOL, DWORD, PD
> 2260 BOOL ReadEventLogA(HANDLE, DWORD, DWORD, PVOID, DWORD, DWORD*, D
> 2261 BOOL ReadEventLogW(HANDLE, DWORD, DWORD, PVOID, DWORD, DWORD*, D
> 2262 BOOL ReadFileScatter(HANDLE, FILE_SEGMENT_ELEMENT*, DWORD, LPDWO
> 2263 HANDLE RegisterEventSourceA (LPCSTR, LPCSTR);
> 2264 HANDLE RegisterEventSourceW(LPCWSTR, LPCWSTR);
> 2265 BOOL ReportEventA(HANDLE, WORD, WORD, DWORD, PSID, WORD, DWORD,
> 2266 BOOL ReportEventW(HANDLE, WORD, WORD, DWORD, PSID, WORD, DWORD,
> 2267 BOOL RevertToSelf();
> 2268 BOOL SetAclInformation(PACL, PVOID, DWORD, ACL_INFORMATION_CLASS
> 2269 BOOL SetFileSecurityA(LPCSTR, SECURITY_INFORMATION, PSECURITY_DE
> 2270 BOOL SetFileSecurityW(LPCWSTR, SECURITY_INFORMATION, PSECURITY_D
> 2271 BOOL SetHandleInformation(HANDLE, DWORD, DWORD);
> 2272 BOOL SetKernelObjectSecurity(HANDLE, SECURITY_INFORMATION, PSECU
> 2273 BOOL SetPrivateObjectSecurity(SECURITY_INFORMATION, PSECURITY_DE
> 2274 BOOL SetProcessAffinityMask(HANDLE, DWORD);
> 2275 BOOL SetProcessPriorityBoost(HANDLE, BOOL);
> 2276 BOOL SetProcessShutdownParameters(DWORD, DWORD);
> 2277 BOOL SetProcessWorkingSetSize(HANDLE, SIZE_T, SIZE_T);
> 2278 BOOL SetSecurityDescriptorDacl(PSECURITY_DESCRIPTOR, BOOL, PACL,
> 2279 BOOL SetSecurityDescriptorGroup(PSECURITY_DESCRIPTOR, PSID, BOOL
> 2280 BOOL SetSecurityDescriptorOwner(PSECURITY_DESCRIPTOR, PSID, BOOL
> 2281 BOOL SetSecurityDescriptorSacl(PSECURITY_DESCRIPTOR, BOOL, PACL,
> 2282 BOOL SetSystemTimeAdjustment(DWORD, BOOL);
2040 extern(Windows) export DWORD GetTapeParameters( | 2283 DWORD SetTapeParameters(HANDLE, DWORD, PVOID);
2041 HANDLE hDevice, <
2042 DWORD dwOperation, <
2043 LPDWORD lpdwSize, <
2044 LPVOID lpTapeInformation); <
> 2284 DWORD SetTapePosition(HANDLE, DWORD, DWORD, DWORD, DWORD, BOOL);
> 2285 BOOL SetThreadPriorityBoost(HANDLE, BOOL);
> 2286 BOOL SetThreadToken(PHANDLE, HANDLE);
> 2287 BOOL SetTokenInformation(HANDLE, TOKEN_INFORMATION_CLASS, PVOID,
> 2288 DWORD SignalObjectAndWait(HANDLE, HANDLE, DWORD, BOOL);
> 2289 BOOL SwitchToThread();
> 2290 BOOL SystemTimeToTzSpecificLocalTime(LPTIME_ZONE_INFORMATION, LP
> 2291 BOOL TryEnterCriticalSection(LPCRITICAL_SECTION);
> 2292 BOOL UnlockFileEx(HANDLE, DWORD, DWORD, DWORD, LPOVERLAPPED);
> 2293 BOOL UpdateResourceA(HANDLE, LPCSTR, LPCSTR, WORD, PVOID, DWORD)
> 2294 BOOL UpdateResourceW(HANDLE, LPCWSTR, LPCWSTR, WORD, PVOID, DWOR
> 2295 BOOL WriteFileGather(HANDLE, FILE_SEGMENT_ELEMENT*, DWORD, LPDWO
> 2296 DWORD WriteTapemark(HANDLE, DWORD, DWORD, BOOL);
2045 | 2297
2046 enum : uint { GET_TAPE_MEDIA_INFORMATION = 0 } <
2047 enum : uint { GET_TAPE_DRIVE_INFORMATION = 1 } <
2048 <
2049 extern(Windows) export DWORD SetTapeParameters( <
> 2298 static if (_WIN32_WINNT >= 0x500) {
> 2299 BOOL AddAccessAllowedAceEx(PACL, DWORD, DWORD, DWORD, PS
> 2300 BOOL AddAccessDeniedAceEx(PACL, DWORD, DWORD, DWORD, PSI
> 2301 PVOID AddVectoredExceptionHandler(ULONG, PVECTORED_EXCEP
> 2302 BOOL AllocateUserPhysicalPages(HANDLE, PULONG_PTR, PULON
> 2303 BOOL AssignProcessToJobObject(HANDLE, HANDLE);
> 2304 BOOL ChangeTimerQueueTimer(HANDLE,HANDLE,ULONG,ULONG);
> 2305 LPVOID CreateFiberEx(SIZE_T, SIZE_T, DWORD, LPFIBER_STAR
> 2306 HANDLE CreateFileMappingA(HANDLE, LPSECURITY_ATTRIBUTES,
> 2307 HANDLE CreateFileMappingW(HANDLE, LPSECURITY_ATTRIBUTES,
> 2308 BOOL CreateHardLinkA(LPCSTR, LPCSTR, LPSECURITY_ATTRIBUT
> 2309 BOOL CreateHardLinkW(LPCWSTR, LPCWSTR, LPSECURITY_ATTRIB
> 2310 HANDLE CreateJobObjectA(LPSECURITY_ATTRIBUTES, LPCSTR);
> 2311 HANDLE CreateJobObjectW(LPSECURITY_ATTRIBUTES, LPCWSTR);
> 2312 BOOL CreateProcessWithLogonW(LPCWSTR, LPCWSTR, LPCWSTR,
> 2313 HANDLE CreateTimerQueue();
> 2314 BOOL CreateTimerQueueTimer(PHANDLE, HANDLE, WAITORTIMERC
> 2315 BOOL DeleteTimerQueue(HANDLE);
> 2316 BOOL DeleteTimerQueueEx(HANDLE, HANDLE);
> 2317 BOOL DeleteTimerQueueTimer(HANDLE, HANDLE, HANDLE);
> 2318 BOOL DeleteVolumeMountPointA(LPCSTR);
> 2319 BOOL DeleteVolumeMountPointW(LPCWSTR);
> 2320 BOOL DnsHostnameToComputerNameA(LPCSTR, LPSTR, LPDWORD);
> 2321 BOOL DnsHostnameToComputerNameW(LPCWSTR, LPWSTR, LPDWORD
> 2322 BOOL EncryptFileA(LPCSTR);
> 2323 BOOL EncryptFileW(LPCWSTR);
> 2324 BOOL FileEncryptionStatusA(LPCSTR, LPDWORD);
> 2325 BOOL FileEncryptionStatusW(LPCWSTR, LPDWORD);
> 2326 HANDLE FindFirstVolumeA(LPCSTR, DWORD);
> 2327 HANDLE FindFirstVolumeMountPointA(LPSTR, LPSTR, DWORD);
> 2328 HANDLE FindFirstVolumeMountPointW(LPWSTR, LPWSTR, DWORD)
> 2329 HANDLE FindFirstVolumeW(LPCWSTR, DWORD);
> 2330 BOOL FindNextVolumeA(HANDLE, LPCSTR, DWORD);
> 2331 BOOL FindNextVolumeW(HANDLE, LPWSTR, DWORD);
> 2332 BOOL FindNextVolumeMountPointA(HANDLE, LPSTR, DWORD);
> 2333 BOOL FindNextVolumeMountPointW(HANDLE, LPWSTR, DWORD);
> 2334 BOOL FindVolumeClose(HANDLE);
> 2335 BOOL FindVolumeMountPointClose(HANDLE);
> 2336 BOOL FlushViewOfFile(PCVOID, DWORD);
> 2337 BOOL FreeUserPhysicalPages(HANDLE, PULONG_PTR, PULONG_PT
> 2338 BOOL GetComputerNameExA(COMPUTER_NAME_FORMAT, LPSTR, LPD
> 2339 BOOL GetComputerNameExW(COMPUTER_NAME_FORMAT, LPWSTR, LP
> 2340 BOOL GetFileSizeEx(HANDLE, PLARGE_INTEGER);
> 2341 BOOL GetModuleHandleExA(DWORD, LPCSTR, HMODULE*);
> 2342 BOOL GetModuleHandleExW(DWORD, LPCWSTR, HMODULE*);
2050 HANDLE hDevice, | 2343 HANDLE GetProcessHeap();
2051 DWORD dwOperation, <
2052 LPVOID lpTapeInformation); <
> 2344 DWORD GetProcessHeaps(DWORD, PHANDLE);
> 2345 BOOL GetProcessIoCounters(HANDLE, PIO_COUNTERS);
> 2346 BOOL GetSystemPowerStatus(LPSYSTEM_POWER_STATUS);
> 2347 UINT GetSystemWindowsDirectoryA(LPSTR, UINT);
> 2348 UINT GetSystemWindowsDirectoryW(LPWSTR, UINT);
> 2349 BOOL GetVolumeNameForVolumeMountPointA(LPCSTR, LPSTR, DW
> 2350 BOOL GetVolumeNameForVolumeMountPointW(LPCWSTR, LPWSTR,
> 2351 BOOL GetVolumePathNameA(LPCSTR, LPSTR, DWORD);
> 2352 BOOL GetVolumePathNameW(LPCWSTR, LPWSTR, DWORD);
> 2353 BOOL GlobalMemoryStatusEx(LPMEMORYSTATUSEX);
> 2354 BOOL IsBadCodePtr(FARPROC);
> 2355 BOOL IsSystemResumeAutomatic();
> 2356 BOOL MapUserPhysicalPages(PVOID, ULONG_PTR, PULONG_PTR);
> 2357 BOOL MapUserPhysicalPagesScatter(PVOID*, ULONG_PTR, PULO
> 2358 PVOID MapViewOfFile(HANDLE, DWORD, DWORD, DWORD, DWORD);
> 2359 PVOID MapViewOfFileEx(HANDLE, DWORD, DWORD, DWORD, DWORD
> 2360 HANDLE OpenFileMappingA(DWORD, BOOL, LPCSTR);
> 2361 HANDLE OpenFileMappingW(DWORD, BOOL, LPCWSTR);
> 2362 BOOL ProcessIdToSessionId(DWORD, DWORD*);
> 2363 BOOL QueryInformationJobObject(HANDLE, JOBOBJECTINFOCLAS
> 2364 ULONG RemoveVectoredExceptionHandler(PVOID);
> 2365 BOOL ReplaceFileA(LPCSTR, LPCSTR, LPCSTR, DWORD, LPVOID,
> 2366 BOOL ReplaceFileW(LPCWSTR, LPCWSTR, LPCWSTR, DWORD, LPVO
> 2367 BOOL SetComputerNameExA(COMPUTER_NAME_FORMAT, LPCSTR);
> 2368 BOOL SetComputerNameExW(COMPUTER_NAME_FORMAT, LPCWSTR);
> 2369 BOOL SetFilePointerEx(HANDLE, LARGE_INTEGER, PLARGE_INTE
> 2370 BOOL SetInformationJobObject(HANDLE, JOBOBJECTINFOCLASS,
> 2371 BOOL SetSecurityDescriptorControl(PSECURITY_DESCRIPTOR,
> 2372 BOOL SetSystemPowerState(BOOL, BOOL);
> 2373 EXECUTION_STATE SetThreadExecutionState(EXECUTION_STATE)
> 2374 DWORD SetThreadIdealProcessor(HANDLE, DWORD);
> 2375 BOOL SetVolumeMountPointA(LPCSTR, LPCSTR);
> 2376 BOOL SetVolumeMountPointW(LPCWSTR, LPCWSTR);
> 2377 BOOL TerminateJobObject(HANDLE, UINT);
> 2378 BOOL UnmapViewOfFile(PVOID);
> 2379 BOOL UnregisterWait(HANDLE);
> 2380 BOOL UnregisterWaitEx(HANDLE, HANDLE);
> 2381 BOOL VerifyVersionInfoA(LPOSVERSIONINFOEXA, DWORD, DWORD
> 2382 BOOL VerifyVersionInfoW(LPOSVERSIONINFOEXW, DWORD, DWORD
2053 | 2383 }
2054 enum : uint { SET_TAPE_MEDIA_INFORMATION = 0 } <
2055 enum : uint { SET_TAPE_DRIVE_INFORMATION = 1 } <
2056 | 2384
2057 extern(Windows) export BOOL Beep( <
2058 DWORD dwFreq, <
2059 DWORD dwDuration); <
> 2385 static if (_WIN32_WINNT >= 0x501) {
> 2386 BOOL ActivateActCtx(HANDLE, ULONG_PTR*);
> 2387 void AddRefActCtx(HANDLE);
> 2388 BOOL CheckNameLegalDOS8Dot3A(LPCSTR, LPSTR, DWORD, PBOOL
> 2389 BOOL CheckNameLegalDOS8Dot3W(LPCWSTR, LPSTR, DWORD, PBOO
> 2390 BOOL CheckRemoteDebuggerPresent(HANDLE, PBOOL);
> 2391 BOOL ConvertFiberToThread();
> 2392 HANDLE CreateActCtxA(PCACTCTXA);
> 2393 HANDLE CreateActCtxW(PCACTCTXW);
> 2394 HANDLE CreateMemoryResourceNotification(MEMORY_RESOURCE_
> 2395 BOOL DeactivateActCtx(DWORD, ULONG_PTR);
> 2396 BOOL DebugActiveProcessStop(DWORD);
> 2397 BOOL DebugBreakProcess(HANDLE);
> 2398 BOOL DebugSetProcessKillOnExit(BOOL);
> 2399 BOOL FindActCtxSectionGuid(DWORD, CPtr!(GUID), ULONG, CP
> 2400 PACTCTX_SECTION_KEYED_DATA);
> 2401 BOOL FindActCtxSectionStringA(DWORD, CPtr!(GUID), ULONG,
> 2402 PACTCTX_SECTION_KEYED_DATA);
> 2403 BOOL FindActCtxSectionStringW(DWORD, CPtr!(GUID), ULONG,
> 2404 PACTCTX_SECTION_KEYED_DATA);
> 2405 BOOL GetCurrentActCtx(HANDLE*);
> 2406 VOID GetNativeSystemInfo(LPSYSTEM_INFO);
> 2407 BOOL GetProcessHandleCount(HANDLE, PDWORD);
> 2408 BOOL GetSystemRegistryQuota(PDWORD, PDWORD);
> 2409 BOOL GetSystemTimes(LPFILETIME, LPFILETIME, LPFILETIME);
> 2410 UINT GetSystemWow64DirectoryA(LPSTR, UINT);
> 2411 UINT GetSystemWow64DirectoryW(LPWSTR, UINT);
> 2412 BOOL GetThreadIOPendingFlag(HANDLE, PBOOL);
> 2413 BOOL GetVolumePathNamesForVolumeNameA(LPCSTR, LPSTR, DWO
> 2414 BOOL GetVolumePathNamesForVolumeNameW(LPCWSTR, LPWSTR, D
> 2415 UINT GetWriteWatch(DWORD, PVOID, SIZE_T, PVOID*, PULONG_
> 2416 BOOL HeapQueryInformation(HANDLE, HEAP_INFORMATION_CLASS
> 2417 BOOL HeapSetInformation(HANDLE, HEAP_INFORMATION_CLASS,
> 2418 BOOL IsProcessInJob(HANDLE, HANDLE, PBOOL);
> 2419 BOOL IsWow64Process(HANDLE, PBOOL);
> 2420 BOOL QueryActCtxW(DWORD, HANDLE, PVOID, ULONG, PVOID, SI
> 2421 BOOL QueryMemoryResourceNotification(HANDLE, PBOOL);
> 2422 void ReleaseActCtx(HANDLE);
> 2423 UINT ResetWriteWatch(LPVOID, SIZE_T);
> 2424 BOOL SetFileShortNameA(HANDLE, LPCSTR);
> 2425 BOOL SetFileShortNameW(HANDLE, LPCWSTR);
> 2426 BOOL SetFileValidData(HANDLE, LONGLONG);
> 2427 BOOL ZombifyActCtx(HANDLE);
2060 | 2428 }
2061 extern(Windows) export int MulDiv( <
2062 int nNumber, <
2063 int nNumerator, <
2064 int nDenominator); <
2065 | 2429
2066 extern(Windows) export VOID GetSystemTime( <
2067 LPSYSTEMTIME lpSystemTime); <
> 2430 static if (_WIN32_WINNT >= 0x502) {
> 2431 DWORD GetFirmwareEnvironmentVariableA(LPCSTR, LPCSTR, PV
> 2432 DWORD GetFirmwareEnvironmentVariableW(LPCWSTR, LPCWSTR,
> 2433 DWORD GetDllDirectoryA(DWORD, LPSTR);
> 2434 DWORD GetDllDirectoryW(DWORD, LPWSTR);
> 2435 DWORD GetProcessId(HANDLE);
> 2436 HANDLE ReOpenFile(HANDLE, DWORD, DWORD, DWORD);
> 2437 BOOL SetDllDirectoryA(LPCSTR);
> 2438 BOOL SetDllDirectoryW(LPCWSTR);
> 2439 BOOL SetFirmwareEnvironmentVariableA(LPCSTR, LPCSTR, PVO
> 2440 BOOL SetFirmwareEnvironmentVariableW(LPCWSTR, LPCWSTR, P
2068 | 2441 }
2069 extern(Windows) export VOID GetSystemTimeAsFileTime( <
2070 LPFILETIME lpSystemTimeAsFileTime); <
2071 | 2442 }
2072 extern(Windows) export BOOL SetSystemTime( <
2073 SYSTEMTIME *lpSystemTime); <
2074 | 2443
2075 extern(Windows) export VOID GetLocalTime( <
2076 LPSYSTEMTIME lpSystemTime); <
2077 <
2078 extern(Windows) export BOOL SetLocalTime( <
2079 SYSTEMTIME *lpSystemTime); <
2080 <
2081 extern(Windows) export VOID GetSystemInfo( <
2082 LPSYSTEM_INFO lpSystemInfo); <
2083 <
> 2444 // ???
2084 // #if _WIN32_WINNT >= 0x0501 | 2445 static if (_WIN32_WINNT >= 0x510) {
2085 extern(Windows) export VOID GetNativeSystemInfo( <
2086 LPSYSTEM_INFO lpSystemInfo); <
2087 // #endif <
> 2446 VOID RestoreLastError(DWORD);
2088 | 2447 }
2089 extern(Windows) export BOOL IsProcessorFeaturePresent( <
2090 DWORD ProcessorFeature); <
2091 <
2092 struct _TIME_ZONE_INFORMATION { <
2093 LONG Bias; <
2094 WCHAR StandardName[ 32 ]; <
2095 SYSTEMTIME StandardDate; <
2096 LONG StandardBias; <
2097 WCHAR DaylightName[ 32 ]; <
2098 SYSTEMTIME DaylightDate; <
2099 LONG DaylightBias; <
2100 } 2448 }
2101 alias _TIME_ZONE_INFORMATION TIME_ZONE_INFORMATION; <
2102 alias _TIME_ZONE_INFORMATION* PTIME_ZONE_INFORMATION; <
> 2449
> 2450
2103 alias _TIME_ZONE_INFORMATION* LPTIME_ZONE_INFORMATION; | 2451 version (Unicode) {
> 2452 alias STARTUPINFOW STARTUPINFO;
> 2453 alias WIN32_FIND_DATAW WIN32_FIND_DATA;
> 2454 alias ENUMRESLANGPROCW ENUMRESLANGPROC;
> 2455 alias ENUMRESNAMEPROCW ENUMRESNAMEPROC;
> 2456 alias ENUMRESTYPEPROCW ENUMRESTYPEPROC;
> 2457 alias AddAtomW AddAtom;
> 2458 alias BeginUpdateResourceW BeginUpdateResource;
> 2459 alias BuildCommDCBW BuildCommDCB;
> 2460 alias BuildCommDCBAndTimeoutsW BuildCommDCBAndTimeouts;
> 2461 alias CallNamedPipeW CallNamedPipe;
> 2462 alias CommConfigDialogW CommConfigDialog;
> 2463 alias CopyFileW CopyFile;
> 2464 alias CopyFileExW CopyFileEx;
> 2465 alias CreateDirectoryW CreateDirectory;
> 2466 alias CreateDirectoryExW CreateDirectoryEx;
> 2467 alias CreateEventW CreateEvent;
> 2468 alias CreateFileW CreateFile;
> 2469 alias CreateMailslotW CreateMailslot;
> 2470 alias CreateMutexW CreateMutex;
> 2471 alias CreateProcessW CreateProcess;
> 2472 alias CreateSemaphoreW CreateSemaphore;
> 2473 alias DeleteFileW DeleteFile;
> 2474 alias EndUpdateResourceW EndUpdateResource;
> 2475 alias EnumResourceLanguagesW EnumResourceLanguages;
> 2476 alias EnumResourceNamesW EnumResourceNames;
> 2477 alias EnumResourceTypesW EnumResourceTypes;
> 2478 alias ExpandEnvironmentStringsW ExpandEnvironmentStrings;
> 2479 alias FatalAppExitW FatalAppExit;
> 2480 alias FindAtomW FindAtom;
> 2481 alias FindFirstChangeNotificationW FindFirstChangeNotification;
> 2482 alias FindFirstFileW FindFirstFile;
> 2483 alias FindNextFileW FindNextFile;
> 2484 alias FindResourceW FindResource;
> 2485 alias FindResourceExW FindResourceEx;
> 2486 alias FormatMessageW FormatMessage;
> 2487 alias FreeEnvironmentStringsW FreeEnvironmentStrings;
> 2488 alias GetAtomNameW GetAtomName;
> 2489 alias GetCommandLineW GetCommandLine;
> 2490 alias GetComputerNameW GetComputerName;
> 2491 alias GetCurrentDirectoryW GetCurrentDirectory;
> 2492 alias GetDefaultCommConfigW GetDefaultCommConfig;
> 2493 alias GetDiskFreeSpaceW GetDiskFreeSpace;
> 2494 alias GetDiskFreeSpaceExW GetDiskFreeSpaceEx;
> 2495 alias GetDriveTypeW GetDriveType;
> 2496 alias GetEnvironmentStringsW GetEnvironmentStrings;
> 2497 alias GetEnvironmentVariableW GetEnvironmentVariable;
> 2498 alias GetFileAttributesW GetFileAttributes;
> 2499 alias GetFullPathNameW GetFullPathName;
> 2500 alias GetLogicalDriveStringsW GetLogicalDriveStrings;
> 2501 alias GetModuleFileNameW GetModuleFileName;
> 2502 alias GetModuleHandleW GetModuleHandle;
> 2503 alias GetNamedPipeHandleStateW GetNamedPipeHandleState;
> 2504 alias GetPrivateProfileIntW GetPrivateProfileInt;
> 2505 alias GetPrivateProfileSectionW GetPrivateProfileSection;
> 2506 alias GetPrivateProfileSectionNamesW GetPrivateProfileSectionNames;
> 2507 alias GetPrivateProfileStringW GetPrivateProfileString;
> 2508 alias GetPrivateProfileStructW GetPrivateProfileStruct;
> 2509 alias GetProfileIntW GetProfileInt;
> 2510 alias GetProfileSectionW GetProfileSection;
> 2511 alias GetProfileStringW GetProfileString;
> 2512 alias GetShortPathNameW GetShortPathName;
> 2513 alias GetStartupInfoW GetStartupInfo;
> 2514 alias GetSystemDirectoryW GetSystemDirectory;
> 2515 alias GetTempFileNameW GetTempFileName;
> 2516 alias GetTempPathW GetTempPath;
> 2517 alias GetUserNameW GetUserName;
> 2518 alias GetVersionExW GetVersionEx;
> 2519 alias GetVolumeInformationW GetVolumeInformation;
> 2520 alias GetWindowsDirectoryW GetWindowsDirectory;
> 2521 alias GlobalAddAtomW GlobalAddAtom;
> 2522 alias GlobalFindAtomW GlobalFindAtom;
> 2523 alias GlobalGetAtomNameW GlobalGetAtomName;
> 2524 alias IsBadStringPtrW IsBadStringPtr;
> 2525 alias LoadLibraryW LoadLibrary;
> 2526 alias LoadLibraryExW LoadLibraryEx;
> 2527 alias lstrcatW lstrcat;
> 2528 alias lstrcmpW lstrcmp;
> 2529 alias lstrcmpiW lstrcmpi;
> 2530 alias lstrcpyW lstrcpy;
> 2531 alias lstrcpynW lstrcpyn;
> 2532 alias lstrlenW lstrlen;
> 2533 alias MoveFileW MoveFile;
> 2534 alias OpenEventW OpenEvent;
> 2535 alias OpenMutexW OpenMutex;
> 2536 alias OpenSemaphoreW OpenSemaphore;
> 2537 alias OutputDebugStringW OutputDebugString;
> 2538 alias RemoveDirectoryW RemoveDirectory;
> 2539 alias SearchPathW SearchPath;
> 2540 alias SetComputerNameW SetComputerName;
> 2541 alias SetCurrentDirectoryW SetCurrentDirectory;
> 2542 alias SetDefaultCommConfigW SetDefaultCommConfig;
> 2543 alias SetEnvironmentVariableW SetEnvironmentVariable;
> 2544 alias SetFileAttributesW SetFileAttributes;
> 2545 alias SetVolumeLabelW SetVolumeLabel;
> 2546 alias WaitNamedPipeW WaitNamedPipe;
> 2547 alias WritePrivateProfileSectionW WritePrivateProfileSection;
> 2548 alias WritePrivateProfileStringW WritePrivateProfileString;
> 2549 alias WritePrivateProfileStructW WritePrivateProfileStruct;
> 2550 alias WriteProfileSectionW WriteProfileSection;
> 2551 alias WriteProfileStringW WriteProfileString;
> 2552
> 2553 static if (_WIN32_WINDOWS >= 0x410) {
> 2554 alias CreateWaitableTimerW CreateWaitableTimer;
> 2555 alias GetFileAttributesExW GetFileAttributesEx;
> 2556 alias GetLongPathNameW GetLongPathName;
> 2557 alias QueryDosDeviceW QueryDosDevice;
> 2558 }
> 2559
> 2560 static if (_WIN32_WINNT_ONLY) {
> 2561 alias HW_PROFILE_INFOW HW_PROFILE_INFO;
> 2562 alias AccessCheckAndAuditAlarmW AccessCheckAndAuditAlarm;
> 2563 alias BackupEventLogW BackupEventLog;
> 2564 alias ClearEventLogW ClearEventLog;
> 2565 alias CreateNamedPipeW CreateNamedPipe;
> 2566 alias CreateProcessAsUserW CreateProcessAsUser;
> 2567 alias DefineDosDeviceW DefineDosDevice;
> 2568 alias FindFirstFileExW FindFirstFileEx;
> 2569 alias GetBinaryTypeW GetBinaryType;
> 2570 alias GetCompressedFileSizeW GetCompressedFileSize;
> 2571 alias GetFileSecurityW GetFileSecurity;
> 2572 alias LogonUserW LogonUser;
> 2573 alias LookupAccountNameW LookupAccountName;
> 2574 alias LookupAccountSidW LookupAccountSid;
> 2575 alias LookupPrivilegeDisplayNameW LookupPrivilegeDisplayName;
> 2576 alias LookupPrivilegeNameW LookupPrivilegeName;
> 2577 alias LookupPrivilegeValueW LookupPrivilegeValue;
> 2578 alias MoveFileExW MoveFileEx;
> 2579 alias ObjectCloseAuditAlarmW ObjectCloseAuditAlarm;
> 2580 alias ObjectDeleteAuditAlarmW ObjectDeleteAuditAlarm;
> 2581 alias ObjectOpenAuditAlarmW ObjectOpenAuditAlarm;
> 2582 alias ObjectPrivilegeAuditAlarmW ObjectPrivilegeAuditAlarm;
> 2583 alias OpenBackupEventLogW OpenBackupEventLog;
> 2584 alias OpenEventLogW OpenEventLog;
> 2585 alias PrivilegedServiceAuditAlarmW PrivilegedServiceAuditAlarm;
> 2586 alias ReadEventLogW ReadEventLog;
> 2587 alias RegisterEventSourceW RegisterEventSource;
> 2588 alias ReportEventW ReportEvent;
> 2589 alias SetFileSecurityW SetFileSecurity;
> 2590 alias UpdateResourceW UpdateResource;
2104 2591
2105 extern(Windows) export BOOL SystemTimeToTzSpecificLocalTime( | 2592 static if (_WIN32_WINNT >= 0x500) {
2106 LPTIME_ZONE_INFORMATION lpTimeZoneInformation, | 2593 alias CreateFileMappingW CreateFileMapping;
2107 LPSYSTEMTIME lpUniversalTime, | 2594 alias CreateHardLinkW CreateHardLink;
2108 LPSYSTEMTIME lpLocalTime); | 2595 alias CreateJobObjectW CreateJobObject;
> 2596 alias DeleteVolumeMountPointW DeleteVolumeMountPoint;
> 2597 alias DnsHostnameToComputerNameW DnsHostnameToComputerNa
> 2598 alias EncryptFileW EncryptFile;
> 2599 alias FileEncryptionStatusW FileEncryptionStatus;
> 2600 alias FindFirstVolumeW FindFirstVolume;
> 2601 alias FindFirstVolumeMountPointW FindFirstVolumeMountPoi
> 2602 alias FindNextVolumeW FindNextVolume;
> 2603 alias FindNextVolumeMountPointW FindNextVolumeMountPoint
> 2604 alias GetModuleHandleExW GetModuleHandleEx;
> 2605 alias GetSystemWindowsDirectoryW GetSystemWindowsDirecto
> 2606 alias GetVolumeNameForVolumeMountPointW GetVolumeNameFor
> 2607 alias GetVolumePathNameW GetVolumePathName;
> 2608 alias OpenFileMappingW OpenFileMapping;
> 2609 alias ReplaceFileW ReplaceFile;
> 2610 alias SetVolumeMountPointW SetVolumeMountPoint;
> 2611 alias VerifyVersionInfoW VerifyVersionInfo;
> 2612 }
2109 2613
2110 extern(Windows) export BOOL TzSpecificLocalTimeToSystemTime( | 2614 static if (_WIN32_WINNT >= 0x501) {
2111 LPTIME_ZONE_INFORMATION lpTimeZoneInformation, | 2615 alias ACTCTXW ACTCTX;
2112 LPSYSTEMTIME lpLocalTime, | 2616 alias CheckNameLegalDOS8Dot3W CheckNameLegalDOS8Dot3;
2113 LPSYSTEMTIME lpUniversalTime); | 2617 alias CreateActCtxW CreateActCtx;
> 2618 alias FindActCtxSectionStringW FindActCtxSectionString;
> 2619 alias GetSystemWow64DirectoryW GetSystemWow64Directory;
> 2620 alias GetVolumePathNamesForVolumeNameW GetVolumePathName
> 2621 alias SetFileShortNameW SetFileShortName;
2114 | 2622 }
2115 extern(Windows) export DWORD GetTimeZoneInformation( <
2116 LPTIME_ZONE_INFORMATION lpTimeZoneInformation); <
2117 2623
2118 extern(Windows) export BOOL SetTimeZoneInformation( | 2624 static if (_WIN32_WINNT >= 0x502) {
2119 TIME_ZONE_INFORMATION *lpTimeZoneInformation); | 2625 alias SetFirmwareEnvironmentVariableW SetFirmwareEnviron
> 2626 alias SetDllDirectoryW SetDllDirectory;
> 2627 alias GetDllDirectoryW GetDllDirectory;
> 2628 }
> 2629 }
2120 2630
2121 extern(Windows) export BOOL SystemTimeToFileTime( | 2631 } else {
2122 SYSTEMTIME *lpSystemTime, | 2632 alias STARTUPINFOA STARTUPINFO;
2123 LPFILETIME lpFileTime); | 2633 alias WIN32_FIND_DATAA WIN32_FIND_DATA;
2124 <
> 2634 alias ENUMRESLANGPROCW ENUMRESLANGPROC;
2125 extern(Windows) export BOOL FileTimeToLocalFileTime( | 2635 alias ENUMRESNAMEPROCW ENUMRESNAMEPROC;
2126 FILETIME *lpFileTime, | 2636 alias ENUMRESTYPEPROCW ENUMRESTYPEPROC;
2127 LPFILETIME lpLocalFileTime); | 2637 alias AddAtomA AddAtom;
> 2638 alias BeginUpdateResourceA BeginUpdateResource;
> 2639 alias BuildCommDCBA BuildCommDCB;
> 2640 alias BuildCommDCBAndTimeoutsA BuildCommDCBAndTimeouts;
> 2641 alias CallNamedPipeA CallNamedPipe;
> 2642 alias CommConfigDialogA CommConfigDialog;
> 2643 alias CopyFileA CopyFile;
> 2644 alias CopyFileExA CopyFileEx;
> 2645 alias CreateDirectoryA CreateDirectory;
> 2646 alias CreateDirectoryExA CreateDirectoryEx;
> 2647 alias CreateEventA CreateEvent;
> 2648 alias CreateFileA CreateFile;
> 2649 alias CreateMailslotA CreateMailslot;
> 2650 alias CreateMutexA CreateMutex;
> 2651 alias CreateProcessA CreateProcess;
> 2652 alias CreateSemaphoreA CreateSemaphore;
> 2653 alias DeleteFileA DeleteFile;
> 2654 alias EndUpdateResourceA EndUpdateResource;
> 2655 alias EnumResourceLanguagesA EnumResourceLanguages;
> 2656 alias EnumResourceNamesA EnumResourceNames;
> 2657 alias EnumResourceTypesA EnumResourceTypes;
> 2658 alias ExpandEnvironmentStringsA ExpandEnvironmentStrings;
> 2659 alias FatalAppExitA FatalAppExit;
> 2660 alias FindAtomA FindAtom;
> 2661 alias FindFirstChangeNotificationA FindFirstChangeNotification;
> 2662 alias FindFirstFileA FindFirstFile;
> 2663 alias FindNextFileA FindNextFile;
> 2664 alias FindResourceA FindResource;
> 2665 alias FindResourceExA FindResourceEx;
> 2666 alias FormatMessageA FormatMessage;
> 2667 alias FreeEnvironmentStringsA FreeEnvironmentStrings;
> 2668 alias GetAtomNameA GetAtomName;
> 2669 alias GetCommandLineA GetCommandLine;
> 2670 alias GetComputerNameA GetComputerName;
> 2671 alias GetCurrentDirectoryA GetCurrentDirectory;
> 2672 alias GetDefaultCommConfigA GetDefaultCommConfig;
> 2673 alias GetDiskFreeSpaceA GetDiskFreeSpace;
> 2674 alias GetDiskFreeSpaceExA GetDiskFreeSpaceEx;
> 2675 alias GetDriveTypeA GetDriveType;
> 2676 alias GetEnvironmentVariableA GetEnvironmentVariable;
> 2677 alias GetFileAttributesA GetFileAttributes;
> 2678 alias GetFullPathNameA GetFullPathName;
> 2679 alias GetLogicalDriveStringsA GetLogicalDriveStrings;
> 2680 alias GetNamedPipeHandleStateA GetNamedPipeHandleState;
> 2681 alias GetModuleHandleA GetModuleHandle;
> 2682 alias GetModuleFileNameA GetModuleFileName;
> 2683 alias GetPrivateProfileIntA GetPrivateProfileInt;
> 2684 alias GetPrivateProfileSectionA GetPrivateProfileSection;
> 2685 alias GetPrivateProfileSectionNamesA GetPrivateProfileSectionNames;
> 2686 alias GetPrivateProfileStringA GetPrivateProfileString;
> 2687 alias GetPrivateProfileStructA GetPrivateProfileStruct;
> 2688 alias GetProfileIntA GetProfileInt;
> 2689 alias GetProfileSectionA GetProfileSection;
> 2690 alias GetProfileStringA GetProfileString;
> 2691 alias GetShortPathNameA GetShortPathName;
> 2692 alias GetStartupInfoA GetStartupInfo;
> 2693 alias GetSystemDirectoryA GetSystemDirectory;
> 2694 alias GetTempFileNameA GetTempFileName;
> 2695 alias GetTempPathA GetTempPath;
> 2696 alias GetUserNameA GetUserName;
> 2697 alias GetVersionExA GetVersionEx;
> 2698 alias GetVolumeInformationA GetVolumeInformation;
> 2699 alias GetWindowsDirectoryA GetWindowsDirectory;
> 2700 alias GlobalAddAtomA GlobalAddAtom;
> 2701 alias GlobalFindAtomA GlobalFindAtom;
> 2702 alias GlobalGetAtomNameA GlobalGetAtomName;
> 2703 alias IsBadStringPtrA IsBadStringPtr;
> 2704 alias LoadLibraryA LoadLibrary;
> 2705 alias LoadLibraryExA LoadLibraryEx;
> 2706 alias lstrcatA lstrcat;
> 2707 alias lstrcmpA lstrcmp;
> 2708 alias lstrcmpiA lstrcmpi;
> 2709 alias lstrcpyA lstrcpy;
> 2710 alias lstrcpynA lstrcpyn;
> 2711 alias lstrlenA lstrlen;
> 2712 alias MoveFileA MoveFile;
> 2713 alias OpenEventA OpenEvent;
> 2714 alias OpenMutexA OpenMutex;
> 2715 alias OpenSemaphoreA OpenSemaphore;
> 2716 alias OutputDebugStringA OutputDebugString;
> 2717 alias RemoveDirectoryA RemoveDirectory;
> 2718 alias SearchPathA SearchPath;
> 2719 alias SetComputerNameA SetComputerName;
> 2720 alias SetCurrentDirectoryA SetCurrentDirectory;
> 2721 alias SetDefaultCommConfigA SetDefaultCommConfig;
> 2722 alias SetEnvironmentVariableA SetEnvironmentVariable;
> 2723 alias SetFileAttributesA SetFileAttributes;
> 2724 alias SetVolumeLabelA SetVolumeLabel;
> 2725 alias WaitNamedPipeA WaitNamedPipe;
> 2726 alias WritePrivateProfileSectionA WritePrivateProfileSection;
> 2727 alias WritePrivateProfileStringA WritePrivateProfileString;
> 2728 alias WritePrivateProfileStructA WritePrivateProfileStruct;
> 2729 alias WriteProfileSectionA WriteProfileSection;
> 2730 alias WriteProfileStringA WriteProfileString;
2128 2731
2129 extern(Windows) export BOOL LocalFileTimeToFileTime( | 2732 static if (_WIN32_WINDOWS >= 0x410) {
2130 FILETIME *lpLocalFileTime, | 2733 alias CreateWaitableTimerA CreateWaitableTimer;
2131 LPFILETIME lpFileTime); | 2734 alias GetFileAttributesExA GetFileAttributesEx;
2132 <
> 2735 alias GetLongPathNameA GetLongPathName;
2133 extern(Windows) export BOOL FileTimeToSystemTime( | 2736 alias QueryDosDeviceA QueryDosDevice;
2134 FILETIME *lpFileTime, <
2135 LPSYSTEMTIME lpSystemTime); <
2136 | 2737 }
2137 extern(Windows) export LONG CompareFileTime( <
2138 FILETIME *lpFileTime1, <
2139 FILETIME *lpFileTime2); <
2140 <
2141 extern(Windows) export BOOL FileTimeToDosDateTime( <
2142 FILETIME *lpFileTime, <
2143 LPWORD lpFatDate, <
2144 LPWORD lpFatTime); <
2145 <
2146 extern(Windows) export BOOL DosDateTimeToFileTime( <
2147 WORD wFatDate, <
2148 WORD wFatTime, <
2149 LPFILETIME lpFileTime); <
2150 2738
2151 extern(Windows) export DWORD GetTickCount(); | 2739 static if (_WIN32_WINNT_ONLY) {
2152 <
> 2740 alias HW_PROFILE_INFOA HW_PROFILE_INFO;
2153 extern(Windows) export BOOL SetSystemTimeAdjustment( | 2741 alias AccessCheckAndAuditAlarmA AccessCheckAndAuditAlarm;
2154 DWORD dwTimeAdjustment, | 2742 alias BackupEventLogA BackupEventLog;
2155 BOOL bTimeAdjustmentDisabled); | 2743 alias ClearEventLogA ClearEventLog;
2156 <
> 2744 alias CreateNamedPipeA CreateNamedPipe;
2157 extern(Windows) export BOOL GetSystemTimeAdjustment( | 2745 alias CreateProcessAsUserA CreateProcessAsUser;
2158 PDWORD lpTimeAdjustment, | 2746 alias DefineDosDeviceA DefineDosDevice;
2159 PDWORD lpTimeIncrement, | 2747 alias FindFirstFileExA FindFirstFileEx;
2160 PBOOL lpTimeAdjustmentDisabled); | 2748 alias GetBinaryTypeA GetBinaryType;
2161 <
> 2749 alias GetCompressedFileSizeA GetCompressedFileSize;
2162 // #if !defined(MIDL_PASS) | 2750 alias GetFileSecurityA GetFileSecurity;
2163 extern(Windows) export DWORD FormatMessageA( | 2751 alias LogonUserA LogonUser;
2164 DWORD dwFlags, | 2752 alias LookupAccountNameA LookupAccountName;
2165 LPCVOID lpSource, | 2753 alias LookupAccountSidA LookupAccountSid;
2166 DWORD dwMessageId, | 2754 alias LookupPrivilegeDisplayNameA LookupPrivilegeDisplayName;
2167 DWORD dwLanguageId, | 2755 alias LookupPrivilegeNameA LookupPrivilegeName;
2168 LPSTR lpBuffer, | 2756 alias LookupPrivilegeValueA LookupPrivilegeValue;
2169 DWORD nSize, | 2757 alias MoveFileExA MoveFileEx;
2170 va_list *Arguments); | 2758 alias ObjectCloseAuditAlarmA ObjectCloseAuditAlarm;
2171 extern(Windows) export DWORD FormatMessageW( | 2759 alias ObjectDeleteAuditAlarmA ObjectDeleteAuditAlarm;
2172 DWORD dwFlags, | 2760 alias ObjectOpenAuditAlarmA ObjectOpenAuditAlarm;
2173 LPCVOID lpSource, | 2761 alias ObjectPrivilegeAuditAlarmA ObjectPrivilegeAuditAlarm;
2174 DWORD dwMessageId, | 2762 alias OpenBackupEventLogA OpenBackupEventLog;
2175 DWORD dwLanguageId, | 2763 alias OpenEventLogA OpenEventLog;
2176 LPWSTR lpBuffer, | 2764 alias PrivilegedServiceAuditAlarmA PrivilegedServiceAuditAlarm;
2177 DWORD nSize, | 2765 alias ReadEventLogA ReadEventLog;
2178 va_list *Arguments); | 2766 alias RegisterEventSourceA RegisterEventSource;
2179 // #ifdef UNICODE | 2767 alias ReportEventA ReportEvent;
2180 alias FormatMessageW FormatMessage; | 2768 alias SetFileSecurityA SetFileSecurity;
2181 // #else | 2769 alias UpdateResourceA UpdateResource;
2182 // #... <
2183 // #endif // !UNICODE <
2184 // #endif <
2185 <
2186 enum : uint { FORMAT_MESSAGE_ALLOCATE_BUFFER = 0x00000100 } <
2187 enum : uint { FORMAT_MESSAGE_IGNORE_INSERTS = 0x00000200 } <
2188 enum : uint { FORMAT_MESSAGE_FROM_STRING = 0x00000400 } <
2189 enum : uint { FORMAT_MESSAGE_FROM_HMODULE = 0x00000800 } <
2190 enum : uint { FORMAT_MESSAGE_FROM_SYSTEM = 0x00001000 } <
2191 enum : uint { FORMAT_MESSAGE_ARGUMENT_ARRAY = 0x00002000 } <
2192 enum : uint { FORMAT_MESSAGE_MAX_WIDTH_MASK = 0x000000FF } <
2193 <
2194 extern(Windows) export BOOL CreatePipe( <
2195 PHANDLE hReadPipe, <
2196 PHANDLE hWritePipe, <
2197 LPSECURITY_ATTRIBUTES lpPipeAttributes, <
2198 DWORD nSize); <
2199 2770
2200 extern(Windows) export BOOL ConnectNamedPipe( | 2771 static if (_WIN32_WINNT >= 0x500) {
2201 HANDLE hNamedPipe, | 2772 alias CreateFileMappingA CreateFileMapping;
2202 LPOVERLAPPED lpOverlapped); | 2773 alias CreateHardLinkA CreateHardLink;
2203 <
> 2774 alias CreateJobObjectA CreateJobObject;
2204 extern(Windows) export BOOL DisconnectNamedPipe( | 2775 alias DeleteVolumeMountPointA DeleteVolumeMountPoint;
2205 HANDLE hNamedPipe); | 2776 alias DnsHostnameToComputerNameA DnsHostnameToComputerNa
2206 <
> 2777 alias EncryptFileA EncryptFile;
2207 extern(Windows) export BOOL SetNamedPipeHandleState( | 2778 alias FileEncryptionStatusA FileEncryptionStatus;
2208 HANDLE hNamedPipe, | 2779 alias FindFirstVolumeA FindFirstVolume;
2209 LPDWORD lpMode, | 2780 alias FindFirstVolumeMountPointA FindFirstVolumeMountPoi
2210 LPDWORD lpMaxCollectionCount, | 2781 alias FindNextVolumeA FindNextVolume;
2211 LPDWORD lpCollectDataTimeout); | 2782 alias FindNextVolumeMountPointA FindNextVolumeMountPoint
2212 <
> 2783 alias GetModuleHandleExA GetModuleHandleEx;
2213 extern(Windows) export BOOL GetNamedPipeInfo( | 2784 alias GetSystemWindowsDirectoryA GetSystemWindowsDirecto
2214 HANDLE hNamedPipe, | 2785 alias GetVolumeNameForVolumeMountPointA GetVolumeNameFor
2215 LPDWORD lpFlags, | 2786 alias GetVolumePathNameA GetVolumePathName;
2216 LPDWORD lpOutBufferSize, | 2787 alias OpenFileMappingA OpenFileMapping;
2217 LPDWORD lpInBufferSize, | 2788 alias ReplaceFileA ReplaceFile;
2218 LPDWORD lpMaxInstances); | 2789 alias SetVolumeMountPointA SetVolumeMountPoint;
> 2790 alias VerifyVersionInfoA VerifyVersionInfo;
2219 | 2791 }
2220 extern(Windows) export BOOL PeekNamedPipe( <
2221 HANDLE hNamedPipe, <
2222 LPVOID lpBuffer, <
2223 DWORD nBufferSize, <
2224 LPDWORD lpBytesRead, <
2225 LPDWORD lpTotalBytesAvail, <
2226 LPDWORD lpBytesLeftThisMessage); <
2227 <
2228 extern(Windows) export BOOL TransactNamedPipe( <
2229 HANDLE hNamedPipe, <
2230 LPVOID lpInBuffer, <
2231 DWORD nInBufferSize, <
2232 LPVOID lpOutBuffer, <
2233 DWORD nOutBufferSize, <
2234 LPDWORD lpBytesRead, <
2235 LPOVERLAPPED lpOverlapped); <
2236 <
2237 extern(Windows) export HANDLE CreateMailslotA( <
2238 LPCSTR lpName, <
2239 DWORD nMaxMessageSize, <
2240 DWORD lReadTimeout, <
2241 LPSECURITY_ATTRIBUTES lpSecurityAttributes); <
2242 extern(Windows) export HANDLE CreateMailslotW( <
2243 LPCWSTR lpName, <
2244 DWORD nMaxMessageSize, <
2245 DWORD lReadTimeout, <
2246 LPSECURITY_ATTRIBUTES lpSecurityAttributes); <
2247 // #ifdef UNICODE <
2248 alias CreateMailslotW CreateMailslot; <
2249 // #else <
2250 // #... <
2251 // #endif // !UNICODE <
2252 <
2253 extern(Windows) export BOOL GetMailslotInfo( <
2254 HANDLE hMailslot, <
2255 LPDWORD lpMaxMessageSize, <
2256 LPDWORD lpNextSize, <
2257 LPDWORD lpMessageCount, <
2258 LPDWORD lpReadTimeout); <
2259 2792
2260 extern(Windows) export BOOL SetMailslotInfo( | 2793 static if (_WIN32_WINNT >= 0x501) {
2261 HANDLE hMailslot, | 2794 alias ACTCTXA ACTCTX;
2262 DWORD lReadTimeout); | 2795 alias CheckNameLegalDOS8Dot3A CheckNameLegalDOS8Dot3;
2263 <
> 2796 alias CreateActCtxA CreateActCtx;
2264 extern(Windows) export LPVOID MapViewOfFile( | 2797 alias FindActCtxSectionStringA FindActCtxSectionString;
2265 HANDLE hFileMappingObject, | 2798 alias GetSystemWow64DirectoryA GetSystemWow64Directory;
2266 DWORD dwDesiredAccess, | 2799 alias GetVolumePathNamesForVolumeNameA GetVolumePathName
2267 DWORD dwFileOffsetHigh, | 2800 alias SetFileShortNameA SetFileShortName;
2268 DWORD dwFileOffsetLow, <
2269 SIZE_T dwNumberOfBytesToMap); <
2270 | 2801 }
2271 extern(Windows) export BOOL FlushViewOfFile( <
2272 LPCVOID lpBaseAddress, <
2273 SIZE_T dwNumberOfBytesToFlush); <
2274 <
2275 extern(Windows) export BOOL UnmapViewOfFile( <
2276 LPCVOID lpBaseAddress); <
2277 <
2278 extern(Windows) export BOOL EncryptFileA( <
2279 LPCSTR lpFileName); <
2280 extern(Windows) export BOOL EncryptFileW( <
2281 LPCWSTR lpFileName); <
2282 // #ifdef UNICODE <
2283 alias EncryptFileW EncryptFile; <
2284 // #else <
2285 // #... <
2286 // #endif // !UNICODE <
2287 <
2288 extern(Windows) export BOOL DecryptFileA( <
2289 LPCSTR lpFileName, <
2290 DWORD dwReserved); <
2291 extern(Windows) export BOOL DecryptFileW( <
2292 LPCWSTR lpFileName, <
2293 DWORD dwReserved); <
2294 // #ifdef UNICODE <
2295 alias DecryptFileW DecryptFile; <
2296 // #else <
2297 // #... <
2298 // #endif // !UNICODE <
2299 <
2300 enum : uint { FILE_ENCRYPTABLE = 0 } <
2301 enum : uint { FILE_IS_ENCRYPTED = 1 } <
2302 enum : uint { FILE_SYSTEM_ATTR = 2 } <
2303 enum : uint { FILE_ROOT_DIR = 3 } <
2304 enum : uint { FILE_SYSTEM_DIR = 4 } <
2305 enum : uint { FILE_UNKNOWN = 5 } <
2306 enum : uint { FILE_SYSTEM_NOT_SUPPORT = 6 } <
2307 enum : uint { FILE_USER_DISALLOWED = 7 } <
2308 enum : uint { FILE_READ_ONLY = 8 } <
2309 enum : uint { FILE_DIR_DISALLOWED = 9 } <
2310 <
2311 extern(Windows) export BOOL FileEncryptionStatusA( <
2312 LPCSTR lpFileName, <
2313 LPDWORD lpStatus); <
2314 extern(Windows) export BOOL FileEncryptionStatusW( <
2315 LPCWSTR lpFileName, <
2316 LPDWORD lpStatus); <
2317 // #ifdef UNICODE <
2318 alias FileEncryptionStatusW FileEncryptionStatus; <
2319 // #else <
2320 // #... <
2321 // #endif // !UNICODE <
2322 <
2323 enum : uint { EFS_USE_RECOVERY_KEYS = 0x1 } <
2324 <
2325 extern(Windows) alias DWORD function( PBYTE pbData, PVOID pvCallbackContext, ULO <
2326 <
2327 extern(Windows) alias DWORD function( PBYTE pbData, PVOID pvCallbackContext, PUL <
2328 <
2329 enum : uint { CREATE_FOR_IMPORT = 1 } <
2330 enum : uint { CREATE_FOR_DIR = 2 } <
2331 enum : uint { OVERWRITE_HIDDEN = 4 } <
2332 <
2333 extern(Windows) export DWORD OpenEncryptedFileRawA( <
2334 LPCSTR lpFileName, <
2335 ULONG ulFlags, <
2336 PVOID * pvContext); <
2337 extern(Windows) export DWORD OpenEncryptedFileRawW( <
2338 LPCWSTR lpFileName, <
2339 ULONG ulFlags, <
2340 PVOID * pvContext); <
2341 // #ifdef UNICODE <
2342 alias OpenEncryptedFileRawW OpenEncryptedFileRaw; <
2343 // #else <
2344 // #... <
2345 // #endif // !UNICODE <
2346 <
2347 extern(Windows) export DWORD ReadEncryptedFileRaw( <
2348 PFE_EXPORT_FUNC pfExportCallback, <
2349 PVOID pvCallbackContext, <
2350 PVOID pvContext); <
2351 <
2352 extern(Windows) export DWORD WriteEncryptedFileRaw( <
2353 PFE_IMPORT_FUNC pfImportCallback, <
2354 PVOID pvCallbackContext, <
2355 PVOID pvContext); <
2356 <
2357 extern(Windows) export VOID CloseEncryptedFileRaw( <
2358 PVOID pvContext); <
2359 2802
2360 extern(Windows) export int lstrcmpA( <
2361 LPCSTR lpString1, <
2362 LPCSTR lpString2); <
2363 extern(Windows) export int lstrcmpW( <
2364 LPCWSTR lpString1, <
2365 LPCWSTR lpString2); <
2366 // #ifdef UNICODE <
2367 alias lstrcmpW lstrcmp; <
2368 // #else <
2369 // #... <
2370 // #endif // !UNICODE <
2371 <
2372 extern(Windows) export int lstrcmpiA( <
2373 LPCSTR lpString1, <
2374 LPCSTR lpString2); <
2375 extern(Windows) export int lstrcmpiW( <
2376 LPCWSTR lpString1, <
2377 LPCWSTR lpString2); <
2378 // #ifdef UNICODE <
2379 alias lstrcmpiW lstrcmpi; <
2380 // #else <
2381 // #... <
2382 // #endif // !UNICODE <
2383 <
2384 extern(Windows) export LPSTR lstrcpynA( <
2385 LPSTR lpString1, <
2386 LPCSTR lpString2, <
2387 int iMaxLength); <
2388 extern(Windows) export LPWSTR lstrcpynW( <
2389 LPWSTR lpString1, <
2390 LPCWSTR lpString2, <
2391 int iMaxLength); <
2392 // #ifdef UNICODE <
2393 alias lstrcpynW lstrcpyn; <
2394 // #else <
2395 // #... <
2396 // #endif // !UNICODE <
2397 <
2398 extern(Windows) export LPSTR lstrcpyA( <
2399 LPSTR lpString1, <
2400 LPCSTR lpString2); <
2401 extern(Windows) export LPWSTR lstrcpyW( <
2402 LPWSTR lpString1, <
2403 LPCWSTR lpString2); <
2404 // #ifdef UNICODE <
2405 alias lstrcpyW lstrcpy; <
2406 // #else <
2407 // #... <
2408 // #endif // !UNICODE <
2409 <
2410 extern(Windows) export LPSTR lstrcatA( <
2411 LPSTR lpString1, <
2412 LPCSTR lpString2); <
2413 extern(Windows) export LPWSTR lstrcatW( <
2414 LPWSTR lpString1, <
2415 LPCWSTR lpString2); <
2416 // #ifdef UNICODE <
2417 alias lstrcatW lstrcat; <
2418 // #else <
2419 // #... <
2420 // #endif // !UNICODE <
2421 <
2422 extern(Windows) export int lstrlenA( <
2423 LPCSTR lpString); <
2424 extern(Windows) export int lstrlenW( <
2425 LPCWSTR lpString); <
2426 // #ifdef UNICODE <
2427 alias lstrlenW lstrlen; <
2428 // #else <
2429 // #... <
2430 // #endif // !UNICODE <
2431 <
2432 extern(Windows) export HFILE OpenFile( <
2433 LPCSTR lpFileName, <
2434 LPOFSTRUCT lpReOpenBuff, <
2435 UINT uStyle); <
2436 <
2437 extern(Windows) export HFILE _lopen( <
2438 LPCSTR lpPathName, <
2439 int iReadWrite); <
2440 <
2441 extern(Windows) export HFILE _lcreat( <
2442 LPCSTR lpPathName, <
2443 int iAttribute); <
2444 <
2445 extern(Windows) export UINT _lread( <
2446 HFILE hFile, <
2447 LPVOID lpBuffer, <
2448 UINT uBytes); <
2449 <
2450 extern(Windows) export UINT _lwrite( <
2451 HFILE hFile, <
2452 LPCSTR lpBuffer, <
2453 UINT uBytes); <
2454 <
2455 extern(Windows) export int _hread( <
2456 HFILE hFile, <
2457 LPVOID lpBuffer, <
2458 int lBytes); <
2459 <
2460 extern(Windows) export int _hwrite( <
2461 HFILE hFile, <
2462 LPCSTR lpBuffer, <
2463 int lBytes); <
2464 <
2465 extern(Windows) export HFILE _lclose( <
2466 HFILE hFile); <
2467 <
2468 extern(Windows) export LONG _llseek( <
2469 HFILE hFile, <
2470 LONG lOffset, <
2471 int iOrigin); <
2472 <
2473 extern(Windows) export BOOL IsTextUnicode( <
2474 VOID* lpBuffer, <
2475 int cb, <
2476 LPINT lpi); <
2477 <
2478 extern(Windows) export DWORD TlsAlloc(); <
2479 <
2480 enum : uint { TLS_OUT_OF_INDEXES = cast(DWORD)0xFFFFFFFF } <
2481 <
2482 extern(Windows) export LPVOID TlsGetValue( <
2483 DWORD dwTlsIndex); <
2484 <
2485 extern(Windows) export BOOL TlsSetValue( <
2486 DWORD dwTlsIndex, <
2487 LPVOID lpTlsValue); <
2488 <
2489 extern(Windows) export BOOL TlsFree( <
2490 DWORD dwTlsIndex); <
2491 <
2492 extern(Windows) alias VOID function( DWORD dwErrorCode, DWORD dwNumberOfBytesTra <
2493 <
2494 extern(Windows) export DWORD SleepEx( <
2495 DWORD dwMilliseconds, <
2496 BOOL bAlertable); <
2497 <
2498 extern(Windows) export DWORD WaitForSingleObjectEx( <
2499 HANDLE hHandle, <
2500 DWORD dwMilliseconds, <
2501 BOOL bAlertable); <
2502 <
2503 extern(Windows) export DWORD WaitForMultipleObjectsEx( <
2504 DWORD nCount, <
2505 HANDLE *lpHandles, <
2506 BOOL bWaitAll, <
2507 DWORD dwMilliseconds, <
2508 BOOL bAlertable); <
2509 <
2510 // #if(_WIN32_WINNT >= 0x0400) | 2803 static if (_WIN32_WINNT >= 0x502) {
2511 extern(Windows) export DWORD SignalObjectAndWait( <
2512 HANDLE hObjectToSignal, <
2513 HANDLE hObjectToWaitOn, <
2514 DWORD dwMilliseconds, <
2515 BOOL bAlertable); <
2516 // #endif /* _WIN32_WINNT >= 0x0400 */ <
> 2804 alias GetDllDirectoryA GetDllDirectory;
> 2805 alias SetDllDirectoryA SetDllDirectory;
> 2806 alias SetFirmwareEnvironmentVariableA SetFirmwareEnviron
2517 | 2807 }
2518 extern(Windows) export BOOL ReadFileEx( <
2519 HANDLE hFile, <
2520 LPVOID lpBuffer, <
2521 DWORD nNumberOfBytesToRead, <
2522 LPOVERLAPPED lpOverlapped, <
2523 LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine); <
2524 | 2808 }
2525 extern(Windows) export BOOL WriteFileEx( <
2526 HANDLE hFile, <
2527 LPCVOID lpBuffer, <
2528 DWORD nNumberOfBytesToWrite, <
2529 LPOVERLAPPED lpOverlapped, <
2530 LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine); <
2531 <
2532 extern(Windows) export BOOL BackupRead( <
2533 HANDLE hFile, <
2534 LPBYTE lpBuffer, <
2535 DWORD nNumberOfBytesToRead, <
2536 LPDWORD lpNumberOfBytesRead, <
2537 BOOL bAbort, <
2538 BOOL bProcessSecurity, <
2539 LPVOID *lpContext); <
2540 <
2541 extern(Windows) export BOOL BackupSeek( <
2542 HANDLE hFile, <
2543 DWORD dwLowBytesToSeek, <
2544 DWORD dwHighBytesToSeek, <
2545 LPDWORD lpdwLowByteSeeked, <
2546 LPDWORD lpdwHighByteSeeked, <
2547 LPVOID *lpContext); <
2548 <
2549 extern(Windows) export BOOL BackupWrite( <
2550 HANDLE hFile, <
2551 LPBYTE lpBuffer, <
2552 DWORD nNumberOfBytesToWrite, <
2553 LPDWORD lpNumberOfBytesWritten, <
2554 BOOL bAbort, <
2555 BOOL bProcessSecurity, <
2556 LPVOID *lpContext); <
2557 <
2558 struct _WIN32_STREAM_ID { <
2559 DWORD dwStreamId ; <
2560 DWORD dwStreamAttributes ; <
2561 LARGE_INTEGER Size ; <
2562 DWORD dwStreamNameSize ; <
2563 WCHAR cStreamName[ ANYSIZE_ARRAY ] ; <
2564 } 2809 }
2565 alias _WIN32_STREAM_ID WIN32_STREAM_ID; <
2566 alias _WIN32_STREAM_ID* LPWIN32_STREAM_ID; <
2567 2810
2568 enum : uint { BACKUP_INVALID = 0x00000000 } | 2811 alias STARTUPINFO* LPSTARTUPINFO;
2569 enum : uint { BACKUP_DATA = 0x00000001 } | 2812 alias WIN32_FIND_DATA* LPWIN32_FIND_DATA;
2570 enum : uint { BACKUP_EA_DATA = 0x00000002 } <
2571 enum : uint { BACKUP_SECURITY_DATA = 0x00000003 } <
2572 enum : uint { BACKUP_ALTERNATE_DATA = 0x00000004 } <
2573 enum : uint { BACKUP_LINK = 0x00000005 } <
2574 enum : uint { BACKUP_PROPERTY_DATA = 0x00000006 } <
2575 enum : uint { BACKUP_OBJECT_ID = 0x00000007 } <
2576 enum : uint { BACKUP_REPARSE_DATA = 0x00000008 } <
2577 enum : uint { BACKUP_SPARSE_BLOCK = 0x00000009 } <
2578 <
2579 enum : uint { STREAM_NORMAL_ATTRIBUTE = 0x00000000 } <
2580 enum : uint { STREAM_MODIFIED_WHEN_READ = 0x00000001 } <
2581 enum : uint { STREAM_CONTAINS_SECURITY = 0x00000002 } <
2582 enum : uint { STREAM_CONTAINS_PROPERTIES = 0x00000004 } <
2583 enum : uint { STREAM_SPARSE_ATTRIBUTE = 0x00000008 } <
2584 <
2585 extern(Windows) export BOOL ReadFileScatter( <
2586 HANDLE hFile, <
2587 FILE_SEGMENT_ELEMENT aSegmentArray[], <
2588 DWORD nNumberOfBytesToRead, <
2589 LPDWORD lpReserved, <
2590 LPOVERLAPPED lpOverlapped); <
2591 <
2592 extern(Windows) export BOOL WriteFileGather( <
2593 HANDLE hFile, <
2594 FILE_SEGMENT_ELEMENT aSegmentArray[], <
2595 DWORD nNumberOfBytesToWrite, <
2596 LPDWORD lpReserved, <
2597 LPOVERLAPPED lpOverlapped); <
2598 <
2599 enum : uint { STARTF_USESHOWWINDOW = 0x00000001 } <
2600 enum : uint { STARTF_USESIZE = 0x00000002 } <
2601 enum : uint { STARTF_USEPOSITION = 0x00000004 } <
2602 enum : uint { STARTF_USECOUNTCHARS = 0x00000008 } <
2603 enum : uint { STARTF_USEFILLATTRIBUTE = 0x00000010 } <
2604 enum : uint { STARTF_RUNFULLSCREEN = 0x00000020 } <
2605 enum : uint { STARTF_FORCEONFEEDBACK = 0x00000040 } <
2606 enum : uint { STARTF_FORCEOFFFEEDBACK = 0x00000080 } <
2607 enum : uint { STARTF_USESTDHANDLES = 0x00000100 } <
2608 <
2609 // #if(WINVER >= 0x0400) <
2610 2813
2611 enum : uint { STARTF_USEHOTKEY = 0x00000200 } <
2612 // #endif /* WINVER >= 0x0400 */ <
2613 <
2614 struct _STARTUPINFOA { <
2615 DWORD cb; <
2616 LPSTR lpReserved; <
2617 LPSTR lpDesktop; <
2618 LPSTR lpTitle; <
2619 DWORD dwX; <
2620 DWORD dwY; <
2621 DWORD dwXSize; <
2622 DWORD dwYSize; <
2623 DWORD dwXCountChars; <
2624 DWORD dwYCountChars; <
2625 DWORD dwFillAttribute; <
2626 DWORD dwFlags; <
2627 WORD wShowWindow; <
2628 WORD cbReserved2; <
2629 LPBYTE lpReserved2; <
2630 HANDLE hStdInput; <
2631 HANDLE hStdOutput; <
2632 HANDLE hStdError; <
2633 } <
2634 alias _STARTUPINFOA STARTUPINFOA; <
2635 alias _STARTUPINFOA* LPSTARTUPINFOA; <
2636 <
2637 struct _STARTUPINFOW { <
2638 DWORD cb; <
2639 LPWSTR lpReserved; <
2640 LPWSTR lpDesktop; <
2641 LPWSTR lpTitle; <
2642 DWORD dwX; <
2643 DWORD dwY; <
2644 DWORD dwXSize; <
2645 DWORD dwYSize; <
2646 DWORD dwXCountChars; <
2647 DWORD dwYCountChars; <
2648 DWORD dwFillAttribute; <
2649 DWORD dwFlags; <
2650 WORD wShowWindow; <
2651 WORD cbReserved2; <
2652 LPBYTE lpReserved2; <
2653 HANDLE hStdInput; <
2654 HANDLE hStdOutput; <
2655 HANDLE hStdError; <
2656 } <
2657 alias _STARTUPINFOW STARTUPINFOW; <
2658 alias _STARTUPINFOW* LPSTARTUPINFOW; <
2659 <
2660 // #ifdef UNICODE <
2661 alias STARTUPINFOW STARTUPINFO; <
2662 alias LPSTARTUPINFOW LPSTARTUPINFO; <
2663 // #else <
2664 // ... <
2665 // #endif // UNICODE <
2666 <
2667 enum : uint { SHUTDOWN_NORETRY = 0x00000001 } <
2668 <
2669 struct _WIN32_FIND_DATAA { <
2670 DWORD dwFileAttributes; <
2671 FILETIME ftCreationTime; <
2672 FILETIME ftLastAccessTime; <
2673 FILETIME ftLastWriteTime; <
2674 DWORD nFileSizeHigh; <
2675 DWORD nFileSizeLow; <
2676 DWORD dwReserved0; <
2677 DWORD dwReserved1; <
2678 CHAR cFileName[ MAX_PATH ]; <
2679 CHAR cAlternateFileName[ 14 ]; <
2680 // #ifdef _MAC <
2681 // ... <
2682 // #endif <
2683 } <
2684 alias _WIN32_FIND_DATAA WIN32_FIND_DATAA; <
2685 alias _WIN32_FIND_DATAA* PWIN32_FIND_DATAA; <
2686 alias _WIN32_FIND_DATAA* LPWIN32_FIND_DATAA; <
2687 <
2688 struct _WIN32_FIND_DATAW { <
2689 DWORD dwFileAttributes; <
2690 FILETIME ftCreationTime; <
2691 FILETIME ftLastAccessTime; <
2692 FILETIME ftLastWriteTime; <
2693 DWORD nFileSizeHigh; <
2694 DWORD nFileSizeLow; <
2695 DWORD dwReserved0; <
2696 DWORD dwReserved1; <
2697 WCHAR cFileName[ MAX_PATH ]; <
2698 WCHAR cAlternateFileName[ 14 ]; <
2699 // #ifdef _MAC <
2700 // ... <
2701 // #endif <
2702 } <
2703 alias _WIN32_FIND_DATAW WIN32_FIND_DATAW; <
2704 alias _WIN32_FIND_DATAW* PWIN32_FIND_DATAW; <
2705 alias _WIN32_FIND_DATAW* LPWIN32_FIND_DATAW; <
2706 <
2707 // #ifdef UNICODE <
2708 alias WIN32_FIND_DATAW WIN32_FIND_DATA; <
2709 alias PWIN32_FIND_DATAW PWIN32_FIND_DATA; <
2710 alias LPWIN32_FIND_DATAW LPWIN32_FIND_DATA; <
2711 // #else <
2712 // ... <
2713 // #endif // UNICODE <
2714 <
2715 struct _WIN32_FILE_ATTRIBUTE_DATA { <
2716 DWORD dwFileAttributes; <
2717 FILETIME ftCreationTime; <
2718 FILETIME ftLastAccessTime; <
2719 FILETIME ftLastWriteTime; <
2720 DWORD nFileSizeHigh; <
2721 DWORD nFileSizeLow; <
2722 } <
2723 alias _WIN32_FILE_ATTRIBUTE_DATA WIN32_FILE_ATTRIBUTE_DATA; <
2724 alias _WIN32_FILE_ATTRIBUTE_DATA* LPWIN32_FILE_ATTRIBUTE_DATA; <
2725 <
2726 extern(Windows) export HANDLE CreateMutexA( <
2727 LPSECURITY_ATTRIBUTES lpMutexAttributes, <
2728 BOOL bInitialOwner, <
2729 LPCSTR lpName); <
2730 extern(Windows) export HANDLE CreateMutexW( <
2731 LPSECURITY_ATTRIBUTES lpMutexAttributes, <
2732 BOOL bInitialOwner, <
2733 LPCWSTR lpName); <
2734 // #ifdef UNICODE <
2735 alias CreateMutexW CreateMutex; <
2736 // #else <
2737 // #... <
2738 // #endif // !UNICODE <
2739 <
2740 extern(Windows) export HANDLE OpenMutexA( <
2741 DWORD dwDesiredAccess, <
2742 BOOL bInheritHandle, <
2743 LPCSTR lpName); <
2744 extern(Windows) export HANDLE OpenMutexW( <
2745 DWORD dwDesiredAccess, <
2746 BOOL bInheritHandle, <
2747 LPCWSTR lpName); <
2748 // #ifdef UNICODE <
2749 alias OpenMutexW OpenMutex; <
2750 // #else <
2751 // #... <
2752 // #endif // !UNICODE <
2753 <
2754 extern(Windows) export HANDLE CreateEventA( <
2755 LPSECURITY_ATTRIBUTES lpEventAttributes, <
2756 BOOL bManualReset, <
2757 BOOL bInitialState, <
2758 LPCSTR lpName); <
2759 extern(Windows) export HANDLE CreateEventW( <
2760 LPSECURITY_ATTRIBUTES lpEventAttributes, <
2761 BOOL bManualReset, <
2762 BOOL bInitialState, <
2763 LPCWSTR lpName); <
2764 // #ifdef UNICODE <
2765 alias CreateEventW CreateEvent; <
2766 // #else <
2767 // #... <
2768 // #endif // !UNICODE <
2769 <
2770 extern(Windows) export HANDLE OpenEventA( <
2771 DWORD dwDesiredAccess, <
2772 BOOL bInheritHandle, <
2773 LPCSTR lpName); <
2774 extern(Windows) export HANDLE OpenEventW( <
2775 DWORD dwDesiredAccess, <
2776 BOOL bInheritHandle, <
2777 LPCWSTR lpName); <
2778 // #ifdef UNICODE <
2779 alias OpenEventW OpenEvent; <
2780 // #else <
2781 // #... <
2782 // #endif // !UNICODE <
2783 <
2784 extern(Windows) export HANDLE CreateSemaphoreA( <
2785 LPSECURITY_ATTRIBUTES lpSemaphoreAttributes, <
2786 LONG lInitialCount, <
2787 LONG lMaximumCount, <
2788 LPCSTR lpName); <
2789 extern(Windows) export HANDLE CreateSemaphoreW( <
2790 LPSECURITY_ATTRIBUTES lpSemaphoreAttributes, <
2791 LONG lInitialCount, <
2792 LONG lMaximumCount, <
2793 LPCWSTR lpName); <
2794 // #ifdef UNICODE <
2795 alias CreateSemaphoreW CreateSemaphore; <
2796 // #else <
2797 // #... <
2798 // #endif // !UNICODE <
2799 <
2800 extern(Windows) export HANDLE OpenSemaphoreA( <
2801 DWORD dwDesiredAccess, <
2802 BOOL bInheritHandle, <
2803 LPCSTR lpName); <
2804 extern(Windows) export HANDLE OpenSemaphoreW( <
2805 DWORD dwDesiredAccess, <
2806 BOOL bInheritHandle, <
2807 LPCWSTR lpName); <
2808 // #ifdef UNICODE <
2809 alias OpenSemaphoreW OpenSemaphore; <
2810 // #else <
2811 // #... <
2812 // #endif // !UNICODE <
2813 <
2814 // #if (_WIN32_WINNT >= 0x0400) || (_WIN32_WINDOWS > 0x0400) | 2814 static if (_WIN32_WINNT_ONLY) {
2815 extern(Windows) alias VOID function( LPVOID lpArgToCompletionRoutine, DWORD dwTi <
> 2815 alias HW_PROFILE_INFO* LPHW_PROFILE_INFO;
2816 2816
2817 extern(Windows) export HANDLE CreateWaitableTimerA( <
2818 LPSECURITY_ATTRIBUTES lpTimerAttributes, <
2819 BOOL bManualReset, <
2820 LPCSTR lpTimerName); <
2821 extern(Windows) export HANDLE CreateWaitableTimerW( <
2822 LPSECURITY_ATTRIBUTES lpTimerAttributes, <
2823 BOOL bManualReset, <
2824 LPCWSTR lpTimerName); <
2825 // #ifdef UNICODE <
2826 alias CreateWaitableTimerW CreateWaitableTimer; <
2827 // #else <
2828 // #... <
2829 // #endif // !UNICODE <
2830 <
2831 extern(Windows) export HANDLE OpenWaitableTimerA( <
2832 DWORD dwDesiredAccess, <
2833 BOOL bInheritHandle, <
2834 LPCSTR lpTimerName); <
2835 extern(Windows) export HANDLE OpenWaitableTimerW( <
2836 DWORD dwDesiredAccess, <
2837 BOOL bInheritHandle, <
2838 LPCWSTR lpTimerName); <
2839 // #ifdef UNICODE <
2840 alias OpenWaitableTimerW OpenWaitableTimer; <
2841 // #else <
2842 // #... <
2843 // #endif // !UNICODE <
2844 <
2845 extern(Windows) export BOOL SetWaitableTimer( <
2846 HANDLE hTimer, <
2847 LARGE_INTEGER *lpDueTime, <
2848 LONG lPeriod, <
2849 PTIMERAPCROUTINE pfnCompletionRoutine, <
2850 LPVOID lpArgToCompletionRoutine, <
2851 BOOL fResume); <
2852 <
2853 extern(Windows) export BOOL CancelWaitableTimer( <
2854 HANDLE hTimer); <
2855 // #endif /* (_WIN32_WINNT >= 0x0400) || (_WIN32_WINDOWS > 0x0400) */ <
2856 <
2857 extern(Windows) export HANDLE CreateFileMappingA( <
2858 HANDLE hFile, <
2859 LPSECURITY_ATTRIBUTES lpFileMappingAttributes, <
2860 DWORD flProtect, <
2861 DWORD dwMaximumSizeHigh, <
2862 DWORD dwMaximumSizeLow, <
2863 LPCSTR lpName); <
2864 extern(Windows) export HANDLE CreateFileMappingW( <
2865 HANDLE hFile, <
2866 LPSECURITY_ATTRIBUTES lpFileMappingAttributes, <
2867 DWORD flProtect, <
2868 DWORD dwMaximumSizeHigh, <
2869 DWORD dwMaximumSizeLow, <
2870 LPCWSTR lpName); <
2871 // #ifdef UNICODE <
2872 alias CreateFileMappingW CreateFileMapping; <
2873 // #else <
2874 // #... <
2875 // #endif // !UNICODE <
2876 <
2877 extern(Windows) export HANDLE OpenFileMappingA( <
2878 DWORD dwDesiredAccess, <
2879 BOOL bInheritHandle, <
2880 LPCSTR lpName); <
2881 extern(Windows) export HANDLE OpenFileMappingW( <
2882 DWORD dwDesiredAccess, <
2883 BOOL bInheritHandle, <
2884 LPCWSTR lpName); <
2885 // #ifdef UNICODE <
2886 alias OpenFileMappingW OpenFileMapping; <
2887 // #else <
2888 // #... <
2889 // #endif // !UNICODE <
2890 <
2891 extern(Windows) export DWORD GetLogicalDriveStringsA( <
2892 DWORD nBufferLength, <
2893 LPSTR lpBuffer); <
2894 extern(Windows) export DWORD GetLogicalDriveStringsW( <
2895 DWORD nBufferLength, <
2896 LPWSTR lpBuffer); <
2897 // #ifdef UNICODE <
2898 alias GetLogicalDriveStringsW GetLogicalDriveStrings; <
2899 // #else <
2900 // #... <
2901 // #endif // !UNICODE <
2902 <
2903 // #if _WIN32_WINNT >= 0x0501 <
2904 <
2905 alias int _MEMORY_RESOURCE_NOTIFICATION_TYPE; <
2906 enum { <
2907 LowMemoryResourceNotification, <
2908 HighMemoryResourceNotification, <
2909 } <
2910 alias _MEMORY_RESOURCE_NOTIFICATION_TYPE MEMORY_RESOURCE_NOTIFICATION_TYPE; <
2911 <
2912 extern(Windows) export HANDLE CreateMemoryResourceNotification( <
2913 MEMORY_RESOURCE_NOTIFICATION_TYPE NotificationType); <
2914 <
2915 extern(Windows) export BOOL QueryMemoryResourceNotification( <
2916 HANDLE ResourceNotificationHandle, <
2917 PBOOL ResourceState); <
2918 <
2919 // #endif // _WIN32_WINNT >= 0x0501 <
2920 <
2921 extern(Windows) export HMODULE LoadLibraryA( <
2922 LPCSTR lpLibFileName); <
2923 extern(Windows) export HMODULE LoadLibraryW( <
2924 LPCWSTR lpLibFileName); <
2925 // #ifdef UNICODE <
2926 alias LoadLibraryW LoadLibrary; <
2927 // #else <
2928 // #... <
2929 // #endif // !UNICODE <
2930 <
2931 extern(Windows) export HMODULE LoadLibraryExA( <
2932 LPCSTR lpLibFileName, <
2933 HANDLE hFile, <
2934 DWORD dwFlags); <
2935 extern(Windows) export HMODULE LoadLibraryExW( <
2936 LPCWSTR lpLibFileName, <
2937 HANDLE hFile, <
2938 DWORD dwFlags); <
2939 // #ifdef UNICODE <
2940 alias LoadLibraryExW LoadLibraryEx; <
2941 // #else <
2942 // #... <
2943 // #endif // !UNICODE <
2944 <
2945 enum : uint { DONT_RESOLVE_DLL_REFERENCES = 0x00000001 } <
2946 enum : uint { LOAD_LIBRARY_AS_DATAFILE = 0x00000002 } <
2947 enum : uint { LOAD_WITH_ALTERED_SEARCH_PATH = 0x00000008 } <
2948 enum : uint { LOAD_IGNORE_CODE_AUTHZ_LEVEL = 0x00000010 } <
2949 <
2950 extern(Windows) export DWORD GetModuleFileNameA( <
2951 HMODULE hModule, <
2952 LPSTR lpFilename, <
2953 DWORD nSize); <
2954 extern(Windows) export DWORD GetModuleFileNameW( <
2955 HMODULE hModule, <
2956 LPWSTR lpFilename, <
2957 DWORD nSize); <
2958 // #ifdef UNICODE <
2959 alias GetModuleFileNameW GetModuleFileName; <
2960 // #else <
2961 // #... <
2962 // #endif // !UNICODE <
2963 <
2964 extern(Windows) export HMODULE GetModuleHandleA( <
2965 LPCSTR lpModuleName); <
2966 extern(Windows) export HMODULE GetModuleHandleW( <
2967 LPCWSTR lpModuleName); <
2968 // #ifdef UNICODE <
2969 alias GetModuleHandleW GetModuleHandle; <
2970 // #else <
2971 // #... <
2972 // #endif // !UNICODE <
2973 <
2974 // #if !defined(RC_INVOKED) <
2975 // #if _WIN32_WINNT > 0x0500 || defined(WINBASE_DECLARE_GET_MODULE_HANDLE_EX) || <
2976 <
2977 enum : uint { GET_MODULE_HANDLE_EX_FLAG_PIN = 0x00000001 } <
2978 enum : uint { GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT = 0x00000002 } <
2979 enum : uint { GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS = 0x00000004 } <
2980 <
2981 extern(Windows) alias BOOL function( DWORD dwFlags, LPCSTR lpModuleName, HMOD <
2982 extern(Windows) alias BOOL function( DWORD dwFlags, LPCWSTR lpModuleName, HMO <
2983 // #ifdef UNICODE <
2984 alias PGET_MODULE_HANDLE_EXW PGET_MODULE_HANDLE_EX; <
2985 // #else <
2986 // #... <
2987 // #endif // !UNICODE <
2988 <
2989 extern(Windows) export BOOL GetModuleHandleExA( <
2990 DWORD dwFlags, <
2991 LPCSTR lpModuleName, <
2992 HMODULE* phModule); <
2993 extern(Windows) export BOOL GetModuleHandleExW( <
2994 DWORD dwFlags, <
2995 LPCWSTR lpModuleName, <
2996 HMODULE* phModule); <
2997 // #ifdef UNICODE <
2998 alias GetModuleHandleExW GetModuleHandleEx; <
2999 // #else <
3000 // #... <
3001 // #endif // !UNICODE <
3002 <
3003 // #endif <
3004 // #endif <
3005 <
3006 extern(Windows) export BOOL CreateProcessA( <
3007 LPCSTR lpApplicationName, <
3008 LPSTR lpCommandLine, <
3009 LPSECURITY_ATTRIBUTES lpProcessAttributes, <
3010 LPSECURITY_ATTRIBUTES lpThreadAttributes, <
3011 BOOL bInheritHandles, <
3012 DWORD dwCreationFlags, <
3013 LPVOID lpEnvironment, <
3014 LPCSTR lpCurrentDirectory, <
3015 LPSTARTUPINFOA lpStartupInfo, <
3016 LPPROCESS_INFORMATION lpProcessInformation); <
3017 extern(Windows) export BOOL CreateProcessW( <
3018 LPCWSTR lpApplicationName, <
3019 LPWSTR lpCommandLine, <
3020 LPSECURITY_ATTRIBUTES lpProcessAttributes, <
3021 LPSECURITY_ATTRIBUTES lpThreadAttributes, <
3022 BOOL bInheritHandles, <
3023 DWORD dwCreationFlags, <
3024 LPVOID lpEnvironment, <
3025 LPCWSTR lpCurrentDirectory, <
3026 LPSTARTUPINFOW lpStartupInfo, <
3027 LPPROCESS_INFORMATION lpProcessInformation); <
3028 // #ifdef UNICODE <
3029 alias CreateProcessW CreateProcess; <
3030 // #else <
3031 // #... <
3032 // #endif // !UNICODE <
3033 <
3034 extern(Windows) export BOOL SetProcessShutdownParameters( <
3035 DWORD dwLevel, <
3036 DWORD dwFlags); <
3037 <
3038 extern(Windows) export BOOL GetProcessShutdownParameters( <
3039 LPDWORD lpdwLevel, <
3040 LPDWORD lpdwFlags); <
3041 <
3042 extern(Windows) export DWORD GetProcessVersion( <
3043 DWORD ProcessId); <
3044 <
3045 extern(Windows) export VOID FatalAppExitA( <
3046 UINT uAction, <
3047 LPCSTR lpMessageText); <
3048 extern(Windows) export VOID FatalAppExitW( <
3049 UINT uAction, <
3050 LPCWSTR lpMessageText); <
3051 // #ifdef UNICODE <
3052 alias FatalAppExitW FatalAppExit; <
3053 // #else <
3054 // #... <
3055 // #endif // !UNICODE <
3056 <
3057 extern(Windows) export VOID GetStartupInfoA( <
3058 LPSTARTUPINFOA lpStartupInfo); <
3059 extern(Windows) export VOID GetStartupInfoW( <
3060 LPSTARTUPINFOW lpStartupInfo); <
3061 // #ifdef UNICODE <
3062 alias GetStartupInfoW GetStartupInfo; <
3063 // #else <
3064 // #... <
3065 // #endif // !UNICODE <
3066 <
3067 extern(Windows) export LPSTR GetCommandLineA(); <
3068 extern(Windows) export LPWSTR GetCommandLineW(); <
3069 // #ifdef UNICODE <
3070 alias GetCommandLineW GetCommandLine; <
3071 // #else <
3072 // #... <
3073 // #endif // !UNICODE <
3074 <
3075 extern(Windows) export DWORD GetEnvironmentVariableA( <
3076 LPCSTR lpName, <
3077 LPSTR lpBuffer, <
3078 DWORD nSize); <
3079 extern(Windows) export DWORD GetEnvironmentVariableW( <
3080 LPCWSTR lpName, <
3081 LPWSTR lpBuffer, <
3082 DWORD nSize); <
3083 // #ifdef UNICODE <
3084 alias GetEnvironmentVariableW GetEnvironmentVariable; <
3085 // #else <
3086 // #... <
3087 // #endif // !UNICODE <
3088 <
3089 extern(Windows) export BOOL SetEnvironmentVariableA( <
3090 LPCSTR lpName, <
3091 LPCSTR lpValue); <
3092 extern(Windows) export BOOL SetEnvironmentVariableW( <
3093 LPCWSTR lpName, <
3094 LPCWSTR lpValue); <
3095 // #ifdef UNICODE <
3096 alias SetEnvironmentVariableW SetEnvironmentVariable; <
3097 // #else <
3098 // #... <
3099 // #endif // !UNICODE <
3100 <
3101 extern(Windows) export DWORD ExpandEnvironmentStringsA( <
3102 LPCSTR lpSrc, <
3103 LPSTR lpDst, <
3104 DWORD nSize); <
3105 extern(Windows) export DWORD ExpandEnvironmentStringsW( <
3106 LPCWSTR lpSrc, <
3107 LPWSTR lpDst, <
3108 DWORD nSize); <
3109 // #ifdef UNICODE <
3110 alias ExpandEnvironmentStringsW ExpandEnvironmentStrings; <
3111 // #else <
3112 // #... <
3113 // #endif // !UNICODE <
3114 <
3115 extern(Windows) export DWORD GetFirmwareEnvironmentVariableA( <
3116 LPCSTR lpName, <
3117 LPCSTR lpGuid, <
3118 PVOID pBuffer, <
3119 DWORD nSize); <
3120 extern(Windows) export DWORD GetFirmwareEnvironmentVariableW( <
3121 LPCWSTR lpName, <
3122 LPCWSTR lpGuid, <
3123 PVOID pBuffer, <
3124 DWORD nSize); <
3125 // #ifdef UNICODE <
3126 alias GetFirmwareEnvironmentVariableW GetFirmwareEnvironmentVariable; <
3127 // #else <
3128 // #... <
3129 // #endif // !UNICODE <
3130 <
3131 extern(Windows) export BOOL SetFirmwareEnvironmentVariableA( <
3132 LPCSTR lpName, <
3133 LPCSTR lpGuid, <
3134 PVOID pValue, <
3135 DWORD nSize); <
3136 extern(Windows) export BOOL SetFirmwareEnvironmentVariableW( <
3137 LPCWSTR lpName, <
3138 LPCWSTR lpGuid, <
3139 PVOID pValue, <
3140 DWORD nSize); <
3141 // #ifdef UNICODE <
3142 alias SetFirmwareEnvironmentVariableW SetFirmwareEnvironmentVariable; <
3143 // #else <
3144 // #... <
3145 // #endif // !UNICODE <
3146 <
3147 extern(Windows) export VOID OutputDebugStringA( <
3148 LPCSTR lpOutputString); <
3149 extern(Windows) export VOID OutputDebugStringW( <
3150 LPCWSTR lpOutputString); <
3151 // #ifdef UNICODE <
3152 alias OutputDebugStringW OutputDebugString; <
3153 // #else <
3154 // #... <
3155 // #endif // !UNICODE <
3156 <
3157 extern(Windows) export HRSRC FindResourceA( <
3158 HMODULE hModule, <
3159 LPCSTR lpName, <
3160 LPCSTR lpType); <
3161 extern(Windows) export HRSRC FindResourceW( <
3162 HMODULE hModule, <
3163 LPCWSTR lpName, <
3164 LPCWSTR lpType); <
3165 // #ifdef UNICODE <
3166 alias FindResourceW FindResource; <
3167 // #else <
3168 // #... <
3169 // #endif // !UNICODE <
3170 <
3171 extern(Windows) export HRSRC FindResourceExA( <
3172 HMODULE hModule, <
3173 LPCSTR lpType, <
3174 LPCSTR lpName, <
3175 WORD wLanguage); <
3176 extern(Windows) export HRSRC FindResourceExW( <
3177 HMODULE hModule, <
3178 LPCWSTR lpType, <
3179 LPCWSTR lpName, <
3180 WORD wLanguage); <
3181 // #ifdef UNICODE <
3182 alias FindResourceExW FindResourceEx; <
3183 // #else <
3184 // #... <
3185 // #endif // !UNICODE <
3186 <
3187 // #ifdef STRICT <
3188 extern(Windows) alias BOOL function(HMODULE hModule, LPSTR lpType, LONG_PTR lPar <
3189 extern(Windows) alias BOOL function(HMODULE hModule, LPWSTR lpType, LONG_PTR lPa <
3190 // #ifdef UNICODE <
3191 alias ENUMRESTYPEPROCW ENUMRESTYPEPROC; <
3192 // #else <
3193 // #... <
3194 // #endif // !UNICODE <
3195 extern(Windows) alias BOOL function(HMODULE hModule, LPCSTR lpType, LPSTR lpName <
3196 extern(Windows) alias BOOL function(HMODULE hModule, LPCWSTR lpType, LPWSTR lpNa <
3197 // #ifdef UNICODE <
3198 alias ENUMRESNAMEPROCW ENUMRESNAMEPROC; <
3199 // #else <
3200 // #... <
3201 // #endif // !UNICODE <
3202 extern(Windows) alias BOOL function(HMODULE hModule, LPCSTR lpType, LPCSTR lpNam <
3203 extern(Windows) alias BOOL function(HMODULE hModule, LPCWSTR lpType, LPCWSTR lpN <
3204 // #ifdef UNICODE <
3205 alias ENUMRESLANGPROCW ENUMRESLANGPROC; <
3206 // #else <
3207 // #... <
3208 // #endif // !UNICODE <
3209 // #else <
3210 // ... <
3211 // #ifdef UNICODE <
3212 // ... <
3213 // #else <
3214 // ... <
3215 // #endif // UNICODE <
3216 // ... <
3217 // #ifdef UNICODE <
3218 // ... <
3219 // #else <
3220 // ... <
3221 // #endif // UNICODE <
3222 // ... <
3223 // #ifdef UNICODE <
3224 // ... <
3225 // #else <
3226 // ... <
3227 // #endif // UNICODE <
3228 // #endif <
3229 <
3230 extern(Windows) export BOOL EnumResourceTypesA( <
3231 HMODULE hModule, <
3232 ENUMRESTYPEPROCA lpEnumFunc, <
3233 LONG_PTR lParam); <
3234 extern(Windows) export BOOL EnumResourceTypesW( <
3235 HMODULE hModule, <
3236 ENUMRESTYPEPROCW lpEnumFunc, <
3237 LONG_PTR lParam); <
3238 // #ifdef UNICODE <
3239 alias EnumResourceTypesW EnumResourceTypes; <
3240 // #else <
3241 // #... <
3242 // #endif // !UNICODE <
3243 <
3244 extern(Windows) export BOOL EnumResourceNamesA( <
3245 HMODULE hModule, <
3246 LPCSTR lpType, <
3247 ENUMRESNAMEPROCA lpEnumFunc, <
3248 LONG_PTR lParam); <
3249 extern(Windows) export BOOL EnumResourceNamesW( <
3250 HMODULE hModule, <
3251 LPCWSTR lpType, <
3252 ENUMRESNAMEPROCW lpEnumFunc, <
3253 LONG_PTR lParam); <
3254 // #ifdef UNICODE <
3255 alias EnumResourceNamesW EnumResourceNames; <
3256 // #else <
3257 // #... <
3258 // #endif // !UNICODE <
3259 <
3260 extern(Windows) export BOOL EnumResourceLanguagesA( <
3261 HMODULE hModule, <
3262 LPCSTR lpType, <
3263 LPCSTR lpName, <
3264 ENUMRESLANGPROCA lpEnumFunc, <
3265 LONG_PTR lParam); <
3266 extern(Windows) export BOOL EnumResourceLanguagesW( <
3267 HMODULE hModule, <
3268 LPCWSTR lpType, <
3269 LPCWSTR lpName, <
3270 ENUMRESLANGPROCW lpEnumFunc, <
3271 LONG_PTR lParam); <
3272 // #ifdef UNICODE <
3273 alias EnumResourceLanguagesW EnumResourceLanguages; <
3274 // #else <
3275 // #... <
3276 // #endif // !UNICODE <
3277 <
3278 extern(Windows) export HANDLE BeginUpdateResourceA( <
3279 LPCSTR pFileName, <
3280 BOOL bDeleteExistingResources); <
3281 extern(Windows) export HANDLE BeginUpdateResourceW( <
3282 LPCWSTR pFileName, <
3283 BOOL bDeleteExistingResources); <
3284 // #ifdef UNICODE <
3285 alias BeginUpdateResourceW BeginUpdateResource; <
3286 // #else <
3287 // #... <
3288 // #endif // !UNICODE <
3289 <
3290 extern(Windows) export BOOL UpdateResourceA( <
3291 HANDLE hUpdate, <
3292 LPCSTR lpType, <
3293 LPCSTR lpName, <
3294 WORD wLanguage, <
3295 LPVOID lpData, <
3296 DWORD cbData); <
3297 extern(Windows) export BOOL UpdateResourceW( <
3298 HANDLE hUpdate, <
3299 LPCWSTR lpType, <
3300 LPCWSTR lpName, <
3301 WORD wLanguage, <
3302 LPVOID lpData, <
3303 DWORD cbData); <
3304 // #ifdef UNICODE <
3305 alias UpdateResourceW UpdateResource; <
3306 // #else <
3307 // #... <
3308 // #endif // !UNICODE <
3309 <
3310 extern(Windows) export BOOL EndUpdateResourceA( <
3311 HANDLE hUpdate, <
3312 BOOL fDiscard); <
3313 extern(Windows) export BOOL EndUpdateResourceW( <
3314 HANDLE hUpdate, <
3315 BOOL fDiscard); <
3316 // #ifdef UNICODE <
3317 alias EndUpdateResourceW EndUpdateResource; <
3318 // #else <
3319 // #... <
3320 // #endif // !UNICODE <
3321 <
3322 extern(Windows) export ATOM GlobalAddAtomA( <
3323 LPCSTR lpString); <
3324 extern(Windows) export ATOM GlobalAddAtomW( <
3325 LPCWSTR lpString); <
3326 // #ifdef UNICODE <
3327 alias GlobalAddAtomW GlobalAddAtom; <
3328 // #else <
3329 // #... <
3330 // #endif // !UNICODE <
3331 <
3332 extern(Windows) export ATOM GlobalFindAtomA( <
3333 LPCSTR lpString); <
3334 extern(Windows) export ATOM GlobalFindAtomW( <
3335 LPCWSTR lpString); <
3336 // #ifdef UNICODE <
3337 alias GlobalFindAtomW GlobalFindAtom; <
3338 // #else <
3339 // #... <
3340 // #endif // !UNICODE <
3341 <
3342 extern(Windows) export UINT GlobalGetAtomNameA( <
3343 ATOM nAtom, <
3344 LPSTR lpBuffer, <
3345 int nSize); <
3346 extern(Windows) export UINT GlobalGetAtomNameW( <
3347 ATOM nAtom, <
3348 LPWSTR lpBuffer, <
3349 int nSize); <
3350 // #ifdef UNICODE <
3351 alias GlobalGetAtomNameW GlobalGetAtomName; <
3352 // #else <
3353 // #... <
3354 // #endif // !UNICODE <
3355 <
3356 extern(Windows) export ATOM AddAtomA( <
3357 LPCSTR lpString); <
3358 extern(Windows) export ATOM AddAtomW( <
3359 LPCWSTR lpString); <
3360 // #ifdef UNICODE <
3361 alias AddAtomW AddAtom; <
3362 // #else <
3363 // #... <
3364 // #endif // !UNICODE <
3365 <
3366 extern(Windows) export ATOM FindAtomA( <
3367 LPCSTR lpString); <
3368 extern(Windows) export ATOM FindAtomW( <
3369 LPCWSTR lpString); <
3370 // #ifdef UNICODE <
3371 alias FindAtomW FindAtom; <
3372 // #else <
3373 // #... <
3374 // #endif // !UNICODE <
3375 <
3376 extern(Windows) export UINT GetAtomNameA( <
3377 ATOM nAtom, <
3378 LPSTR lpBuffer, <
3379 int nSize); <
3380 extern(Windows) export UINT GetAtomNameW( <
3381 ATOM nAtom, <
3382 LPWSTR lpBuffer, <
3383 int nSize); <
3384 // #ifdef UNICODE <
3385 alias GetAtomNameW GetAtomName; <
3386 // #else <
3387 // #... <
3388 // #endif // !UNICODE <
3389 <
3390 extern(Windows) export UINT GetProfileIntA( <
3391 LPCSTR lpAppName, <
3392 LPCSTR lpKeyName, <
3393 INT nDefault); <
3394 extern(Windows) export UINT GetProfileIntW( <
3395 LPCWSTR lpAppName, <
3396 LPCWSTR lpKeyName, <
3397 INT nDefault); <
3398 // #ifdef UNICODE <
3399 alias GetProfileIntW GetProfileInt; <
3400 // #else <
3401 // #... <
3402 // #endif // !UNICODE <
3403 <
3404 extern(Windows) export DWORD GetProfileStringA( <
3405 LPCSTR lpAppName, <
3406 LPCSTR lpKeyName, <
3407 LPCSTR lpDefault, <
3408 LPSTR lpReturnedString, <
3409 DWORD nSize); <
3410 extern(Windows) export DWORD GetProfileStringW( <
3411 LPCWSTR lpAppName, <
3412 LPCWSTR lpKeyName, <
3413 LPCWSTR lpDefault, <
3414 LPWSTR lpReturnedString, <
3415 DWORD nSize); <
3416 // #ifdef UNICODE <
3417 alias GetProfileStringW GetProfileString; <
3418 // #else <
3419 // #... <
3420 // #endif // !UNICODE <
3421 <
3422 extern(Windows) export BOOL WriteProfileStringA( <
3423 LPCSTR lpAppName, <
3424 LPCSTR lpKeyName, <
3425 LPCSTR lpString); <
3426 extern(Windows) export BOOL WriteProfileStringW( <
3427 LPCWSTR lpAppName, <
3428 LPCWSTR lpKeyName, <
3429 LPCWSTR lpString); <
3430 // #ifdef UNICODE <
3431 alias WriteProfileStringW WriteProfileString; <
3432 // #else <
3433 // #... <
3434 // #endif // !UNICODE <
3435 <
3436 extern(Windows) export DWORD GetProfileSectionA( <
3437 LPCSTR lpAppName, <
3438 LPSTR lpReturnedString, <
3439 DWORD nSize); <
3440 extern(Windows) export DWORD GetProfileSectionW( <
3441 LPCWSTR lpAppName, <
3442 LPWSTR lpReturnedString, <
3443 DWORD nSize); <
3444 // #ifdef UNICODE <
3445 alias GetProfileSectionW GetProfileSection; <
3446 // #else <
3447 // #... <
3448 // #endif // !UNICODE <
3449 <
3450 extern(Windows) export BOOL WriteProfileSectionA( <
3451 LPCSTR lpAppName, <
3452 LPCSTR lpString); <
3453 extern(Windows) export BOOL WriteProfileSectionW( <
3454 LPCWSTR lpAppName, <
3455 LPCWSTR lpString); <
3456 // #ifdef UNICODE <
3457 alias WriteProfileSectionW WriteProfileSection; <
3458 // #else <
3459 // #... <
3460 // #endif // !UNICODE <
3461 <
3462 extern(Windows) export UINT GetPrivateProfileIntA( <
3463 LPCSTR lpAppName, <
3464 LPCSTR lpKeyName, <
3465 INT nDefault, <
3466 LPCSTR lpFileName); <
3467 extern(Windows) export UINT GetPrivateProfileIntW( <
3468 LPCWSTR lpAppName, <
3469 LPCWSTR lpKeyName, <
3470 INT nDefault, <
3471 LPCWSTR lpFileName); <
3472 // #ifdef UNICODE <
3473 alias GetPrivateProfileIntW GetPrivateProfileInt; <
3474 // #else <
3475 // #... <
3476 // #endif // !UNICODE <
3477 <
3478 extern(Windows) export DWORD GetPrivateProfileStringA( <
3479 LPCSTR lpAppName, <
3480 LPCSTR lpKeyName, <
3481 LPCSTR lpDefault, <
3482 LPSTR lpReturnedString, <
3483 DWORD nSize, <
3484 LPCSTR lpFileName); <
3485 extern(Windows) export DWORD GetPrivateProfileStringW( <
3486 LPCWSTR lpAppName, <
3487 LPCWSTR lpKeyName, <
3488 LPCWSTR lpDefault, <
3489 LPWSTR lpReturnedString, <
3490 DWORD nSize, <
3491 LPCWSTR lpFileName); <
3492 // #ifdef UNICODE <
3493 alias GetPrivateProfileStringW GetPrivateProfileString; <
3494 // #else <
3495 // #... <
3496 // #endif // !UNICODE <
3497 <
3498 extern(Windows) export BOOL WritePrivateProfileStringA( <
3499 LPCSTR lpAppName, <
3500 LPCSTR lpKeyName, <
3501 LPCSTR lpString, <
3502 LPCSTR lpFileName); <
3503 extern(Windows) export BOOL WritePrivateProfileStringW( <
3504 LPCWSTR lpAppName, <
3505 LPCWSTR lpKeyName, <
3506 LPCWSTR lpString, <
3507 LPCWSTR lpFileName); <
3508 // #ifdef UNICODE <
3509 alias WritePrivateProfileStringW WritePrivateProfileString; <
3510 // #else <
3511 // #... <
3512 // #endif // !UNICODE <
3513 <
3514 extern(Windows) export DWORD GetPrivateProfileSectionA( <
3515 LPCSTR lpAppName, <
3516 LPSTR lpReturnedString, <
3517 DWORD nSize, <
3518 LPCSTR lpFileName); <
3519 extern(Windows) export DWORD GetPrivateProfileSectionW( <
3520 LPCWSTR lpAppName, <
3521 LPWSTR lpReturnedString, <
3522 DWORD nSize, <
3523 LPCWSTR lpFileName); <
3524 // #ifdef UNICODE <
3525 alias GetPrivateProfileSectionW GetPrivateProfileSection; <
3526 // #else <
3527 // #... <
3528 // #endif // !UNICODE <
3529 <
3530 extern(Windows) export BOOL WritePrivateProfileSectionA( <
3531 LPCSTR lpAppName, <
3532 LPCSTR lpString, <
3533 LPCSTR lpFileName); <
3534 extern(Windows) export BOOL WritePrivateProfileSectionW( <
3535 LPCWSTR lpAppName, <
3536 LPCWSTR lpString, <
3537 LPCWSTR lpFileName); <
3538 // #ifdef UNICODE <
3539 alias WritePrivateProfileSectionW WritePrivateProfileSection; <
3540 // #else <
3541 // #... <
3542 // #endif // !UNICODE <
3543 <
3544 extern(Windows) export DWORD GetPrivateProfileSectionNamesA( <
3545 LPSTR lpszReturnBuffer, <
3546 DWORD nSize, <
3547 LPCSTR lpFileName); <
3548 extern(Windows) export DWORD GetPrivateProfileSectionNamesW( <
3549 LPWSTR lpszReturnBuffer, <
3550 DWORD nSize, <
3551 LPCWSTR lpFileName); <
3552 // #ifdef UNICODE <
3553 alias GetPrivateProfileSectionNamesW GetPrivateProfileSectionNames; <
3554 // #else <
3555 // #... <
3556 // #endif // !UNICODE <
3557 <
3558 extern(Windows) export BOOL GetPrivateProfileStructA( <
3559 LPCSTR lpszSection, <
3560 LPCSTR lpszKey, <
3561 LPVOID lpStruct, <
3562 UINT uSizeStruct, <
3563 LPCSTR szFile); <
3564 extern(Windows) export BOOL GetPrivateProfileStructW( <
3565 LPCWSTR lpszSection, <
3566 LPCWSTR lpszKey, <
3567 LPVOID lpStruct, <
3568 UINT uSizeStruct, <
3569 LPCWSTR szFile); <
3570 // #ifdef UNICODE <
3571 alias GetPrivateProfileStructW GetPrivateProfileStruct; <
3572 // #else <
3573 // #... <
3574 // #endif // !UNICODE <
3575 <
3576 extern(Windows) export BOOL WritePrivateProfileStructA( <
3577 LPCSTR lpszSection, <
3578 LPCSTR lpszKey, <
3579 LPVOID lpStruct, <
3580 UINT uSizeStruct, <
3581 LPCSTR szFile); <
3582 extern(Windows) export BOOL WritePrivateProfileStructW( <
3583 LPCWSTR lpszSection, <
3584 LPCWSTR lpszKey, <
3585 LPVOID lpStruct, <
3586 UINT uSizeStruct, <
3587 LPCWSTR szFile); <
3588 // #ifdef UNICODE <
3589 alias WritePrivateProfileStructW WritePrivateProfileStruct; <
3590 // #else <
3591 // #... <
3592 // #endif // !UNICODE <
3593 <
3594 extern(Windows) export UINT GetDriveTypeA( <
3595 LPCSTR lpRootPathName); <
3596 extern(Windows) export UINT GetDriveTypeW( <
3597 LPCWSTR lpRootPathName); <
3598 // #ifdef UNICODE <
3599 alias GetDriveTypeW GetDriveType; <
3600 // #else <
3601 // #... <
3602 // #endif // !UNICODE <
3603 <
3604 extern(Windows) export UINT GetSystemDirectoryA( <
3605 LPSTR lpBuffer, <
3606 UINT uSize); <
3607 extern(Windows) export UINT GetSystemDirectoryW( <
3608 LPWSTR lpBuffer, <
3609 UINT uSize); <
3610 // #ifdef UNICODE <
3611 alias GetSystemDirectoryW GetSystemDirectory; <
3612 // #else <
3613 // #... <
3614 // #endif // !UNICODE <
3615 <
3616 extern(Windows) export DWORD GetTempPathA( <
3617 DWORD nBufferLength, <
3618 LPSTR lpBuffer); <
3619 extern(Windows) export DWORD GetTempPathW( <
3620 DWORD nBufferLength, <
3621 LPWSTR lpBuffer); <
3622 // #ifdef UNICODE <
3623 alias GetTempPathW GetTempPath; <
3624 // #else <
3625 // #... <
3626 // #endif // !UNICODE <
3627 <
3628 extern(Windows) export UINT GetTempFileNameA( <
3629 LPCSTR lpPathName, <
3630 LPCSTR lpPrefixString, <
3631 UINT uUnique, <
3632 LPSTR lpTempFileName); <
3633 extern(Windows) export UINT GetTempFileNameW( <
3634 LPCWSTR lpPathName, <
3635 LPCWSTR lpPrefixString, <
3636 UINT uUnique, <
3637 LPWSTR lpTempFileName); <
3638 // #ifdef UNICODE <
3639 alias GetTempFileNameW GetTempFileName; <
3640 // #else <
3641 // #... <
3642 // #endif // !UNICODE <
3643 <
3644 extern(Windows) export UINT GetWindowsDirectoryA( <
3645 LPSTR lpBuffer, <
3646 UINT uSize); <
3647 extern(Windows) export UINT GetWindowsDirectoryW( <
3648 LPWSTR lpBuffer, <
3649 UINT uSize); <
3650 // #ifdef UNICODE <
3651 alias GetWindowsDirectoryW GetWindowsDirectory; <
3652 // #else <
3653 // #... <
3654 // #endif // !UNICODE <
3655 <
3656 extern(Windows) export UINT GetSystemWindowsDirectoryA( <
3657 LPSTR lpBuffer, <
3658 UINT uSize); <
3659 extern(Windows) export UINT GetSystemWindowsDirectoryW( <
3660 LPWSTR lpBuffer, <
3661 UINT uSize); <
3662 // #ifdef UNICODE <
3663 alias GetSystemWindowsDirectoryW GetSystemWindowsDirectory; <
3664 // #else <
3665 // #... <
3666 // #endif // !UNICODE <
3667 <
3668 // #if !defined(RC_INVOKED) // RC warns because "WINBASE_DECLARE_GET_SYSTEM_WOW6 <
3669 // #if _WIN32_WINNT >= 0x0501 || defined(WINBASE_DECLARE_GET_SYSTEM_WOW64_DIRECT <
3670 <
3671 extern(Windows) export UINT GetSystemWow64DirectoryA( <
3672 LPSTR lpBuffer, <
3673 UINT uSize); <
3674 extern(Windows) export UINT GetSystemWow64DirectoryW( <
3675 LPWSTR lpBuffer, <
3676 UINT uSize); <
3677 // #ifdef UNICODE <
3678 alias GetSystemWow64DirectoryW GetSystemWow64Directory; <
3679 // #else <
3680 // #... <
3681 // #endif // !UNICODE <
3682 <
3683 extern(Windows) alias UINT function( LPSTR lpBuffer, UINT uSize) PGET_SYSTEM_WOW <
3684 extern(Windows) alias UINT function( LPWSTR lpBuffer, UINT uSize) PGET_SYSTEM_WO <
3685 <
3686 const char[] GET_SYSTEM_WOW64_DIRECTORY_NAME_A_A = "GetSystemWow64DirectoryA"; <
3687 const wchar[] GET_SYSTEM_WOW64_DIRECTORY_NAME_A_W = "GetSystemWow64DirectoryA"; <
3688 const TCHAR[] GET_SYSTEM_WOW64_DIRECTORY_NAME_A_T = "GetSystemWow64DirectoryA"; <
3689 const char[] GET_SYSTEM_WOW64_DIRECTORY_NAME_W_A = "GetSystemWow64DirectoryW"; <
3690 const wchar[] GET_SYSTEM_WOW64_DIRECTORY_NAME_W_W = "GetSystemWow64DirectoryW"; <
3691 const TCHAR[] GET_SYSTEM_WOW64_DIRECTORY_NAME_W_T = "GetSystemWow64DirectoryW"; <
3692 <
3693 // #ifdef UNICODE <
3694 alias GET_SYSTEM_WOW64_DIRECTORY_NAME_W_A GET_SYSTEM_WOW64_DIRECTORY_NAME_T_A; <
3695 alias GET_SYSTEM_WOW64_DIRECTORY_NAME_W_W GET_SYSTEM_WOW64_DIRECTORY_NAME_T_W; <
3696 alias GET_SYSTEM_WOW64_DIRECTORY_NAME_W_T GET_SYSTEM_WOW64_DIRECTORY_NAME_T_T; <
3697 // #else <
3698 // #... <
3699 // #... <
3700 // #... <
3701 // #endif <
3702 <
3703 // #endif // _WIN32_WINNT >= 0x0501 <
3704 // #endif <
3705 <
3706 extern(Windows) export BOOL SetCurrentDirectoryA( <
3707 LPCSTR lpPathName); <
3708 extern(Windows) export BOOL SetCurrentDirectoryW( <
3709 LPCWSTR lpPathName); <
3710 // #ifdef UNICODE <
3711 alias SetCurrentDirectoryW SetCurrentDirectory; <
3712 // #else <
3713 // #... <
3714 // #endif // !UNICODE <
3715 <
3716 extern(Windows) export DWORD GetCurrentDirectoryA( <
3717 DWORD nBufferLength, <
3718 LPSTR lpBuffer); <
3719 extern(Windows) export DWORD GetCurrentDirectoryW( <
3720 DWORD nBufferLength, <
3721 LPWSTR lpBuffer); <
3722 // #ifdef UNICODE <
3723 alias GetCurrentDirectoryW GetCurrentDirectory; <
3724 // #else <
3725 // #... <
3726 // #endif // !UNICODE <
3727 <
3728 extern(Windows) export BOOL GetDiskFreeSpaceA( <
3729 LPCSTR lpRootPathName, <
3730 LPDWORD lpSectorsPerCluster, <
3731 LPDWORD lpBytesPerSector, <
3732 LPDWORD lpNumberOfFreeClusters, <
3733 LPDWORD lpTotalNumberOfClusters); <
3734 extern(Windows) export BOOL GetDiskFreeSpaceW( <
3735 LPCWSTR lpRootPathName, <
3736 LPDWORD lpSectorsPerCluster, <
3737 LPDWORD lpBytesPerSector, <
3738 LPDWORD lpNumberOfFreeClusters, <
3739 LPDWORD lpTotalNumberOfClusters); <
3740 // #ifdef UNICODE <
3741 alias GetDiskFreeSpaceW GetDiskFreeSpace; <
3742 // #else <
3743 // #... <
3744 // #endif // !UNICODE <
3745 <
3746 extern(Windows) export BOOL GetDiskFreeSpaceExA( <
3747 LPCSTR lpDirectoryName, <
3748 PULARGE_INTEGER lpFreeBytesAvailableToCaller, <
3749 PULARGE_INTEGER lpTotalNumberOfBytes, <
3750 PULARGE_INTEGER lpTotalNumberOfFreeBytes); <
3751 extern(Windows) export BOOL GetDiskFreeSpaceExW( <
3752 LPCWSTR lpDirectoryName, <
3753 PULARGE_INTEGER lpFreeBytesAvailableToCaller, <
3754 PULARGE_INTEGER lpTotalNumberOfBytes, <
3755 PULARGE_INTEGER lpTotalNumberOfFreeBytes); <
3756 // #ifdef UNICODE <
3757 alias GetDiskFreeSpaceExW GetDiskFreeSpaceEx; <
3758 // #else <
3759 // #... <
3760 // #endif // !UNICODE <
3761 <
3762 extern(Windows) export BOOL CreateDirectoryA( <
3763 LPCSTR lpPathName, <
3764 LPSECURITY_ATTRIBUTES lpSecurityAttributes); <
3765 extern(Windows) export BOOL CreateDirectoryW( <
3766 LPCWSTR lpPathName, <
3767 LPSECURITY_ATTRIBUTES lpSecurityAttributes); <
3768 // #ifdef UNICODE <
3769 alias CreateDirectoryW CreateDirectory; <
3770 // #else <
3771 // #... <
3772 // #endif // !UNICODE <
3773 <
3774 extern(Windows) export BOOL CreateDirectoryExA( <
3775 LPCSTR lpTemplateDirectory, <
3776 LPCSTR lpNewDirectory, <
3777 LPSECURITY_ATTRIBUTES lpSecurityAttributes); <
3778 extern(Windows) export BOOL CreateDirectoryExW( <
3779 LPCWSTR lpTemplateDirectory, <
3780 LPCWSTR lpNewDirectory, <
3781 LPSECURITY_ATTRIBUTES lpSecurityAttributes); <
3782 // #ifdef UNICODE <
3783 alias CreateDirectoryExW CreateDirectoryEx; <
3784 // #else <
3785 // #... <
3786 // #endif // !UNICODE <
3787 <
3788 extern(Windows) export BOOL RemoveDirectoryA( <
3789 LPCSTR lpPathName); <
3790 extern(Windows) export BOOL RemoveDirectoryW( <
3791 LPCWSTR lpPathName); <
3792 // #ifdef UNICODE <
3793 alias RemoveDirectoryW RemoveDirectory; <
3794 // #else <
3795 // #... <
3796 // #endif // !UNICODE <
3797 <
3798 extern(Windows) export DWORD GetFullPathNameA( <
3799 LPCSTR lpFileName, <
3800 DWORD nBufferLength, <
3801 LPSTR lpBuffer, <
3802 LPSTR *lpFilePart); <
3803 extern(Windows) export DWORD GetFullPathNameW( <
3804 LPCWSTR lpFileName, <
3805 DWORD nBufferLength, <
3806 LPWSTR lpBuffer, <
3807 LPWSTR *lpFilePart); <
3808 // #ifdef UNICODE <
3809 alias GetFullPathNameW GetFullPathName; <
3810 // #else <
3811 // #... <
3812 // #endif // !UNICODE <
3813 <
3814 enum : uint { DDD_RAW_TARGET_PATH = 0x00000001 } <
3815 enum : uint { DDD_REMOVE_DEFINITION = 0x00000002 } <
3816 enum : uint { DDD_EXACT_MATCH_ON_REMOVE = 0x00000004 } <
3817 enum : uint { DDD_NO_BROADCAST_SYSTEM = 0x00000008 } <
3818 enum : uint { DDD_LUID_BROADCAST_DRIVE = 0x00000010 } <
3819 <
3820 extern(Windows) export BOOL DefineDosDeviceA( <
3821 DWORD dwFlags, <
3822 LPCSTR lpDeviceName, <
3823 LPCSTR lpTargetPath); <
3824 extern(Windows) export BOOL DefineDosDeviceW( <
3825 DWORD dwFlags, <
3826 LPCWSTR lpDeviceName, <
3827 LPCWSTR lpTargetPath); <
3828 // #ifdef UNICODE <
3829 alias DefineDosDeviceW DefineDosDevice; <
3830 // #else <
3831 // #... <
3832 // #endif // !UNICODE <
3833 <
3834 extern(Windows) export DWORD QueryDosDeviceA( <
3835 LPCSTR lpDeviceName, <
3836 LPSTR lpTargetPath, <
3837 DWORD ucchMax); <
3838 extern(Windows) export DWORD QueryDosDeviceW( <
3839 LPCWSTR lpDeviceName, <
3840 LPWSTR lpTargetPath, <
3841 DWORD ucchMax); <
3842 // #ifdef UNICODE <
3843 alias QueryDosDeviceW QueryDosDevice; <
3844 // #else <
3845 // #... <
3846 // #endif // !UNICODE <
3847 <
3848 // #define EXPAND_LOCAL_DRIVES <
3849 <
3850 extern(Windows) export HANDLE CreateFileA( <
3851 LPCSTR lpFileName, <
3852 DWORD dwDesiredAccess, <
3853 DWORD dwShareMode, <
3854 LPSECURITY_ATTRIBUTES lpSecurityAttributes, <
3855 DWORD dwCreationDisposition, <
3856 DWORD dwFlagsAndAttributes, <
3857 HANDLE hTemplateFile); <
3858 extern(Windows) export HANDLE CreateFileW( <
3859 LPCWSTR lpFileName, <
3860 DWORD dwDesiredAccess, <
3861 DWORD dwShareMode, <
3862 LPSECURITY_ATTRIBUTES lpSecurityAttributes, <
3863 DWORD dwCreationDisposition, <
3864 DWORD dwFlagsAndAttributes, <
3865 HANDLE hTemplateFile); <
3866 // #ifdef UNICODE <
3867 alias CreateFileW CreateFile; <
3868 // #else <
3869 // #... <
3870 // #endif // !UNICODE <
3871 <
3872 extern(Windows) export BOOL SetFileAttributesA( <
3873 LPCSTR lpFileName, <
3874 DWORD dwFileAttributes); <
3875 extern(Windows) export BOOL SetFileAttributesW( <
3876 LPCWSTR lpFileName, <
3877 DWORD dwFileAttributes); <
3878 // #ifdef UNICODE <
3879 alias SetFileAttributesW SetFileAttributes; <
3880 // #else <
3881 // #... <
3882 // #endif // !UNICODE <
3883 <
3884 extern(Windows) export DWORD GetFileAttributesA( <
3885 LPCSTR lpFileName); <
3886 extern(Windows) export DWORD GetFileAttributesW( <
3887 LPCWSTR lpFileName); <
3888 // #ifdef UNICODE <
3889 alias GetFileAttributesW GetFileAttributes; <
3890 // #else <
3891 // #... <
3892 // #endif // !UNICODE <
3893 <
3894 alias int _GET_FILEEX_INFO_LEVELS; <
3895 enum { <
3896 GetFileExInfoStandard, <
3897 GetFileExMaxInfoLevel, <
3898 } <
3899 alias _GET_FILEEX_INFO_LEVELS GET_FILEEX_INFO_LEVELS; <
3900 <
3901 extern(Windows) export BOOL GetFileAttributesExA( <
3902 LPCSTR lpFileName, <
3903 GET_FILEEX_INFO_LEVELS fInfoLevelId, <
3904 LPVOID lpFileInformation); <
3905 extern(Windows) export BOOL GetFileAttributesExW( <
3906 LPCWSTR lpFileName, <
3907 GET_FILEEX_INFO_LEVELS fInfoLevelId, <
3908 LPVOID lpFileInformation); <
3909 // #ifdef UNICODE <
3910 alias GetFileAttributesExW GetFileAttributesEx; <
3911 // #else <
3912 // #... <
3913 // #endif // !UNICODE <
3914 <
3915 extern(Windows) export DWORD GetCompressedFileSizeA( <
3916 LPCSTR lpFileName, <
3917 LPDWORD lpFileSizeHigh); <
3918 extern(Windows) export DWORD GetCompressedFileSizeW( <
3919 LPCWSTR lpFileName, <
3920 LPDWORD lpFileSizeHigh); <
3921 // #ifdef UNICODE <
3922 alias GetCompressedFileSizeW GetCompressedFileSize; <
3923 // #else <
3924 // #... <
3925 // #endif // !UNICODE <
3926 <
3927 extern(Windows) export BOOL DeleteFileA( <
3928 LPCSTR lpFileName); <
3929 extern(Windows) export BOOL DeleteFileW( <
3930 LPCWSTR lpFileName); <
3931 // #ifdef UNICODE <
3932 alias DeleteFileW DeleteFile; <
3933 // #else <
3934 // #... <
3935 // #endif // !UNICODE <
3936 <
3937 // #if(_WIN32_WINNT >= 0x0400) <
3938 alias int _FINDEX_INFO_LEVELS; <
3939 enum { <
3940 FindExInfoStandard, <
3941 FindExInfoMaxInfoLevel, <
3942 } <
3943 alias _FINDEX_INFO_LEVELS FINDEX_INFO_LEVELS; <
3944 <
3945 alias int _FINDEX_SEARCH_OPS; <
3946 enum { <
3947 FindExSearchNameMatch, <
3948 FindExSearchLimitToDirectories, <
3949 FindExSearchLimitToDevices, <
3950 FindExSearchMaxSearchOp, <
3951 } <
3952 alias _FINDEX_SEARCH_OPS FINDEX_SEARCH_OPS; <
3953 <
3954 enum : uint { FIND_FIRST_EX_CASE_SENSITIVE = 0x00000001 } <
3955 <
3956 extern(Windows) export HANDLE FindFirstFileExA( <
3957 LPCSTR lpFileName, <
3958 FINDEX_INFO_LEVELS fInfoLevelId, <
3959 LPVOID lpFindFileData, <
3960 FINDEX_SEARCH_OPS fSearchOp, <
3961 LPVOID lpSearchFilter, <
3962 DWORD dwAdditionalFlags); <
3963 extern(Windows) export HANDLE FindFirstFileExW( <
3964 LPCWSTR lpFileName, <
3965 FINDEX_INFO_LEVELS fInfoLevelId, <
3966 LPVOID lpFindFileData, <
3967 FINDEX_SEARCH_OPS fSearchOp, <
3968 LPVOID lpSearchFilter, <
3969 DWORD dwAdditionalFlags); <
3970 // #ifdef UNICODE <
3971 alias FindFirstFileExW FindFirstFileEx; <
3972 // #else <
3973 // #... <
3974 // #endif // !UNICODE <
3975 // #endif /* _WIN32_WINNT >= 0x0400 */ <
3976 <
3977 extern(Windows) export HANDLE FindFirstFileA( <
3978 LPCSTR lpFileName, <
3979 LPWIN32_FIND_DATAA lpFindFileData); <
3980 extern(Windows) export HANDLE FindFirstFileW( <
3981 LPCWSTR lpFileName, <
3982 LPWIN32_FIND_DATAW lpFindFileData); <
3983 // #ifdef UNICODE <
3984 alias FindFirstFileW FindFirstFile; <
3985 // #else <
3986 // #... <
3987 // #endif // !UNICODE <
3988 <
3989 extern(Windows) export BOOL FindNextFileA( <
3990 HANDLE hFindFile, <
3991 LPWIN32_FIND_DATAA lpFindFileData); <
3992 extern(Windows) export BOOL FindNextFileW( <
3993 HANDLE hFindFile, <
3994 LPWIN32_FIND_DATAW lpFindFileData); <
3995 // #ifdef UNICODE <
3996 alias FindNextFileW FindNextFile; <
3997 // #else <
3998 // #... <
3999 // #endif // !UNICODE <
4000 <
4001 extern(Windows) export DWORD SearchPathA( <
4002 LPCSTR lpPath, <
4003 LPCSTR lpFileName, <
4004 LPCSTR lpExtension, <
4005 DWORD nBufferLength, <
4006 LPSTR lpBuffer, <
4007 LPSTR *lpFilePart); <
4008 extern(Windows) export DWORD SearchPathW( <
4009 LPCWSTR lpPath, <
4010 LPCWSTR lpFileName, <
4011 LPCWSTR lpExtension, <
4012 DWORD nBufferLength, <
4013 LPWSTR lpBuffer, <
4014 LPWSTR *lpFilePart); <
4015 // #ifdef UNICODE <
4016 alias SearchPathW SearchPath; <
4017 // #else <
4018 // #... <
4019 // #endif // !UNICODE <
4020 <
4021 extern(Windows) export BOOL CopyFileA( <
4022 LPCSTR lpExistingFileName, <
4023 LPCSTR lpNewFileName, <
4024 BOOL bFailIfExists); <
4025 extern(Windows) export BOOL CopyFileW( <
4026 LPCWSTR lpExistingFileName, <
4027 LPCWSTR lpNewFileName, <
4028 BOOL bFailIfExists); <
4029 // #ifdef UNICODE <
4030 alias CopyFileW CopyFile; <
4031 // #else <
4032 // #... <
4033 // #endif // !UNICODE <
4034 <
4035 // #if(_WIN32_WINNT >= 0x0400) <
4036 extern(Windows) alias DWORD function( LARGE_INTEGER TotalFileSize, LARGE_INTEGER <
4037 <
4038 extern(Windows) export BOOL CopyFileExA( <
4039 LPCSTR lpExistingFileName, <
4040 LPCSTR lpNewFileName, <
4041 LPPROGRESS_ROUTINE lpProgressRoutine , <
4042 LPVOID lpData , <
4043 LPBOOL pbCancel , <
4044 DWORD dwCopyFlags); <
4045 extern(Windows) export BOOL CopyFileExW( <
4046 LPCWSTR lpExistingFileName, <
4047 LPCWSTR lpNewFileName, <
4048 LPPROGRESS_ROUTINE lpProgressRoutine , <
4049 LPVOID lpData , <
4050 LPBOOL pbCancel , <
4051 DWORD dwCopyFlags); <
4052 // #ifdef UNICODE <
4053 alias CopyFileExW CopyFileEx; <
4054 // #else <
4055 // #... <
4056 // #endif // !UNICODE <
4057 // #endif /* _WIN32_WINNT >= 0x0400 */ <
4058 <
4059 extern(Windows) export BOOL MoveFileA( <
4060 LPCSTR lpExistingFileName, <
4061 LPCSTR lpNewFileName); <
4062 extern(Windows) export BOOL MoveFileW( <
4063 LPCWSTR lpExistingFileName, <
4064 LPCWSTR lpNewFileName); <
4065 // #ifdef UNICODE <
4066 alias MoveFileW MoveFile; <
4067 // #else <
4068 // #... <
4069 // #endif // !UNICODE <
4070 <
4071 extern(Windows) export BOOL MoveFileExA( <
4072 LPCSTR lpExistingFileName, <
4073 LPCSTR lpNewFileName, <
4074 DWORD dwFlags); <
4075 extern(Windows) export BOOL MoveFileExW( <
4076 LPCWSTR lpExistingFileName, <
4077 LPCWSTR lpNewFileName, <
4078 DWORD dwFlags); <
4079 // #ifdef UNICODE <
4080 alias MoveFileExW MoveFileEx; <
4081 // #else <
4082 // #... <
4083 // #endif // !UNICODE <
4084 <
4085 // #if (_WIN32_WINNT >= 0x0500) | 2817 static if (_WIN32_WINNT >= 0x501) {
4086 extern(Windows) export BOOL MoveFileWithProgressA( <
4087 LPCSTR lpExistingFileName, <
4088 LPCSTR lpNewFileName, <
4089 LPPROGRESS_ROUTINE lpProgressRoutine , <
4090 LPVOID lpData , <
4091 DWORD dwFlags); <
4092 extern(Windows) export BOOL MoveFileWithProgressW( <
4093 LPCWSTR lpExistingFileName, <
4094 LPCWSTR lpNewFileName, <
4095 LPPROGRESS_ROUTINE lpProgressRoutine , <
4096 LPVOID lpData , <
4097 DWORD dwFlags); <
4098 // #ifdef UNICODE <
4099 alias MoveFileWithProgressW MoveFileWithProgress; <
4100 // #else <
4101 // #... <
4102 // #endif // !UNICODE <
4103 // #endif // (_WIN32_WINNT >= 0x0500) <
4104 <
4105 enum : uint { MOVEFILE_REPLACE_EXISTING = 0x00000001 } <
4106 enum : uint { MOVEFILE_COPY_ALLOWED = 0x00000002 } <
4107 enum : uint { MOVEFILE_DELAY_UNTIL_REBOOT = 0x00000004 } <
4108 enum : uint { MOVEFILE_WRITE_THROUGH = 0x00000008 } <
4109 // #if (_WIN32_WINNT >= 0x0500) <
4110 enum : uint { MOVEFILE_CREATE_HARDLINK = 0x00000010 } <
4111 enum : uint { MOVEFILE_FAIL_IF_NOT_TRACKABLE = 0x00000020 } <
4112 // #endif // (_WIN32_WINNT >= 0x0500) <
4113 <
4114 // #if (_WIN32_WINNT >= 0x0500) <
4115 extern(Windows) export BOOL ReplaceFileA( <
4116 LPCSTR lpReplacedFileName, <
4117 LPCSTR lpReplacementFileName, <
4118 LPCSTR lpBackupFileName, <
4119 DWORD dwReplaceFlags, <
4120 LPVOID lpExclude, <
4121 LPVOID lpReserved); <
4122 extern(Windows) export BOOL ReplaceFileW( <
4123 LPCWSTR lpReplacedFileName, <
4124 LPCWSTR lpReplacementFileName, <
4125 LPCWSTR lpBackupFileName, <
4126 DWORD dwReplaceFlags, <
4127 LPVOID lpExclude, <
4128 LPVOID lpReserved); <
4129 // #ifdef UNICODE <
4130 alias ReplaceFileW ReplaceFile; <
4131 // #else <
4132 // #... <
4133 // #endif // !UNICODE <
4134 // #endif // (_WIN32_WINNT >= 0x0500) <
4135 <
4136 // #if (_WIN32_WINNT >= 0x0500) <
4137 <
4138 extern(Windows) export BOOL CreateHardLinkA( <
4139 LPCSTR lpFileName, <
4140 LPCSTR lpExistingFileName, <
4141 LPSECURITY_ATTRIBUTES lpSecurityAttributes); <
4142 extern(Windows) export BOOL CreateHardLinkW( <
4143 LPCWSTR lpFileName, <
4144 LPCWSTR lpExistingFileName, <
4145 LPSECURITY_ATTRIBUTES lpSecurityAttributes); <
4146 // #ifdef UNICODE <
4147 alias CreateHardLinkW CreateHardLink; <
4148 // #else <
4149 // #... <
4150 // #endif // !UNICODE <
4151 <
4152 // #endif // (_WIN32_WINNT >= 0x0500) <
4153 <
4154 extern(Windows) export HANDLE CreateNamedPipeA( <
4155 LPCSTR lpName, <
4156 DWORD dwOpenMode, <
4157 DWORD dwPipeMode, <
4158 DWORD nMaxInstances, <
4159 DWORD nOutBufferSize, <
4160 DWORD nInBufferSize, <
4161 DWORD nDefaultTimeOut, <
4162 LPSECURITY_ATTRIBUTES lpSecurityAttributes); <
4163 extern(Windows) export HANDLE CreateNamedPipeW( <
4164 LPCWSTR lpName, <
4165 DWORD dwOpenMode, <
4166 DWORD dwPipeMode, <
4167 DWORD nMaxInstances, <
4168 DWORD nOutBufferSize, <
4169 DWORD nInBufferSize, <
4170 DWORD nDefaultTimeOut, <
4171 LPSECURITY_ATTRIBUTES lpSecurityAttributes); <
4172 // #ifdef UNICODE <
4173 alias CreateNamedPipeW CreateNamedPipe; <
4174 // #else <
4175 // #... <
4176 // #endif // !UNICODE <
4177 <
4178 extern(Windows) export BOOL GetNamedPipeHandleStateA( <
4179 HANDLE hNamedPipe, <
4180 LPDWORD lpState, <
4181 LPDWORD lpCurInstances, <
4182 LPDWORD lpMaxCollectionCount, <
4183 LPDWORD lpCollectDataTimeout, <
4184 LPSTR lpUserName, <
4185 DWORD nMaxUserNameSize); <
4186 extern(Windows) export BOOL GetNamedPipeHandleStateW( <
4187 HANDLE hNamedPipe, <
4188 LPDWORD lpState, <
4189 LPDWORD lpCurInstances, <
4190 LPDWORD lpMaxCollectionCount, <
4191 LPDWORD lpCollectDataTimeout, <
4192 LPWSTR lpUserName, <
4193 DWORD nMaxUserNameSize); <
4194 // #ifdef UNICODE <
4195 alias GetNamedPipeHandleStateW GetNamedPipeHandleState; <
4196 // #else <
4197 // #... <
4198 // #endif // !UNICODE <
4199 <
4200 extern(Windows) export BOOL CallNamedPipeA( <
4201 LPCSTR lpNamedPipeName, <
4202 LPVOID lpInBuffer, <
4203 DWORD nInBufferSize, <
4204 LPVOID lpOutBuffer, <
4205 DWORD nOutBufferSize, <
4206 LPDWORD lpBytesRead, <
4207 DWORD nTimeOut); <
4208 extern(Windows) export BOOL CallNamedPipeW( <
4209 LPCWSTR lpNamedPipeName, <
4210 LPVOID lpInBuffer, <
4211 DWORD nInBufferSize, <
4212 LPVOID lpOutBuffer, <
4213 DWORD nOutBufferSize, <
4214 LPDWORD lpBytesRead, <
4215 DWORD nTimeOut); <
4216 // #ifdef UNICODE <
4217 alias CallNamedPipeW CallNamedPipe; <
4218 // #else <
4219 // #... <
4220 // #endif // !UNICODE <
4221 <
4222 extern(Windows) export BOOL WaitNamedPipeA( <
4223 LPCSTR lpNamedPipeName, <
4224 DWORD nTimeOut); <
4225 extern(Windows) export BOOL WaitNamedPipeW( <
4226 LPCWSTR lpNamedPipeName, <
4227 DWORD nTimeOut); <
4228 // #ifdef UNICODE <
4229 alias WaitNamedPipeW WaitNamedPipe; <
4230 // #else <
4231 // #... <
4232 // #endif // !UNICODE <
4233 <
4234 extern(Windows) export BOOL SetVolumeLabelA( <
4235 LPCSTR lpRootPathName, <
4236 LPCSTR lpVolumeName); <
4237 extern(Windows) export BOOL SetVolumeLabelW( <
4238 LPCWSTR lpRootPathName, <
4239 LPCWSTR lpVolumeName); <
4240 // #ifdef UNICODE <
4241 alias SetVolumeLabelW SetVolumeLabel; <
4242 // #else <
4243 // #... <
4244 // #endif // !UNICODE <
4245 <
4246 extern(Windows) export VOID SetFileApisToOEM(); <
4247 <
4248 extern(Windows) export VOID SetFileApisToANSI(); <
4249 <
4250 extern(Windows) export BOOL AreFileApisANSI(); <
4251 <
4252 extern(Windows) export BOOL GetVolumeInformationA( <
4253 LPCSTR lpRootPathName, <
4254 LPSTR lpVolumeNameBuffer, <
4255 DWORD nVolumeNameSize, <
4256 LPDWORD lpVolumeSerialNumber, <
4257 LPDWORD lpMaximumComponentLength, <
4258 LPDWORD lpFileSystemFlags, <
4259 LPSTR lpFileSystemNameBuffer, <
4260 DWORD nFileSystemNameSize); <
4261 extern(Windows) export BOOL GetVolumeInformationW( <
4262 LPCWSTR lpRootPathName, <
4263 LPWSTR lpVolumeNameBuffer, <
4264 DWORD nVolumeNameSize, <
4265 LPDWORD lpVolumeSerialNumber, <
4266 LPDWORD lpMaximumComponentLength, <
4267 LPDWORD lpFileSystemFlags, <
4268 LPWSTR lpFileSystemNameBuffer, <
4269 DWORD nFileSystemNameSize); <
4270 // #ifdef UNICODE <
4271 alias GetVolumeInformationW GetVolumeInformation; <
4272 // #else <
4273 // #... <
4274 // #endif // !UNICODE <
4275 <
4276 extern(Windows) export BOOL CancelIo( <
4277 HANDLE hFile); <
4278 <
4279 extern(Windows) export BOOL ClearEventLogA( <
4280 HANDLE hEventLog, <
4281 LPCSTR lpBackupFileName); <
4282 extern(Windows) export BOOL ClearEventLogW( <
4283 HANDLE hEventLog, <
4284 LPCWSTR lpBackupFileName); <
4285 // #ifdef UNICODE <
4286 alias ClearEventLogW ClearEventLog; <
4287 // #else <
4288 // #... <
4289 // #endif // !UNICODE <
4290 <
4291 extern(Windows) export BOOL BackupEventLogA( <
4292 HANDLE hEventLog, <
4293 LPCSTR lpBackupFileName); <
4294 extern(Windows) export BOOL BackupEventLogW( <
4295 HANDLE hEventLog, <
4296 LPCWSTR lpBackupFileName); <
4297 // #ifdef UNICODE <
4298 alias BackupEventLogW BackupEventLog; <
4299 // #else <
4300 // #... <
4301 // #endif // !UNICODE <
4302 <
4303 extern(Windows) export BOOL CloseEventLog( <
4304 HANDLE hEventLog); <
4305 <
4306 extern(Windows) export BOOL DeregisterEventSource( <
4307 HANDLE hEventLog); <
4308 <
4309 extern(Windows) export BOOL NotifyChangeEventLog( <
4310 HANDLE hEventLog, <
4311 HANDLE hEvent); <
4312 <
4313 extern(Windows) export BOOL GetNumberOfEventLogRecords( <
4314 HANDLE hEventLog, <
4315 PDWORD NumberOfRecords); <
4316 <
4317 extern(Windows) export BOOL GetOldestEventLogRecord( <
4318 HANDLE hEventLog, <
4319 PDWORD OldestRecord); <
4320 <
4321 extern(Windows) export HANDLE OpenEventLogA( <
4322 LPCSTR lpUNCServerName, <
4323 LPCSTR lpSourceName); <
4324 extern(Windows) export HANDLE OpenEventLogW( <
4325 LPCWSTR lpUNCServerName, <
4326 LPCWSTR lpSourceName); <
4327 // #ifdef UNICODE <
4328 alias OpenEventLogW OpenEventLog; <
4329 // #else <
4330 // #... <
4331 // #endif // !UNICODE <
4332 <
4333 extern(Windows) export HANDLE RegisterEventSourceA( <
4334 LPCSTR lpUNCServerName, <
4335 LPCSTR lpSourceName); <
4336 extern(Windows) export HANDLE RegisterEventSourceW( <
4337 LPCWSTR lpUNCServerName, <
4338 LPCWSTR lpSourceName); <
4339 // #ifdef UNICODE <
4340 alias RegisterEventSourceW RegisterEventSource; <
4341 // #else <
4342 // #... <
4343 // #endif // !UNICODE <
4344 <
4345 extern(Windows) export HANDLE OpenBackupEventLogA( <
4346 LPCSTR lpUNCServerName, <
4347 LPCSTR lpFileName); <
4348 extern(Windows) export HANDLE OpenBackupEventLogW( <
4349 LPCWSTR lpUNCServerName, <
4350 LPCWSTR lpFileName); <
4351 // #ifdef UNICODE <
4352 alias OpenBackupEventLogW OpenBackupEventLog; <
4353 // #else <
4354 // #... <
4355 // #endif // !UNICODE <
4356 <
4357 extern(Windows) export BOOL ReadEventLogA( <
4358 HANDLE hEventLog, <
4359 DWORD dwReadFlags, <
4360 DWORD dwRecordOffset, <
4361 LPVOID lpBuffer, <
4362 DWORD nNumberOfBytesToRead, <
4363 DWORD *pnBytesRead, <
4364 DWORD *pnMinNumberOfBytesNeeded); <
4365 extern(Windows) export BOOL ReadEventLogW( <
4366 HANDLE hEventLog, <
4367 DWORD dwReadFlags, <
4368 DWORD dwRecordOffset, <
4369 LPVOID lpBuffer, <
4370 DWORD nNumberOfBytesToRead, <
4371 DWORD *pnBytesRead, <
4372 DWORD *pnMinNumberOfBytesNeeded); <
4373 // #ifdef UNICODE <
4374 alias ReadEventLogW ReadEventLog; <
4375 // #else <
4376 // #... <
4377 // #endif // !UNICODE <
4378 <
4379 extern(Windows) export BOOL ReportEventA( <
4380 HANDLE hEventLog, <
4381 WORD wType, <
4382 WORD wCategory, <
4383 DWORD dwEventID, <
4384 PSID lpUserSid, <
4385 WORD wNumStrings, <
4386 DWORD dwDataSize, <
4387 LPCSTR *lpStrings, <
4388 LPVOID lpRawData); <
4389 extern(Windows) export BOOL ReportEventW( <
4390 HANDLE hEventLog, <
4391 WORD wType, <
4392 WORD wCategory, <
4393 DWORD dwEventID, <
4394 PSID lpUserSid, <
4395 WORD wNumStrings, <
4396 DWORD dwDataSize, <
4397 LPCWSTR *lpStrings, <
4398 LPVOID lpRawData); <
4399 // #ifdef UNICODE <
4400 alias ReportEventW ReportEvent; <
4401 // #else <
4402 // #... <
4403 // #endif // !UNICODE <
4404 <
4405 enum : uint { EVENTLOG_FULL_INFO = 0 } <
4406 <
4407 struct _EVENTLOG_FULL_INFORMATION { <
4408 DWORD dwFull; <
4409 } <
4410 alias _EVENTLOG_FULL_INFORMATION EVENTLOG_FULL_INFORMATION; <
4411 alias _EVENTLOG_FULL_INFORMATION* LPEVENTLOG_FULL_INFORMATION; <
4412 <
4413 extern(Windows) export BOOL GetEventLogInformation( <
4414 HANDLE hEventLog, <
4415 DWORD dwInfoLevel, <
4416 LPVOID lpBuffer, <
4417 DWORD cbBufSize, <
4418 LPDWORD pcbBytesNeeded); <
4419 <
4420 extern(Windows) export BOOL DuplicateToken( <
4421 HANDLE ExistingTokenHandle, <
4422 SECURITY_IMPERSONATION_LEVEL ImpersonationLevel, <
4423 PHANDLE DuplicateTokenHandle); <
4424 <
4425 extern(Windows) export BOOL GetKernelObjectSecurity( <
4426 HANDLE Handle, <
4427 SECURITY_INFORMATION RequestedInformation, <
4428 PSECURITY_DESCRIPTOR pSecurityDescriptor, <
4429 DWORD nLength, <
4430 LPDWORD lpnLengthNeeded); <
4431 <
4432 extern(Windows) export BOOL ImpersonateNamedPipeClient( <
4433 HANDLE hNamedPipe); <
4434 <
4435 extern(Windows) export BOOL ImpersonateSelf( <
4436 SECURITY_IMPERSONATION_LEVEL ImpersonationLevel); <
4437 <
4438 extern(Windows) export BOOL RevertToSelf(); <
4439 <
4440 extern(Windows) export BOOL SetThreadToken( <
4441 PHANDLE Thread, <
4442 HANDLE Token); <
4443 <
4444 extern(Windows) export BOOL AccessCheck( <
4445 PSECURITY_DESCRIPTOR pSecurityDescriptor, <
4446 HANDLE ClientToken, <
4447 DWORD DesiredAccess, <
4448 PGENERIC_MAPPING GenericMapping, <
4449 PPRIVILEGE_SET PrivilegeSet, <
4450 LPDWORD PrivilegeSetLength, <
4451 LPDWORD GrantedAccess, <
4452 LPBOOL AccessStatus); <
4453 <
4454 // #if(_WIN32_WINNT >= 0x0500) <
4455 extern(Windows) export BOOL AccessCheckByType( <
4456 PSECURITY_DESCRIPTOR pSecurityDescriptor, <
4457 PSID PrincipalSelfSid, <
4458 HANDLE ClientToken, <
4459 DWORD DesiredAccess, <
4460 POBJECT_TYPE_LIST ObjectTypeList, <
4461 DWORD ObjectTypeListLength, <
4462 PGENERIC_MAPPING GenericMapping, <
4463 PPRIVILEGE_SET PrivilegeSet, <
4464 LPDWORD PrivilegeSetLength, <
4465 LPDWORD GrantedAccess, <
4466 LPBOOL AccessStatus); <
4467 <
4468 extern(Windows) export BOOL AccessCheckByTypeResultList( <
4469 PSECURITY_DESCRIPTOR pSecurityDescriptor, <
4470 PSID PrincipalSelfSid, <
4471 HANDLE ClientToken, <
4472 DWORD DesiredAccess, <
4473 POBJECT_TYPE_LIST ObjectTypeList, <
4474 DWORD ObjectTypeListLength, <
4475 PGENERIC_MAPPING GenericMapping, <
4476 PPRIVILEGE_SET PrivilegeSet, <
4477 LPDWORD PrivilegeSetLength, <
4478 LPDWORD GrantedAccessList, <
4479 LPDWORD AccessStatusList); <
4480 // #endif /* _WIN32_WINNT >= 0x0500 */ <
4481 <
4482 extern(Windows) export BOOL OpenProcessToken( <
4483 HANDLE ProcessHandle, <
4484 DWORD DesiredAccess, <
4485 PHANDLE TokenHandle); <
4486 <
4487 extern(Windows) export BOOL OpenThreadToken( <
4488 HANDLE ThreadHandle, <
4489 DWORD DesiredAccess, <
4490 BOOL OpenAsSelf, <
4491 PHANDLE TokenHandle); <
4492 <
4493 extern(Windows) export BOOL GetTokenInformation( <
4494 HANDLE TokenHandle, <
4495 TOKEN_INFORMATION_CLASS TokenInformationClass, <
4496 LPVOID TokenInformation, <
4497 DWORD TokenInformationLength, <
4498 PDWORD ReturnLength); <
4499 <
4500 extern(Windows) export BOOL SetTokenInformation( <
4501 HANDLE TokenHandle, <
4502 TOKEN_INFORMATION_CLASS TokenInformationClass, <
4503 LPVOID TokenInformation, <
4504 DWORD TokenInformationLength); <
4505 <
4506 extern(Windows) export BOOL AdjustTokenPrivileges( <
4507 HANDLE TokenHandle, <
4508 BOOL DisableAllPrivileges, <
4509 PTOKEN_PRIVILEGES NewState, <
4510 DWORD BufferLength, <
4511 PTOKEN_PRIVILEGES PreviousState, <
4512 PDWORD ReturnLength); <
4513 <
4514 extern(Windows) export BOOL AdjustTokenGroups( <
4515 HANDLE TokenHandle, <
4516 BOOL ResetToDefault, <
4517 PTOKEN_GROUPS NewState, <
4518 DWORD BufferLength, <
4519 PTOKEN_GROUPS PreviousState, <
4520 PDWORD ReturnLength); <
4521 <
4522 extern(Windows) export BOOL PrivilegeCheck( <
4523 HANDLE ClientToken, <
4524 PPRIVILEGE_SET RequiredPrivileges, <
4525 LPBOOL pfResult); <
4526 <
4527 extern(Windows) export BOOL AccessCheckAndAuditAlarmA( <
4528 LPCSTR SubsystemName, <
4529 LPVOID HandleId, <
4530 LPSTR ObjectTypeName, <
4531 LPSTR ObjectName, <
4532 PSECURITY_DESCRIPTOR SecurityDescriptor, <
4533 DWORD DesiredAccess, <
4534 PGENERIC_MAPPING GenericMapping, <
4535 BOOL ObjectCreation, <
4536 LPDWORD GrantedAccess, <
4537 LPBOOL AccessStatus, <
4538 LPBOOL pfGenerateOnClose); <
4539 extern(Windows) export BOOL AccessCheckAndAuditAlarmW( <
4540 LPCWSTR SubsystemName, <
4541 LPVOID HandleId, <
4542 LPWSTR ObjectTypeName, <
4543 LPWSTR ObjectName, <
4544 PSECURITY_DESCRIPTOR SecurityDescriptor, <
4545 DWORD DesiredAccess, <
4546 PGENERIC_MAPPING GenericMapping, <
4547 BOOL ObjectCreation, <
4548 LPDWORD GrantedAccess, <
4549 LPBOOL AccessStatus, <
4550 LPBOOL pfGenerateOnClose); <
4551 // #ifdef UNICODE <
4552 alias AccessCheckAndAuditAlarmW AccessCheckAndAuditAlarm; <
4553 // #else <
4554 // #... <
4555 // #endif // !UNICODE <
4556 <
4557 // #if(_WIN32_WINNT >= 0x0500) <
4558 <
4559 extern(Windows) export BOOL AccessCheckByTypeAndAuditAlarmA( <
4560 LPCSTR SubsystemName, <
4561 LPVOID HandleId, <
4562 LPCSTR ObjectTypeName, <
4563 LPCSTR ObjectName, <
4564 PSECURITY_DESCRIPTOR SecurityDescriptor, <
4565 PSID PrincipalSelfSid, <
4566 DWORD DesiredAccess, <
4567 AUDIT_EVENT_TYPE AuditType, <
4568 DWORD Flags, <
4569 POBJECT_TYPE_LIST ObjectTypeList, <
4570 DWORD ObjectTypeListLength, <
4571 PGENERIC_MAPPING GenericMapping, <
4572 BOOL ObjectCreation, <
4573 LPDWORD GrantedAccess, <
4574 LPBOOL AccessStatus, <
4575 LPBOOL pfGenerateOnClose); <
4576 extern(Windows) export BOOL AccessCheckByTypeAndAuditAlarmW( <
4577 LPCWSTR SubsystemName, <
4578 LPVOID HandleId, <
4579 LPCWSTR ObjectTypeName, <
4580 LPCWSTR ObjectName, <
4581 PSECURITY_DESCRIPTOR SecurityDescriptor, <
4582 PSID PrincipalSelfSid, <
4583 DWORD DesiredAccess, <
4584 AUDIT_EVENT_TYPE AuditType, <
4585 DWORD Flags, <
4586 POBJECT_TYPE_LIST ObjectTypeList, <
4587 DWORD ObjectTypeListLength, <
4588 PGENERIC_MAPPING GenericMapping, <
4589 BOOL ObjectCreation, <
4590 LPDWORD GrantedAccess, <
4591 LPBOOL AccessStatus, <
4592 LPBOOL pfGenerateOnClose); <
4593 // #ifdef UNICODE <
4594 alias AccessCheckByTypeAndAuditAlarmW AccessCheckByTypeAndAuditAlarm; <
4595 // #else <
4596 // #... <
4597 // #endif // !UNICODE <
4598 <
4599 extern(Windows) export BOOL AccessCheckByTypeResultListAndAuditAlarmA( <
4600 LPCSTR SubsystemName, <
4601 LPVOID HandleId, <
4602 LPCSTR ObjectTypeName, <
4603 LPCSTR ObjectName, <
4604 PSECURITY_DESCRIPTOR SecurityDescriptor, <
4605 PSID PrincipalSelfSid, <
4606 DWORD DesiredAccess, <
4607 AUDIT_EVENT_TYPE AuditType, <
4608 DWORD Flags, <
4609 POBJECT_TYPE_LIST ObjectTypeList, <
4610 DWORD ObjectTypeListLength, <
4611 PGENERIC_MAPPING GenericMapping, <
4612 BOOL ObjectCreation, <
4613 LPDWORD GrantedAccess, <
4614 LPDWORD AccessStatusList, <
4615 LPBOOL pfGenerateOnClose); <
4616 extern(Windows) export BOOL AccessCheckByTypeResultListAndAuditAlarmW( <
4617 LPCWSTR SubsystemName, <
4618 LPVOID HandleId, <
4619 LPCWSTR ObjectTypeName, <
4620 LPCWSTR ObjectName, <
4621 PSECURITY_DESCRIPTOR SecurityDescriptor, <
4622 PSID PrincipalSelfSid, <
4623 DWORD DesiredAccess, <
4624 AUDIT_EVENT_TYPE AuditType, <
4625 DWORD Flags, <
4626 POBJECT_TYPE_LIST ObjectTypeList, <
4627 DWORD ObjectTypeListLength, <
4628 PGENERIC_MAPPING GenericMapping, <
4629 BOOL ObjectCreation, <
4630 LPDWORD GrantedAccess, <
4631 LPDWORD AccessStatusList, <
4632 LPBOOL pfGenerateOnClose); <
4633 // #ifdef UNICODE <
4634 alias AccessCheckByTypeResultListAndAuditAlarmW AccessCheckByTypeResultListAndAu <
4635 // #else <
4636 // #... <
4637 // #endif // !UNICODE <
4638 <
4639 extern(Windows) export BOOL AccessCheckByTypeResultListAndAuditAlarmByHandleA( <
4640 LPCSTR SubsystemName, <
4641 LPVOID HandleId, <
4642 HANDLE ClientToken, <
4643 LPCSTR ObjectTypeName, <
4644 LPCSTR ObjectName, <
4645 PSECURITY_DESCRIPTOR SecurityDescriptor, <
4646 PSID PrincipalSelfSid, <
4647 DWORD DesiredAccess, <
4648 AUDIT_EVENT_TYPE AuditType, <
4649 DWORD Flags, <
4650 POBJECT_TYPE_LIST ObjectTypeList, <
4651 DWORD ObjectTypeListLength, <
4652 PGENERIC_MAPPING GenericMapping, <
4653 BOOL ObjectCreation, <
4654 LPDWORD GrantedAccess, <
4655 LPDWORD AccessStatusList, <
4656 LPBOOL pfGenerateOnClose); <
4657 extern(Windows) export BOOL AccessCheckByTypeResultListAndAuditAlarmByHandleW( <
4658 LPCWSTR SubsystemName, <
4659 LPVOID HandleId, <
4660 HANDLE ClientToken, <
4661 LPCWSTR ObjectTypeName, <
4662 LPCWSTR ObjectName, <
4663 PSECURITY_DESCRIPTOR SecurityDescriptor, <
4664 PSID PrincipalSelfSid, <
4665 DWORD DesiredAccess, <
4666 AUDIT_EVENT_TYPE AuditType, <
4667 DWORD Flags, <
4668 POBJECT_TYPE_LIST ObjectTypeList, <
4669 DWORD ObjectTypeListLength, <
4670 PGENERIC_MAPPING GenericMapping, <
4671 BOOL ObjectCreation, <
4672 LPDWORD GrantedAccess, <
4673 LPDWORD AccessStatusList, <
4674 LPBOOL pfGenerateOnClose); <
4675 // #ifdef UNICODE <
4676 alias AccessCheckByTypeResultListAndAuditAlarmByHandleW AccessCheckByTypeResultL <
4677 // #else <
4678 // #... <
4679 // #endif // !UNICODE <
4680 <
4681 // #endif //(_WIN32_WINNT >= 0x0500) <
4682 <
4683 extern(Windows) export BOOL ObjectOpenAuditAlarmA( <
4684 LPCSTR SubsystemName, <
4685 LPVOID HandleId, <
4686 LPSTR ObjectTypeName, <
4687 LPSTR ObjectName, <
4688 PSECURITY_DESCRIPTOR pSecurityDescriptor, <
4689 HANDLE ClientToken, <
4690 DWORD DesiredAccess, <
4691 DWORD GrantedAccess, <
4692 PPRIVILEGE_SET Privileges, <
4693 BOOL ObjectCreation, <
4694 BOOL AccessGranted, <
4695 LPBOOL GenerateOnClose); <
4696 extern(Windows) export BOOL ObjectOpenAuditAlarmW( <
4697 LPCWSTR SubsystemName, <
4698 LPVOID HandleId, <
4699 LPWSTR ObjectTypeName, <
4700 LPWSTR ObjectName, <
4701 PSECURITY_DESCRIPTOR pSecurityDescriptor, <
4702 HANDLE ClientToken, <
4703 DWORD DesiredAccess, <
4704 DWORD GrantedAccess, <
4705 PPRIVILEGE_SET Privileges, <
4706 BOOL ObjectCreation, <
4707 BOOL AccessGranted, <
4708 LPBOOL GenerateOnClose); <
4709 // #ifdef UNICODE <
4710 alias ObjectOpenAuditAlarmW ObjectOpenAuditAlarm; <
4711 // #else <
4712 // #... <
4713 // #endif // !UNICODE <
4714 <
4715 extern(Windows) export BOOL ObjectPrivilegeAuditAlarmA( <
4716 LPCSTR SubsystemName, <
4717 LPVOID HandleId, <
4718 HANDLE ClientToken, <
4719 DWORD DesiredAccess, <
4720 PPRIVILEGE_SET Privileges, <
4721 BOOL AccessGranted); <
4722 extern(Windows) export BOOL ObjectPrivilegeAuditAlarmW( <
4723 LPCWSTR SubsystemName, <
4724 LPVOID HandleId, <
4725 HANDLE ClientToken, <
4726 DWORD DesiredAccess, <
4727 PPRIVILEGE_SET Privileges, <
4728 BOOL AccessGranted); <
4729 // #ifdef UNICODE <
4730 alias ObjectPrivilegeAuditAlarmW ObjectPrivilegeAuditAlarm; <
4731 // #else <
4732 // #... <
4733 // #endif // !UNICODE <
4734 <
4735 extern(Windows) export BOOL ObjectCloseAuditAlarmA( <
4736 LPCSTR SubsystemName, <
4737 LPVOID HandleId, <
4738 BOOL GenerateOnClose); <
4739 extern(Windows) export BOOL ObjectCloseAuditAlarmW( <
4740 LPCWSTR SubsystemName, <
4741 LPVOID HandleId, <
4742 BOOL GenerateOnClose); <
4743 // #ifdef UNICODE <
4744 alias ObjectCloseAuditAlarmW ObjectCloseAuditAlarm; <
4745 // #else <
4746 // #... <
4747 // #endif // !UNICODE <
4748 <
4749 extern(Windows) export BOOL ObjectDeleteAuditAlarmA( <
4750 LPCSTR SubsystemName, <
4751 LPVOID HandleId, <
4752 BOOL GenerateOnClose); <
4753 extern(Windows) export BOOL ObjectDeleteAuditAlarmW( <
4754 LPCWSTR SubsystemName, <
4755 LPVOID HandleId, <
4756 BOOL GenerateOnClose); <
4757 // #ifdef UNICODE <
4758 alias ObjectDeleteAuditAlarmW ObjectDeleteAuditAlarm; <
4759 // #else <
4760 // #... <
4761 // #endif // !UNICODE <
4762 <
4763 extern(Windows) export BOOL PrivilegedServiceAuditAlarmA( <
4764 LPCSTR SubsystemName, <
4765 LPCSTR ServiceName, <
4766 HANDLE ClientToken, <
4767 PPRIVILEGE_SET Privileges, <
4768 BOOL AccessGranted); <
4769 extern(Windows) export BOOL PrivilegedServiceAuditAlarmW( <
4770 LPCWSTR SubsystemName, <
4771 LPCWSTR ServiceName, <
4772 HANDLE ClientToken, <
4773 PPRIVILEGE_SET Privileges, <
4774 BOOL AccessGranted); <
4775 // #ifdef UNICODE <
4776 alias PrivilegedServiceAuditAlarmW PrivilegedServiceAuditAlarm; <
4777 // #else <
4778 // #... <
4779 // #endif // !UNICODE <
4780 <
4781 // #if(_WIN32_WINNT >= 0x0501) <
4782 <
4783 enum _0 { <
4784 <
4785 WinNullSid = 0, <
4786 WinWorldSid = 1, <
4787 WinLocalSid = 2, <
4788 WinCreatorOwnerSid = 3, <
4789 WinCreatorGroupSid = 4, <
4790 WinCreatorOwnerServerSid = 5, <
4791 WinCreatorGroupServerSid = 6, <
4792 WinNtAuthoritySid = 7, <
4793 WinDialupSid = 8, <
4794 WinNetworkSid = 9, <
4795 WinBatchSid = 10, <
4796 WinInteractiveSid = 11, <
4797 WinServiceSid = 12, <
4798 WinAnonymousSid = 13, <
4799 WinProxySid = 14, <
4800 WinEnterpriseControllersSid = 15, <
4801 WinSelfSid = 16, <
4802 WinAuthenticatedUserSid = 17, <
4803 WinRestrictedCodeSid = 18, <
4804 WinTerminalServerSid = 19, <
4805 WinRemoteLogonIdSid = 20, <
4806 WinLogonIdsSid = 21, <
4807 WinLocalSystemSid = 22, <
4808 WinLocalServiceSid = 23, <
4809 WinNetworkServiceSid = 24, <
4810 WinBuiltinDomainSid = 25, <
4811 WinBuiltinAdministratorsSid = 26, <
4812 WinBuiltinUsersSid = 27, <
4813 WinBuiltinGuestsSid = 28, <
4814 WinBuiltinPowerUsersSid = 29, <
4815 WinBuiltinAccountOperatorsSid = 30, <
4816 WinBuiltinSystemOperatorsSid = 31, <
4817 WinBuiltinPrintOperatorsSid = 32, <
4818 WinBuiltinBackupOperatorsSid = 33, <
4819 WinBuiltinReplicatorSid = 34, <
4820 WinBuiltinPreWindows2000CompatibleAccessSid = 35, <
4821 WinBuiltinRemoteDesktopUsersSid = 36, <
4822 WinBuiltinNetworkConfigurationOperatorsSid = 37, <
4823 WinAccountAdministratorSid = 38, <
4824 WinAccountGuestSid = 39, <
4825 WinAccountKrbtgtSid = 40, <
4826 WinAccountDomainAdminsSid = 41, <
4827 WinAccountDomainUsersSid = 42, <
4828 WinAccountDomainGuestsSid = 43, <
4829 WinAccountComputersSid = 44, <
4830 WinAccountControllersSid = 45, <
4831 WinAccountCertAdminsSid = 46, <
4832 WinAccountSchemaAdminsSid = 47, <
4833 WinAccountEnterpriseAdminsSid = 48, <
4834 WinAccountPolicyAdminsSid = 49, <
4835 WinAccountRasAndIasServersSid = 50, <
4836 <
4837 } <
4838 alias _0 WELL_KNOWN_SID_TYPE; <
4839 <
4840 extern(Windows) export BOOL IsWellKnownSid( <
4841 PSID pSid, <
4842 WELL_KNOWN_SID_TYPE WellKnownSidType); <
4843 <
4844 extern(Windows) export BOOL CreateWellKnownSid( <
4845 WELL_KNOWN_SID_TYPE WellKnownSidType, <
4846 PSID DomainSid , <
4847 PSID pSid, <
4848 DWORD *cbSid); <
4849 <
4850 extern(Windows) export BOOL EqualDomainSid( <
4851 PSID pSid1, <
4852 PSID pSid2, <
4853 BOOL *pfEqual); <
4854 <
4855 extern(Windows) export BOOL GetWindowsAccountDomainSid( <
4856 PSID pSid, <
4857 PSID ppDomainSid , <
4858 DWORD *cbSid); <
4859 <
4860 // #endif //(_WIN32_WINNT >= 0x0501) <
4861 <
4862 extern(Windows) export BOOL IsValidSid( <
4863 PSID pSid); <
4864 <
4865 extern(Windows) export BOOL EqualSid( <
4866 PSID pSid1, <
4867 PSID pSid2); <
4868 <
4869 extern(Windows) export BOOL EqualPrefixSid( <
4870 PSID pSid1, <
4871 PSID pSid2); <
4872 <
4873 extern(Windows) export DWORD GetSidLengthRequired( <
4874 UCHAR nSubAuthorityCount); <
4875 <
4876 extern(Windows) export BOOL AllocateAndInitializeSid( <
4877 PSID_IDENTIFIER_AUTHORITY pIdentifierAuthority, <
4878 BYTE nSubAuthorityCount, <
4879 DWORD nSubAuthority0, <
4880 DWORD nSubAuthority1, <
4881 DWORD nSubAuthority2, <
4882 DWORD nSubAuthority3, <
4883 DWORD nSubAuthority4, <
4884 DWORD nSubAuthority5, <
4885 DWORD nSubAuthority6, <
4886 DWORD nSubAuthority7, <
4887 PSID *pSid); <
4888 <
4889 extern(Windows) export PVOID FreeSid( <
4890 PSID pSid); <
4891 <
4892 extern(Windows) export BOOL InitializeSid( <
4893 PSID Sid, <
4894 PSID_IDENTIFIER_AUTHORITY pIdentifierAuthority, <
4895 BYTE nSubAuthorityCount); <
4896 <
4897 extern(Windows) export PSID_IDENTIFIER_AUTHORITY GetSidIdentifierAuthority( <
4898 PSID pSid); <
4899 <
4900 extern(Windows) export PDWORD GetSidSubAuthority( <
4901 PSID pSid, <
4902 DWORD nSubAuthority); <
4903 <
4904 extern(Windows) export PUCHAR GetSidSubAuthorityCount( <
4905 PSID pSid); <
4906 <
4907 extern(Windows) export DWORD GetLengthSid( <
4908 PSID pSid); <
4909 <
4910 extern(Windows) export BOOL CopySid( <
4911 DWORD nDestinationSidLength, <
4912 PSID pDestinationSid, <
4913 PSID pSourceSid); <
4914 <
4915 extern(Windows) export BOOL AreAllAccessesGranted( <
4916 DWORD GrantedAccess, <
4917 DWORD DesiredAccess); <
4918 <
4919 extern(Windows) export BOOL AreAnyAccessesGranted( <
4920 DWORD GrantedAccess, <
4921 DWORD DesiredAccess); <
4922 <
4923 extern(Windows) export VOID MapGenericMask( <
4924 PDWORD AccessMask, <
4925 PGENERIC_MAPPING GenericMapping); <
4926 <
4927 extern(Windows) export BOOL IsValidAcl( <
4928 PACL pAcl); <
4929 <
4930 extern(Windows) export BOOL InitializeAcl( <
4931 PACL pAcl, <
4932 DWORD nAclLength, <
4933 DWORD dwAclRevision); <
4934 <
4935 extern(Windows) export BOOL GetAclInformation( <
4936 PACL pAcl, <
4937 LPVOID pAclInformation, <
4938 DWORD nAclInformationLength, <
4939 ACL_INFORMATION_CLASS dwAclInformationClass); <
4940 <
4941 extern(Windows) export BOOL SetAclInformation( <
4942 PACL pAcl, <
4943 LPVOID pAclInformation, <
4944 DWORD nAclInformationLength, <
4945 ACL_INFORMATION_CLASS dwAclInformationClass); <
4946 <
4947 extern(Windows) export BOOL AddAce( <
4948 PACL pAcl, <
4949 DWORD dwAceRevision, <
4950 DWORD dwStartingAceIndex, <
4951 LPVOID pAceList, <
4952 DWORD nAceListLength); <
4953 <
4954 extern(Windows) export BOOL DeleteAce( <
4955 PACL pAcl, <
4956 DWORD dwAceIndex); <
4957 <
4958 extern(Windows) export BOOL GetAce( <
4959 PACL pAcl, <
4960 DWORD dwAceIndex, <
4961 LPVOID *pAce); <
4962 <
4963 extern(Windows) export BOOL AddAccessAllowedAce( <
4964 PACL pAcl, <
4965 DWORD dwAceRevision, <
4966 DWORD AccessMask, <
4967 PSID pSid); <
4968 <
4969 // #if(_WIN32_WINNT >= 0x0500) <
4970 extern(Windows) export BOOL AddAccessAllowedAceEx( <
4971 PACL pAcl, <
4972 DWORD dwAceRevision, <
4973 DWORD AceFlags, <
4974 DWORD AccessMask, <
4975 PSID pSid); <
4976 // #endif /* _WIN32_WINNT >= 0x0500 */ <
4977 <
4978 extern(Windows) export BOOL AddAccessDeniedAce( <
4979 PACL pAcl, <
4980 DWORD dwAceRevision, <
4981 DWORD AccessMask, <
4982 PSID pSid); <
4983 <
4984 // #if(_WIN32_WINNT >= 0x0500) <
4985 extern(Windows) export BOOL AddAccessDeniedAceEx( <
4986 PACL pAcl, <
4987 DWORD dwAceRevision, <
4988 DWORD AceFlags, <
4989 DWORD AccessMask, <
4990 PSID pSid); <
4991 // #endif /* _WIN32_WINNT >= 0x0500 */ <
4992 <
4993 extern(Windows) export BOOL AddAuditAccessAce( <
4994 PACL pAcl, <
4995 DWORD dwAceRevision, <
4996 DWORD dwAccessMask, <
4997 PSID pSid, <
4998 BOOL bAuditSuccess, <
4999 BOOL bAuditFailure); <
5000 <
5001 // #if(_WIN32_WINNT >= 0x0500) <
5002 extern(Windows) export BOOL AddAuditAccessAceEx( <
5003 PACL pAcl, <
5004 DWORD dwAceRevision, <
5005 DWORD AceFlags, <
5006 DWORD dwAccessMask, <
5007 PSID pSid, <
5008 BOOL bAuditSuccess, <
5009 BOOL bAuditFailure); <
5010 <
5011 extern(Windows) export BOOL AddAccessAllowedObjectAce( <
5012 PACL pAcl, <
5013 DWORD dwAceRevision, <
5014 DWORD AceFlags, <
5015 DWORD AccessMask, <
5016 GUID *ObjectTypeGuid, <
5017 GUID *InheritedObjectTypeGuid, <
5018 PSID pSid); <
5019 <
5020 extern(Windows) export BOOL AddAccessDeniedObjectAce( <
5021 PACL pAcl, <
5022 DWORD dwAceRevision, <
5023 DWORD AceFlags, <
5024 DWORD AccessMask, <
5025 GUID *ObjectTypeGuid, <
5026 GUID *InheritedObjectTypeGuid, <
5027 PSID pSid); <
5028 <
5029 extern(Windows) export BOOL AddAuditAccessObjectAce( <
5030 PACL pAcl, <
5031 DWORD dwAceRevision, <
5032 DWORD AceFlags, <
5033 DWORD AccessMask, <
5034 GUID *ObjectTypeGuid, <
5035 GUID *InheritedObjectTypeGuid, <
5036 PSID pSid, <
5037 BOOL bAuditSuccess, <
5038 BOOL bAuditFailure); <
5039 // #endif /* _WIN32_WINNT >= 0x0500 */ <
5040 <
5041 extern(Windows) export BOOL FindFirstFreeAce( <
5042 PACL pAcl, <
5043 LPVOID *pAce); <
5044 <
5045 extern(Windows) export BOOL InitializeSecurityDescriptor( <
5046 PSECURITY_DESCRIPTOR pSecurityDescriptor, <
5047 DWORD dwRevision); <
5048 <
5049 extern(Windows) export BOOL IsValidSecurityDescriptor( <
5050 PSECURITY_DESCRIPTOR pSecurityDescriptor); <
5051 <
5052 extern(Windows) export DWORD GetSecurityDescriptorLength( <
5053 PSECURITY_DESCRIPTOR pSecurityDescriptor); <
5054 <
5055 extern(Windows) export BOOL GetSecurityDescriptorControl( <
5056 PSECURITY_DESCRIPTOR pSecurityDescriptor, <
5057 PSECURITY_DESCRIPTOR_CONTROL pControl, <
5058 LPDWORD lpdwRevision); <
5059 <
5060 // #if(_WIN32_WINNT >= 0x0500) <
5061 extern(Windows) export BOOL SetSecurityDescriptorControl( <
5062 PSECURITY_DESCRIPTOR pSecurityDescriptor, <
5063 SECURITY_DESCRIPTOR_CONTROL ControlBitsOfInterest, <
5064 SECURITY_DESCRIPTOR_CONTROL ControlBitsToSet); <
5065 // #endif /* _WIN32_WINNT >= 0x0500 */ <
5066 <
5067 extern(Windows) export BOOL SetSecurityDescriptorDacl( <
5068 PSECURITY_DESCRIPTOR pSecurityDescriptor, <
5069 BOOL bDaclPresent, <
5070 PACL pDacl, <
5071 BOOL bDaclDefaulted); <
5072 <
5073 extern(Windows) export BOOL GetSecurityDescriptorDacl( <
5074 PSECURITY_DESCRIPTOR pSecurityDescriptor, <
5075 LPBOOL lpbDaclPresent, <
5076 PACL *pDacl, <
5077 LPBOOL lpbDaclDefaulted); <
5078 <
5079 extern(Windows) export BOOL SetSecurityDescriptorSacl( <
5080 PSECURITY_DESCRIPTOR pSecurityDescriptor, <
5081 BOOL bSaclPresent, <
5082 PACL pSacl, <
5083 BOOL bSaclDefaulted); <
5084 <
5085 extern(Windows) export BOOL GetSecurityDescriptorSacl( <
5086 PSECURITY_DESCRIPTOR pSecurityDescriptor, <
5087 LPBOOL lpbSaclPresent, <
5088 PACL *pSacl, <
5089 LPBOOL lpbSaclDefaulted); <
5090 <
5091 extern(Windows) export BOOL SetSecurityDescriptorOwner( <
5092 PSECURITY_DESCRIPTOR pSecurityDescriptor, <
5093 PSID pOwner, <
5094 BOOL bOwnerDefaulted); <
5095 <
5096 extern(Windows) export BOOL GetSecurityDescriptorOwner( <
5097 PSECURITY_DESCRIPTOR pSecurityDescriptor, <
5098 PSID *pOwner, <
5099 LPBOOL lpbOwnerDefaulted); <
5100 <
5101 extern(Windows) export BOOL SetSecurityDescriptorGroup( <
5102 PSECURITY_DESCRIPTOR pSecurityDescriptor, <
5103 PSID pGroup, <
5104 BOOL bGroupDefaulted); <
5105 <
5106 extern(Windows) export BOOL GetSecurityDescriptorGroup( <
5107 PSECURITY_DESCRIPTOR pSecurityDescriptor, <
5108 PSID *pGroup, <
5109 LPBOOL lpbGroupDefaulted); <
5110 <
5111 extern(Windows) export DWORD SetSecurityDescriptorRMControl( <
5112 PSECURITY_DESCRIPTOR SecurityDescriptor, <
5113 PUCHAR RMControl ); <
5114 <
5115 extern(Windows) export DWORD GetSecurityDescriptorRMControl( <
5116 PSECURITY_DESCRIPTOR SecurityDescriptor, <
5117 PUCHAR RMControl); <
5118 <
5119 extern(Windows) export BOOL CreatePrivateObjectSecurity( <
5120 PSECURITY_DESCRIPTOR ParentDescriptor, <
5121 PSECURITY_DESCRIPTOR CreatorDescriptor, <
5122 PSECURITY_DESCRIPTOR * NewDescriptor, <
5123 BOOL IsDirectoryObject, <
5124 HANDLE Token, <
5125 PGENERIC_MAPPING GenericMapping); <
5126 <
5127 // #if(_WIN32_WINNT >= 0x0500) <
5128 extern(Windows) export BOOL ConvertToAutoInheritPrivateObjectSecurity( <
5129 PSECURITY_DESCRIPTOR ParentDescriptor, <
5130 PSECURITY_DESCRIPTOR CurrentSecurityDescriptor, <
5131 PSECURITY_DESCRIPTOR *NewSecurityDescriptor, <
5132 GUID *ObjectType, <
5133 BOOLEAN IsDirectoryObject, <
5134 PGENERIC_MAPPING GenericMapping); <
5135 <
5136 extern(Windows) export BOOL CreatePrivateObjectSecurityEx( <
5137 PSECURITY_DESCRIPTOR ParentDescriptor, <
5138 PSECURITY_DESCRIPTOR CreatorDescriptor, <
5139 PSECURITY_DESCRIPTOR * NewDescriptor, <
5140 GUID *ObjectType , <
5141 BOOL IsContainerObject, <
5142 ULONG AutoInheritFlags, <
5143 HANDLE Token, <
5144 PGENERIC_MAPPING GenericMapping); <
5145 <
5146 extern(Windows) export BOOL CreatePrivateObjectSecurityWithMultipleInheritance( <
5147 PSECURITY_DESCRIPTOR ParentDescriptor, <
5148 PSECURITY_DESCRIPTOR CreatorDescriptor, <
5149 PSECURITY_DESCRIPTOR * NewDescriptor, <
5150 GUID **ObjectTypes , <
5151 ULONG GuidCount, <
5152 BOOL IsContainerObject, <
5153 ULONG AutoInheritFlags, <
5154 HANDLE Token, <
5155 PGENERIC_MAPPING GenericMapping); <
5156 // #endif /* _WIN32_WINNT >= 0x0500 */ <
5157 <
5158 extern(Windows) export BOOL SetPrivateObjectSecurity( <
5159 SECURITY_INFORMATION SecurityInformation, <
5160 PSECURITY_DESCRIPTOR ModificationDescriptor, <
5161 PSECURITY_DESCRIPTOR *ObjectsSecurityDescriptor, <
5162 PGENERIC_MAPPING GenericMapping, <
5163 HANDLE Token); <
5164 <
5165 // #if(_WIN32_WINNT >= 0x0500) <
5166 extern(Windows) export BOOL SetPrivateObjectSecurityEx( <
5167 SECURITY_INFORMATION SecurityInformation, <
5168 PSECURITY_DESCRIPTOR ModificationDescriptor, <
5169 PSECURITY_DESCRIPTOR *ObjectsSecurityDescriptor, <
5170 ULONG AutoInheritFlags, <
5171 PGENERIC_MAPPING GenericMapping, <
5172 HANDLE Token ); <
5173 // #endif /* _WIN32_WINNT >= 0x0500 */ <
5174 <
5175 extern(Windows) export BOOL GetPrivateObjectSecurity( <
5176 PSECURITY_DESCRIPTOR ObjectDescriptor, <
5177 SECURITY_INFORMATION SecurityInformation, <
5178 PSECURITY_DESCRIPTOR ResultantDescriptor, <
5179 DWORD DescriptorLength, <
5180 PDWORD ReturnLength); <
5181 <
5182 extern(Windows) export BOOL DestroyPrivateObjectSecurity( <
5183 PSECURITY_DESCRIPTOR * ObjectDescriptor); <
5184 <
5185 extern(Windows) export BOOL MakeSelfRelativeSD( <
5186 PSECURITY_DESCRIPTOR pAbsoluteSecurityDescriptor, <
5187 PSECURITY_DESCRIPTOR pSelfRelativeSecurityDescriptor, <
5188 LPDWORD lpdwBufferLength); <
5189 <
5190 extern(Windows) export BOOL MakeAbsoluteSD( <
5191 PSECURITY_DESCRIPTOR pSelfRelativeSecurityDescriptor, <
5192 PSECURITY_DESCRIPTOR pAbsoluteSecurityDescriptor, <
5193 LPDWORD lpdwAbsoluteSecurityDescriptorSize, <
5194 PACL pDacl, <
5195 LPDWORD lpdwDaclSize, <
5196 PACL pSacl, <
5197 LPDWORD lpdwSaclSize, <
5198 PSID pOwner, <
5199 LPDWORD lpdwOwnerSize, <
5200 PSID pPrimaryGroup, <
5201 LPDWORD lpdwPrimaryGroupSize); <
5202 <
5203 extern(Windows) export BOOL MakeAbsoluteSD2( <
5204 PSECURITY_DESCRIPTOR pSelfRelativeSecurityDescriptor, <
5205 LPDWORD lpdwBufferSize); <
5206 <
5207 extern(Windows) export BOOL SetFileSecurityA( <
5208 LPCSTR lpFileName, <
5209 SECURITY_INFORMATION SecurityInformation, <
5210 PSECURITY_DESCRIPTOR pSecurityDescriptor); <
5211 extern(Windows) export BOOL SetFileSecurityW( <
5212 LPCWSTR lpFileName, <
5213 SECURITY_INFORMATION SecurityInformation, <
5214 PSECURITY_DESCRIPTOR pSecurityDescriptor); <
5215 // #ifdef UNICODE <
5216 alias SetFileSecurityW SetFileSecurity; <
5217 // #else <
5218 // #... <
5219 // #endif // !UNICODE <
5220 <
5221 extern(Windows) export BOOL GetFileSecurityA( <
5222 LPCSTR lpFileName, <
5223 SECURITY_INFORMATION RequestedInformation, <
5224 PSECURITY_DESCRIPTOR pSecurityDescriptor, <
5225 DWORD nLength, <
5226 LPDWORD lpnLengthNeeded); <
5227 extern(Windows) export BOOL GetFileSecurityW( <
5228 LPCWSTR lpFileName, <
5229 SECURITY_INFORMATION RequestedInformation, <
5230 PSECURITY_DESCRIPTOR pSecurityDescriptor, <
5231 DWORD nLength, <
5232 LPDWORD lpnLengthNeeded); <
5233 // #ifdef UNICODE <
5234 alias GetFileSecurityW GetFileSecurity; <
5235 // #else <
5236 // #... <
5237 // #endif // !UNICODE <
5238 <
5239 extern(Windows) export BOOL SetKernelObjectSecurity( <
5240 HANDLE Handle, <
5241 SECURITY_INFORMATION SecurityInformation, <
5242 PSECURITY_DESCRIPTOR SecurityDescriptor); <
5243 <
5244 extern(Windows) export HANDLE FindFirstChangeNotificationA( <
5245 LPCSTR lpPathName, <
5246 BOOL bWatchSubtree, <
5247 DWORD dwNotifyFilter); <
5248 extern(Windows) export HANDLE FindFirstChangeNotificationW( <
5249 LPCWSTR lpPathName, <
5250 BOOL bWatchSubtree, <
5251 DWORD dwNotifyFilter); <
5252 // #ifdef UNICODE <
5253 alias FindFirstChangeNotificationW FindFirstChangeNotification; <
5254 // #else <
5255 // #... <
5256 // #endif // !UNICODE <
5257 <
5258 extern(Windows) export BOOL FindNextChangeNotification( <
5259 HANDLE hChangeHandle); <
5260 <
5261 extern(Windows) export BOOL FindCloseChangeNotification( <
5262 HANDLE hChangeHandle); <
5263 <
5264 // #if(_WIN32_WINNT >= 0x0400) <
5265 extern(Windows) export BOOL ReadDirectoryChangesW( <
5266 HANDLE hDirectory, <
5267 LPVOID lpBuffer, <
5268 DWORD nBufferLength, <
5269 BOOL bWatchSubtree, <
5270 DWORD dwNotifyFilter, <
5271 LPDWORD lpBytesReturned, <
5272 LPOVERLAPPED lpOverlapped, <
5273 LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine); <
5274 // #endif /* _WIN32_WINNT >= 0x0400 */ <
5275 <
5276 extern(Windows) export BOOL VirtualLock( <
5277 LPVOID lpAddress, <
5278 SIZE_T dwSize); <
5279 <
5280 extern(Windows) export BOOL VirtualUnlock( <
5281 LPVOID lpAddress, <
5282 SIZE_T dwSize); <
5283 <
5284 extern(Windows) export LPVOID MapViewOfFileEx( <
5285 HANDLE hFileMappingObject, <
5286 DWORD dwDesiredAccess, <
5287 DWORD dwFileOffsetHigh, <
5288 DWORD dwFileOffsetLow, <
5289 SIZE_T dwNumberOfBytesToMap, <
5290 LPVOID lpBaseAddress); <
5291 <
5292 extern(Windows) export BOOL SetPriorityClass( <
5293 HANDLE hProcess, <
5294 DWORD dwPriorityClass); <
5295 <
5296 extern(Windows) export DWORD GetPriorityClass( <
5297 HANDLE hProcess); <
5298 <
5299 extern(Windows) export BOOL IsBadReadPtr( <
5300 VOID *lp, <
5301 UINT_PTR ucb); <
5302 <
5303 extern(Windows) export BOOL IsBadWritePtr( <
5304 LPVOID lp, <
5305 UINT_PTR ucb); <
5306 <
5307 extern(Windows) export BOOL IsBadHugeReadPtr( <
5308 VOID *lp, <
5309 UINT_PTR ucb); <
5310 <
5311 extern(Windows) export BOOL IsBadHugeWritePtr( <
5312 LPVOID lp, <
5313 UINT_PTR ucb); <
5314 <
5315 extern(Windows) export BOOL IsBadCodePtr( <
5316 FARPROC lpfn); <
5317 <
5318 extern(Windows) export BOOL IsBadStringPtrA( <
5319 LPCSTR lpsz, <
5320 UINT_PTR ucchMax); <
5321 extern(Windows) export BOOL IsBadStringPtrW( <
5322 LPCWSTR lpsz, <
5323 UINT_PTR ucchMax); <
5324 // #ifdef UNICODE <
5325 alias IsBadStringPtrW IsBadStringPtr; <
5326 // #else <
5327 // #... <
5328 // #endif // !UNICODE <
5329 <
5330 extern(Windows) export BOOL LookupAccountSidA( <
5331 LPCSTR lpSystemName, <
5332 PSID Sid, <
5333 LPSTR Name, <
5334 LPDWORD cbName, <
5335 LPSTR ReferencedDomainName, <
5336 LPDWORD cbReferencedDomainName, <
5337 PSID_NAME_USE peUse); <
5338 extern(Windows) export BOOL LookupAccountSidW( <
5339 LPCWSTR lpSystemName, <
5340 PSID Sid, <
5341 LPWSTR Name, <
5342 LPDWORD cbName, <
5343 LPWSTR ReferencedDomainName, <
5344 LPDWORD cbReferencedDomainName, <
5345 PSID_NAME_USE peUse); <
5346 // #ifdef UNICODE <
5347 alias LookupAccountSidW LookupAccountSid; <
5348 // #else <
5349 // #... <
5350 // #endif // !UNICODE <
5351 <
5352 extern(Windows) export BOOL LookupAccountNameA( <
5353 LPCSTR lpSystemName, <
5354 LPCSTR lpAccountName, <
5355 PSID Sid, <
5356 LPDWORD cbSid, <
5357 LPSTR ReferencedDomainName, <
5358 LPDWORD cbReferencedDomainName, <
5359 PSID_NAME_USE peUse); <
5360 extern(Windows) export BOOL LookupAccountNameW( <
5361 LPCWSTR lpSystemName, <
5362 LPCWSTR lpAccountName, <
5363 PSID Sid, <
5364 LPDWORD cbSid, <
5365 LPWSTR ReferencedDomainName, <
5366 LPDWORD cbReferencedDomainName, <
5367 PSID_NAME_USE peUse); <
5368 // #ifdef UNICODE <
5369 alias LookupAccountNameW LookupAccountName; <
5370 // #else <
5371 // #... <
5372 // #endif // !UNICODE <
5373 <
5374 extern(Windows) export BOOL LookupPrivilegeValueA( <
5375 LPCSTR lpSystemName, <
5376 LPCSTR lpName, <
5377 PLUID lpLuid); <
5378 extern(Windows) export BOOL LookupPrivilegeValueW( <
5379 LPCWSTR lpSystemName, <
5380 LPCWSTR lpName, <
5381 PLUID lpLuid); <
5382 // #ifdef UNICODE <
5383 alias LookupPrivilegeValueW LookupPrivilegeValue; <
5384 // #else <
5385 // #... <
5386 // #endif // !UNICODE <
5387 <
5388 extern(Windows) export BOOL LookupPrivilegeNameA( <
5389 LPCSTR lpSystemName, <
5390 PLUID lpLuid, <
5391 LPSTR lpName, <
5392 LPDWORD cbName); <
5393 extern(Windows) export BOOL LookupPrivilegeNameW( <
5394 LPCWSTR lpSystemName, <
5395 PLUID lpLuid, <
5396 LPWSTR lpName, <
5397 LPDWORD cbName); <
5398 // #ifdef UNICODE <
5399 alias LookupPrivilegeNameW LookupPrivilegeName; <
5400 // #else <
5401 // #... <
5402 // #endif // !UNICODE <
5403 <
5404 extern(Windows) export BOOL LookupPrivilegeDisplayNameA( <
5405 LPCSTR lpSystemName, <
5406 LPCSTR lpName, <
5407 LPSTR lpDisplayName, <
5408 LPDWORD cbDisplayName, <
5409 LPDWORD lpLanguageId); <
5410 extern(Windows) export BOOL LookupPrivilegeDisplayNameW( <
5411 LPCWSTR lpSystemName, <
5412 LPCWSTR lpName, <
5413 LPWSTR lpDisplayName, <
5414 LPDWORD cbDisplayName, <
5415 LPDWORD lpLanguageId); <
5416 // #ifdef UNICODE <
5417 alias LookupPrivilegeDisplayNameW LookupPrivilegeDisplayName; <
5418 // #else <
5419 // #... <
5420 // #endif // !UNICODE <
5421 <
5422 extern(Windows) export BOOL AllocateLocallyUniqueId( <
5423 PLUID Luid); <
5424 <
5425 extern(Windows) export BOOL BuildCommDCBA( <
5426 LPCSTR lpDef, <
5427 LPDCB lpDCB); <
5428 extern(Windows) export BOOL BuildCommDCBW( <
5429 LPCWSTR lpDef, <
5430 LPDCB lpDCB); <
5431 // #ifdef UNICODE <
5432 alias BuildCommDCBW BuildCommDCB; <
5433 // #else <
5434 // #... <
5435 // #endif // !UNICODE <
5436 <
5437 extern(Windows) export BOOL BuildCommDCBAndTimeoutsA( <
5438 LPCSTR lpDef, <
5439 LPDCB lpDCB, <
5440 LPCOMMTIMEOUTS lpCommTimeouts); <
5441 extern(Windows) export BOOL BuildCommDCBAndTimeoutsW( <
5442 LPCWSTR lpDef, <
5443 LPDCB lpDCB, <
5444 LPCOMMTIMEOUTS lpCommTimeouts); <
5445 // #ifdef UNICODE <
5446 alias BuildCommDCBAndTimeoutsW BuildCommDCBAndTimeouts; <
5447 // #else <
5448 // #... <
5449 // #endif // !UNICODE <
5450 <
5451 extern(Windows) export BOOL CommConfigDialogA( <
5452 LPCSTR lpszName, <
5453 HWND hWnd, <
5454 LPCOMMCONFIG lpCC); <
5455 extern(Windows) export BOOL CommConfigDialogW( <
5456 LPCWSTR lpszName, <
5457 HWND hWnd, <
5458 LPCOMMCONFIG lpCC); <
5459 // #ifdef UNICODE <
5460 alias CommConfigDialogW CommConfigDialog; <
5461 // #else <
5462 // #... <
5463 // #endif // !UNICODE <
5464 <
5465 extern(Windows) export BOOL GetDefaultCommConfigA( <
5466 LPCSTR lpszName, <
5467 LPCOMMCONFIG lpCC, <
5468 LPDWORD lpdwSize); <
5469 extern(Windows) export BOOL GetDefaultCommConfigW( <
5470 LPCWSTR lpszName, <
5471 LPCOMMCONFIG lpCC, <
5472 LPDWORD lpdwSize); <
5473 // #ifdef UNICODE <
5474 alias GetDefaultCommConfigW GetDefaultCommConfig; <
5475 // #else <
5476 // #... <
5477 // #endif // !UNICODE <
5478 <
5479 extern(Windows) export BOOL SetDefaultCommConfigA( <
5480 LPCSTR lpszName, <
5481 LPCOMMCONFIG lpCC, <
5482 DWORD dwSize); <
5483 extern(Windows) export BOOL SetDefaultCommConfigW( <
5484 LPCWSTR lpszName, <
5485 LPCOMMCONFIG lpCC, <
5486 DWORD dwSize); <
5487 // #ifdef UNICODE <
5488 alias SetDefaultCommConfigW SetDefaultCommConfig; <
5489 // #else <
5490 // #... <
5491 // #endif // !UNICODE <
5492 <
5493 // #ifndef _MAC <
5494 enum : uint { MAX_COMPUTERNAME_LENGTH = 15 } <
5495 // #else <
5496 // #... <
5497 // #endif <
5498 <
5499 extern(Windows) export BOOL GetComputerNameA( <
5500 LPSTR lpBuffer, <
5501 LPDWORD nSize); <
5502 extern(Windows) export BOOL GetComputerNameW( <
5503 LPWSTR lpBuffer, <
5504 LPDWORD nSize); <
5505 // #ifdef UNICODE <
5506 alias GetComputerNameW GetComputerName; <
5507 // #else <
5508 // #... <
5509 // #endif // !UNICODE <
5510 <
5511 extern(Windows) export BOOL SetComputerNameA( <
5512 LPCSTR lpComputerName); <
5513 extern(Windows) export BOOL SetComputerNameW( <
5514 LPCWSTR lpComputerName); <
5515 // #ifdef UNICODE <
5516 alias SetComputerNameW SetComputerName; <
5517 // #else <
5518 // #... <
5519 // #endif // !UNICODE <
5520 <
5521 // #if (_WIN32_WINNT >= 0x0500) <
5522 <
5523 alias int _COMPUTER_NAME_FORMAT; <
5524 enum { <
5525 ComputerNameNetBIOS, <
5526 ComputerNameDnsHostname, <
5527 ComputerNameDnsDomain, <
5528 ComputerNameDnsFullyQualified, <
5529 ComputerNamePhysicalNetBIOS, <
5530 ComputerNamePhysicalDnsHostname, <
5531 ComputerNamePhysicalDnsDomain, <
5532 ComputerNamePhysicalDnsFullyQualified, <
5533 ComputerNameMax, <
5534 } <
5535 alias _COMPUTER_NAME_FORMAT COMPUTER_NAME_FORMAT; <
5536 <
5537 extern(Windows) export BOOL GetComputerNameExA( <
5538 COMPUTER_NAME_FORMAT NameType, <
5539 LPSTR lpBuffer, <
5540 LPDWORD nSize); <
5541 extern(Windows) export BOOL GetComputerNameExW( <
5542 COMPUTER_NAME_FORMAT NameType, <
5543 LPWSTR lpBuffer, <
5544 LPDWORD nSize); <
5545 // #ifdef UNICODE <
5546 alias GetComputerNameExW GetComputerNameEx; <
5547 // #else <
5548 // #... <
5549 // #endif // !UNICODE <
5550 <
5551 extern(Windows) export BOOL SetComputerNameExA( <
5552 COMPUTER_NAME_FORMAT NameType, <
5553 LPCSTR lpBuffer); <
5554 extern(Windows) export BOOL SetComputerNameExW( <
5555 COMPUTER_NAME_FORMAT NameType, <
5556 LPCWSTR lpBuffer); <
5557 // #ifdef UNICODE <
5558 alias SetComputerNameExW SetComputerNameEx; <
5559 // #else <
5560 // #... <
5561 // #endif // !UNICODE <
5562 <
5563 extern(Windows) export DWORD AddLocalAlternateComputerNameA( <
5564 LPCSTR lpDnsFQHostname, <
5565 ULONG ulFlags); <
5566 extern(Windows) export DWORD AddLocalAlternateComputerNameW( <
5567 LPCWSTR lpDnsFQHostname, <
5568 ULONG ulFlags); <
5569 // #ifdef UNICODE <
5570 alias AddLocalAlternateComputerNameW AddLocalAlternateComputerName; <
5571 // #else <
5572 // #... <
5573 // #endif // !UNICODE <
5574 <
5575 extern(Windows) export DWORD RemoveLocalAlternateComputerNameA( <
5576 LPCSTR lpAltDnsFQHostname, <
5577 ULONG ulFlags); <
5578 extern(Windows) export DWORD RemoveLocalAlternateComputerNameW( <
5579 LPCWSTR lpAltDnsFQHostname, <
5580 ULONG ulFlags); <
5581 // #ifdef UNICODE <
5582 alias RemoveLocalAlternateComputerNameW RemoveLocalAlternateComputerName; <
5583 // #else <
5584 // #... <
5585 // #endif // !UNICODE <
5586 <
5587 extern(Windows) export DWORD SetLocalPrimaryComputerNameA( <
5588 LPCSTR lpAltDnsFQHostname, <
5589 ULONG ulFlags); <
5590 extern(Windows) export DWORD SetLocalPrimaryComputerNameW( <
5591 LPCWSTR lpAltDnsFQHostname, <
5592 ULONG ulFlags); <
5593 // #ifdef UNICODE <
5594 alias SetLocalPrimaryComputerNameW SetLocalPrimaryComputerName; <
5595 // #else <
5596 // #... <
5597 // #endif // !UNICODE <
5598 <
5599 alias int _COMPUTER_NAME_TYPE; <
5600 enum { <
5601 PrimaryComputerName, <
5602 AlternateComputerNames, <
5603 AllComputerNames, <
5604 ComputerNameTypeMax, <
5605 } <
5606 alias _COMPUTER_NAME_TYPE COMPUTER_NAME_TYPE; <
5607 <
5608 extern(Windows) export DWORD EnumerateLocalComputerNamesA( <
5609 COMPUTER_NAME_TYPE NameType, <
5610 ULONG ulFlags, <
5611 LPSTR lpDnsFQHostname, <
5612 LPDWORD nSize); <
5613 extern(Windows) export DWORD EnumerateLocalComputerNamesW( <
5614 COMPUTER_NAME_TYPE NameType, <
5615 ULONG ulFlags, <
5616 LPWSTR lpDnsFQHostname, <
5617 LPDWORD nSize); <
5618 // #ifdef UNICODE <
5619 alias EnumerateLocalComputerNamesW EnumerateLocalComputerNames; <
5620 // #else <
5621 // #... <
5622 // #endif // !UNICODE <
5623 <
5624 extern(Windows) export BOOL DnsHostnameToComputerNameA( <
5625 LPCSTR Hostname, <
5626 LPSTR ComputerName, <
5627 LPDWORD nSize); <
5628 extern(Windows) export BOOL DnsHostnameToComputerNameW( <
5629 LPCWSTR Hostname, <
5630 LPWSTR ComputerName, <
5631 LPDWORD nSize); <
5632 // #ifdef UNICODE <
5633 alias DnsHostnameToComputerNameW DnsHostnameToComputerName; <
5634 // #else <
5635 // #... <
5636 // #endif // !UNICODE <
5637 <
5638 // #endif // _WIN32_WINNT <
5639 <
5640 extern(Windows) export BOOL GetUserNameA( <
5641 LPSTR lpBuffer, <
5642 LPDWORD nSize); <
5643 extern(Windows) export BOOL GetUserNameW( <
5644 LPWSTR lpBuffer, <
5645 LPDWORD nSize); <
5646 // #ifdef UNICODE <
5647 alias GetUserNameW GetUserName; <
5648 // #else <
5649 // #... <
5650 // #endif // !UNICODE <
5651 <
5652 enum : uint { LOGON32_LOGON_INTERACTIVE = 2 } <
5653 enum : uint { LOGON32_LOGON_NETWORK = 3 } <
5654 enum : uint { LOGON32_LOGON_BATCH = 4 } <
5655 enum : uint { LOGON32_LOGON_SERVICE = 5 } <
5656 enum : uint { LOGON32_LOGON_UNLOCK = 7 } <
5657 // #if(_WIN32_WINNT >= 0x0500) <
5658 enum : uint { LOGON32_LOGON_NETWORK_CLEARTEXT = 8 } <
5659 enum : uint { LOGON32_LOGON_NEW_CREDENTIALS = 9 } <
5660 // #endif // (_WIN32_WINNT >= 0x0500) <
5661 <
5662 enum : uint { LOGON32_PROVIDER_DEFAULT = 0 } <
5663 enum : uint { LOGON32_PROVIDER_WINNT35 = 1 } <
5664 // #if(_WIN32_WINNT >= 0x0400) <
5665 enum : uint { LOGON32_PROVIDER_WINNT40 = 2 } <
5666 // #endif /* _WIN32_WINNT >= 0x0400 */ <
5667 // #if(_WIN32_WINNT >= 0x0500) <
5668 enum : uint { LOGON32_PROVIDER_WINNT50 = 3 } <
5669 // #endif // (_WIN32_WINNT >= 0x0500) <
5670 <
5671 extern(Windows) export BOOL LogonUserA( <
5672 LPSTR lpszUsername, <
5673 LPSTR lpszDomain, <
5674 LPSTR lpszPassword, <
5675 DWORD dwLogonType, <
5676 DWORD dwLogonProvider, <
5677 PHANDLE phToken); <
5678 extern(Windows) export BOOL LogonUserW( <
5679 LPWSTR lpszUsername, <
5680 LPWSTR lpszDomain, <
5681 LPWSTR lpszPassword, <
5682 DWORD dwLogonType, <
5683 DWORD dwLogonProvider, <
5684 PHANDLE phToken); <
5685 // #ifdef UNICODE <
5686 alias LogonUserW LogonUser; <
5687 // #else <
5688 // #... <
5689 // #endif // !UNICODE <
5690 <
5691 extern(Windows) export BOOL LogonUserExA( <
5692 LPSTR lpszUsername, <
5693 LPSTR lpszDomain, <
5694 LPSTR lpszPassword, <
5695 DWORD dwLogonType, <
5696 DWORD dwLogonProvider, <
5697 PHANDLE phToken , <
5698 PSID *ppLogonSid , <
5699 PVOID *ppProfileBuffer , <
5700 LPDWORD pdwProfileLength , <
5701 PQUOTA_LIMITS pQuotaLimits ); <
5702 extern(Windows) export BOOL LogonUserExW( <
5703 LPWSTR lpszUsername, <
5704 LPWSTR lpszDomain, <
5705 LPWSTR lpszPassword, <
5706 DWORD dwLogonType, <
5707 DWORD dwLogonProvider, <
5708 PHANDLE phToken , <
5709 PSID *ppLogonSid , <
5710 PVOID *ppProfileBuffer , <
5711 LPDWORD pdwProfileLength , <
5712 PQUOTA_LIMITS pQuotaLimits ); <
5713 // #ifdef UNICODE <
5714 alias LogonUserExW LogonUserEx; <
5715 // #else <
5716 // #... <
5717 // #endif // !UNICODE <
5718 <
5719 extern(Windows) export BOOL ImpersonateLoggedOnUser( <
5720 HANDLE hToken); <
5721 <
5722 extern(Windows) export BOOL CreateProcessAsUserA( <
5723 HANDLE hToken, <
5724 LPCSTR lpApplicationName, <
5725 LPSTR lpCommandLine, <
5726 LPSECURITY_ATTRIBUTES lpProcessAttributes, <
5727 LPSECURITY_ATTRIBUTES lpThreadAttributes, <
5728 BOOL bInheritHandles, <
5729 DWORD dwCreationFlags, <
5730 LPVOID lpEnvironment, <
5731 LPCSTR lpCurrentDirectory, <
5732 LPSTARTUPINFOA lpStartupInfo, <
5733 LPPROCESS_INFORMATION lpProcessInformation); <
5734 extern(Windows) export BOOL CreateProcessAsUserW( <
5735 HANDLE hToken, <
5736 LPCWSTR lpApplicationName, <
5737 LPWSTR lpCommandLine, <
5738 LPSECURITY_ATTRIBUTES lpProcessAttributes, <
5739 LPSECURITY_ATTRIBUTES lpThreadAttributes, <
5740 BOOL bInheritHandles, <
5741 DWORD dwCreationFlags, <
5742 LPVOID lpEnvironment, <
5743 LPCWSTR lpCurrentDirectory, <
5744 LPSTARTUPINFOW lpStartupInfo, <
5745 LPPROCESS_INFORMATION lpProcessInformation); <
5746 // #ifdef UNICODE <
5747 alias CreateProcessAsUserW CreateProcessAsUser; <
5748 // #else <
5749 // #... <
5750 // #endif // !UNICODE <
5751 <
5752 // #if(_WIN32_WINNT >= 0x0500) <
5753 <
5754 enum : uint { LOGON_WITH_PROFILE = 0x00000001 } <
5755 enum : uint { LOGON_NETCREDENTIALS_ONLY = 0x00000002 } <
5756 <
5757 extern(Windows) export BOOL CreateProcessWithLogonW( <
5758 LPCWSTR lpUsername, <
5759 LPCWSTR lpDomain, <
5760 LPCWSTR lpPassword, <
5761 DWORD dwLogonFlags, <
5762 LPCWSTR lpApplicationName, <
5763 LPWSTR lpCommandLine, <
5764 DWORD dwCreationFlags, <
5765 LPVOID lpEnvironment, <
5766 LPCWSTR lpCurrentDirectory, <
5767 LPSTARTUPINFOW lpStartupInfo, <
5768 LPPROCESS_INFORMATION lpProcessInformation); <
5769 <
5770 // #endif // (_WIN32_WINNT >= 0x0500) <
5771 <
5772 extern(Windows) export BOOL ImpersonateAnonymousToken( <
5773 HANDLE ThreadHandle); <
5774 <
5775 extern(Windows) export BOOL DuplicateTokenEx( <
5776 HANDLE hExistingToken, <
5777 DWORD dwDesiredAccess, <
5778 LPSECURITY_ATTRIBUTES lpTokenAttributes, <
5779 SECURITY_IMPERSONATION_LEVEL ImpersonationLevel, <
5780 TOKEN_TYPE TokenType, <
5781 PHANDLE phNewToken); <
5782 <
5783 extern(Windows) export BOOL CreateRestrictedToken( <
5784 HANDLE ExistingTokenHandle, <
5785 DWORD Flags, <
5786 DWORD DisableSidCount, <
5787 PSID_AND_ATTRIBUTES SidsToDisable , <
5788 DWORD DeletePrivilegeCount, <
5789 PLUID_AND_ATTRIBUTES PrivilegesToDelete , <
5790 DWORD RestrictedSidCount, <
5791 PSID_AND_ATTRIBUTES SidsToRestrict , <
5792 PHANDLE NewTokenHandle); <
5793 <
5794 extern(Windows) export BOOL IsTokenRestricted( <
5795 HANDLE TokenHandle); <
5796 <
5797 extern(Windows) export BOOL IsTokenUntrusted( <
5798 HANDLE TokenHandle); <
5799 <
5800 extern(Windows) export BOOL CheckTokenMembership( <
5801 HANDLE TokenHandle , <
5802 PSID SidToCheck, <
5803 PBOOL IsMember); <
5804 <
5805 // #if (_WIN32_WINNT >= 0x0500) <
5806 <
5807 alias WAITORTIMERCALLBACKFUNC WAITORTIMERCALLBACK; <
5808 <
5809 extern(Windows) export BOOL RegisterWaitForSingleObject( <
5810 PHANDLE phNewWaitObject, <
5811 HANDLE hObject, <
5812 WAITORTIMERCALLBACK Callback, <
5813 PVOID Context, <
5814 ULONG dwMilliseconds, <
5815 ULONG dwFlags); <
5816 <
5817 extern(Windows) export HANDLE RegisterWaitForSingleObjectEx( <
5818 HANDLE hObject, <
5819 WAITORTIMERCALLBACK Callback, <
5820 PVOID Context, <
5821 ULONG dwMilliseconds, <
5822 ULONG dwFlags); <
5823 <
5824 extern(Windows) export BOOL UnregisterWait( <
5825 HANDLE WaitHandle); <
5826 <
5827 extern(Windows) export BOOL UnregisterWaitEx( <
5828 HANDLE WaitHandle, <
5829 HANDLE CompletionEvent); <
5830 <
5831 extern(Windows) export BOOL QueueUserWorkItem( <
5832 LPTHREAD_START_ROUTINE Function, <
5833 PVOID Context, <
5834 ULONG Flags); <
5835 <
5836 extern(Windows) export BOOL BindIoCompletionCallback( <
5837 HANDLE FileHandle, <
5838 LPOVERLAPPED_COMPLETION_ROUTINE Function, <
5839 ULONG Flags); <
5840 <
5841 extern(Windows) export HANDLE CreateTimerQueue(); <
5842 <
5843 extern(Windows) export BOOL CreateTimerQueueTimer( <
5844 PHANDLE phNewTimer, <
5845 HANDLE TimerQueue, <
5846 WAITORTIMERCALLBACK Callback, <
5847 PVOID Parameter, <
5848 DWORD DueTime, <
5849 DWORD Period, <
5850 ULONG Flags); <
5851 <
5852 extern(Windows) export BOOL ChangeTimerQueueTimer( <
5853 HANDLE TimerQueue, <
5854 HANDLE Timer, <
5855 ULONG DueTime, <
5856 ULONG Period); <
5857 <
5858 extern(Windows) export BOOL DeleteTimerQueueTimer( <
5859 HANDLE TimerQueue, <
5860 HANDLE Timer, <
5861 HANDLE CompletionEvent); <
5862 <
5863 extern(Windows) export BOOL DeleteTimerQueueEx( <
5864 HANDLE TimerQueue, <
5865 HANDLE CompletionEvent); <
5866 <
5867 extern(Windows) export HANDLE SetTimerQueueTimer( <
5868 HANDLE TimerQueue, <
5869 WAITORTIMERCALLBACK Callback, <
5870 PVOID Parameter, <
5871 DWORD DueTime, <
5872 DWORD Period, <
5873 BOOL PreferIo); <
5874 <
5875 extern(Windows) export BOOL CancelTimerQueueTimer( <
5876 HANDLE TimerQueue, <
5877 HANDLE Timer); <
5878 <
5879 extern(Windows) export BOOL DeleteTimerQueue( <
5880 HANDLE TimerQueue); <
5881 <
5882 // #endif // _WIN32_WINNT <
5883 <
5884 // #if(_WIN32_WINNT >= 0x0400) <
5885 <
5886 enum : uint { HW_PROFILE_GUIDLEN = 39 } <
5887 enum : uint { MAX_PROFILE_LEN = 80 } <
5888 <
5889 enum : uint { DOCKINFO_UNDOCKED = 0x1 } <
5890 enum : uint { DOCKINFO_DOCKED = 0x2 } <
5891 enum : uint { DOCKINFO_USER_SUPPLIED = 0x4 } <
5892 enum : uint { DOCKINFO_USER_UNDOCKED = DOCKINFO_USER_SUPPLIED | DOCKINFO_UNDOCKE <
5893 enum : uint { DOCKINFO_USER_DOCKED = DOCKINFO_USER_SUPPLIED | DOCKINFO_DOCKED } <
5894 <
5895 struct tagHW_PROFILE_INFOA { <
5896 DWORD dwDockInfo; <
5897 CHAR szHwProfileGuid[HW_PROFILE_GUIDLEN]; <
5898 CHAR szHwProfileName[MAX_PROFILE_LEN]; <
5899 } <
5900 alias tagHW_PROFILE_INFOA HW_PROFILE_INFOA; <
5901 alias tagHW_PROFILE_INFOA* LPHW_PROFILE_INFOA; <
5902 <
5903 struct tagHW_PROFILE_INFOW { <
5904 DWORD dwDockInfo; <
5905 WCHAR szHwProfileGuid[HW_PROFILE_GUIDLEN]; <
5906 WCHAR szHwProfileName[MAX_PROFILE_LEN]; <
5907 } <
5908 alias tagHW_PROFILE_INFOW HW_PROFILE_INFOW; <
5909 alias tagHW_PROFILE_INFOW* LPHW_PROFILE_INFOW; <
5910 <
5911 // #ifdef UNICODE <
5912 alias HW_PROFILE_INFOW HW_PROFILE_INFO; <
5913 alias LPHW_PROFILE_INFOW LPHW_PROFILE_INFO; <
5914 // #else <
5915 // ... <
5916 // #endif // UNICODE <
5917 <
5918 extern(Windows) export BOOL GetCurrentHwProfileA( <
5919 LPHW_PROFILE_INFOA lpHwProfileInfo); <
5920 extern(Windows) export BOOL GetCurrentHwProfileW( <
5921 LPHW_PROFILE_INFOW lpHwProfileInfo); <
5922 // #ifdef UNICODE <
5923 alias GetCurrentHwProfileW GetCurrentHwProfile; <
5924 // #else <
5925 // #... <
5926 // #endif // !UNICODE <
5927 // #endif /* _WIN32_WINNT >= 0x0400 */ <
5928 <
5929 extern(Windows) export BOOL QueryPerformanceCounter( <
5930 LARGE_INTEGER *lpPerformanceCount); <
5931 <
5932 extern(Windows) export BOOL QueryPerformanceFrequency( <
5933 LARGE_INTEGER *lpFrequency); <
5934 <
5935 extern(Windows) export BOOL GetVersionExA( <
5936 LPOSVERSIONINFOA lpVersionInformation); <
5937 extern(Windows) export BOOL GetVersionExW( <
5938 LPOSVERSIONINFOW lpVersionInformation); <
5939 // #ifdef UNICODE <
5940 alias GetVersionExW GetVersionEx; <
5941 // #else <
5942 // #... <
5943 // #endif // !UNICODE <
5944 <
5945 extern(Windows) export BOOL VerifyVersionInfoA( <
5946 LPOSVERSIONINFOEXA lpVersionInformation, <
5947 DWORD dwTypeMask, <
5948 DWORDLONG dwlConditionMask); <
5949 extern(Windows) export BOOL VerifyVersionInfoW( <
5950 LPOSVERSIONINFOEXW lpVersionInformation, <
5951 DWORD dwTypeMask, <
5952 DWORDLONG dwlConditionMask); <
5953 // #ifdef UNICODE <
5954 alias VerifyVersionInfoW VerifyVersionInfo; <
5955 // #else <
5956 // #... <
5957 // #endif // !UNICODE <
5958 <
5959 import win32.winerror; <
5960 <
5961 enum : uint { TC_NORMAL = 0 } <
5962 enum : uint { TC_HARDERR = 1 } <
5963 enum : uint { TC_GP_TRAP = 2 } <
5964 enum : uint { TC_SIGNAL = 3 } <
5965 <
5966 // #if(WINVER >= 0x0400) <
5967 <
5968 enum : uint { AC_LINE_OFFLINE = 0x00 } <
5969 enum : uint { AC_LINE_ONLINE = 0x01 } <
5970 enum : uint { AC_LINE_BACKUP_POWER = 0x02 } <
5971 enum : uint { AC_LINE_UNKNOWN = 0xFF } <
5972 <
5973 enum : uint { BATTERY_FLAG_HIGH = 0x01 } <
5974 enum : uint { BATTERY_FLAG_LOW = 0x02 } <
5975 enum : uint { BATTERY_FLAG_CRITICAL = 0x04 } <
5976 enum : uint { BATTERY_FLAG_CHARGING = 0x08 } <
5977 enum : uint { BATTERY_FLAG_NO_BATTERY = 0x80 } <
5978 enum : uint { BATTERY_FLAG_UNKNOWN = 0xFF } <
5979 <
5980 enum : uint { BATTERY_PERCENTAGE_UNKNOWN = 0xFF } <
5981 <
5982 enum : uint { BATTERY_LIFE_UNKNOWN = 0xFFFFFFFF } <
5983 <
5984 struct _SYSTEM_POWER_STATUS { <
5985 BYTE ACLineStatus; <
5986 BYTE BatteryFlag; <
5987 BYTE BatteryLifePercent; <
5988 BYTE Reserved1; <
5989 DWORD BatteryLifeTime; <
5990 DWORD BatteryFullLifeTime; <
5991 } <
5992 alias _SYSTEM_POWER_STATUS SYSTEM_POWER_STATUS; <
5993 alias _SYSTEM_POWER_STATUS* LPSYSTEM_POWER_STATUS; <
5994 <
5995 extern(Windows) export BOOL GetSystemPowerStatus( <
5996 LPSYSTEM_POWER_STATUS lpSystemPowerStatus); <
5997 <
5998 extern(Windows) export BOOL SetSystemPowerState( <
5999 BOOL fSuspend, <
6000 BOOL fForce); <
6001 <
6002 // #endif /* WINVER >= 0x0400 */ <
6003 <
6004 // #if (_WIN32_WINNT >= 0x0500) <
6005 <
6006 extern(Windows) export BOOL AllocateUserPhysicalPages( <
6007 HANDLE hProcess, <
6008 PULONG_PTR NumberOfPages, <
6009 PULONG_PTR PageArray); <
6010 <
6011 extern(Windows) export BOOL FreeUserPhysicalPages( <
6012 HANDLE hProcess, <
6013 PULONG_PTR NumberOfPages, <
6014 PULONG_PTR PageArray); <
6015 <
6016 extern(Windows) export BOOL MapUserPhysicalPages( <
6017 PVOID VirtualAddress, <
6018 ULONG_PTR NumberOfPages, <
6019 PULONG_PTR PageArray ); <
6020 <
6021 extern(Windows) export BOOL MapUserPhysicalPagesScatter( <
6022 PVOID *VirtualAddresses, <
6023 ULONG_PTR NumberOfPages, <
6024 PULONG_PTR PageArray ); <
6025 <
6026 extern(Windows) export HANDLE CreateJobObjectA( <
6027 LPSECURITY_ATTRIBUTES lpJobAttributes, <
6028 LPCSTR lpName); <
6029 extern(Windows) export HANDLE CreateJobObjectW( <
6030 LPSECURITY_ATTRIBUTES lpJobAttributes, <
6031 LPCWSTR lpName); <
6032 // #ifdef UNICODE <
6033 alias CreateJobObjectW CreateJobObject; <
6034 // #else <
6035 // #... <
6036 // #endif // !UNICODE <
6037 <
6038 extern(Windows) export HANDLE OpenJobObjectA( <
6039 DWORD dwDesiredAccess, <
6040 BOOL bInheritHandle, <
6041 LPCSTR lpName); <
6042 extern(Windows) export HANDLE OpenJobObjectW( <
6043 DWORD dwDesiredAccess, <
6044 BOOL bInheritHandle, <
6045 LPCWSTR lpName); <
6046 // #ifdef UNICODE <
6047 alias OpenJobObjectW OpenJobObject; <
6048 // #else <
6049 // #... <
6050 // #endif // !UNICODE <
6051 <
6052 extern(Windows) export BOOL AssignProcessToJobObject( <
6053 HANDLE hJob, <
6054 HANDLE hProcess); <
6055 <
6056 extern(Windows) export BOOL TerminateJobObject( <
6057 HANDLE hJob, <
6058 UINT uExitCode); <
6059 <
6060 extern(Windows) export BOOL QueryInformationJobObject( <
6061 HANDLE hJob, <
6062 JOBOBJECTINFOCLASS JobObjectInformationClass, <
6063 LPVOID lpJobObjectInformation, <
6064 DWORD cbJobObjectInformationLength, <
6065 LPDWORD lpReturnLength); <
6066 <
6067 extern(Windows) export BOOL SetInformationJobObject( <
6068 HANDLE hJob, <
6069 JOBOBJECTINFOCLASS JobObjectInformationClass, <
6070 LPVOID lpJobObjectInformation, <
6071 DWORD cbJobObjectInformationLength); <
6072 <
6073 extern(Windows) export BOOL IsProcessInJob( <
6074 HANDLE ProcessHandle, <
6075 HANDLE JobHandle, <
6076 PBOOL Result); <
6077 <
6078 extern(Windows) export BOOL CreateJobSet( <
6079 ULONG NumJob, <
6080 PJOB_SET_ARRAY UserJobSet, <
6081 ULONG Flags); <
6082 <
6083 extern(Windows) export PVOID AddVectoredExceptionHandler( <
6084 ULONG FirstHandler, <
6085 PVECTORED_EXCEPTION_HANDLER VectoredHandler); <
6086 <
6087 extern(Windows) export ULONG RemoveVectoredExceptionHandler( <
6088 PVOID VectoredHandlerHandle); <
6089 <
6090 extern(Windows) export HANDLE FindFirstVolumeA( <
6091 LPSTR lpszVolumeName, <
6092 DWORD cchBufferLength); <
6093 extern(Windows) export HANDLE FindFirstVolumeW( <
6094 LPWSTR lpszVolumeName, <
6095 DWORD cchBufferLength); <
6096 // #ifdef UNICODE <
6097 alias FindFirstVolumeW FindFirstVolume; <
6098 // #else <
6099 // #... <
6100 // #endif // !UNICODE <
6101 <
6102 extern(Windows) export BOOL FindNextVolumeA( <
6103 HANDLE hFindVolume, <
6104 LPSTR lpszVolumeName, <
6105 DWORD cchBufferLength); <
6106 extern(Windows) export BOOL FindNextVolumeW( <
6107 HANDLE hFindVolume, <
6108 LPWSTR lpszVolumeName, <
6109 DWORD cchBufferLength); <
6110 // #ifdef UNICODE <
6111 alias FindNextVolumeW FindNextVolume; <
6112 // #else <
6113 // #... <
6114 // #endif // !UNICODE <
6115 <
6116 extern(Windows) export BOOL FindVolumeClose( <
6117 HANDLE hFindVolume); <
6118 <
6119 extern(Windows) export HANDLE FindFirstVolumeMountPointA( <
6120 LPCSTR lpszRootPathName, <
6121 LPSTR lpszVolumeMountPoint, <
6122 DWORD cchBufferLength); <
6123 extern(Windows) export HANDLE FindFirstVolumeMountPointW( <
6124 LPCWSTR lpszRootPathName, <
6125 LPWSTR lpszVolumeMountPoint, <
6126 DWORD cchBufferLength); <
6127 // #ifdef UNICODE <
6128 alias FindFirstVolumeMountPointW FindFirstVolumeMountPoint; <
6129 // #else <
6130 // #... <
6131 // #endif // !UNICODE <
6132 <
6133 extern(Windows) export BOOL FindNextVolumeMountPointA( <
6134 HANDLE hFindVolumeMountPoint, <
6135 LPSTR lpszVolumeMountPoint, <
6136 DWORD cchBufferLength); <
6137 extern(Windows) export BOOL FindNextVolumeMountPointW( <
6138 HANDLE hFindVolumeMountPoint, <
6139 LPWSTR lpszVolumeMountPoint, <
6140 DWORD cchBufferLength); <
6141 // #ifdef UNICODE <
6142 alias FindNextVolumeMountPointW FindNextVolumeMountPoint; <
6143 // #else <
6144 // #... <
6145 // #endif // !UNICODE <
6146 <
6147 extern(Windows) export BOOL FindVolumeMountPointClose( <
6148 HANDLE hFindVolumeMountPoint); <
6149 <
6150 extern(Windows) export BOOL SetVolumeMountPointA( <
6151 LPCSTR lpszVolumeMountPoint, <
6152 LPCSTR lpszVolumeName); <
6153 extern(Windows) export BOOL SetVolumeMountPointW( <
6154 LPCWSTR lpszVolumeMountPoint, <
6155 LPCWSTR lpszVolumeName); <
6156 // #ifdef UNICODE <
6157 alias SetVolumeMountPointW SetVolumeMountPoint; <
6158 // #else <
6159 // #... <
6160 // #endif // !UNICODE <
6161 <
6162 extern(Windows) export BOOL DeleteVolumeMountPointA( <
6163 LPCSTR lpszVolumeMountPoint); <
6164 extern(Windows) export BOOL DeleteVolumeMountPointW( <
6165 LPCWSTR lpszVolumeMountPoint); <
6166 // #ifdef UNICODE <
6167 alias DeleteVolumeMountPointW DeleteVolumeMountPoint; <
6168 // #else <
6169 // #... <
6170 // #endif // !UNICODE <
6171 <
6172 extern(Windows) export BOOL GetVolumeNameForVolumeMountPointA( <
6173 LPCSTR lpszVolumeMountPoint, <
6174 LPSTR lpszVolumeName, <
6175 DWORD cchBufferLength); <
6176 extern(Windows) export BOOL GetVolumeNameForVolumeMountPointW( <
6177 LPCWSTR lpszVolumeMountPoint, <
6178 LPWSTR lpszVolumeName, <
6179 DWORD cchBufferLength); <
6180 // #ifdef UNICODE <
6181 alias GetVolumeNameForVolumeMountPointW GetVolumeNameForVolumeMountPoint; <
6182 // #else <
6183 // #... <
6184 // #endif // !UNICODE <
6185 <
6186 extern(Windows) export BOOL GetVolumePathNameA( <
6187 LPCSTR lpszFileName, <
6188 LPSTR lpszVolumePathName, <
6189 DWORD cchBufferLength); <
6190 extern(Windows) export BOOL GetVolumePathNameW( <
6191 LPCWSTR lpszFileName, <
6192 LPWSTR lpszVolumePathName, <
6193 DWORD cchBufferLength); <
6194 // #ifdef UNICODE <
6195 alias GetVolumePathNameW GetVolumePathName; <
6196 // #else <
6197 // #... <
6198 // #endif // !UNICODE <
6199 <
6200 extern(Windows) export BOOL GetVolumePathNamesForVolumeNameA( <
6201 LPCSTR lpszVolumeName, <
6202 LPSTR lpszVolumePathNames, <
6203 DWORD cchBufferLength, <
6204 PDWORD lpcchReturnLength); <
6205 extern(Windows) export BOOL GetVolumePathNamesForVolumeNameW( <
6206 LPCWSTR lpszVolumeName, <
6207 LPWSTR lpszVolumePathNames, <
6208 DWORD cchBufferLength, <
6209 PDWORD lpcchReturnLength); <
6210 // #ifdef UNICODE <
6211 alias GetVolumePathNamesForVolumeNameW GetVolumePathNamesForVolumeName; <
6212 // #else <
6213 // #... <
6214 // #endif // !UNICODE <
6215 <
6216 // #endif <
6217 <
6218 // #if (_WIN32_WINNT >= 0x0500) || (_WIN32_FUSION >= 0x0100) || ISOLATION_AWARE_ <
6219 <
6220 enum : uint { ACTCTX_FLAG_PROCESSOR_ARCHITECTURE_VALID = 0x00000001 } <
6221 enum : uint { ACTCTX_FLAG_LANGID_VALID = 0x00000002 } <
6222 enum : uint { ACTCTX_FLAG_ASSEMBLY_DIRECTORY_VALID = 0x00000004 } <
6223 enum : uint { ACTCTX_FLAG_RESOURCE_NAME_VALID = 0x00000008 } <
6224 enum : uint { ACTCTX_FLAG_SET_PROCESS_DEFAULT = 0x00000010 } <
6225 enum : uint { ACTCTX_FLAG_APPLICATION_NAME_VALID = 0x00000020 } <
6226 enum : uint { ACTCTX_FLAG_SOURCE_IS_ASSEMBLYREF = 0x00000040 } <
6227 enum : uint { ACTCTX_FLAG_HMODULE_VALID = 0x00000080 } <
6228 <
6229 struct tagACTCTXA { <
6230 ULONG cbSize; <
6231 DWORD dwFlags; <
6232 LPCSTR lpSource; <
6233 USHORT wProcessorArchitecture; <
6234 LANGID wLangId; <
6235 LPCSTR lpAssemblyDirectory; <
6236 LPCSTR lpResourceName; <
6237 LPCSTR lpApplicationName; <
6238 HMODULE hModule; <
6239 } <
6240 alias tagACTCTXA ACTCTXA; <
6241 alias tagACTCTXA* PACTCTXA; <
6242 <
6243 struct tagACTCTXW { <
6244 ULONG cbSize; <
6245 DWORD dwFlags; <
6246 LPCWSTR lpSource; <
6247 USHORT wProcessorArchitecture; <
6248 LANGID wLangId; <
6249 LPCWSTR lpAssemblyDirectory; <
6250 LPCWSTR lpResourceName; <
6251 LPCWSTR lpApplicationName; <
6252 HMODULE hModule; <
6253 } <
6254 alias tagACTCTXW ACTCTXW; <
6255 alias tagACTCTXW* PACTCTXW; <
6256 <
6257 // #ifdef UNICODE <
6258 // skip typedef ACTCTXW ACTCTX; <
6259 alias PACTCTXW PACTCTX; <
6260 // #else <
6261 // ... <
6262 // #endif // UNICODE <
6263 <
6264 alias ACTCTXA* PCACTCTXA; | 2818 alias ACTCTX* PACTCTX, PCACTCTX;
6265 alias ACTCTXW* PCACTCTXW; <
6266 // #ifdef UNICODE <
6267 // skip typedef ACTCTXW ACTCTX; <
6268 alias PCACTCTXW PCACTCTX; <
6269 // #else <
6270 // ... <
6271 // #endif // UNICODE <
6272 | 2819 }
6273 // #endif <
6274 | 2820 }
6275 // #if (_WIN32_WINNT >= 0x0500) || (_WIN32_FUSION >= 0x0100) <
6276 <
6277 extern(Windows) export HANDLE CreateActCtxA( <
6278 PCACTCTXA pActCtx); <
6279 extern(Windows) export HANDLE CreateActCtxW( <
6280 PCACTCTXW pActCtx); <
6281 // #ifdef UNICODE <
6282 alias CreateActCtxW CreateActCtx; <
6283 // #else <
6284 // #... <
6285 // #endif // !UNICODE <
6286 <
6287 extern(Windows) export VOID AddRefActCtx( <
6288 HANDLE hActCtx); <
6289 <
6290 extern(Windows) export VOID ReleaseActCtx( <
6291 HANDLE hActCtx); <
6292 <
6293 extern(Windows) export BOOL ZombifyActCtx( <
6294 HANDLE hActCtx); <
6295 <
6296 extern(Windows) export BOOL ActivateActCtx( <
6297 HANDLE hActCtx, <
6298 ULONG_PTR *lpCookie); <
6299 <
6300 enum : uint { DEACTIVATE_ACTCTX_FLAG_FORCE_EARLY_DEACTIVATION = 0x00000001 } <
6301 <
6302 extern(Windows) export BOOL DeactivateActCtx( <
6303 DWORD dwFlags, <
6304 ULONG_PTR ulCookie); <
6305 <
6306 extern(Windows) export BOOL GetCurrentActCtx( <
6307 HANDLE *lphActCtx); <
6308 <
6309 // #endif <
6310 <
6311 // #if (_WIN32_WINNT >= 0x0500) || (_WIN32_FUSION >= 0x0100) || ISOLATION_AWARE_ <
6312 <
6313 struct tagACTCTX_SECTION_KEYED_DATA { <
6314 ULONG cbSize; <
6315 ULONG ulDataFormatVersion; <
6316 PVOID lpData; <
6317 ULONG ulLength; <
6318 PVOID lpSectionGlobalData; <
6319 ULONG ulSectionGlobalDataLength; <
6320 PVOID lpSectionBase; <
6321 ULONG ulSectionTotalLength; <
6322 HANDLE hActCtx; <
6323 ULONG ulAssemblyRosterIndex; <
6324 } <
6325 alias tagACTCTX_SECTION_KEYED_DATA ACTCTX_SECTION_KEYED_DATA; <
6326 alias tagACTCTX_SECTION_KEYED_DATA* PACTCTX_SECTION_KEYED_DATA; <
6327 <
6328 enum : uint { FIND_ACTCTX_SECTION_KEY_RETURN_HACTCTX = 0x00000001 } <
6329 <
6330 // #endif <
6331 <
6332 // #if (_WIN32_WINNT >= 0x0500) || (_WIN32_FUSION >= 0x0100) <
6333 <
6334 extern(Windows) export BOOL FindActCtxSectionStringA( <
6335 DWORD dwFlags, <
6336 GUID *lpExtensionGuid, <
6337 ULONG ulSectionId, <
6338 LPCSTR lpStringToFind, <
6339 PACTCTX_SECTION_KEYED_DATA ReturnedData); <
6340 extern(Windows) export BOOL FindActCtxSectionStringW( <
6341 DWORD dwFlags, <
6342 GUID *lpExtensionGuid, <
6343 ULONG ulSectionId, <
6344 LPCWSTR lpStringToFind, <
6345 PACTCTX_SECTION_KEYED_DATA ReturnedData); <
6346 // #ifdef UNICODE <
6347 alias FindActCtxSectionStringW FindActCtxSectionString; <
6348 // #else <
6349 // #... <
6350 // #endif // !UNICODE <
6351 <
6352 extern(Windows) export BOOL FindActCtxSectionGuid( <
6353 DWORD dwFlags, <
6354 GUID *lpExtensionGuid, <
6355 ULONG ulSectionId, <
6356 GUID *lpGuidToFind, <
6357 PACTCTX_SECTION_KEYED_DATA ReturnedData); <
6358 <
6359 // #endif <
6360 <
6361 // #if (_WIN32_WINNT >= 0x0500) || (_WIN32_FUSION >= 0x0100) || ISOLATION_AWARE_ <
6362 <
6363 // #if !defined(RC_INVOKED) /* RC complains about long symbols in #ifs */ <
6364 // #if !defined(ACTIVATION_CONTEXT_BASIC_INFORMATION_DEFINED) <
6365 <
6366 // ... <
6367 <
6368 // ... <
6369 <
6370 // #... <
6371 <
6372 // #endif // !defined(ACTIVATION_CONTEXT_BASIC_INFORMATION_DEFINED) <
6373 // #endif <
6374 <
6375 enum : uint { QUERY_ACTCTX_FLAG_USE_ACTIVE_ACTCTX = 0x00000004 } <
6376 enum : uint { QUERY_ACTCTX_FLAG_ACTCTX_IS_HMODULE = 0x00000008 } <
6377 enum : uint { QUERY_ACTCTX_FLAG_ACTCTX_IS_ADDRESS = 0x00000010 } <
6378 enum : uint { QUERY_ACTCTX_FLAG_NO_ADDREF = 0x80000000 } <
6379 <
6380 // #endif <
6381 <
6382 // #if (_WIN32_WINNT >= 0x0500) || (_WIN32_FUSION >= 0x0100) <
6383 <
6384 extern(Windows) export BOOL QueryActCtxW( <
6385 DWORD dwFlags, <
6386 HANDLE hActCtx, <
6387 PVOID pvSubInstance, <
6388 ULONG ulInfoClass, <
6389 PVOID pvBuffer, <
6390 SIZE_T cbBuffer , <
6391 SIZE_T *pcbWrittenOrRequired ); <
6392 <
6393 extern(Windows) alias BOOL function( DWORD dwFlags, HANDLE hActCtx, PVOID pvS <
6394 <
6395 // #endif // (_WIN32_WINNT > 0x0500) || (_WIN32_FUSION >= 0x0100) <
6396 <
6397 extern(Windows) export BOOL ProcessIdToSessionId( <
6398 DWORD dwProcessId, <
6399 DWORD *pSessionId); <
6400 <
6401 // #if _WIN32_WINNT >= 0x0501 <
6402 <
6403 extern(Windows) export DWORD WTSGetActiveConsoleSessionId(); <
6404 <
6405 extern(Windows) export BOOL IsWow64Process( <
6406 HANDLE hProcess, <
6407 PBOOL Wow64Process); <
6408 <
6409 // #endif // (_WIN32_WINNT >= 0x0501) <
6410 <
6411 extern(Windows) export BOOL GetNumaHighestNodeNumber( <
6412 PULONG HighestNodeNumber); <
6413 <
6414 extern(Windows) export BOOL GetNumaProcessorNode( <
6415 UCHAR Processor, <
6416 PUCHAR NodeNumber); <
6417 <
6418 extern(Windows) export BOOL GetNumaNodeProcessorMask( <
6419 UCHAR Node, <
6420 PULONGLONG ProcessorMask); <
6421 <
6422 extern(Windows) export BOOL GetNumaProcessorMap( <
6423 PSYSTEM_NUMA_INFORMATION Map, <
6424 ULONG Length, <
6425 PULONG ReturnedLength); <
6426 <
6427 extern(Windows) export BOOL GetNumaAvailableMemory( <
6428 PSYSTEM_NUMA_INFORMATION Memory, <
6429 ULONG Length, <
6430 PULONG ReturnedLength); <
6431 <
6432 extern(Windows) export BOOL GetNumaAvailableMemoryNode( <
6433 UCHAR Node, <
6434 PULONGLONG AvailableBytes); <
6435 <
6436 extern(Windows) export ULONGLONG NumaVirtualQueryNode( <
6437 ULONG NumberOfRanges, <
6438 PULONG_PTR RangeList, <
6439 PULONG_PTR VirtualPageAndNode, <
6440 SIZE_T MaximumOutputLength); <
6441 <
6442 // #if !defined(RC_INVOKED) /* RC complains about long symbols in #ifs */ <
6443 // #if ISOLATION_AWARE_ENABLED <
6444 // #... <
6445 // #endif /* ISOLATION_AWARE_ENABLED */ <
6446 // #endif /* RC */ <
6447 <
6448 // #ifdef __cplusplus <
6449 // } <
6450 // #endif <
6451 <
6452 // #endif // _WINBASE_ <
6453 <