source: Include/api_system.sbp@ 32

Last change on this file since 32 was 1, checked in by (none), 18 years ago
File size: 53.9 KB
Line 
1' api_system.sbp - System API
2
3#ifndef _INC_SYSTEM
4#define _INC_SYSTEM
5
6
7'-------------------
8' default constants
9Const NULL = 0
10Const TRUE = 1
11Const FALSE = 0
12
13Const _System_TRUE = -1
14Const _System_FALSE = 0
15
16Const MAX_PATH = 260
17Const INVALID_HANDLE_VALUE = -1 As HANDLE
18Const INVALID_SET_FILE_POINTER = &HFFFFFFFF
19
20Const SYNCHRONIZE = &H00100000
21Const STANDARD_RIGHTS_REQUIRED = &H000F0000
22
23
24'-----------------
25' data structs
26Type LARGE_INTEGER
27 LowPart As DWord
28 HighPart As Long
29End Type
30Type ULARGE_INTEGER
31 LowPart As DWord
32 HighPart As DWord
33End Type
34
35
36'Globally Unique Identifier 128 bit(16 byte)
37Type GUID
38 Data1 As DWord
39 Data2 As Word
40 Data3 As Word
41 Data4[7] As Byte
42End Type
43
44' File structure
45Type SECURITY_ATTRIBUTES
46 nLength As DWord
47 lpSecurityDescriptor As VoidPtr
48 bInheritHandle As BOOL
49End Type
50
51Type OVERLAPPED
52 Internal As ULONG_PTR
53 InternalHigh As ULONG_PTR
54 Offset As DWord
55 OffsetHigh As DWord
56 hEvent As HANDLE
57End Type
58
59Type FILETIME
60 dwLowDateTime As DWord
61 dwHighDateTime As DWord
62End Type
63
64' System time
65Type SYSTEMTIME
66 wYear As Word
67 wMonth As Word
68 wDayOfWeek As Word
69 wDay As Word
70 wHour As Word
71 wMinute As Word
72 wSecond As Word
73 wMilliseconds As Word
74End Type
75
76#ifdef _WIN64
77Const CONTEXT_AMD64 = &h100000
78
79Const CONTEXT_CONTROL = (CONTEXT_AMD64 Or &h1)
80Const CONTEXT_INTEGER = (CONTEXT_AMD64 Or &h2)
81Const CONTEXT_SEGMENTS = (CONTEXT_AMD64 Or &h4)
82Const CONTEXT_FLOATING_POINT = (CONTEXT_AMD64 Or &h8)
83Const CONTEXT_DEBUG_REGISTERS = (CONTEXT_AMD64 Or &h10)
84
85Const CONTEXT_FULL = (CONTEXT_CONTROL Or CONTEXT_INTEGER Or CONTEXT_FLOATING_POINT)
86
87Const CONTEXT_ALL = (CONTEXT_CONTROL Or CONTEXT_INTEGER Or CONTEXT_SEGMENTS Or CONTEXT_FLOATING_POINT Or CONTEXT_DEBUG_REGISTERS)
88
89Type Align(16) M128
90 Low As QWord
91 High As Int64
92End Type
93
94Type LEGACY_SAVE_AREA 'Winnt.h
95 ControlWord As Word
96 Reserved0 As Word
97 StatusWord As Word
98 Reserved1 As Word
99 TagWord As Word
100 Reserved2 As Word
101 ErrorOffset As DWord
102 ErrorSelector As Word
103 ErrorOpcode As Word
104 DataOffset As DWord
105 DataSelector As Word
106 Reserved3 As Word
107 FloatRegisters[ELM(8 * 10)] As Byte
108End Type
109
110Type Align(16) CONTEXT 'Winnt.h
111 'Register parameter home addresses.
112 P1Home As QWord
113 P2Home As QWord
114 P3Home As QWord
115 P4Home As QWord
116 P5Home As QWord
117 P6Home As QWord
118 'Control flags.
119 ContextFlags As DWord
120 MxCsr As DWord
121 'Segment Registers and processor flags.
122 SegCs As Word
123 SegDs As Word
124 SegEs As Word
125 SegFs As Word
126 SegGs As Word
127 SegSs As Word
128 EFlags As DWord
129 'Debug registers
130 Dr0 As QWord
131 Dr1 As QWord
132 Dr2 As QWord
133 Dr3 As QWord
134 Dr6 As QWord
135 Dr7 As QWord
136 'Integer registers.
137 Rax As QWord
138 Rcx As QWord
139 Rdx As QWord
140 Rbx As QWord
141 Rsp As QWord
142 Rbp As QWord
143 Rsi As QWord
144 Rdi As QWord
145 R8 As QWord
146 R9 As QWord
147 R10 As QWord
148 R11 As QWord
149 R12 As QWord
150 R13 As QWord
151 R14 As QWord
152 R15 As QWord
153 'Program counter.
154 Rip As QWord
155 'MMX/floating point state.
156 Header[ELM(2)] As M128
157 Legacy[ELM(8)] As M128
158 Xmm0 As M128
159 Xmm1 As M128
160 Xmm2 As M128
161 Xmm3 As M128
162 Xmm4 As M128
163 Xmm5 As M128
164 Xmm6 As M128
165 Xmm7 As M128
166 Xmm8 As M128
167 Xmm9 As M128
168 Xmm10 As M128
169 Xmm11 As M128
170 Xmm12 As M128
171 Xmm13 As M128
172 Xmm14 As M128
173 Xmm15 As M128
174 Reserve[ELM(96)] As Byte
175 'Vector registers
176 VectorRegisters[ELM(26)] As M128
177 VectorControl As QWord
178 'Special debug control registers.
179 DebugControl As QWord
180 LastBranchToRip As QWord
181 LastBranchFromRip As QWord
182 LastExceptionToRip As QWord
183 LastExceptionFromRip As QWord
184End Type
185
186#else
187
188Const SIZE_OF_80387_REGISTERS = 80
189Const MAXIMUM_SUPPORTED_EXTENSION = 512
190
191Type FLOATING_SAVE_AREA
192 ControlWord As DWord
193 StatusWord As DWord
194 TagWord As DWord
195 ErrorOffset As DWord
196 ErrorSelector As DWord
197 DataOffset As DWord
198 DataSelector As DWord
199 RegisterArea[ELM(SIZE_OF_80387_REGISTERS)] As Byte
200 Cr0NpxState As DWord
201End Type
202
203Const CONTEXT_i386 = &h00010000
204Const CONTEXT_i486 = &h00010000
205
206Const CONTEXT_CONTROL = (CONTEXT_i386 Or &h00000001) 'SS:SP, CS:IP, FLAGS, BP
207Const CONTEXT_INTEGER = (CONTEXT_i386 Or &h00000002) 'AX, BX, CX, DX, SI, DI
208Const CONTEXT_SEGMENTS = (CONTEXT_i386 Or &h00000004) 'DS, ES, FS, GS
209Const CONTEXT_FLOATING_POINT = (CONTEXT_i386 Or &h00000008) '387 state
210Const CONTEXT_DEBUG_REGISTERS = (CONTEXT_i386 Or &h00000010) 'DB 0-3,6,7
211Const CONTEXT_EXTENDED_REGISTERS = (CONTEXT_i386 Or &h0000002) 'cpu specific extensions
212
213Const CONTEXT_FULL = (CONTEXT_CONTROL Or CONTEXT_INTEGER Or CONTEXT_SEGMENTS)
214
215Const CONTEXT_ALL = (CONTEXT_CONTROL Or CONTEXT_INTEGER Or CONTEXT_SEGMENTS Or CONTEXT_FLOATING_POINT Or CONTEXT_DEBUG_REGISTERS Or CONTEXT_EXTENDED_REGISTERS)
216
217Type CONTEXT
218 ContextFlags As DWord
219
220 Dr0 As DWord
221 Dr1 As DWord
222 Dr2 As DWord
223 Dr3 As DWord
224 Dr6 As DWord
225 Dr7 As DWord
226
227 FloatSave As FLOATING_SAVE_AREA
228
229 SegGs As DWord
230 SegFs As DWord
231 SegEs As DWord
232 SegDs As DWord
233
234 Edi As DWord
235 Esi As DWord
236 Ebx As DWord
237 Edx As DWord
238 Ecx As DWord
239 Eax As DWord
240
241 Ebp As DWord
242 Eip As DWord
243 SegCs As DWord
244 EFlags As DWord
245 Esp As DWord
246 SegSs As DWord
247
248 ExtendedRegisters[ELM(MAXIMUM_SUPPORTED_EXTENSION)] As Byte
249End Type
250
251#endif
252
253' Overlapped I/O operation is in progress.
254Const ERROR_IO_PENDING = 997
255
256' Global Memory Flags
257Const GMEM_FIXED = &H0000
258Const GMEM_MOVEABLE = &H0002
259Const GMEM_NOCOMPACT = &H0010
260Const GMEM_NODISCARD = &H0020
261Const GMEM_ZEROINIT = &H0040
262Const GMEM_MODIFY = &H0080
263Const GMEM_DISCARDABLE = &H0100
264Const GMEM_NOT_BANKED = &H1000
265Const GMEM_SHARE = &H2000
266Const GMEM_DDESHARE = &H2000
267Const GMEM_INVALID_HANDLE = &H8000
268Const GHND = GMEM_MOVEABLE or GMEM_ZEROINIT
269Const GPTR = GMEM_FIXED or GMEM_ZEROINIT
270Const GMEM_DISCARDED = &H4000
271
272
273' Heap
274Const HEAP_NO_SERIALIZE = &H00000001
275Const HEAP_GROWABLE = &H00000002
276Const HEAP_GENERATE_EXCEPTIONS = &H00000004
277Const HEAP_ZERO_MEMORY = &H00000008
278Const HEAP_REALLOC_IN_PLACE_ONLY = &H00000010
279
280
281' Locale
282Const LOCALE_SYSTEM_DEFAULT = &H400 'Standard Systemsprache
283Const LOCALE_USER_DEFAULT = &H800 'Standard Benutzersprache
284
285
286' Locale flag
287Const LOCALE_NOUSEROVERRIDE = &H80000000
288
289
290'Critical Section
291Type CRITICAL_SECTION
292 DebugInfo As VoidPtr
293 LockCount As Long
294 RecursionCount As Long
295 OwningThread As HANDLE
296 LockSemaphore As HANDLE
297 SpinCount As ULONG_PTR
298End Type
299
300
301'DllMain
302Const DLL_PROCESS_ATTACH = 1
303Const DLL_THREAD_ATTACH = 2
304Const DLL_THREAD_DETACH = 3
305Const DLL_PROCESS_DETACH = 0
306
307'Event
308Const EVENT_MODIFY_STATE = &H0002
309Const EVENT_ALL_ACCESS = (STANDARD_RIGHTS_REQUIRED Or SYNCHRONIZE Or &H3)
310
311'Mutex
312Const MUTANT_QUERY_STATE = &H0001
313Const MUTANT_ALL_ACCESS = (STANDARD_RIGHTS_REQUIRED Or SYNCHRONIZE Or MUTANT_QUERY_STATE)
314
315'Semaphore
316Const SEMAPHORE_MODIFY_STATE = &H0002
317Const SEMAPHORE_ALL_ACCESS = (STANDARD_RIGHTS_REQUIRED Or SYNCHRONIZE Or &H3)
318
319'Timer
320Const TIMER_QUERY_STATE = &H0001
321Const TIMER_MODIFY_STATE = &H0002
322Const TIMER_ALL_ACCESS = (STANDARD_RIGHTS_REQUIRED Or SYNCHRONIZE Or TIMER_QUERY_STATE Or TIMER_MODIFY_STATE)
323
324'----------------------
325' Kernel Operation API
326Declare Function InterlockedIncrement Lib "kernel32" (ByRef lpAddend As Long) As Long
327Declare Function InterlockedDecrement Lib "kernel32" (ByRef lpAddend As Long) As Long
328Declare Function InterlockedExchange Lib "kernel32" (ByRef Target As Long, Value As Long) As Long
329Declare Function InterlockedCompareExchange Lib "kernel32" (Destination As *VoidPtr, Exchange As VoidPtr, Comperand As VoidPtr) As VoidPtr
330Declare Function InterlockedExchangeAdd Lib "kernel32" (ByRef Addend As Long, Value As Long) As Long
331#ifdef _WIN64
332Declare Function InterlockedCompareExchangePointer Lib "kernel32" (Destination As *VoidPtr, Exchange As VoidPtr, Comperand As VoidPtr) As VoidPtr
333#else
334Declare Function InterlockedExchangePointer Lib "kernel32" Alias "InterlockedExchange" (ByRef Target As VoidPtr, Value As VoidPtr) As VoidPtr
335#endif
336Declare Function Beep Lib "kernel32" (dwFreq As DWord, dwDuration As DWord) As BOOL
337Declare Function CloseHandle Lib "kernel32" (hObject As HANDLE) As BOOL
338
339Declare Function CompareFileTime Lib "kernel32" (ByRef FileTime1 As FILETIME, ByRef FileTime2 As FILETIME) As Long
340
341Const NORM_IGNORECASE = &H00000001
342Const NORM_IGNORENONSPACE = &H00000002
343Const NORM_IGNORESYMBOLS = &H00000004
344Const SORT_STRINGSORT = &H00001000
345Const NORM_IGNOREKANATYPE = &H00010000
346Const NORM_IGNOREWIDTH = &H00020000
347Const CSTR_LESS_THAN = 1
348Const CSTR_EQUAL = 2
349Const CSTR_GREATER_THAN = 3
350Declare Function CompareString Lib "kernel32" Alias "CompareStringA" (Locale As LCID, dwCmpFlags As DWord, lpString1 As PSTR, cchCount1 As Long, lpString2 As PSTR, cchCount2 As Long) As Long
351
352Declare Function CopyFile Lib "kernel32" Alias "CopyFileA" (lpExistingFileName As LPCSTR, lpNewFileName As LPCSTR, bFailIfExists As BOOL) As BOOL
353Declare Function CreateDirectory Lib "kernel32" Alias "CreateDirectoryA" (lpPathName As LPCSTR, lpSecurityAttributes As *SECURITY_ATTRIBUTES) As BOOL
354Declare Function CreateEvent Lib "kernel32" Alias "CreateEventA" (pEventAttributes As *SECURITY_ATTRIBUTES, bManualReset As BOOL, bInitialState As BOOL, pName As PCSTR) As HANDLE
355Declare Function CreateMutex Lib "kernel32" Alias "CreateMutexA" (lpMutexAttributes As *SECURITY_ATTRIBUTES, bInitialOwner As BOOL, lpName As PCSTR) As HANDLE
356Declare Function CreateSemaphore Lib "kernel32" Alias "CreateSemaphoreA" (lpSemaphoreAttributes As *SECURITY_ATTRIBUTES, lInitialCount As Long, lMaximumCount As Long, lpName As LPSTR) As HANDLE
357
358TypeDef PTIMERAPCROUTINE = *Sub(lpArgToCompletionRoutine As VoidPtr, dwTimerLowValue As DWord, dwTimerHighValue As DWord)
359Declare Function CreateWaitableTimer Lib "kernel32" Alias "CreateWaitableTimerA" (lpTimerAttributes As *SECURITY_ATTRIBUTES, bManualReset As BOOL, lpTimerName As LPSTR) As HANDLE
360Declare Function OpenWaitableTimer Lib "kernel32" Alias "OpenWaitableTimerA" (dwDesiredAccess As DWord, bInheritHandle As BOOL, lpTimerName As LPSTR) As HANDLE
361Declare Function SetWaitableTimer Lib "kernel32" (hTimer As HANDLE, lpDueTime As *LARGE_INTEGER, lPeriod As Long, pfnCompletionRoutine As PTIMERAPCROUTINE, lpArgToCompletionRoutine As VoidPtr, fResume As BOOL) As BOOL
362Declare Function CancelWaitableTimer Lib "kernel32" (hTimer As HANDLE) As BOOL
363
364Const GENERIC_READ = &H80000000
365Const GENERIC_WRITE = &H40000000
366Const FILE_SHARE_READ = &H00000001
367Const FILE_SHARE_WRITE = &H00000002
368Const FILE_SHARE_DELETE = &H00000004
369Const CREATE_NEW = 1
370Const CREATE_ALWAYS = 2
371Const OPEN_EXISTING = 3
372Const OPEN_ALWAYS = 4
373Const TRUNCATE_EXISTING = 5
374Const FILE_ATTRIBUTE_READONLY = &H00000001
375Const FILE_ATTRIBUTE_HIDDEN = &H00000002
376Const FILE_ATTRIBUTE_SYSTEM = &H00000004
377Const FILE_ATTRIBUTE_DIRECTORY = &H00000010
378Const FILE_ATTRIBUTE_ARCHIVE = &H00000020
379Const FILE_ATTRIBUTE_ENCRYPTED = &H00000040
380Const FILE_ATTRIBUTE_NORMAL = &H00000080
381Const FILE_ATTRIBUTE_TEMPORARY = &H00000100
382Const FILE_ATTRIBUTE_SPARSE_FILE = &H00000200
383Const FILE_ATTRIBUTE_REPARSE_POINT = &H00000400
384Const FILE_ATTRIBUTE_COMPRESSED = &H00000800
385Const FILE_ATTRIBUTE_OFFLINE = &H00001000
386Const FILE_FLAG_WRITE_THROUGH = &H80000000
387Const FILE_FLAG_OVERLAPPED = &H40000000
388Const FILE_FLAG_NO_BUFFERING = &H20000000
389Const FILE_FLAG_RANDOM_ACCESS = &H10000000
390Const FILE_FLAG_SEQUENTIAL_SCAN = &H08000000
391Const FILE_FLAG_DELETE_ON_CLOSE = &H04000000
392Const FILE_FLAG_BACKUP_SEMANTICS = &H02000000
393Const FILE_FLAG_POSIX_SEMANTICS = &H01000000
394Const FILE_FLAG_OPEN_REPARSE_POINT = &H00200000
395Const FILE_FLAG_OPEN_NO_RECALL = &H00100000
396Declare Function CreateFile Lib "kernel32" Alias "CreateFileA" (lpFileName As *Byte, dwDesiredAccess As DWord, dwShareMode As DWord, ByRef lpSecurityAttributes As SECURITY_ATTRIBUTES, dwCreationDisposition As DWord, dwFlagsAndAttributes As DWord, hTemplateFile As HANDLE) As HANDLE
397
398Const SECTION_QUERY = &H0001
399Const SECTION_MAP_WRITE = &H0002
400Const SECTION_MAP_READ = &H0004
401Const SECTION_MAP_EXECUTE = &H0008
402Const SECTION_EXTEND_SIZE = &H0010
403Const SECTION_ALL_ACCESS = (STANDARD_RIGHTS_REQUIRED Or SECTION_QUERY Or SECTION_MAP_WRITE Or SECTION_MAP_READ Or SECTION_MAP_EXECUTE Or SECTION_EXTEND_SIZE)
404
405Const FILE_MAP_COPY = SECTION_QUERY
406Const FILE_MAP_WRITE = SECTION_MAP_WRITE
407Const FILE_MAP_READ = SECTION_MAP_READ
408Const FILE_MAP_ALL_ACCESS = SECTION_ALL_ACCESS
409Declare Function CreateFileMapping Lib "kernel32" Alias "CreateFileMappingA" (hFile As HANDLE, lpFileMappingAttributes As *SECURITY_ATTRIBUTES, flProtect As DWord, dwMaximumSizeHigh As DWord, dwMaximumSizeLow As DWord, lpName As LPSTR) As HANDLE
410Declare Function OpenFileMapping Lib "kernel32" Alias "OpenFileMappingA" (dwDesiredAccess As DWord, bInheritHandle As BOOL, lpName As LPSTR) As HANDLE
411Declare Function MapViewOfFile Lib "kernel32" (hFileMappingObject As HANDLE, dwDesiredAccess As DWord, dwFileOffsetHigh As DWord, dwFileOffsetLow As DWord, dwNumberOfBytesToMap As DWord) As VoidPtr
412Declare Function MapViewOfFileEx Lib "kernel32" (hFileMappingObject As HANDLE, dwDesiredAccess As DWord, dwFileOffsetHigh As DWord, dwFileOffsetLow As DWord, dwNumberOfBytesToMap As DWord, lpBaseAddress As VoidPtr) As VoidPtr
413Declare Function FlushViewOfFile Lib "kernel32" (lpBaseAddress As VoidPtr, dwNumberOfBytesToFlush As DWord) As BOOL
414Declare Function UnmapViewOfFile Lib "kernel32" (lpBaseAddress As VoidPtr) As BOOL
415
416Const MAILSLOT_WAIT_FOREVER = &HFFFFFFFF
417Declare Function CreateMailslot Lib "kernel32" Alias "CreateMailslotA" (lpName As *Byte, nMaxMessageSize As DWord, lReadTimeout As DWord, ByRef lpSecurityAttributes As SECURITY_ATTRIBUTES) As HANDLE
418
419Const DEBUG_PROCESS = &H00000001
420Const DEBUG_ONLY_THIS_PROCESS = &H00000002
421Const CREATE_SUSPENDED = &H00000004
422Const DETACHED_PROCESS = &H00000008
423Const CREATE_NEW_CONSOLE = &H00000010
424Const NORMAL_PRIORITY_CLASS = &H00000020
425Const IDLE_PRIORITY_CLASS = &H00000040
426Const HIGH_PRIORITY_CLASS = &H00000080
427Const REALTIME_PRIORITY_CLASS = &H00000100
428Const CREATE_NEW_PROCESS_GROUP = &H00000200
429Const CREATE_UNICODE_ENVIRONMENT = &H00000400
430Const CREATE_SEPARATE_WOW_VDM = &H00000800
431Const CREATE_SHARED_WOW_VDM = &H00001000
432Const CREATE_FORCEDOS = &H00002000
433Const CREATE_DEFAULT_ERROR_MODE = &H04000000
434Const CREATE_NO_WINDOW = &H08000000
435Const PROFILE_USER = &H10000000
436Const PROFILE_KERNEL = &H20000000
437Const PROFILE_SERVER = &H40000000
438
439Const STARTF_USESHOWWINDOW = &H00000001
440Const STARTF_USESIZE = &H00000002
441Const STARTF_USEPOSITION = &H00000004
442Const STARTF_USECOUNTCHARS = &H00000008
443Const STARTF_USEFILLATTRIBUTE = &H00000010
444Const STARTF_RUNFULLSCREEN = &H00000020
445Const STARTF_FORCEONFEEDBACK = &H00000040
446Const STARTF_FORCEOFFFEEDBACK = &H00000080
447Const STARTF_USESTDHANDLES = &H00000100
448Const STARTF_USEHOTKEY = &H00000200
449Type STARTUPINFO
450 cb As DWord
451 lpReserved As *Byte
452 lpDesktop As *Byte
453 lpTitle As *Byte
454 dwX As DWord
455 dwY As DWord
456 dwXSize As DWord
457 dwYSize As DWord
458 dwXCountChars As DWord
459 dwYCountChars As DWord
460 dwFillAttribute As DWord
461 dwFlags As DWord
462 wShowWindow As Word
463 cbReserved2 As Word
464 lpReserved2 As *Byte
465 hStdInput As HANDLE
466 hStdOutput As HANDLE
467 hStdError As HANDLE
468End Type
469Type PROCESS_INFORMATION
470 hProcess As HANDLE
471 hThread As HANDLE
472 dwProcessId As DWord
473 dwThreadId As DWord
474End Type
475Declare Function CreateProcess Lib "kernel32" Alias "CreateProcessA" (lpApplicationName As BytePtr, lpCommandLine As BytePtr, ByRef lpProcessAttributes As SECURITY_ATTRIBUTES, ByRef lpThreadAttributes As SECURITY_ATTRIBUTES, bInheritHandles As BOOL, dwCreationFlags As DWord, lpEnvironment As VoidPtr, lpCurrentDirectory As BytePtr, ByRef lpStartupInfo As STARTUPINFO, ByRef lpProcessInformation As PROCESS_INFORMATION) As BOOL
476
477TypeDef LPTHREAD_START_ROUTINE = *Function(lpThreadParameter As VoidPtr) As DWord
478Declare Function CreateThread Lib "kernel32" Alias "CreateThread" (lpThreadAttributes As *SECURITY_ATTRIBUTES, dwStackSize As DWord, lpStartAddress As LPTHREAD_START_ROUTINE, lpParameter As VoidPtr, dwCreationFlags As DWord, ByRef lpThreadId As DWord) As HANDLE
479
480Declare Sub DebugBreak Lib "kernel32" ()
481Declare Sub DeleteCriticalSection Lib "kernel32" (ByRef lpCriticalSection As CRITICAL_SECTION)
482Declare Function DeleteFile Lib "kernel32" Alias "DeleteFileA" (pFileName As PCSTR) As BOOL
483Declare Function DeviceIoControl Lib "Kernel32" (
484 hDevice As HANDLE,
485 dwIoControlCode As DWord,
486 pInBuffer As VoidPtr,
487 nInBufferSize As DWord,
488 pOutBuffer As VoidPtr,
489 nOutBufferSize As DWord,
490 pBytesReturned As DWordPtr,
491 pOverlapped As *OVERLAPPED
492) As Long
493Declare Function DisableThreadLibraryCalls Lib "kernel32" (hLibModule As HINSTANCE) As BOOL
494Declare Function DosDateTimeToFileTime Lib "kernel32" (wFatDate As Word, wFatTime As Word, ByRef lpFileTime As FILETIME) As BOOL
495
496Const DUPLICATE_CLOSE_SOURCE = 1
497Const DUPLICATE_SAME_ACCESS = 2
498Declare Function DuplicateHandle Lib "kernel32" (hSourceProcessHandle As HANDLE, hSourceHandle As HANDLE, hTargetProcessHandle As HANDLE, ByRef TargetHandle As HANDLE, dwDesiredAccess As DWord, bInheritHandle As BOOL, dwOptions As DWord) As BOOL
499
500Declare Sub EnterCriticalSection Lib "kernel32" (ByRef lpCriticalSection As CRITICAL_SECTION)
501Declare Sub ExitProcess Lib "kernel32" (dwExitCode As DWord)
502Declare Sub ExitThread Lib "kernel32" (dwExitCode As DWord)
503Declare Sub FatalAppExit Lib "kernel32" Alias "FatalAppExitA" (Action As DWord, pMessageText As PCSTR)
504Declare Function FileTimeToDosDateTime Lib "kernel32" (ByRef lpFileTime As FILETIME, ByRef lpFatDate As Word, ByRef lpFatTime As Word) As BOOL
505Declare Function FileTimeToLocalFileTime Lib "kernel32" (ByRef lpFileTime As FILETIME, ByRef lpLocalFileTime As FILETIME) As BOOL
506Declare Function FileTimeToSystemTime Lib "kernel32" (ByRef lpFileTime As FILETIME, ByRef lpSystemTime As SYSTEMTIME) As BOOL
507Declare Sub FillMemory Lib "kernel32" Alias "RtlFillMemory" (pDest As VoidPtr, stLength As SIZE_T, c As Byte)
508Declare Function FindClose Lib "kernel32" (hFindFile As HANDLE) As BOOL
509Declare Function FindCloseChangeNotification Lib "kernel32" (hChangeHandle As HANDLE) As BOOL
510Declare Function FindFirstChangeNotification Lib "kernel32" Alias "FindFirstChangeNotificationA" (
511 pPathName As PCSTR,
512 bWatchSubtree As BOOL,
513 dwNotifyFilter As DWord
514) As HANDLE
515
516Type WIN32_FIND_DATA
517 dwFileAttributes As DWord
518 ftCreationTime As FILETIME
519 ftLastAccessTime As FILETIME
520 ftLastWriteTime As FILETIME
521 nFileSizeHigh As DWord
522 nFileSizeLow As DWord
523 dwReserved0 As DWord
524 dwReserved1 As DWord
525 cFileName[ELM(MAX_PATH)] As Byte
526 cAlternateFileName[13] As Byte
527End Type
528TypeDef LPWIN32_FIND_DATA = *WIN32_FIND_DATA
529Declare Function FindFirstFile Lib "kernel32" Alias "FindFirstFileA" (lpFileName As BytePtr, ByRef lpFindFildData As WIN32_FIND_DATA) As HANDLE
530Declare Function FindNextChangeNotification Lib "kernel32" (hChangeHandle As HANDLE) As BOOL
531Declare Function FindNextFile Lib "kernel32" Alias "FindNextFileA" (hFindFile As HANDLE, ByRef lpFindFildData As WIN32_FIND_DATA) As BOOL
532Declare Function FlushFileBuffers Lib "kernel32" (hFile As HANDLE) As BOOL
533
534Const FORMAT_MESSAGE_ALLOCATE_BUFFER = &H00000100
535Const FORMAT_MESSAGE_IGNORE_INSERTS = &H00000200
536Const FORMAT_MESSAGE_FROM_STRING = &H00000400
537Const FORMAT_MESSAGE_FROM_HMODULE = &H00000800
538Const FORMAT_MESSAGE_FROM_SYSTEM = &H00001000
539Const FORMAT_MESSAGE_ARGUMENT_ARRAY = &H00002000
540Declare Function FormatMessage Lib "kernel32" Alias "FormatMessageA" (dwFlags As DWord, lpSource As VoidPtr, dwMessageId As DWord, dwLanguageId As DWord, lpBuffer As BytePtr, nSize As DWord, Arguments As DWordPtr) As DWord
541Declare Function FreeEnvironmentStrings Lib "kernel32" Alias "FreeEnvironmentStringsA" (pszEnvironmentBlock As PCSTR) As BOOL
542Declare Function FreeLibrary Lib "kernel32" (hLibModule As HINSTANCE) As BOOL
543Declare Sub FreeLibraryAndExitThread Lib "kernel32" (hModule As HANDLE, dwExitCode As DWord)
544Declare Function GetCommandLine Lib "kernel32" Alias "GetCommandLineA" () As BytePtr
545Declare Function GetCompressedFileSize Lib "kernel32" Alias "GetCompressedFileSizeA" (lpFileName As BytePtr, ByRef lpFileSizeHigh As DWord) As DWord
546
547Const MAX_COMPUTERNAME_LENGTH=15
548Declare Function GetComputerName Lib "kernel32" Alias "GetComputerNameA" (lpBuffer As BytePtr, ByRef nSize As Long) As Long
549
550Declare Function GetCurrentDirectory Lib "kernel32" Alias "GetCurrentDirectoryA" (nBufferLength As DWord, lpBuffer As BytePtr) As DWord
551Declare Function GetCurrentProcess Lib "kernel32" () As HANDLE
552Declare Function GetCurrentProcessId Lib "kernel32" () As DWord
553Declare Function GetCurrentThread Lib "kernel32" () As HANDLE
554Declare Function GetCurrentThreadId Lib "kernel32" () As DWord
555
556Const DATE_SHORTDATE = &H00000001
557Const DATE_LONGDATE = &H00000002
558Const DATE_USE_ALT_CALENDAR = &H00000004
559Declare Function GetDateFormat Lib "kernel32" Alias "GetDateFormatA" (Locale As LCID, dwFlags As DWord, ByRef lpDate As SYSTEMTIME, lpFormat As BytePtr, lpDateStr As BytePtr, cchDate As Long) As Long
560
561Declare Function GetDiskFreeSpace Lib "kernel32" Alias "GetDiskFreeSpaceA" (lpRootPathName As BytePtr, lpSectorsPerCluster As *DWord, lpBytesPerSector As *DWord, lpNumberOfFreeClusters As *DWord, lpTotalNumberOfClusters As *DWord) As BOOL
562Declare Function GetDiskFreeSpaceEx Lib "kernel32" Alias "GetDiskFreeSpaceExA" (lpDirectoryName As BytePtr, ByRef lpFreeBytesAvailableToCaller As ULARGE_INTEGER, ByRef lpTotalNumberOfBytes As ULARGE_INTEGER, ByRef lpTotalNumberOfFreeBytes As ULARGE_INTEGER) As BOOL
563
564Const DRIVE_UNKNOWN = 0
565Const DRIVE_NO_ROOT_DIR = 1
566Const DRIVE_REMOVABLE = 2
567Const DRIVE_FIXED = 3
568Const DRIVE_REMOTE = 4
569Const DRIVE_CDROM = 5
570Const DRIVE_RAMDISK = 6
571Declare Function GetDriveType Lib "kernel32" Alias "GetDriveTypeA" (lpRootPathName As BytePtr) As DWord
572
573Declare Function GetEnvironmentVariable Lib "kernel32" Alias "GetEnvironmentVariableA" (lpName As BytePtr, lpBuffer As BytePtr, nSize As DWord) As DWord
574Declare Function GetEnvironmentStrings Lib "kernel32" Alias "GetEnvironmentStringsA" () As VoidPtr
575Const STILL_ACTIVE = &H00000103
576Declare Function GetExitCodeProcess Lib "kernel32" (hProcess As HANDLE, ByRef lpExitCode As DWord) As BOOL
577Declare Function GetExitCodeThread Lib "kernel32" (hThread As HANDLE, ByRef lpExitCode As DWord) As BOOL
578
579Declare Function GetFileAttributes Lib "kernel32" Alias "GetFileAttributesA" (lpFileName As BytePtr) As DWord
580Type BY_HANDLE_FILE_INFORMATION
581 dwFileAttributes As DWord
582 ftCreationTime As FILETIME
583 ftLastAccessTime As FILETIME
584 ftLastWriteTime As FILETIME
585 dwVolumeSerialNumber As DWord
586 nFileSizeHigh As DWord
587 nFileSizeLow As DWord
588 nNumberOfLinks As DWord
589 nFileIndexHigh As DWord
590 nFileIndexLow As DWord
591End Type
592Declare Function GetFileInformationByHandle Lib "kernel32" (
593 ByVal hFile As HANDLE,
594 ByRef FileInformation As BY_HANDLE_FILE_INFORMATION
595) As BOOL
596Declare Function GetFileSize Lib "kernel32" (hFile As HANDLE, lpFileSizeHigh As DWordPtr) As DWord
597Declare Function GetFileTime Lib "kernel32" (hFile As HANDLE, ByRef lpCreationTime As FILETIME, ByRef lpLastAccessTime As FILETIME, ByRef lpLastWriteTime As FILETIME) As BOOL
598
599Const FILE_TYPE_UNKNOWN = &H0000
600Const FILE_TYPE_DISK = &H0001
601Const FILE_TYPE_CHAR = &H0002
602Const FILE_TYPE_PIPE = &H0003
603Const FILE_TYPE_REMOTE = &H8000
604Declare Function GetFileType Lib "kernel32" (hFile As HANDLE) As DWord
605
606Declare Function GetFullPathName Lib "kernel32" Alias "GetFullPathNameA" (lpFileName As PCSTR, nBufferLength As DWord, pBuffer As PSTR, lpFilePart As *DWord) As DWord
607Declare Function GetLastError Lib "kernel32" () As DWord
608Declare Sub GetLocalTime Lib "kernel32" (ByRef lpSystemTime As SYSTEMTIME)
609Declare Function GetLogicalDrives Lib "kernel32" () As DWord
610Declare Function GetLogicalDriveStrings Lib "kernel32" Alias "GetLogicalDriveStringsA" (nBufferLength As DWord, pBuffer As PSTR) As DWord
611Declare Function GetModuleFileName Lib "kernel32" Alias "GetModuleFileNameA" (hModule As HINSTANCE, lpFileName As BytePtr, nSize As DWord) As DWord
612Declare Function GetModuleHandle Lib "kernel32" Alias "GetModuleHandleA" (lpModuleName As BytePtr) As HINSTANCE
613Declare Function GetOverlappedResult Lib "kernel32" (
614 hFile As HANDLE,
615 pOverlapped As *OVERLAPPED,
616 pNumberOfBytesTransferred AS *DWord,
617 bWait As BOOL
618) As BOOL
619Declare Function GetPriorityClass Lib "kernel32" (hProcess As HANDLE) As DWord
620Declare Function GetProcAddress Lib "kernel32" (hModule As HINSTANCE, lpProcName As BytePtr) As DWord
621Declare Function GetProcessHeap Lib "kernel32" () As HANDLE
622Declare Function GetShortPathName Lib "kernel32" Alias "GetShortPathNameA" (
623 pszLongPath As PCSTR,
624 lpszShortPath As PSTR,
625 cchBuffer As DWord
626) As DWord
627
628Declare Sub GetStartupInfo Lib "kernel32" Alias "GetStartupInfoA" (ByRef lpStartupInfo As STARTUPINFO)
629
630Const STD_INPUT_HANDLE = -10
631Const STD_OUTPUT_HANDLE = -11
632Const STD_ERROR_HANDLE = -12
633Declare Function GetStdHandle Lib "kernel32" (nStdHandle As DWord) As HANDLE
634
635Declare Function GetSystemDirectory Lib "kernel32" Alias "GetSystemDirectoryA" (lpBuffer As BytePtr, uSize As DWord) As DWord
636
637Type SYSTEM_INFO
638 dwOemId As DWord
639 dwPageSize As DWord
640 lpMinimumApplicationAddress As VoidPtr
641 lpMaximumApplicationAddress As VoidPtr
642 dwActiveProcessorMask As ULONG_PTR
643 dwNumberOfProcessors As DWord
644 dwProcessorType As DWord
645 dwAllocationGranularity As DWord
646 wProcessorLevel As Word
647 wProcessorRevision As Word
648End Type
649Declare Sub GetSystemInfo Lib "kernel32" (ByRef lpSystemInfo As SYSTEM_INFO)
650
651Declare Sub GetSystemTime Lib "kernel32" (ByRef SystemTime As SYSTEMTIME)
652Declare Sub GetSystemTimeAsFileTime Lib "kernel32" (ByRef SystemTimeAsFileTime As FILETIME)
653
654Declare Function GetTempFileName Lib "kernel32" Alias "GetTempFileNameA" (
655 pPathName As PCSTR,
656 pPrefixString As PCSTR,
657 uUnique As DWord,
658 pTempFileName As PSTR
659) As DWord
660Declare Function GetTempPath Lib "kernel32" Alias "GetTempPathA" (nBufferLength As DWord, lpBuffer As BytePtr) As DWord
661Declare Function GetThreadContext Lib "kernel32" (hThread As HANDLE, ByRef Context As CONTEXT) As BOOL
662
663Const THREAD_BASE_PRIORITY_LOWRT = 15
664Const THREAD_BASE_PRIORITY_MAX = 2
665Const THREAD_BASE_PRIORITY_MIN = -2
666Const THREAD_BASE_PRIORITY_IDLE = -15
667Const THREAD_PRIORITY_LOWEST = THREAD_BASE_PRIORITY_MIN
668Const THREAD_PRIORITY_BELOW_NORMAL = THREAD_PRIORITY_LOWEST+1
669Const THREAD_PRIORITY_NORMAL = 0
670Const THREAD_PRIORITY_HIGHEST = THREAD_BASE_PRIORITY_MAX
671Const THREAD_PRIORITY_ABOVE_NORMAL = THREAD_PRIORITY_HIGHEST-1
672Const THREAD_PRIORITY_ERROR_RETURN = LONG_MAX
673Const THREAD_PRIORITY_TIME_CRITICAL = THREAD_BASE_PRIORITY_LOWRT
674Const THREAD_PRIORITY_IDLE = THREAD_BASE_PRIORITY_IDLE
675Declare Function GetThreadPriority Lib "kernel32" (hThread As HANDLE) As Long
676Declare Function GetThreadPriorityBoost Lib "kernel32" (
677 hThread As HANDLE,
678 ByRef pDisablePriorityBoost As BOOL) As BOOL
679Declare Function GetTickCount Lib "kernel32" () As DWord
680
681Const TIME_NOMINUTESORSECONDS = &H00000001
682Const TIME_NOSECONDS = &H00000002
683Const TIME_NOTIMEMARKER = &H00000004
684Const TIME_FORCE24HOURFORMAT = &H00000008
685Declare Function GetTimeFormat Lib "kernel32" Alias "GetTimeFormatA" (Locale As LCID, dwFlags As DWord, ByRef lpTime As SYSTEMTIME, lpFormat As BytePtr, lpTimeStr As BytePtr, cchTime As DWord) As BOOL
686
687Declare Function GetUserDefaultLCID Lib "kernel32" () As LCID
688Declare Function GetUserName Lib "advapi32" Alias "GetUserNameA" (lpBuffer As BytePtr, ByRef nSize As DWord) As BOOL
689
690Const VER_PLATFORM_WIN32s = 0
691Const VER_PLATFORM_WIN32_WINDOWS = 1
692Const VER_PLATFORM_WIN32_NT = 2
693Type OSVERSIONINFO
694 dwOSVersionInfoSize As DWord
695 dwMajorVersion As DWord
696 dwMinorVersion As DWord
697 dwBuildNumber As DWord
698 dwPlatformId As DWord
699 szCSDVersion[127] As Byte
700End Type
701Declare Function GetVersionEx Lib "kernel32" Alias "GetVersionExA" (ByRef lpVersionInformation As OSVERSIONINFO) As BOOL
702
703Declare Function GetWindowsDirectory Lib "kernel32" Alias "GetWindowsDirectoryA" (lpBuffer As BytePtr, uSize As DWord) As DWord
704Declare Function GlobalAlloc Lib "kernel32" (uFlags As DWord, dwBytes As SIZE_T) As HGLOBAL
705Declare Function GlobalFree Lib "kernel32" (hMem As HGLOBAL) As HGLOBAL
706Declare Function GlobalLock Lib "kernel32" (hMem As HGLOBAL) As VoidPtr
707
708Type MEMORYSTATUS
709 dwLength As DWord
710 dwMemoryLoad As DWord
711 dwTotalPhys As SIZE_T
712 dwAvailPhys As SIZE_T
713 dwTotalPageFile As SIZE_T
714 dwAvailPageFile As SIZE_T
715 dwTotalVirtual As SIZE_T
716 dwAvailVirtual As SIZE_T
717End Type
718Declare Sub GlobalMemoryStatus Lib "kernel32" (ByRef lpMemStatus As MEMORYSTATUS)
719
720Declare Function GlobalReAlloc Lib "kernel32" (hMem As HGLOBAL, dwBytes As SIZE_T, uFlags As DWord) As HGLOBAL
721Declare Function GlobalSize Lib "kernel32" (hMem As HGLOBAL) As SIZE_T
722Declare Function GlobalUnlock Lib "kernel32" (hMem As HGLOBAL) As BOOL
723Declare Function HeapAlloc Lib "kernel32" (hHeap As HANDLE, dwFlags As DWord, dwBytes As SIZE_T) As VoidPtr
724Declare Function HeapCreate Lib "kernel32" (flOptions As DWord, dwInitialSize As SIZE_T, dwMaximumSize As SIZE_T) As HANDLE
725Declare Function HeapDestroy Lib "kernel32" (hHeap As HANDLE) As Long
726Declare Function HeapFree Lib "kernel32" (hHeap As HANDLE, dwFlags As DWord, lpMem As VoidPtr) As Long
727Declare Function HeapReAlloc Lib "kernel32" (hHeap As HANDLE, dwFlags As DWord, lpMem As VoidPtr, dwBytes As SIZE_T) As VoidPtr
728Declare Function HeapSize Lib "kernel32" (hHeap As HANDLE, dwFlags As DWord, lpMem As VoidPtr) As SIZE_T
729Declare Sub InitializeCriticalSection Lib "kernel32" (ByRef lpCriticalSection As CRITICAL_SECTION)
730Declare Function IsBadReadPtr Lib "kernel32" (lp As VoidPtr, ucb As ULONG_PTR) As BOOL
731Declare Function IsBadWritePtr Lib "kernel32" (lp As VoidPtr, ucb As DWord) As BOOL
732Declare Function IsDBCSLeadByte Lib "kernel32" (TestChar As Byte) As BOOL
733
734#ifdef _WIN64
735Declare Function IsWow64Process Lib "kernel32" (hProcess As HANDLE, ByRef bWow64Process As BOOL) As BOOL
736#endif
737
738Const LCMAP_LOWERCASE = &H00000100 ' lower case letters
739Const LCMAP_UPPERCASE = &H00000200 ' upper case letters
740Const LCMAP_SORTKEY = &H00000400 ' WC sort key (normalize)
741Const LCMAP_BYTEREV = &H00000800 ' byte reversal
742Const LCMAP_HIRAGANA = &H00100000 ' map katakana to hiragana
743Const LCMAP_KATAKANA = &H00200000 ' map hiragana to katakana
744Const LCMAP_HALFWIDTH = &H00400000 ' map double byte to single byte
745Const LCMAP_FULLWIDTH = &H00800000 ' map single byte to double byte
746Const LCMAP_LINGUISTIC_CASING = &H01000000 ' use linguistic rules for casing
747Const LCMAP_SIMPLIFIED_CHINESE = &H02000000 ' map traditional chinese to simplified chinese
748Const LCMAP_TRADITIONAL_CHINESE = &H04000000 ' map simplified chinese to traditional chinese
749Declare Function LCMapString Lib "kernel32" Alias "LCMapStringA" (Locale As LCID, dwMapFlags As DWord, lpSrcStr As LPCSTR, cchSrc As Long, lpDestStr As LPSTR, cchDest As Long) As Long
750
751Declare Sub LeaveCriticalSection Lib "kernel32" (ByRef lpCriticalSection As CRITICAL_SECTION)
752Declare Function LocalAlloc Lib "kernel32" (uFlags As DWord, uBytes As SIZE_T) As HLOCAL
753Declare Function LocalFileTimeToFileTime Lib "kernel32" (ByRef lpLocalFileTime As FILETIME, ByRef lpFileTime As FILETIME) As BOOL
754Declare Function LocalFree Lib "kernel32" (hMem As HLOCAL) As HLOCAL
755Declare Function LockFile Lib "kernel32" (hFile As DWord, dwFileOffsetLow As DWord, dwFileOffsetHigh As DWord, nNumberOfBytesToLockLow As DWord, nNumberOfBytesToLockHigh As DWord) As BOOL
756Declare Function LoadLibrary Lib "kernel32" Alias "LoadLibraryA" (lpLibFileName As BytePtr) As HINSTANCE
757
758Const DONT_RESOLVE_DLL_REFERENCES = &h00000001
759Const LOAD_LIBRARY_AS_DATAFILE = &h00000002
760Const LOAD_WITH_ALTERED_SEARCH_PATH = &h00000008
761Const LOAD_IGNORE_CODE_AUTHZ_LEVEL = &h00000010
762Declare Function LoadLibraryEx Lib "kernel32" Alias "LoadLibraryExA" (pLibFileName As PCSTR, hFile As HANDLE, dwFlags As DWord) As HINSTANCE
763
764Declare Function lstrcat Lib "kernel32" Alias "lstrcatA" (lpString1 As BytePtr, lpString2 As BytePtr) As BytePtr
765Declare Function lstrcmp Lib "kernel32" Alias "lstrcmpA" (lpString1 As BytePtr, lpString2 As BytePtr) As Long
766Declare Function lstrcmpi Lib "kernel32" Alias "lstrcmpiA" (lpString1 As BytePtr, lpString2 As BytePtr) As Long
767Declare Function lstrcpy Lib "kernel32" Alias "lstrcpyA" (lpString1 As BytePtr, lpString2 As BytePtr) As BytePtr
768Declare Function lstrlen Lib "kernel32" Alias "lstrlenA" (lpString As BytePtr) As Long
769Declare Sub memcpy Lib "kernel32" Alias "RtlMoveMemory" (pDest As VoidPtr, pSrc As VoidPtr, length As SIZE_T)
770Declare Function MoveFile Lib "kernel32" Alias "MoveFileA" (lpExistingFileName As BytePtr, lpNewFileName As BytePtr) As BOOL
771Declare Sub MoveMemory Lib "kernel32" Alias "RtlMoveMemory" (pDest As VoidPtr, pSrc As VoidPtr, length As SIZE_T)
772
773Declare Function MulDiv Lib "kernel32" (
774 nNumber As Long,
775 nNumerator As Long,
776 nDenominator As Long
777) As Long
778
779Const CP_ACP = 0 'default to ANSI code page
780Const CP_OEMCP = 1 'default to OEM code page
781Const CP_MACCP = 2 'default to MAC code page
782Const CP_THREAD_ACP = 3 'current thread's ANSI code page
783Const CP_SYMBOL = 42 'SYMBOL translations
784Const CP_UTF7 = 65000 'UTF-7 translation
785Const CP_UTF8 = 65001 'UTF-8 translation
786
787Declare Function MultiByteToWideChar Lib "kernel32" (CodePage As DWord, dwFlags As DWord, lpMultiByteStr As BytePtr, cchMultiByte As Long, lpWideCharStr As WordPtr, cchWideChar As Long) As Long
788
789Declare Function OpenEvent Lib "kernel32" Alias "OpenEventA" (dwDesiredAccess As DWord, bInheritHandle As BOOL, pName As PCSTR) As HANDLE
790Declare Function OpenMutex Lib "kernel32" Alias "OpenMutexA" (dwDesiredAccess As DWord, bInheritHandle As BOOL, lpName As LPSTR) As HANDLE
791Declare Function OpenSemaphore Lib "kernel32" Alias "OpenSemaphoreA" (dwDesiredAccess As DWord, bInheritHandle As BOOL, lpName As LPSTR) As HANDLE
792
793Const PROCESS_TERMINATE = &H0001
794Const PROCESS_CREATE_THREAD = &H0002
795Const PROCESS_SET_SESSIONID = &H0004
796Const PROCESS_VM_OPERATION = &H0008
797Const PROCESS_VM_READ = &H0010
798Const PROCESS_VM_WRITE = &H0020
799Const PROCESS_DUP_HANDLE = &H0040
800Const PROCESS_CREATE_PROCESS = &H0080
801Const PROCESS_SET_QUOTA = &H0100
802Const PROCESS_SET_INFORMATION = &H0200
803Const PROCESS_QUERY_INFORMATION = &H0400
804Const PROCESS_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED or SYNCHRONIZE or &HFFF
805Declare Function OpenProcess Lib "kernel32" (dwDesiredAccess As DWord, bInheritHandle As Long, dwProcessId As DWord) As HANDLE
806
807Declare Sub OutputDebugString Lib "kernel32" Alias "OutputDebugStringA" (lpOutputString As BytePtr)
808Declare Function PulseEvent Lib "kernel32" (hEvent As HANDLE) As BOOL
809Declare Sub RaiseException Lib "kernel32" (
810 dwExceptionCode As DWord,
811 dwExceptionFlags As DWord,
812 NumberOfArguments As DWord,
813 pArguments As *ULONG_PTR)
814Declare Function ReadFile Lib "kernel32" (hFile As HANDLE, lpBuffer As VoidPtr, nNumberOfBytesToRead As DWord, lpNumberOfBytesRead As DWordPtr, ByRef lpOverlapped As OVERLAPPED) As BOOL
815Declare Function ReleaseMutex Lib "kernel32" (hMutex As HANDLE) As BOOL
816Declare Function ReleaseSemaphore Lib "kernel32" (hSemaphore As HANDLE, lReleaseCount As Long, ByRef lpPreviousCount As Long) As BOOL
817Declare Function RemoveDirectory Lib "kernel32" Alias "RemoveDirectoryA" (lpPathName As BytePtr) As BOOL
818Declare Function ResetEvent Lib "kernel32" (hEvent As HANDLE) As BOOL
819Declare Function ResumeThread Lib "kernel32" (hThread As HANDLE) As DWord
820Declare Function SetComputerName Lib "kernel32" Alias "SetComputerNameA" (lpComputerName As BytePtr) As BOOL
821Declare Function SetCurrentDirectory Lib "kernel32" Alias "SetCurrentDirectoryA" (lpPathName As BytePtr) As BOOL
822Declare Function SetEndOfFile Lib "kernel32" (hFile As HANDLE) As BOOL
823Declare Function SetEnvironmentVariable Lib "kernel32" Alias "SetEnvironmentVariableA" (lpName As BytePtr, lpValue As BytePtr) As BOOL
824
825Const SEM_FAILCRITICALERRORS = &h0001
826Const SEM_NOGPFAULTERRORBOX = &h0002
827Const SEM_NOALIGNMENTFAULTEXCEPT = &h0004
828Const SEM_NOOPENFILEERRORBOX = &h8000
829Declare Function SetErrorMode Lib "kernel32" (uMode As DWord) As DWord
830Declare Function SetEvent Lib "kernel32" (hEvent As HANDLE) As BOOL
831Declare Function SetFileAttributes Lib "kernel32" Alias "SetFileAttributesA" (lpFileName As BytePtr, dwFileAttributes As DWord) As BOOL
832
833Const FILE_BEGIN = 0
834Const FILE_CURRENT = 1
835Const FILE_END = 2
836Declare Function SetFilePointer Lib "kernel32" (hFile As HANDLE, lDistanceToMove As Long, lpDistanceToMoveHigh As DWordPtr, dwMoveMethod As DWord) As DWord
837
838Declare Function SetFileTime Lib "kernel32" (hFile As HANDLE, ByRef lpCreationTime As FILETIME, ByRef lpLastAccessTime As FILETIME, ByRef lpLastWriteTime As FILETIME) As BOOL
839Declare Function SetLastError Lib "kernel32" (dwErrCode As DWord)
840Declare Function SetLastErrorEx Lib "kernel32" (dwErrCode As DWord, dwType As DWord)
841Declare Function SetLocalTime Lib "kernel32" (ByRef lpSystemTime As SYSTEMTIME) As BOOL
842Declare Function SetPriorityClass Lib "kernel32" (hProcess As HANDLE, dwPriorityClass As DWord) As BOOL
843Declare Function SetThreadContext Lib "kernel32" (hThread As HANDLE, ByRef Context As CONTEXT) As BOOL
844Declare Function SetThreadPriority Lib "kernel32" (hThread As HANDLE, nPriority As Long) As BOOL
845Declare Function SetThreadPriorityBoost Lib "kernel32" (
846 hThread As HANDLE,
847 DisablePriorityBoost As BOOL
848) As BOOL
849
850Const EXCEPTION_MAXIMUM_PARAMETERS = ELM(15)
851
852Type EXCEPTION_RECORD
853 ExceptionCode As DWord
854 ExceptionFlags As DWord
855 ExceptionRecord As *EXCEPTION_RECORD
856 ExceptionAddress As VoidPtr
857 NumberParameters As DWord
858 ExceptionInformation[EXCEPTION_MAXIMUM_PARAMETERS] As ULONG_PTR
859End Type
860
861Type EXCEPTION_POINTERS
862 ExceptionRecord As *EXCEPTION_RECORD
863 ContextRecord As *CONTEXT
864End Type
865
866TypeDef PTOP_LEVEL_EXCEPTION_FILTER = *Function(ByRef ExceptionInfo As EXCEPTION_POINTERS) As Long
867
868Declare Function SetUnhandledExceptionFilter Lib "kernel32" (pTopLevelExceptionFilter As PTOP_LEVEL_EXCEPTION_FILTER) As PTOP_LEVEL_EXCEPTION_FILTER
869
870Const INFINITE = &HFFFFFFFF
871Declare Sub Sleep Lib "kernel32" (dwMilliseconds As DWord)
872Declare Function SleepEx Lib "kernel32" (dwMilliseconds As DWord, bAlertable As BOOL) As DWord
873
874Declare Function SuspendThread Lib "kernel32" (hThread As HANDLE) As DWord
875Declare Function SystemTimeToFileTime Lib "kernel32" (ByRef lpSystemTime As SYSTEMTIME, ByRef lpFileTime As FILETIME) As BOOL
876Declare Function TerminateProcess Lib "kernel32" (hProcess As HANDLE, dwExitCode As DWord) As BOOL
877Declare Function TerminateThread Lib "kernel32" (hThread As HANDLE, dwExitCode As DWord) As BOOL
878Declare Sub TlsAlloc Lib "kernel32" ()
879Declare Function TlsFree Lib "kernel32" (dwTlsIndex As DWord) As BOOL
880Declare Function TlsGetValue Lib "kernel32" (dwTlsIndex As DWord) As VoidPtr
881Declare Function TlsSetValue Lib "kernel32" (dwTlsIndex As DWord, pTlsValue As VoidPtr) As BOOL
882Declare Function UnlockFile Lib "kernel32" (hFile As HANDLE, dwFileOffsetLow As DWord, dwFileOffsetHigh As DWord, nNumberOfBytesToUnlockLow As DWord, nNumberOfBytesToUnlockHigh As DWord) As BOOL
883Declare Function UnhandledExceptionFilter Lib "kernel32" (ByRef ExceptionInfo As EXCEPTION_POINTERS) As Long
884
885Const PAGE_NOACCESS = &H01
886Const PAGE_READONLY = &H02
887Const PAGE_READWRITE = &H04
888Const PAGE_WRITECOPY = &H08
889Const PAGE_EXECUTE = &H10
890Const PAGE_EXECUTE_READ = &H20
891Const PAGE_EXECUTE_READWRITE = &H40
892Const PAGE_EXECUTE_WRITECOPY = &H80
893Const PAGE_GUARD = &H100
894Const PAGE_NOCACHE = &H200
895Const PAGE_WRITECOMBINE = &H400
896Const MEM_COMMIT = &H1000
897Const MEM_RESERVE = &H2000
898Const MEM_DECOMMIT = &H4000
899Const MEM_RELEASE = &H8000
900Const MEM_FREE = &H10000
901Const MEM_PRIVATE = &H20000
902Const MEM_MAPPED = &H40000
903Const MEM_RESET = &H80000
904Const MEM_TOP_DOWN = &H100000
905Const MEM_4MB_PAGES = &H80000000
906Declare Function VirtualAlloc Lib "kernel32" (lpAddress As VoidPtr, dwSize As SIZE_T, flAllocationType As DWord, flProtect As DWord) As VoidPtr
907Declare Function VirtualFree Lib "kernel32" (lpAddress As VoidPtr, dwSize As SIZE_T, dwFreeType As DWord) As BOOL
908Declare Function VirtualLock Lib "kernel32" (lpAddress As VoidPtr, dwSize As SIZE_T) As BOOL
909Declare Function VirtualUnlock Lib "kernel32" (lpAddress As VoidPtr, dwSize As SIZE_T) As BOOL
910Declare Function WaitForMultipleObjects Lib "kernel32" (nCount As DWord, pHandles As *HANDLE, fWaitAll As BOOL, dwMilliseconds As DWord) As DWord
911Declare Function WaitForMultipleObjectsEx Lib "kernel32" (nCount As DWord, pHandles As *HANDLE, fWaitAll As BOOL, dwMilliseconds As DWord, bAlertable As BOOL) As DWord
912Declare Function WaitForSingleObject Lib "kernel32" (hHandle As HANDLE, dwMilliseconds As DWord) As DWord
913Declare Function WaitForSingleObjectEx Lib "kernel32" (hHandle As HANDLE, dwMilliseconds As DWord, bAlertable As BOOL) As DWord
914
915Const WC_COMPOSITECHECK = &H00000200
916Const WC_DISCARDNS = &H00000010
917Const WC_SEPCHARS = &H00000020
918Const WC_DEFAULTCHAR = &H00000040
919Const WC_NO_BEST_FIT_CHARS = &H00000400
920Declare Function WideCharToMultiByte Lib "Kernel32" (
921 CodePage As DWord,
922 dwFlags As DWord,
923 pWideCharStr As PCWSTR,
924 cchWideChar As Long,
925 pMultiByteStr As PSTR,
926 cbMultiByte As Long,
927 pDefaultChar As PCSTR,
928 pUsedDefaultChar As *BOOL
929) As Long
930
931Declare Function WriteFile Lib "kernel32" (hFile As HANDLE, lpBuffer As VoidPtr, nNumberOfBytesToWrite As DWord, lpNumberOfBytesWritten As DWordPtr, ByRef lpOverlapped As OVERLAPPED) As BOOL
932Declare Sub ZeroMemory Lib "kernel32" Alias "RtlZeroMemory" (Destination As VoidPtr, dwLength As DWord)
933
934
935
936Const MAKELCID(lgid, srtid) = ((((srtid As Word) As DWord)<<16) or ((lgid As Word) As DWord))
937Const MAKELANGID(p, s) = (((s As Word) << 10) or (p As Word))
938Const PRIMARYLANGID(lgid) = ((lgid As Word) and &H3ff)
939Const SUBLANGID(lgid) = ((lgid As Word) >> 10)
940
941
942'
943' Primary language IDs.
944'
945
946Const LANG_NEUTRAL = &H00
947Const LANG_INVARIANT = &H7f
948
949Const LANG_AFRIKAANS = &H36
950Const LANG_ALBANIAN = &H1c
951Const LANG_ARABIC = &H01
952Const LANG_ARMENIAN = &H2b
953Const LANG_ASSAMESE = &H4d
954Const LANG_AZERI = &H2c
955Const LANG_BASQUE = &H2d
956Const LANG_BELARUSIAN = &H23
957Const LANG_BENGALI = &H45
958Const LANG_BULGARIAN = &H02
959Const LANG_CATALAN = &H03
960Const LANG_CHINESE = &H04
961Const LANG_CROATIAN = &H1a
962Const LANG_CZECH = &H05
963Const LANG_DANISH = &H06
964Const LANG_DIVEHI = &H65
965Const LANG_DUTCH = &H13
966Const LANG_ENGLISH = &H09
967Const LANG_ESTONIAN = &H25
968Const LANG_FAEROESE = &H38
969Const LANG_FARSI = &H29
970Const LANG_FINNISH = &H0b
971Const LANG_FRENCH = &H0c
972Const LANG_GALICIAN = &H56
973Const LANG_GEORGIAN = &H37
974Const LANG_GERMAN = &H07
975Const LANG_GREEK = &H08
976Const LANG_GUJARATI = &H47
977Const LANG_HEBREW = &H0d
978Const LANG_HINDI = &H39
979Const LANG_HUNGARIAN = &H0e
980Const LANG_ICELANDIC = &H0f
981Const LANG_INDONESIAN = &H21
982Const LANG_ITALIAN = &H10
983Const LANG_JAPANESE = &H11
984Const LANG_KANNADA = &H4b
985Const LANG_KASHMIRI = &H60
986Const LANG_KAZAK = &H3f
987Const LANG_KONKANI = &H57
988Const LANG_KOREAN = &H12
989Const LANG_KYRGYZ = &H40
990Const LANG_LATVIAN = &H26
991Const LANG_LITHUANIAN = &H27
992Const LANG_MACEDONIAN = &H2f ' the Former Yugoslav Republic of Macedonia
993Const LANG_MALAY = &H3e
994Const LANG_MALAYALAM = &H4c
995Const LANG_MANIPURI = &H58
996Const LANG_MARATHI = &H4e
997Const LANG_MONGOLIAN = &H50
998Const LANG_NEPALI = &H61
999Const LANG_NORWEGIAN = &H14
1000Const LANG_ORIYA = &H48
1001Const LANG_POLISH = &H15
1002Const LANG_PORTUGUESE = &H16
1003Const LANG_PUNJABI = &H46
1004Const LANG_ROMANIAN = &H18
1005Const LANG_RUSSIAN = &H19
1006Const LANG_SANSKRIT = &H4f
1007Const LANG_SERBIAN = &H1a
1008Const LANG_SINDHI = &H59
1009Const LANG_SLOVAK = &H1b
1010Const LANG_SLOVENIAN = &H24
1011Const LANG_SPANISH = &H0a
1012Const LANG_SWAHILI = &H41
1013Const LANG_SWEDISH = &H1d
1014Const LANG_SYRIAC = &H5a
1015Const LANG_TAMIL = &H49
1016Const LANG_TATAR = &H44
1017Const LANG_TELUGU = &H4a
1018Const LANG_THAI = &H1e
1019Const LANG_TURKISH = &H1f
1020Const LANG_UKRAINIAN = &H22
1021Const LANG_URDU = &H20
1022Const LANG_UZBEK = &H43
1023Const LANG_VIETNAMESE = &H2a
1024
1025'
1026' Sublanguage IDs.
1027'
1028' The name immediately following SUBLANG_ dictates which primary
1029' language ID that sublanguage ID can be combined with to form a
1030' valid language ID.
1031'
1032
1033Const SUBLANG_NEUTRAL = &H00 ' language neutral
1034Const SUBLANG_DEFAULT = &H01 ' user default
1035Const SUBLANG_SYS_DEFAULT = &H02 ' system default
1036
1037Const SUBLANG_ARABIC_SAUDI_ARABIA = &H01 ' Arabic (Saudi Arabia)
1038Const SUBLANG_ARABIC_IRAQ = &H02 ' Arabic (Iraq)
1039Const SUBLANG_ARABIC_EGYPT = &H03 ' Arabic (Egypt)
1040Const SUBLANG_ARABIC_LIBYA = &H04 ' Arabic (Libya)
1041Const SUBLANG_ARABIC_ALGERIA = &H05 ' Arabic (Algeria)
1042Const SUBLANG_ARABIC_MOROCCO = &H06 ' Arabic (Morocco)
1043Const SUBLANG_ARABIC_TUNISIA = &H07 ' Arabic (Tunisia)
1044Const SUBLANG_ARABIC_OMAN = &H08 ' Arabic (Oman)
1045Const SUBLANG_ARABIC_YEMEN = &H09 ' Arabic (Yemen)
1046Const SUBLANG_ARABIC_SYRIA = &H0a ' Arabic (Syria)
1047Const SUBLANG_ARABIC_JORDAN = &H0b ' Arabic (Jordan)
1048Const SUBLANG_ARABIC_LEBANON = &H0c ' Arabic (Lebanon)
1049Const SUBLANG_ARABIC_KUWAIT = &H0d ' Arabic (Kuwait)
1050Const SUBLANG_ARABIC_UAE = &H0e ' Arabic (U.A.E)
1051Const SUBLANG_ARABIC_BAHRAIN = &H0f ' Arabic (Bahrain)
1052Const SUBLANG_ARABIC_QATAR = &H10 ' Arabic (Qatar)
1053Const SUBLANG_AZERI_LATIN = &H01 ' Azeri (Latin)
1054Const SUBLANG_AZERI_CYRILLIC = &H02 ' Azeri (Cyrillic)
1055Const SUBLANG_CHINESE_TRADITIONAL = &H01 ' Chinese (Taiwan)
1056Const SUBLANG_CHINESE_SIMPLIFIED = &H02 ' Chinese (PR China)
1057Const SUBLANG_CHINESE_HONGKONG = &H03 ' Chinese (Hong Kong S.A.R., P.R.C.)
1058Const SUBLANG_CHINESE_SINGAPORE = &H04 ' Chinese (Singapore)
1059Const SUBLANG_CHINESE_MACAU = &H05 ' Chinese (Macau S.A.R.)
1060Const SUBLANG_DUTCH = &H01 ' Dutch
1061Const SUBLANG_DUTCH_BELGIAN = &H02 ' Dutch (Belgian)
1062Const SUBLANG_ENGLISH_US = &H01 ' English (USA)
1063Const SUBLANG_ENGLISH_UK = &H02 ' English (UK)
1064Const SUBLANG_ENGLISH_AUS = &H03 ' English (Australian)
1065Const SUBLANG_ENGLISH_CAN = &H04 ' English (Canadian)
1066Const SUBLANG_ENGLISH_NZ = &H05 ' English (New Zealand)
1067Const SUBLANG_ENGLISH_EIRE = &H06 ' English (Irish)
1068Const SUBLANG_ENGLISH_SOUTH_AFRICA = &H07 ' English (South Africa)
1069Const SUBLANG_ENGLISH_JAMAICA = &H08 ' English (Jamaica)
1070Const SUBLANG_ENGLISH_CARIBBEAN = &H09 ' English (Caribbean)
1071Const SUBLANG_ENGLISH_BELIZE = &H0a ' English (Belize)
1072Const SUBLANG_ENGLISH_TRINIDAD = &H0b ' English (Trinidad)
1073Const SUBLANG_ENGLISH_ZIMBABWE = &H0c ' English (Zimbabwe)
1074Const SUBLANG_ENGLISH_PHILIPPINES = &H0d ' English (Philippines)
1075Const SUBLANG_FRENCH = &H01 ' French
1076Const SUBLANG_FRENCH_BELGIAN = &H02 ' French (Belgian)
1077Const SUBLANG_FRENCH_CANADIAN = &H03 ' French (Canadian)
1078Const SUBLANG_FRENCH_SWISS = &H04 ' French (Swiss)
1079Const SUBLANG_FRENCH_LUXEMBOURG = &H05 ' French (Luxembourg)
1080Const SUBLANG_FRENCH_MONACO = &H06 ' French (Monaco)
1081Const SUBLANG_GERMAN = &H01 ' German
1082Const SUBLANG_GERMAN_SWISS = &H02 ' German (Swiss)
1083Const SUBLANG_GERMAN_AUSTRIAN = &H03 ' German (Austrian)
1084Const SUBLANG_GERMAN_LUXEMBOURG = &H04 ' German (Luxembourg)
1085Const SUBLANG_GERMAN_LIECHTENSTEIN = &H05 ' German (Liechtenstein)
1086Const SUBLANG_ITALIAN = &H01 ' Italian
1087Const SUBLANG_ITALIAN_SWISS = &H02 ' Italian (Swiss)
1088Const SUBLANG_KASHMIRI_SASIA = &H02 ' Kashmiri (South Asia)
1089Const SUBLANG_KOREAN = &H01 ' Korean (Extended Wansung)
1090Const SUBLANG_LITHUANIAN = &H01 ' Lithuanian
1091Const SUBLANG_MALAY_MALAYSIA = &H01 ' Malay (Malaysia)
1092Const SUBLANG_MALAY_BRUNEI_DARUSSALAM = &H02 ' Malay (Brunei Darussalam)
1093Const SUBLANG_NEPALI_INDIA = &H02 ' Nepali (India)
1094Const SUBLANG_NORWEGIAN_BOKMAL = &H01 ' Norwegian (Bokmal)
1095Const SUBLANG_NORWEGIAN_NYNORSK = &H02 ' Norwegian (Nynorsk)
1096Const SUBLANG_PORTUGUESE = &H02 ' Portuguese
1097Const SUBLANG_PORTUGUESE_BRAZILIAN = &H01 ' Portuguese (Brazilian)
1098Const SUBLANG_SERBIAN_LATIN = &H02 ' Serbian (Latin)
1099Const SUBLANG_SERBIAN_CYRILLIC = &H03 ' Serbian (Cyrillic)
1100Const SUBLANG_SPANISH = &H01 ' Spanish (Castilian)
1101Const SUBLANG_SPANISH_MEXICAN = &H02 ' Spanish (Mexican)
1102Const SUBLANG_SPANISH_MODERN = &H03 ' Spanish (Spain)
1103Const SUBLANG_SPANISH_GUATEMALA = &H04 ' Spanish (Guatemala)
1104Const SUBLANG_SPANISH_COSTA_RICA = &H05 ' Spanish (Costa Rica)
1105Const SUBLANG_SPANISH_PANAMA = &H06 ' Spanish (Panama)
1106Const SUBLANG_SPANISH_DOMINICAN_REPUBLIC = &H07 ' Spanish (Dominican Republic)
1107Const SUBLANG_SPANISH_VENEZUELA = &H08 ' Spanish (Venezuela)
1108Const SUBLANG_SPANISH_COLOMBIA = &H09 ' Spanish (Colombia)
1109Const SUBLANG_SPANISH_PERU = &H0a ' Spanish (Peru)
1110Const SUBLANG_SPANISH_ARGENTINA = &H0b ' Spanish (Argentina)
1111Const SUBLANG_SPANISH_ECUADOR = &H0c ' Spanish (Ecuador)
1112Const SUBLANG_SPANISH_CHILE = &H0d ' Spanish (Chile)
1113Const SUBLANG_SPANISH_URUGUAY = &H0e ' Spanish (Uruguay)
1114Const SUBLANG_SPANISH_PARAGUAY = &H0f ' Spanish (Paraguay)
1115Const SUBLANG_SPANISH_BOLIVIA = &H10 ' Spanish (Bolivia)
1116Const SUBLANG_SPANISH_EL_SALVADOR = &H11 ' Spanish (El Salvador)
1117Const SUBLANG_SPANISH_HONDURAS = &H12 ' Spanish (Honduras)
1118Const SUBLANG_SPANISH_NICARAGUA = &H13 ' Spanish (Nicaragua)
1119Const SUBLANG_SPANISH_PUERTO_RICO = &H14 ' Spanish (Puerto Rico)
1120Const SUBLANG_SWEDISH = &H01 ' Swedish
1121Const SUBLANG_SWEDISH_FINLAND = &H02 ' Swedish (Finland)
1122Const SUBLANG_URDU_PAKISTAN = &H01 ' Urdu (Pakistan)
1123Const SUBLANG_URDU_INDIA = &H02 ' Urdu (India)
1124Const SUBLANG_UZBEK_LATIN = &H01 ' Uzbek (Latin)
1125Const SUBLANG_UZBEK_CYRILLIC = &H02 ' Uzbek (Cyrillic)
1126
1127
1128Const LANG_SYSTEM_DEFAULT = (MAKELANGID(LANG_NEUTRAL, SUBLANG_SYS_DEFAULT))
1129Const LANG_USER_DEFAULT = (MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT))
1130
1131
1132'
1133' Sorting IDs.
1134'
1135
1136Const SORT_DEFAULT = &H0 ' sorting default
1137
1138Const SORT_JAPANESE_XJIS = &H0 ' Japanese XJIS order
1139Const SORT_JAPANESE_UNICODE = &H1 ' Japanese Unicode order
1140
1141Const SORT_CHINESE_BIG5 = &H0 ' Chinese BIG5 order
1142Const SORT_CHINESE_PRCP = &H0 ' PRC Chinese Phonetic order
1143Const SORT_CHINESE_UNICODE = &H1 ' Chinese Unicode order
1144Const SORT_CHINESE_PRC = &H2 ' PRC Chinese Stroke Count order
1145Const SORT_CHINESE_BOPOMOFO = &H3 ' Traditional Chinese Bopomofo order
1146
1147Const SORT_KOREAN_KSC = &H0 ' Korean KSC order
1148Const SORT_KOREAN_UNICODE = &H1 ' Korean Unicode order
1149
1150Const SORT_GERMAN_PHONE_BOOK = &H1 ' German Phone Book order
1151
1152Const SORT_HUNGARIAN_DEFAULT = &H0 ' Hungarian Default order
1153Const SORT_HUNGARIAN_TECHNICAL = &H1 ' Hungarian Technical order
1154
1155Const SORT_GEORGIAN_TRADITIONAL = &H0 ' Georgian Traditional order
1156Const SORT_GEORGIAN_MODERN = &H1 ' Georgian Modern order
1157
1158'
1159' Wait functions' results.
1160'
1161Const WAIT_FAILED = (&hFFFFFFFF As DWord)
1162Const WAIT_OBJECT_0 = 0 '((STATUS_WAIT_0 ) + 0)
1163
1164Const WAIT_ABANDONED = &h00000080 As DWord '((STATUS_ABANDONED_WAIT_0 ) + 0)
1165Const WAIT_ABANDONED_0 = WAIT_ABANDONED '((STATUS_ABANDONED_WAIT_0 ) + 0)
1166
1167Const WAIT_IO_COMPLETION = &h000000C0 'STATUS_USER_APC
1168Const WAIT_TIMEOUT = &h000000C0
1169
1170
1171#endif '_INC_SYSTEM
Note: See TracBrowser for help on using the repository browser.