File Annotation

Not logged in
4e2933c620 2015-04-21        kinaba: /***********************************************************************\
4e2933c620 2015-04-21        kinaba: *                               winbase.d                               *
4e2933c620 2015-04-21        kinaba: *                                                                       *
4e2933c620 2015-04-21        kinaba: *                       Windows API header module                       *
4e2933c620 2015-04-21        kinaba: *                                                                       *
4e2933c620 2015-04-21        kinaba: *             Translated from MinGW API for MS-Windows 3.10             *
4e2933c620 2015-04-21        kinaba: *                                                                       *
4e2933c620 2015-04-21        kinaba: *                       Placed into public domain                       *
4e2933c620 2015-04-21        kinaba: \***********************************************************************/
c2b7a98c21 2011-02-23        kinaba: module win32.winbase;
9b639cf2d6 2015-05-05        kinaba: pragma(lib, "kernel32");
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: /**
4e2933c620 2015-04-21        kinaba: Translation Notes:
4e2933c620 2015-04-21        kinaba: The following macros are obsolete, and have no effect.
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: LockSegment(w), MakeProcInstance(p, i), UnlockResource(h), UnlockSegment(w)
4e2933c620 2015-04-21        kinaba: FreeModule(m), FreeProcInstance(p), GetFreeSpace(w), DefineHandleTable(w)
4e2933c620 2015-04-21        kinaba: SetSwapAreaSize(w), LimitEmsPages(n), Yield()
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: // The following Win16 functions are obselete in Win32.
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba:  int _hread(HFILE, LPVOID, int);
4e2933c620 2015-04-21        kinaba:  int _hwrite(HFILE, LPCSTR, int);
4e2933c620 2015-04-21        kinaba:  HFILE _lclose(HFILE);
4e2933c620 2015-04-21        kinaba:  HFILE _lcreat(LPCSTR, int);
4e2933c620 2015-04-21        kinaba:  LONG _llseek(HFILE, LONG, int);
4e2933c620 2015-04-21        kinaba:  HFILE _lopen(LPCSTR, int);
4e2933c620 2015-04-21        kinaba:  UINT _lread(HFILE, LPVOID, UINT);
4e2933c620 2015-04-21        kinaba:  UINT _lwrite(HFILE, LPCSTR, UINT);
4e2933c620 2015-04-21        kinaba:  SIZE_T GlobalCompact(DWORD);
4e2933c620 2015-04-21        kinaba:  VOID GlobalFix(HGLOBAL);
4e2933c620 2015-04-21        kinaba: * MSDN contradicts itself on GlobalFlags:
4e2933c620 2015-04-21        kinaba: * "This function is provided only for compatibility with 16-bit versions of Windows."
4e2933c620 2015-04-21        kinaba: * but also requires Windows 2000 or above
4e2933c620 2015-04-21        kinaba:  UINT GlobalFlags(HGLOBAL);
4e2933c620 2015-04-21        kinaba:  VOID GlobalUnfix(HGLOBAL);
4e2933c620 2015-04-21        kinaba:  BOOL GlobalUnWire(HGLOBAL);
4e2933c620 2015-04-21        kinaba:  PVOID GlobalWire(HGLOBAL);
4e2933c620 2015-04-21        kinaba:  SIZE_T LocalCompact(UINT);
4e2933c620 2015-04-21        kinaba:  UINT LocalFlags(HLOCAL);
4e2933c620 2015-04-21        kinaba:  SIZE_T LocalShrink(HLOCAL, UINT);
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: // These are not required for DMD.
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: //FIXME:
4e2933c620 2015-04-21        kinaba: // #ifndef UNDER_CE
4e2933c620 2015-04-21        kinaba: 	int WinMain(HINSTANCE, HINSTANCE, LPSTR, int);
4e2933c620 2015-04-21        kinaba: #else
4e2933c620 2015-04-21        kinaba: 	int WinMain(HINSTANCE, HINSTANCE, LPWSTR, int);
4e2933c620 2015-04-21        kinaba: #endif
4e2933c620 2015-04-21        kinaba: int wWinMain(HINSTANCE, HINSTANCE, LPWSTR, int);
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: */
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: import win32.windef, win32.winver;
4e2933c620 2015-04-21        kinaba: private import win32.basetyps, win32.w32api, win32.winnt;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: // FIXME:
4e2933c620 2015-04-21        kinaba: alias void va_list;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: /+
4e2933c620 2015-04-21        kinaba: //--------------------------------------
4e2933c620 2015-04-21        kinaba: // These functions are problematic
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: version(UseNtoSKernel) {}else {
4e2933c620 2015-04-21        kinaba: 	/* CAREFUL: These are exported from ntoskrnl.exe and declared in winddk.h
4e2933c620 2015-04-21        kinaba: 	   as __fastcall functions, but are  exported from kernel32.dll as __stdcall */
9b639cf2d6 2015-05-05        kinaba: 	static if (_WIN32_WINNT >= 0x501) {
4e2933c620 2015-04-21        kinaba: 	 VOID InitializeSListHead(PSLIST_HEADER);
4e2933c620 2015-04-21        kinaba: 	}
4e2933c620 2015-04-21        kinaba: 	LONG InterlockedCompareExchange(LPLONG, LONG, LONG);
4e2933c620 2015-04-21        kinaba: 	// PVOID WINAPI InterlockedCompareExchangePointer(PVOID*, PVOID, PVOID);
4e2933c620 2015-04-21        kinaba: 	(PVOID)InterlockedCompareExchange((LPLONG)(d)    (PVOID)InterlockedCompareExchange((LPLONG)(d), (LONG)(e), (LONG)(c))
4e2933c620 2015-04-21        kinaba: 	LONG InterlockedDecrement(LPLONG);
4e2933c620 2015-04-21        kinaba: 	LONG InterlockedExchange(LPLONG, LONG);
4e2933c620 2015-04-21        kinaba: 	// PVOID WINAPI InterlockedExchangePointer(PVOID*, PVOID);
4e2933c620 2015-04-21        kinaba: 	(PVOID)InterlockedExchange((LPLONG)((PVOID)InterlockedExchange((LPLONG)(t), (LONG)(v))
4e2933c620 2015-04-21        kinaba: 	LONG InterlockedExchangeAdd(LPLONG, LONG);
4e2933c620 2015-04-21        kinaba: 
9b639cf2d6 2015-05-05        kinaba: 	static if (_WIN32_WINNT >= 0x501) {
4e2933c620 2015-04-21        kinaba: 	PSLIST_ENTRY InterlockedFlushSList(PSLIST_HEADER);
4e2933c620 2015-04-21        kinaba: 	}
4e2933c620 2015-04-21        kinaba: 	LONG InterlockedIncrement(LPLONG);
9b639cf2d6 2015-05-05        kinaba: 	static if (_WIN32_WINNT >= 0x501) {
4e2933c620 2015-04-21        kinaba: 	PSLIST_ENTRY InterlockedPopEntrySList(PSLIST_HEADER);
4e2933c620 2015-04-21        kinaba: 	PSLIST_ENTRY InterlockedPushEntrySList(PSLIST_HEADER, PSLIST_ENTRY);
4e2933c620 2015-04-21        kinaba: 	}
4e2933c620 2015-04-21        kinaba: } // #endif //  __USE_NTOSKRNL__
4e2933c620 2015-04-21        kinaba: //--------------------------------------
4e2933c620 2015-04-21        kinaba: +/
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: // COMMPROP structure, used by GetCommProperties()
4e2933c620 2015-04-21        kinaba: // -----------------------------------------------
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: // Communications provider type
4e2933c620 2015-04-21        kinaba: enum : DWORD {
4e2933c620 2015-04-21        kinaba: 	PST_UNSPECIFIED,
4e2933c620 2015-04-21        kinaba: 	PST_RS232,
4e2933c620 2015-04-21        kinaba: 	PST_PARALLELPORT,
4e2933c620 2015-04-21        kinaba: 	PST_RS422,
4e2933c620 2015-04-21        kinaba: 	PST_RS423,
4e2933c620 2015-04-21        kinaba: 	PST_RS449,
4e2933c620 2015-04-21        kinaba: 	PST_MODEM,      // =      6
4e2933c620 2015-04-21        kinaba: 	PST_FAX            = 0x0021,
4e2933c620 2015-04-21        kinaba: 	PST_SCANNER        = 0x0022,
4e2933c620 2015-04-21        kinaba: 	PST_NETWORK_BRIDGE = 0x0100,
4e2933c620 2015-04-21        kinaba: 	PST_LAT            = 0x0101,
4e2933c620 2015-04-21        kinaba: 	PST_TCPIP_TELNET   = 0x0102,
4e2933c620 2015-04-21        kinaba: 	PST_X25            = 0x0103
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: // Max baud rate
4e2933c620 2015-04-21        kinaba: enum : DWORD {
4e2933c620 2015-04-21        kinaba: 	BAUD_075    = 0x00000001,
4e2933c620 2015-04-21        kinaba: 	BAUD_110    = 0x00000002,
4e2933c620 2015-04-21        kinaba: 	BAUD_134_5  = 0x00000004,
4e2933c620 2015-04-21        kinaba: 	BAUD_150    = 0x00000008,
4e2933c620 2015-04-21        kinaba: 	BAUD_300    = 0x00000010,
4e2933c620 2015-04-21        kinaba: 	BAUD_600    = 0x00000020,
4e2933c620 2015-04-21        kinaba: 	BAUD_1200   = 0x00000040,
4e2933c620 2015-04-21        kinaba: 	BAUD_1800   = 0x00000080,
4e2933c620 2015-04-21        kinaba: 	BAUD_2400   = 0x00000100,
4e2933c620 2015-04-21        kinaba: 	BAUD_4800   = 0x00000200,
4e2933c620 2015-04-21        kinaba: 	BAUD_7200   = 0x00000400,
4e2933c620 2015-04-21        kinaba: 	BAUD_9600   = 0x00000800,
4e2933c620 2015-04-21        kinaba: 	BAUD_14400  = 0x00001000,
4e2933c620 2015-04-21        kinaba: 	BAUD_19200  = 0x00002000,
4e2933c620 2015-04-21        kinaba: 	BAUD_38400  = 0x00004000,
4e2933c620 2015-04-21        kinaba: 	BAUD_56K    = 0x00008000,
4e2933c620 2015-04-21        kinaba: 	BAUD_128K   = 0x00010000,
4e2933c620 2015-04-21        kinaba: 	BAUD_115200 = 0x00020000,
4e2933c620 2015-04-21        kinaba: 	BAUD_57600  = 0x00040000,
4e2933c620 2015-04-21        kinaba: 	BAUD_USER   = 0x10000000
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: // Comm capabilities
4e2933c620 2015-04-21        kinaba: enum : DWORD {
4e2933c620 2015-04-21        kinaba: 	PCF_DTRDSR        = 0x0001,
4e2933c620 2015-04-21        kinaba: 	PCF_RTSCTS        = 0x0002,
4e2933c620 2015-04-21        kinaba: 	PCF_RLSD          = 0x0004,
4e2933c620 2015-04-21        kinaba: 	PCF_PARITY_CHECK  = 0x0008,
4e2933c620 2015-04-21        kinaba: 	PCF_XONXOFF       = 0x0010,
4e2933c620 2015-04-21        kinaba: 	PCF_SETXCHAR      = 0x0020,
4e2933c620 2015-04-21        kinaba: 	PCF_TOTALTIMEOUTS = 0x0040,
4e2933c620 2015-04-21        kinaba: 	PCF_INTTIMEOUTS   = 0x0080,
4e2933c620 2015-04-21        kinaba: 	PCF_SPECIALCHARS  = 0x0100,
4e2933c620 2015-04-21        kinaba: 	PCF_16BITMODE     = 0x0200
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: enum  : DWORD {
4e2933c620 2015-04-21        kinaba: 	SP_PARITY       = 1,
4e2933c620 2015-04-21        kinaba: 	SP_BAUD         = 2,
4e2933c620 2015-04-21        kinaba: 	SP_DATABITS     = 4,
4e2933c620 2015-04-21        kinaba: 	SP_STOPBITS     = 8,
4e2933c620 2015-04-21        kinaba: 	SP_HANDSHAKING  = 16,
4e2933c620 2015-04-21        kinaba: 	SP_PARITY_CHECK = 32,
4e2933c620 2015-04-21        kinaba: 	SP_RLSD         = 64
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: enum : DWORD {
4e2933c620 2015-04-21        kinaba: 	DATABITS_5   = 1,
4e2933c620 2015-04-21        kinaba: 	DATABITS_6   = 2,
4e2933c620 2015-04-21        kinaba: 	DATABITS_7   = 4,
4e2933c620 2015-04-21        kinaba: 	DATABITS_8   = 8,
4e2933c620 2015-04-21        kinaba: 	DATABITS_16  = 16,
4e2933c620 2015-04-21        kinaba: 	DATABITS_16X = 32
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: enum : WORD {
4e2933c620 2015-04-21        kinaba: 	STOPBITS_10  = 0x0001,
4e2933c620 2015-04-21        kinaba: 	STOPBITS_15  = 0x0002,
4e2933c620 2015-04-21        kinaba: 	STOPBITS_20  = 0x0004,
4e2933c620 2015-04-21        kinaba: 	PARITY_NONE  = 0x0100,
4e2933c620 2015-04-21        kinaba: 	PARITY_ODD   = 0x0200,
4e2933c620 2015-04-21        kinaba: 	PARITY_EVEN  = 0x0400,
4e2933c620 2015-04-21        kinaba: 	PARITY_MARK  = 0x0800,
4e2933c620 2015-04-21        kinaba: 	PARITY_SPACE = 0x1000
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: // used by dwServiceMask
9b639cf2d6 2015-05-05        kinaba: enum SP_SERIALCOMM = 1;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct COMMPROP {
4e2933c620 2015-04-21        kinaba: 	WORD  wPacketLength;
4e2933c620 2015-04-21        kinaba: 	WORD  wPacketVersion;
4e2933c620 2015-04-21        kinaba: 	DWORD dwServiceMask;
4e2933c620 2015-04-21        kinaba: 	DWORD dwReserved1;
4e2933c620 2015-04-21        kinaba: 	DWORD dwMaxTxQueue;
4e2933c620 2015-04-21        kinaba: 	DWORD dwMaxRxQueue;
4e2933c620 2015-04-21        kinaba: 	DWORD dwMaxBaud;
4e2933c620 2015-04-21        kinaba: 	DWORD dwProvSubType;
4e2933c620 2015-04-21        kinaba: 	DWORD dwProvCapabilities;
4e2933c620 2015-04-21        kinaba: 	DWORD dwSettableParams;
4e2933c620 2015-04-21        kinaba: 	DWORD dwSettableBaud;
4e2933c620 2015-04-21        kinaba: 	WORD  wSettableData;
4e2933c620 2015-04-21        kinaba: 	WORD  wSettableStopParity;
4e2933c620 2015-04-21        kinaba: 	DWORD dwCurrentTxQueue;
4e2933c620 2015-04-21        kinaba: 	DWORD dwCurrentRxQueue;
4e2933c620 2015-04-21        kinaba: 	DWORD dwProvSpec1;
4e2933c620 2015-04-21        kinaba: 	DWORD dwProvSpec2;
4e2933c620 2015-04-21        kinaba: 	WCHAR _wcProvChar;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: 	WCHAR* wcProvChar() { return &_wcProvChar; }
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias COMMPROP* LPCOMMPROP;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: // ----------
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: // for DEBUG_EVENT
4e2933c620 2015-04-21        kinaba: enum : DWORD {
4e2933c620 2015-04-21        kinaba: 	EXCEPTION_DEBUG_EVENT = 1,
4e2933c620 2015-04-21        kinaba: 	CREATE_THREAD_DEBUG_EVENT,
4e2933c620 2015-04-21        kinaba: 	CREATE_PROCESS_DEBUG_EVENT,
4e2933c620 2015-04-21        kinaba: 	EXIT_THREAD_DEBUG_EVENT,
4e2933c620 2015-04-21        kinaba: 	EXIT_PROCESS_DEBUG_EVENT,
4e2933c620 2015-04-21        kinaba: 	LOAD_DLL_DEBUG_EVENT,
4e2933c620 2015-04-21        kinaba: 	UNLOAD_DLL_DEBUG_EVENT,
4e2933c620 2015-04-21        kinaba: 	OUTPUT_DEBUG_STRING_EVENT,
4e2933c620 2015-04-21        kinaba: 	RIP_EVENT
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: const HFILE HFILE_ERROR = cast(HFILE) (-1);
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: // for SetFilePointer()
4e2933c620 2015-04-21        kinaba: enum : DWORD {
4e2933c620 2015-04-21        kinaba: 	FILE_BEGIN   = 0,
4e2933c620 2015-04-21        kinaba: 	FILE_CURRENT = 1,
4e2933c620 2015-04-21        kinaba: 	FILE_END     = 2
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: const DWORD INVALID_SET_FILE_POINTER = -1;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: // for OpenFile()
4e2933c620 2015-04-21        kinaba: deprecated enum : UINT {
4e2933c620 2015-04-21        kinaba: 	OF_READ             = 0,
4e2933c620 2015-04-21        kinaba: 	OF_WRITE            = 0x0001,
4e2933c620 2015-04-21        kinaba: 	OF_READWRITE        = 0x0002,
4e2933c620 2015-04-21        kinaba: 	OF_SHARE_COMPAT     = 0,
4e2933c620 2015-04-21        kinaba: 	OF_SHARE_EXCLUSIVE  = 0x0010,
4e2933c620 2015-04-21        kinaba: 	OF_SHARE_DENY_WRITE = 0x0020,
4e2933c620 2015-04-21        kinaba: 	OF_SHARE_DENY_READ  = 0x0030,
4e2933c620 2015-04-21        kinaba: 	OF_SHARE_DENY_NONE  = 0x0040,
4e2933c620 2015-04-21        kinaba: 	OF_PARSE            = 0x0100,
4e2933c620 2015-04-21        kinaba: 	OF_DELETE           = 0x0200,
4e2933c620 2015-04-21        kinaba: 	OF_VERIFY           = 0x0400,
4e2933c620 2015-04-21        kinaba: 	OF_CANCEL           = 0x0800,
4e2933c620 2015-04-21        kinaba: 	OF_CREATE           = 0x1000,
4e2933c620 2015-04-21        kinaba: 	OF_PROMPT           = 0x2000,
4e2933c620 2015-04-21        kinaba: 	OF_EXIST            = 0x4000,
4e2933c620 2015-04-21        kinaba: 	OF_REOPEN           = 0x8000
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: enum : DWORD {
4e2933c620 2015-04-21        kinaba: 	NMPWAIT_NOWAIT           =  1,
4e2933c620 2015-04-21        kinaba: 	NMPWAIT_WAIT_FOREVER     = -1,
4e2933c620 2015-04-21        kinaba: 	NMPWAIT_USE_DEFAULT_WAIT =  0
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: // for ClearCommError()
4e2933c620 2015-04-21        kinaba: const DWORD
4e2933c620 2015-04-21        kinaba: 	CE_RXOVER   = 0x0001,
4e2933c620 2015-04-21        kinaba: 	CE_OVERRUN  = 0x0002,
4e2933c620 2015-04-21        kinaba: 	CE_RXPARITY = 0x0004,
4e2933c620 2015-04-21        kinaba: 	CE_FRAME    = 0x0008,
4e2933c620 2015-04-21        kinaba: 	CE_BREAK    = 0x0010,
4e2933c620 2015-04-21        kinaba: 	CE_TXFULL   = 0x0100,
4e2933c620 2015-04-21        kinaba: 	CE_PTO      = 0x0200,
4e2933c620 2015-04-21        kinaba: 	CE_IOE      = 0x0400,
4e2933c620 2015-04-21        kinaba: 	CE_DNS      = 0x0800,
4e2933c620 2015-04-21        kinaba: 	CE_OOP      = 0x1000,
4e2933c620 2015-04-21        kinaba: 	CE_MODE     = 0x8000;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: // for CopyProgressRoutine callback.
4e2933c620 2015-04-21        kinaba: enum : DWORD {
4e2933c620 2015-04-21        kinaba: 	PROGRESS_CONTINUE = 0,
4e2933c620 2015-04-21        kinaba: 	PROGRESS_CANCEL   = 1,
4e2933c620 2015-04-21        kinaba: 	PROGRESS_STOP     = 2,
4e2933c620 2015-04-21        kinaba: 	PROGRESS_QUIET    = 3
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: enum : DWORD {
4e2933c620 2015-04-21        kinaba: 	CALLBACK_CHUNK_FINISHED = 0,
4e2933c620 2015-04-21        kinaba: 	CALLBACK_STREAM_SWITCH  = 1
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: // CopyFileEx()
4e2933c620 2015-04-21        kinaba: enum : DWORD {
4e2933c620 2015-04-21        kinaba: 	COPY_FILE_FAIL_IF_EXISTS = 1,
4e2933c620 2015-04-21        kinaba: 	COPY_FILE_RESTARTABLE    = 2
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: enum : DWORD {
4e2933c620 2015-04-21        kinaba: 	FILE_MAP_COPY       = 1,
4e2933c620 2015-04-21        kinaba: 	FILE_MAP_WRITE      = 2,
4e2933c620 2015-04-21        kinaba: 	FILE_MAP_READ       = 4,
4e2933c620 2015-04-21        kinaba: 	FILE_MAP_ALL_ACCESS = 0x000F001F
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: enum : DWORD {
4e2933c620 2015-04-21        kinaba: 	MUTEX_ALL_ACCESS       = 0x001f0001,
4e2933c620 2015-04-21        kinaba: 	MUTEX_MODIFY_STATE     = 0x00000001,
4e2933c620 2015-04-21        kinaba: 	SEMAPHORE_ALL_ACCESS   = 0x001f0003,
4e2933c620 2015-04-21        kinaba: 	SEMAPHORE_MODIFY_STATE = 0x00000002,
4e2933c620 2015-04-21        kinaba: 	EVENT_ALL_ACCESS       = 0x001f0003,
4e2933c620 2015-04-21        kinaba: 	EVENT_MODIFY_STATE     = 0x00000002
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: // CreateNamedPipe()
4e2933c620 2015-04-21        kinaba: enum : DWORD {
4e2933c620 2015-04-21        kinaba: 	PIPE_ACCESS_INBOUND  = 1,
4e2933c620 2015-04-21        kinaba: 	PIPE_ACCESS_OUTBOUND = 2,
4e2933c620 2015-04-21        kinaba: 	PIPE_ACCESS_DUPLEX   = 3
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: const DWORD
4e2933c620 2015-04-21        kinaba: 	PIPE_TYPE_BYTE        = 0,
4e2933c620 2015-04-21        kinaba: 	PIPE_TYPE_MESSAGE     = 4,
4e2933c620 2015-04-21        kinaba: 	PIPE_READMODE_BYTE    = 0,
4e2933c620 2015-04-21        kinaba: 	PIPE_READMODE_MESSAGE = 2,
4e2933c620 2015-04-21        kinaba: 	PIPE_WAIT             = 0,
4e2933c620 2015-04-21        kinaba: 	PIPE_NOWAIT           = 1;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: // GetNamedPipeInfo()
4e2933c620 2015-04-21        kinaba: const DWORD
4e2933c620 2015-04-21        kinaba: 	PIPE_CLIENT_END  = 0,
4e2933c620 2015-04-21        kinaba: 	PIPE_SERVER_END  = 1;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: const DWORD PIPE_UNLIMITED_INSTANCES = 255;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: // dwCreationFlags for CreateProcess() and CreateProcessAsUser()
4e2933c620 2015-04-21        kinaba: enum : DWORD {
4e2933c620 2015-04-21        kinaba: 	DEBUG_PROCESS               = 0x00000001,
4e2933c620 2015-04-21        kinaba: 	DEBUG_ONLY_THIS_PROCESS     = 0x00000002,
4e2933c620 2015-04-21        kinaba: 	CREATE_SUSPENDED            = 0x00000004,
4e2933c620 2015-04-21        kinaba: 	DETACHED_PROCESS            = 0x00000008,
4e2933c620 2015-04-21        kinaba: 	CREATE_NEW_CONSOLE          = 0x00000010,
4e2933c620 2015-04-21        kinaba: 	NORMAL_PRIORITY_CLASS       = 0x00000020,
4e2933c620 2015-04-21        kinaba: 	IDLE_PRIORITY_CLASS         = 0x00000040,
4e2933c620 2015-04-21        kinaba: 	HIGH_PRIORITY_CLASS         = 0x00000080,
4e2933c620 2015-04-21        kinaba: 	REALTIME_PRIORITY_CLASS     = 0x00000100,
4e2933c620 2015-04-21        kinaba: 	CREATE_NEW_PROCESS_GROUP    = 0x00000200,
4e2933c620 2015-04-21        kinaba: 	CREATE_UNICODE_ENVIRONMENT  = 0x00000400,
4e2933c620 2015-04-21        kinaba: 	CREATE_SEPARATE_WOW_VDM     = 0x00000800,
4e2933c620 2015-04-21        kinaba: 	CREATE_SHARED_WOW_VDM       = 0x00001000,
4e2933c620 2015-04-21        kinaba: 	CREATE_FORCEDOS             = 0x00002000,
4e2933c620 2015-04-21        kinaba: 	BELOW_NORMAL_PRIORITY_CLASS = 0x00004000,
4e2933c620 2015-04-21        kinaba: 	ABOVE_NORMAL_PRIORITY_CLASS = 0x00008000,
4e2933c620 2015-04-21        kinaba: 	CREATE_BREAKAWAY_FROM_JOB   = 0x01000000,
4e2933c620 2015-04-21        kinaba: 	CREATE_WITH_USERPROFILE     = 0x02000000,
4e2933c620 2015-04-21        kinaba: 	CREATE_DEFAULT_ERROR_MODE   = 0x04000000,
4e2933c620 2015-04-21        kinaba: 	CREATE_NO_WINDOW            = 0x08000000,
4e2933c620 2015-04-21        kinaba: 	PROFILE_USER                = 0x10000000,
4e2933c620 2015-04-21        kinaba: 	PROFILE_KERNEL              = 0x20000000,
4e2933c620 2015-04-21        kinaba: 	PROFILE_SERVER              = 0x40000000
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: const DWORD CONSOLE_TEXTMODE_BUFFER = 1;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: // CreateFile()
4e2933c620 2015-04-21        kinaba: enum : DWORD {
4e2933c620 2015-04-21        kinaba: 	CREATE_NEW = 1,
4e2933c620 2015-04-21        kinaba: 	CREATE_ALWAYS,
4e2933c620 2015-04-21        kinaba: 	OPEN_EXISTING,
4e2933c620 2015-04-21        kinaba: 	OPEN_ALWAYS,
4e2933c620 2015-04-21        kinaba: 	TRUNCATE_EXISTING
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: // CreateFile()
4e2933c620 2015-04-21        kinaba: const DWORD
4e2933c620 2015-04-21        kinaba: 	FILE_FLAG_WRITE_THROUGH      = 0x80000000,
4e2933c620 2015-04-21        kinaba: 	FILE_FLAG_OVERLAPPED         = 0x40000000,
4e2933c620 2015-04-21        kinaba: 	FILE_FLAG_NO_BUFFERING       = 0x20000000,
4e2933c620 2015-04-21        kinaba: 	FILE_FLAG_RANDOM_ACCESS      = 0x10000000,
4e2933c620 2015-04-21        kinaba: 	FILE_FLAG_SEQUENTIAL_SCAN    = 0x08000000,
4e2933c620 2015-04-21        kinaba: 	FILE_FLAG_DELETE_ON_CLOSE    = 0x04000000,
4e2933c620 2015-04-21        kinaba: 	FILE_FLAG_BACKUP_SEMANTICS   = 0x02000000,
4e2933c620 2015-04-21        kinaba: 	FILE_FLAG_POSIX_SEMANTICS    = 0x01000000,
4e2933c620 2015-04-21        kinaba: 	FILE_FLAG_OPEN_REPARSE_POINT = 0x00200000,
4e2933c620 2015-04-21        kinaba: 	FILE_FLAG_OPEN_NO_RECALL     = 0x00100000;
4e2933c620 2015-04-21        kinaba: 
9b639cf2d6 2015-05-05        kinaba: static if (_WIN32_WINNT >= 0x500) {
4e2933c620 2015-04-21        kinaba: 	const DWORD FILE_FLAG_FIRST_PIPE_INSTANCE = 0x00080000;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: // for CreateFile()
4e2933c620 2015-04-21        kinaba: const DWORD
4e2933c620 2015-04-21        kinaba: 	SECURITY_ANONYMOUS        = SECURITY_IMPERSONATION_LEVEL.SecurityAnonymous<<16,
4e2933c620 2015-04-21        kinaba: 	SECURITY_IDENTIFICATION   = SECURITY_IMPERSONATION_LEVEL.SecurityIdentification<<16,
4e2933c620 2015-04-21        kinaba: 	SECURITY_IMPERSONATION    = SECURITY_IMPERSONATION_LEVEL.SecurityImpersonation<<16,
4e2933c620 2015-04-21        kinaba: 	SECURITY_DELEGATION       = SECURITY_IMPERSONATION_LEVEL.SecurityDelegation<<16,
4e2933c620 2015-04-21        kinaba: 	SECURITY_CONTEXT_TRACKING = 0x00040000,
4e2933c620 2015-04-21        kinaba: 	SECURITY_EFFECTIVE_ONLY   = 0x00080000,
4e2933c620 2015-04-21        kinaba: 	SECURITY_SQOS_PRESENT     = 0x00100000,
4e2933c620 2015-04-21        kinaba: 	SECURITY_VALID_SQOS_FLAGS = 0x001F0000;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: // Thread exit code
4e2933c620 2015-04-21        kinaba: const DWORD STILL_ACTIVE = 0x103;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: /*	??? The only documentation of this seems to be about Windows CE and to
4e2933c620 2015-04-21        kinaba:  *	state what _doesn't_ support it.
4e2933c620 2015-04-21        kinaba:  */
4e2933c620 2015-04-21        kinaba: const DWORD FIND_FIRST_EX_CASE_SENSITIVE = 1;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: // GetBinaryType()
4e2933c620 2015-04-21        kinaba: enum : DWORD {
4e2933c620 2015-04-21        kinaba: 	SCS_32BIT_BINARY = 0,
4e2933c620 2015-04-21        kinaba: 	SCS_DOS_BINARY,
4e2933c620 2015-04-21        kinaba: 	SCS_WOW_BINARY,
4e2933c620 2015-04-21        kinaba: 	SCS_PIF_BINARY,
4e2933c620 2015-04-21        kinaba: 	SCS_POSIX_BINARY,
4e2933c620 2015-04-21        kinaba: 	SCS_OS216_BINARY
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: const size_t
4e2933c620 2015-04-21        kinaba: 	MAX_COMPUTERNAME_LENGTH = 15,
4e2933c620 2015-04-21        kinaba: 	HW_PROFILE_GUIDLEN      = 39,
4e2933c620 2015-04-21        kinaba: 	MAX_PROFILE_LEN         = 80;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: // HW_PROFILE_INFO
4e2933c620 2015-04-21        kinaba: const DWORD
4e2933c620 2015-04-21        kinaba: 	DOCKINFO_UNDOCKED      = 1,
4e2933c620 2015-04-21        kinaba: 	DOCKINFO_DOCKED        = 2,
4e2933c620 2015-04-21        kinaba: 	DOCKINFO_USER_SUPPLIED = 4,
4e2933c620 2015-04-21        kinaba: 	DOCKINFO_USER_UNDOCKED = DOCKINFO_USER_SUPPLIED | DOCKINFO_UNDOCKED,
4e2933c620 2015-04-21        kinaba: 	DOCKINFO_USER_DOCKED   = DOCKINFO_USER_SUPPLIED | DOCKINFO_DOCKED;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: // DriveType(), RealDriveType()
4e2933c620 2015-04-21        kinaba: enum : int {
4e2933c620 2015-04-21        kinaba: 	DRIVE_UNKNOWN = 0,
4e2933c620 2015-04-21        kinaba: 	DRIVE_NO_ROOT_DIR,
4e2933c620 2015-04-21        kinaba: 	DRIVE_REMOVABLE,
4e2933c620 2015-04-21        kinaba: 	DRIVE_FIXED,
4e2933c620 2015-04-21        kinaba: 	DRIVE_REMOTE,
4e2933c620 2015-04-21        kinaba: 	DRIVE_CDROM,
4e2933c620 2015-04-21        kinaba: 	DRIVE_RAMDISK
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: // GetFileType()
4e2933c620 2015-04-21        kinaba: enum : DWORD {
4e2933c620 2015-04-21        kinaba: 	FILE_TYPE_UNKNOWN = 0,
4e2933c620 2015-04-21        kinaba: 	FILE_TYPE_DISK,
4e2933c620 2015-04-21        kinaba: 	FILE_TYPE_CHAR,
4e2933c620 2015-04-21        kinaba: 	FILE_TYPE_PIPE,
4e2933c620 2015-04-21        kinaba: 	FILE_TYPE_REMOTE = 0x8000
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: // Get/SetHandleInformation()
4e2933c620 2015-04-21        kinaba: const DWORD
4e2933c620 2015-04-21        kinaba: 	HANDLE_FLAG_INHERIT            = 0x01,
4e2933c620 2015-04-21        kinaba: 	HANDLE_FLAG_PROTECT_FROM_CLOSE = 0x02;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: enum : DWORD {
4e2933c620 2015-04-21        kinaba: 	STD_INPUT_HANDLE  = 0xFFFFFFF6,
4e2933c620 2015-04-21        kinaba: 	STD_OUTPUT_HANDLE = 0xFFFFFFF5,
4e2933c620 2015-04-21        kinaba: 	STD_ERROR_HANDLE  = 0xFFFFFFF4
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
9b639cf2d6 2015-05-05        kinaba: enum HANDLE INVALID_HANDLE_VALUE = cast(HANDLE) (-1);
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: enum : DWORD {
4e2933c620 2015-04-21        kinaba: 	GET_TAPE_MEDIA_INFORMATION = 0,
4e2933c620 2015-04-21        kinaba: 	GET_TAPE_DRIVE_INFORMATION = 1
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: enum : DWORD {
4e2933c620 2015-04-21        kinaba: 	SET_TAPE_MEDIA_INFORMATION = 0,
4e2933c620 2015-04-21        kinaba: 	SET_TAPE_DRIVE_INFORMATION = 1
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: // SetThreadPriority()/GetThreadPriority()
4e2933c620 2015-04-21        kinaba: enum : int {
4e2933c620 2015-04-21        kinaba: 	THREAD_PRIORITY_IDLE          = -15,
4e2933c620 2015-04-21        kinaba: 	THREAD_PRIORITY_LOWEST        =  -2,
4e2933c620 2015-04-21        kinaba: 	THREAD_PRIORITY_BELOW_NORMAL  =  -1,
4e2933c620 2015-04-21        kinaba: 	THREAD_PRIORITY_NORMAL        =   0,
4e2933c620 2015-04-21        kinaba: 	THREAD_PRIORITY_ABOVE_NORMAL  =   1,
4e2933c620 2015-04-21        kinaba: 	THREAD_PRIORITY_HIGHEST       =   2,
4e2933c620 2015-04-21        kinaba: 	THREAD_PRIORITY_TIME_CRITICAL =  15,
4e2933c620 2015-04-21        kinaba: 	THREAD_PRIORITY_ERROR_RETURN  = 2147483647
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: enum : DWORD {
4e2933c620 2015-04-21        kinaba: 	TIME_ZONE_ID_UNKNOWN,
4e2933c620 2015-04-21        kinaba: 	TIME_ZONE_ID_STANDARD,
4e2933c620 2015-04-21        kinaba: 	TIME_ZONE_ID_DAYLIGHT,
4e2933c620 2015-04-21        kinaba: 	TIME_ZONE_ID_INVALID = 0xFFFFFFFF
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: const DWORD
4e2933c620 2015-04-21        kinaba: 	FS_CASE_SENSITIVE         =     1,
4e2933c620 2015-04-21        kinaba: 	FS_CASE_IS_PRESERVED      =     2,
4e2933c620 2015-04-21        kinaba: 	FS_UNICODE_STORED_ON_DISK =     4,
4e2933c620 2015-04-21        kinaba: 	FS_PERSISTENT_ACLS        =     8,
4e2933c620 2015-04-21        kinaba: 	FS_FILE_COMPRESSION       =    16,
4e2933c620 2015-04-21        kinaba: 	FS_VOL_IS_COMPRESSED      = 32768;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: // Flags for GlobalAlloc
4e2933c620 2015-04-21        kinaba: const UINT
4e2933c620 2015-04-21        kinaba: 	GMEM_FIXED       = 0,
4e2933c620 2015-04-21        kinaba: 	GMEM_MOVEABLE    = 0x0002,
4e2933c620 2015-04-21        kinaba: 	GMEM_ZEROINIT    = 0x0040,
4e2933c620 2015-04-21        kinaba: 	GPTR             = 0x0040,
4e2933c620 2015-04-21        kinaba: 	GHND             = 0x0042,
4e2933c620 2015-04-21        kinaba: 	GMEM_MODIFY      = 0x0080,  // used only for GlobalRealloc
4e2933c620 2015-04-21        kinaba: 	GMEM_VALID_FLAGS = 0x7F72;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: /+  // Obselete flags (Win16 only)
4e2933c620 2015-04-21        kinaba: 	GMEM_NOCOMPACT=16;
4e2933c620 2015-04-21        kinaba: 	GMEM_NODISCARD=32;
4e2933c620 2015-04-21        kinaba: 	GMEM_DISCARDABLE=256;
4e2933c620 2015-04-21        kinaba: 	GMEM_NOT_BANKED=4096;
4e2933c620 2015-04-21        kinaba: 	GMEM_LOWER=4096;
4e2933c620 2015-04-21        kinaba: 	GMEM_SHARE=8192;
4e2933c620 2015-04-21        kinaba: 	GMEM_DDESHARE=8192;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: 	GMEM_LOCKCOUNT=255;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: // for GlobalFlags()
4e2933c620 2015-04-21        kinaba: 	GMEM_DISCARDED      = 16384;
4e2933c620 2015-04-21        kinaba: 	GMEM_INVALID_HANDLE = 32768;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: 	GMEM_NOTIFY         = 16384;
4e2933c620 2015-04-21        kinaba: +/
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: const UINT
4e2933c620 2015-04-21        kinaba: 	LMEM_FIXED          = 0,
4e2933c620 2015-04-21        kinaba: 	LMEM_MOVEABLE       = 0x0002,
4e2933c620 2015-04-21        kinaba: 	LMEM_NONZEROLPTR    = 0,
4e2933c620 2015-04-21        kinaba: 	NONZEROLPTR         = 0,
4e2933c620 2015-04-21        kinaba: 	LMEM_NONZEROLHND    = 0x0002,
4e2933c620 2015-04-21        kinaba: 	NONZEROLHND         = 0x0002,
4e2933c620 2015-04-21        kinaba: 	LMEM_DISCARDABLE    = 0x0F00,
4e2933c620 2015-04-21        kinaba: 	LMEM_NOCOMPACT      = 0x0010,
4e2933c620 2015-04-21        kinaba: 	LMEM_NODISCARD      = 0x0020,
4e2933c620 2015-04-21        kinaba: 	LMEM_ZEROINIT       = 0x0040,
4e2933c620 2015-04-21        kinaba: 	LPTR                = 0x0040,
4e2933c620 2015-04-21        kinaba: 	LHND                = 0x0042,
4e2933c620 2015-04-21        kinaba: 	LMEM_MODIFY         = 0x0080,
4e2933c620 2015-04-21        kinaba: 	LMEM_LOCKCOUNT      = 0x00FF,
4e2933c620 2015-04-21        kinaba: 	LMEM_DISCARDED      = 0x4000,
4e2933c620 2015-04-21        kinaba: 	LMEM_INVALID_HANDLE = 0x8000;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: // used in EXCEPTION_RECORD
4e2933c620 2015-04-21        kinaba: enum : DWORD {
4e2933c620 2015-04-21        kinaba: 	STATUS_WAIT_0                      = 0,
4e2933c620 2015-04-21        kinaba: 	STATUS_ABANDONED_WAIT_0            = 0x00000080,
4e2933c620 2015-04-21        kinaba: 	STATUS_USER_APC                    = 0x000000C0,
4e2933c620 2015-04-21        kinaba: 	STATUS_TIMEOUT                     = 0x00000102,
4e2933c620 2015-04-21        kinaba: 	STATUS_PENDING                     = 0x00000103,
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: 	STATUS_SEGMENT_NOTIFICATION        = 0x40000005,
4e2933c620 2015-04-21        kinaba: 	STATUS_GUARD_PAGE_VIOLATION        = 0x80000001,
4e2933c620 2015-04-21        kinaba: 	STATUS_DATATYPE_MISALIGNMENT       = 0x80000002,
4e2933c620 2015-04-21        kinaba: 	STATUS_BREAKPOINT                  = 0x80000003,
4e2933c620 2015-04-21        kinaba: 	STATUS_SINGLE_STEP                 = 0x80000004,
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: 	STATUS_ACCESS_VIOLATION            = 0xC0000005,
4e2933c620 2015-04-21        kinaba: 	STATUS_IN_PAGE_ERROR               = 0xC0000006,
4e2933c620 2015-04-21        kinaba: 	STATUS_INVALID_HANDLE              = 0xC0000008,
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: 	STATUS_NO_MEMORY                   = 0xC0000017,
4e2933c620 2015-04-21        kinaba: 	STATUS_ILLEGAL_INSTRUCTION         = 0xC000001D,
4e2933c620 2015-04-21        kinaba: 	STATUS_NONCONTINUABLE_EXCEPTION    = 0xC0000025,
4e2933c620 2015-04-21        kinaba: 	STATUS_INVALID_DISPOSITION         = 0xC0000026,
4e2933c620 2015-04-21        kinaba: 	STATUS_ARRAY_BOUNDS_EXCEEDED       = 0xC000008C,
4e2933c620 2015-04-21        kinaba: 	STATUS_FLOAT_DENORMAL_OPERAND      = 0xC000008D,
4e2933c620 2015-04-21        kinaba: 	STATUS_FLOAT_DIVIDE_BY_ZERO        = 0xC000008E,
4e2933c620 2015-04-21        kinaba: 	STATUS_FLOAT_INEXACT_RESULT        = 0xC000008F,
4e2933c620 2015-04-21        kinaba: 	STATUS_FLOAT_INVALID_OPERATION     = 0xC0000090,
4e2933c620 2015-04-21        kinaba: 	STATUS_FLOAT_OVERFLOW              = 0xC0000091,
4e2933c620 2015-04-21        kinaba: 	STATUS_FLOAT_STACK_CHECK           = 0xC0000092,
4e2933c620 2015-04-21        kinaba: 	STATUS_FLOAT_UNDERFLOW             = 0xC0000093,
4e2933c620 2015-04-21        kinaba: 	STATUS_INTEGER_DIVIDE_BY_ZERO      = 0xC0000094,
4e2933c620 2015-04-21        kinaba: 	STATUS_INTEGER_OVERFLOW            = 0xC0000095,
4e2933c620 2015-04-21        kinaba: 	STATUS_PRIVILEGED_INSTRUCTION      = 0xC0000096,
4e2933c620 2015-04-21        kinaba: 	STATUS_STACK_OVERFLOW              = 0xC00000FD,
4e2933c620 2015-04-21        kinaba: 	STATUS_CONTROL_C_EXIT              = 0xC000013A,
4e2933c620 2015-04-21        kinaba: 	STATUS_DLL_INIT_FAILED             = 0xC0000142,
4e2933c620 2015-04-21        kinaba: 	STATUS_DLL_INIT_FAILED_LOGOFF      = 0xC000026B,
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: 	CONTROL_C_EXIT                     = STATUS_CONTROL_C_EXIT,
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: 	EXCEPTION_ACCESS_VIOLATION         = STATUS_ACCESS_VIOLATION,
4e2933c620 2015-04-21        kinaba: 	EXCEPTION_DATATYPE_MISALIGNMENT    = STATUS_DATATYPE_MISALIGNMENT,
4e2933c620 2015-04-21        kinaba: 	EXCEPTION_BREAKPOINT               = STATUS_BREAKPOINT,
4e2933c620 2015-04-21        kinaba: 	EXCEPTION_SINGLE_STEP              = STATUS_SINGLE_STEP,
4e2933c620 2015-04-21        kinaba: 	EXCEPTION_ARRAY_BOUNDS_EXCEEDED    = STATUS_ARRAY_BOUNDS_EXCEEDED,
4e2933c620 2015-04-21        kinaba: 	EXCEPTION_FLT_DENORMAL_OPERAND     = STATUS_FLOAT_DENORMAL_OPERAND,
4e2933c620 2015-04-21        kinaba: 	EXCEPTION_FLT_DIVIDE_BY_ZERO       = STATUS_FLOAT_DIVIDE_BY_ZERO,
4e2933c620 2015-04-21        kinaba: 	EXCEPTION_FLT_INEXACT_RESULT       = STATUS_FLOAT_INEXACT_RESULT,
4e2933c620 2015-04-21        kinaba: 	EXCEPTION_FLT_INVALID_OPERATION    = STATUS_FLOAT_INVALID_OPERATION,
4e2933c620 2015-04-21        kinaba: 	EXCEPTION_FLT_OVERFLOW             = STATUS_FLOAT_OVERFLOW,
4e2933c620 2015-04-21        kinaba: 	EXCEPTION_FLT_STACK_CHECK          = STATUS_FLOAT_STACK_CHECK,
4e2933c620 2015-04-21        kinaba: 	EXCEPTION_FLT_UNDERFLOW            = STATUS_FLOAT_UNDERFLOW,
4e2933c620 2015-04-21        kinaba: 	EXCEPTION_INT_DIVIDE_BY_ZERO       = STATUS_INTEGER_DIVIDE_BY_ZERO,
4e2933c620 2015-04-21        kinaba: 	EXCEPTION_INT_OVERFLOW             = STATUS_INTEGER_OVERFLOW,
4e2933c620 2015-04-21        kinaba: 	EXCEPTION_PRIV_INSTRUCTION         = STATUS_PRIVILEGED_INSTRUCTION,
4e2933c620 2015-04-21        kinaba: 	EXCEPTION_IN_PAGE_ERROR            = STATUS_IN_PAGE_ERROR,
4e2933c620 2015-04-21        kinaba: 	EXCEPTION_ILLEGAL_INSTRUCTION      = STATUS_ILLEGAL_INSTRUCTION,
4e2933c620 2015-04-21        kinaba: 	EXCEPTION_NONCONTINUABLE_EXCEPTION = STATUS_NONCONTINUABLE_EXCEPTION,
4e2933c620 2015-04-21        kinaba: 	EXCEPTION_STACK_OVERFLOW           = STATUS_STACK_OVERFLOW,
4e2933c620 2015-04-21        kinaba: 	EXCEPTION_INVALID_DISPOSITION      = STATUS_INVALID_DISPOSITION,
4e2933c620 2015-04-21        kinaba: 	EXCEPTION_GUARD_PAGE               = STATUS_GUARD_PAGE_VIOLATION,
4e2933c620 2015-04-21        kinaba: 	EXCEPTION_INVALID_HANDLE           = STATUS_INVALID_HANDLE
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: // for PROCESS_HEAP_ENTRY
4e2933c620 2015-04-21        kinaba: const WORD
4e2933c620 2015-04-21        kinaba: 	PROCESS_HEAP_REGION            =  1,
4e2933c620 2015-04-21        kinaba: 	PROCESS_HEAP_UNCOMMITTED_RANGE =  2,
4e2933c620 2015-04-21        kinaba: 	PROCESS_HEAP_ENTRY_BUSY        =  4,
4e2933c620 2015-04-21        kinaba: 	PROCESS_HEAP_ENTRY_MOVEABLE    = 16,
4e2933c620 2015-04-21        kinaba: 	PROCESS_HEAP_ENTRY_DDESHARE    = 32;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: // for LoadLibraryEx()
4e2933c620 2015-04-21        kinaba: const DWORD
4e2933c620 2015-04-21        kinaba: 	DONT_RESOLVE_DLL_REFERENCES   = 0x01, // not for WinME and earlier
4e2933c620 2015-04-21        kinaba: 	LOAD_LIBRARY_AS_DATAFILE      = 0x02,
4e2933c620 2015-04-21        kinaba: 	LOAD_WITH_ALTERED_SEARCH_PATH = 0x08,
4e2933c620 2015-04-21        kinaba: 	LOAD_IGNORE_CODE_AUTHZ_LEVEL  = 0x10; // only for XP and later
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: // for LockFile()
4e2933c620 2015-04-21        kinaba: const DWORD
4e2933c620 2015-04-21        kinaba: 	LOCKFILE_FAIL_IMMEDIATELY = 1,
4e2933c620 2015-04-21        kinaba: 	LOCKFILE_EXCLUSIVE_LOCK   = 2;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: const MAXIMUM_WAIT_OBJECTS  = 64;
4e2933c620 2015-04-21        kinaba: const MAXIMUM_SUSPEND_COUNT = 0x7F;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: const WAIT_OBJECT_0    = 0;
4e2933c620 2015-04-21        kinaba: const WAIT_ABANDONED_0 = 128;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: //const WAIT_TIMEOUT=258;  // also in winerror.h
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: enum : DWORD {
4e2933c620 2015-04-21        kinaba: 	WAIT_IO_COMPLETION = 0x000000C0,
4e2933c620 2015-04-21        kinaba: 	WAIT_ABANDONED     = 0x00000080,
4e2933c620 2015-04-21        kinaba: 	WAIT_FAILED        = 0xFFFFFFFF
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: // PurgeComm()
4e2933c620 2015-04-21        kinaba: const DWORD
4e2933c620 2015-04-21        kinaba: 	PURGE_TXABORT = 1,
4e2933c620 2015-04-21        kinaba: 	PURGE_RXABORT = 2,
4e2933c620 2015-04-21        kinaba: 	PURGE_TXCLEAR = 4,
4e2933c620 2015-04-21        kinaba: 	PURGE_RXCLEAR = 8;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: // ReadEventLog()
4e2933c620 2015-04-21        kinaba: const DWORD
4e2933c620 2015-04-21        kinaba: 	EVENTLOG_SEQUENTIAL_READ = 1,
4e2933c620 2015-04-21        kinaba: 	EVENTLOG_SEEK_READ       = 2,
4e2933c620 2015-04-21        kinaba: 	EVENTLOG_FORWARDS_READ   = 4,
4e2933c620 2015-04-21        kinaba: 	EVENTLOG_BACKWARDS_READ  = 8;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: // ReportEvent()
4e2933c620 2015-04-21        kinaba: enum : WORD {
4e2933c620 2015-04-21        kinaba: 	EVENTLOG_SUCCESS          = 0,
4e2933c620 2015-04-21        kinaba: 	EVENTLOG_ERROR_TYPE       = 1,
4e2933c620 2015-04-21        kinaba: 	EVENTLOG_WARNING_TYPE     = 2,
4e2933c620 2015-04-21        kinaba: 	EVENTLOG_INFORMATION_TYPE = 4,
4e2933c620 2015-04-21        kinaba: 	EVENTLOG_AUDIT_SUCCESS    = 8,
4e2933c620 2015-04-21        kinaba: 	EVENTLOG_AUDIT_FAILURE    = 16
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: // FormatMessage()
4e2933c620 2015-04-21        kinaba: const DWORD
4e2933c620 2015-04-21        kinaba: 	FORMAT_MESSAGE_ALLOCATE_BUFFER = 0x0100,
4e2933c620 2015-04-21        kinaba: 	FORMAT_MESSAGE_IGNORE_INSERTS  = 0x0200,
4e2933c620 2015-04-21        kinaba: 	FORMAT_MESSAGE_FROM_STRING     = 0x0400,
4e2933c620 2015-04-21        kinaba: 	FORMAT_MESSAGE_FROM_HMODULE    = 0x0800,
4e2933c620 2015-04-21        kinaba: 	FORMAT_MESSAGE_FROM_SYSTEM     = 0x1000,
4e2933c620 2015-04-21        kinaba: 	FORMAT_MESSAGE_ARGUMENT_ARRAY  = 0x2000;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: const DWORD FORMAT_MESSAGE_MAX_WIDTH_MASK = 255;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: // also in ddk/ntapi.h
4e2933c620 2015-04-21        kinaba: // To restore default error mode, call SetErrorMode(0)
4e2933c620 2015-04-21        kinaba: enum {
4e2933c620 2015-04-21        kinaba: 	SEM_FAILCRITICALERRORS     = 0x0001,
4e2933c620 2015-04-21        kinaba: 	SEM_NOGPFAULTERRORBOX      = 0x0002,
4e2933c620 2015-04-21        kinaba: 	SEM_NOALIGNMENTFAULTEXCEPT = 0x0004,
4e2933c620 2015-04-21        kinaba: 	SEM_NOOPENFILEERRORBOX     = 0x8000
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: // end ntapi.h
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: enum {
4e2933c620 2015-04-21        kinaba: 	SLE_ERROR = 1,
4e2933c620 2015-04-21        kinaba: 	SLE_MINORERROR,
4e2933c620 2015-04-21        kinaba: 	SLE_WARNING
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: const SHUTDOWN_NORETRY = 1;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: // Return type for exception filters.
4e2933c620 2015-04-21        kinaba: enum : LONG {
4e2933c620 2015-04-21        kinaba: 	EXCEPTION_EXECUTE_HANDLER    =  1,
4e2933c620 2015-04-21        kinaba: 	EXCEPTION_CONTINUE_EXECUTION = -1,
4e2933c620 2015-04-21        kinaba: 	EXCEPTION_CONTINUE_SEARCH    =  0
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: enum  : ATOM {
4e2933c620 2015-04-21        kinaba: 	MAXINTATOM   = 0xC000,
4e2933c620 2015-04-21        kinaba: 	INVALID_ATOM = 0
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: const IGNORE   = 0;
4e2933c620 2015-04-21        kinaba: const INFINITE = 0xFFFFFFFF;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: // EscapeCommFunction()
4e2933c620 2015-04-21        kinaba: enum {
4e2933c620 2015-04-21        kinaba: 	SETXOFF    = 1,
4e2933c620 2015-04-21        kinaba: 	SETXON,
4e2933c620 2015-04-21        kinaba: 	SETRTS,
4e2933c620 2015-04-21        kinaba: 	CLRRTS,
4e2933c620 2015-04-21        kinaba: 	SETDTR,
4e2933c620 2015-04-21        kinaba: 	CLRDTR, // = 6
4e2933c620 2015-04-21        kinaba: 	SETBREAK   = 8,
4e2933c620 2015-04-21        kinaba: 	CLRBREAK   = 9
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: // for SetCommMask()
4e2933c620 2015-04-21        kinaba: const DWORD
4e2933c620 2015-04-21        kinaba: 	EV_RXCHAR   = 0x0001,
4e2933c620 2015-04-21        kinaba: 	EV_RXFLAG   = 0x0002,
4e2933c620 2015-04-21        kinaba: 	EV_TXEMPTY  = 0x0004,
4e2933c620 2015-04-21        kinaba: 	EV_CTS      = 0x0008,
4e2933c620 2015-04-21        kinaba: 	EV_DSR      = 0x0010,
4e2933c620 2015-04-21        kinaba: 	EV_RLSD     = 0x0020,
4e2933c620 2015-04-21        kinaba: 	EV_BREAK    = 0x0040,
4e2933c620 2015-04-21        kinaba: 	EV_ERR      = 0x0080,
4e2933c620 2015-04-21        kinaba: 	EV_RING     = 0x0100,
4e2933c620 2015-04-21        kinaba: 	EV_PERR     = 0x0200,
4e2933c620 2015-04-21        kinaba: 	EV_RX80FULL = 0x0400,
4e2933c620 2015-04-21        kinaba: 	EV_EVENT1   = 0x0800,
4e2933c620 2015-04-21        kinaba: 	EV_EVENT2   = 0x1000;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: // GetCommModemStatus()
4e2933c620 2015-04-21        kinaba: const DWORD
4e2933c620 2015-04-21        kinaba: 	MS_CTS_ON  = 0x0010,
4e2933c620 2015-04-21        kinaba: 	MS_DSR_ON  = 0x0020,
4e2933c620 2015-04-21        kinaba: 	MS_RING_ON = 0x0040,
4e2933c620 2015-04-21        kinaba: 	MS_RLSD_ON = 0x0080;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: // DCB
4e2933c620 2015-04-21        kinaba: enum : BYTE {
4e2933c620 2015-04-21        kinaba: 	NOPARITY = 0,
4e2933c620 2015-04-21        kinaba: 	ODDPARITY,
4e2933c620 2015-04-21        kinaba: 	EVENPARITY,
4e2933c620 2015-04-21        kinaba: 	MARKPARITY,
4e2933c620 2015-04-21        kinaba: 	SPACEPARITY
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: // DCB
4e2933c620 2015-04-21        kinaba: enum : BYTE {
4e2933c620 2015-04-21        kinaba: 	ONESTOPBIT = 0,
4e2933c620 2015-04-21        kinaba: 	ONE5STOPBITS,
4e2933c620 2015-04-21        kinaba: 	TWOSTOPBITS
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: // DCB
4e2933c620 2015-04-21        kinaba: enum : DWORD {
4e2933c620 2015-04-21        kinaba: 	CBR_110    =    110,
4e2933c620 2015-04-21        kinaba: 	CBR_300    =    300,
4e2933c620 2015-04-21        kinaba: 	CBR_600    =    600,
4e2933c620 2015-04-21        kinaba: 	CBR_1200   =   1200,
4e2933c620 2015-04-21        kinaba: 	CBR_2400   =   2400,
4e2933c620 2015-04-21        kinaba: 	CBR_4800   =   4800,
4e2933c620 2015-04-21        kinaba: 	CBR_9600   =   9600,
4e2933c620 2015-04-21        kinaba: 	CBR_14400  =  14400,
4e2933c620 2015-04-21        kinaba: 	CBR_19200  =  19200,
4e2933c620 2015-04-21        kinaba: 	CBR_38400  =  38400,
4e2933c620 2015-04-21        kinaba: 	CBR_56000  =  56000,
4e2933c620 2015-04-21        kinaba: 	CBR_57600  =  57600,
4e2933c620 2015-04-21        kinaba: 	CBR_115200 = 115200,
4e2933c620 2015-04-21        kinaba: 	CBR_128000 = 128000,
4e2933c620 2015-04-21        kinaba: 	CBR_256000 = 256000
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: // DCB, 2-bit bitfield
4e2933c620 2015-04-21        kinaba: enum {
4e2933c620 2015-04-21        kinaba: 	DTR_CONTROL_DISABLE = 0,
4e2933c620 2015-04-21        kinaba: 	DTR_CONTROL_ENABLE,
4e2933c620 2015-04-21        kinaba: 	DTR_CONTROL_HANDSHAKE
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: // DCB, 2-bit bitfield
4e2933c620 2015-04-21        kinaba: enum {
4e2933c620 2015-04-21        kinaba: 	RTS_CONTROL_DISABLE = 0,
4e2933c620 2015-04-21        kinaba: 	RTS_CONTROL_ENABLE,
4e2933c620 2015-04-21        kinaba: 	RTS_CONTROL_HANDSHAKE,
4e2933c620 2015-04-21        kinaba: 	RTS_CONTROL_TOGGLE,
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: // WIN32_STREAM_ID
4e2933c620 2015-04-21        kinaba: enum : DWORD {
4e2933c620 2015-04-21        kinaba: 	BACKUP_INVALID = 0,
4e2933c620 2015-04-21        kinaba: 	BACKUP_DATA,
4e2933c620 2015-04-21        kinaba: 	BACKUP_EA_DATA,
4e2933c620 2015-04-21        kinaba: 	BACKUP_SECURITY_DATA,
4e2933c620 2015-04-21        kinaba: 	BACKUP_ALTERNATE_DATA,
4e2933c620 2015-04-21        kinaba: 	BACKUP_LINK,
4e2933c620 2015-04-21        kinaba: 	BACKUP_PROPERTY_DATA,
4e2933c620 2015-04-21        kinaba: 	BACKUP_OBJECT_ID,
4e2933c620 2015-04-21        kinaba: 	BACKUP_REPARSE_DATA,
4e2933c620 2015-04-21        kinaba: 	BACKUP_SPARSE_BLOCK
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: // WIN32_STREAM_ID
4e2933c620 2015-04-21        kinaba: enum : DWORD {
4e2933c620 2015-04-21        kinaba: 	STREAM_NORMAL_ATTRIBUTE    = 0,
4e2933c620 2015-04-21        kinaba: 	STREAM_MODIFIED_WHEN_READ  = 1,
4e2933c620 2015-04-21        kinaba: 	STREAM_CONTAINS_SECURITY   = 2,
4e2933c620 2015-04-21        kinaba: 	STREAM_CONTAINS_PROPERTIES = 4
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: // STARTUPINFO
4e2933c620 2015-04-21        kinaba: const DWORD
4e2933c620 2015-04-21        kinaba: 	STARTF_USESHOWWINDOW    = 0x0001,
4e2933c620 2015-04-21        kinaba: 	STARTF_USESIZE          = 0x0002,
4e2933c620 2015-04-21        kinaba: 	STARTF_USEPOSITION      = 0x0004,
4e2933c620 2015-04-21        kinaba: 	STARTF_USECOUNTCHARS    = 0x0008,
4e2933c620 2015-04-21        kinaba: 	STARTF_USEFILLATTRIBUTE = 0x0010,
4e2933c620 2015-04-21        kinaba: 	STARTF_RUNFULLSCREEN    = 0x0020,
4e2933c620 2015-04-21        kinaba: 	STARTF_FORCEONFEEDBACK  = 0x0040,
4e2933c620 2015-04-21        kinaba: 	STARTF_FORCEOFFFEEDBACK = 0x0080,
4e2933c620 2015-04-21        kinaba: 	STARTF_USESTDHANDLES    = 0x0100,
4e2933c620 2015-04-21        kinaba: 	STARTF_USEHOTKEY        = 0x0200;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: // ???
4e2933c620 2015-04-21        kinaba: enum {
4e2933c620 2015-04-21        kinaba: 	TC_NORMAL  = 0,
4e2933c620 2015-04-21        kinaba: 	TC_HARDERR = 1,
4e2933c620 2015-04-21        kinaba: 	TC_GP_TRAP = 2,
4e2933c620 2015-04-21        kinaba: 	TC_SIGNAL  = 3
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: /+ These seem to be Windows CE-specific
4e2933c620 2015-04-21        kinaba: enum {
4e2933c620 2015-04-21        kinaba: 	AC_LINE_OFFLINE      = 0,
4e2933c620 2015-04-21        kinaba: 	AC_LINE_ONLINE       = 1,
4e2933c620 2015-04-21        kinaba: 	AC_LINE_BACKUP_POWER = 2,
4e2933c620 2015-04-21        kinaba: 	AC_LINE_UNKNOWN      = 255
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: enum {
4e2933c620 2015-04-21        kinaba: 	BATTERY_FLAG_HIGH          = 1,
4e2933c620 2015-04-21        kinaba: 	BATTERY_FLAG_LOW           = 2,
4e2933c620 2015-04-21        kinaba: 	BATTERY_FLAG_CRITICAL      = 4,
4e2933c620 2015-04-21        kinaba: 	BATTERY_FLAG_CHARGING      = 8,
4e2933c620 2015-04-21        kinaba: 	BATTERY_FLAG_NO_BATTERY    = 128,
4e2933c620 2015-04-21        kinaba: 	BATTERY_FLAG_UNKNOWN       = 255,
4e2933c620 2015-04-21        kinaba: 	BATTERY_PERCENTAGE_UNKNOWN = 255,
4e2933c620 2015-04-21        kinaba: 	BATTERY_LIFE_UNKNOWN       = 0xFFFFFFFF
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: +/
4e2933c620 2015-04-21        kinaba: 
c2b7a98c21 2011-02-23        kinaba: // ???
4e2933c620 2015-04-21        kinaba: const HINSTANCE_ERROR = 32;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: // returned from GetFileSize()
4e2933c620 2015-04-21        kinaba: const DWORD INVALID_FILE_SIZE = 0xFFFFFFFF;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: const DWORD TLS_OUT_OF_INDEXES = 0xFFFFFFFF;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: // GetWriteWatch()
4e2933c620 2015-04-21        kinaba: const DWORD WRITE_WATCH_FLAG_RESET = 1;
4e2933c620 2015-04-21        kinaba: 
9b639cf2d6 2015-05-05        kinaba: // for LogonUser()
9b639cf2d6 2015-05-05        kinaba: enum : DWORD {
9b639cf2d6 2015-05-05        kinaba: 	LOGON32_LOGON_INTERACTIVE = 2,
9b639cf2d6 2015-05-05        kinaba: 	LOGON32_LOGON_NETWORK     = 3,
9b639cf2d6 2015-05-05        kinaba: 	LOGON32_LOGON_BATCH       = 4,
9b639cf2d6 2015-05-05        kinaba: 	LOGON32_LOGON_SERVICE     = 5,
9b639cf2d6 2015-05-05        kinaba: 	LOGON32_LOGON_UNLOCK      = 7
9b639cf2d6 2015-05-05        kinaba: }
4e2933c620 2015-04-21        kinaba: 
9b639cf2d6 2015-05-05        kinaba: // for LogonUser()
9b639cf2d6 2015-05-05        kinaba: enum : DWORD {
9b639cf2d6 2015-05-05        kinaba: 	LOGON32_PROVIDER_DEFAULT,
9b639cf2d6 2015-05-05        kinaba: 	LOGON32_PROVIDER_WINNT35,
9b639cf2d6 2015-05-05        kinaba: 	LOGON32_PROVIDER_WINNT40,
9b639cf2d6 2015-05-05        kinaba: 	LOGON32_PROVIDER_WINNT50
9b639cf2d6 2015-05-05        kinaba: }
9b639cf2d6 2015-05-05        kinaba: 
9b639cf2d6 2015-05-05        kinaba: // for MoveFileEx()
9b639cf2d6 2015-05-05        kinaba: const DWORD
9b639cf2d6 2015-05-05        kinaba: 	MOVEFILE_REPLACE_EXISTING   = 1,
9b639cf2d6 2015-05-05        kinaba: 	MOVEFILE_COPY_ALLOWED       = 2,
9b639cf2d6 2015-05-05        kinaba: 	MOVEFILE_DELAY_UNTIL_REBOOT = 4,
9b639cf2d6 2015-05-05        kinaba: 	MOVEFILE_WRITE_THROUGH      = 8;
9b639cf2d6 2015-05-05        kinaba: 
9b639cf2d6 2015-05-05        kinaba: // DefineDosDevice()
9b639cf2d6 2015-05-05        kinaba: const DWORD
9b639cf2d6 2015-05-05        kinaba: 	DDD_RAW_TARGET_PATH       = 1,
9b639cf2d6 2015-05-05        kinaba: 	DDD_REMOVE_DEFINITION     = 2,
9b639cf2d6 2015-05-05        kinaba: 	DDD_EXACT_MATCH_ON_REMOVE = 4;
9b639cf2d6 2015-05-05        kinaba: 
9b639cf2d6 2015-05-05        kinaba: static if (_WIN32_WINNT >= 0x500) {
4e2933c620 2015-04-21        kinaba: 	enum : DWORD {
9b639cf2d6 2015-05-05        kinaba: 		LOGON32_LOGON_NETWORK_CLEARTEXT = 8,
9b639cf2d6 2015-05-05        kinaba: 		LOGON32_LOGON_NEW_CREDENTIALS   = 9
4e2933c620 2015-04-21        kinaba: 	}
4e2933c620 2015-04-21        kinaba: 
9b639cf2d6 2015-05-05        kinaba: 	// ReplaceFile()
9b639cf2d6 2015-05-05        kinaba: 	const DWORD
9b639cf2d6 2015-05-05        kinaba: 		REPLACEFILE_WRITE_THROUGH       = 1,
9b639cf2d6 2015-05-05        kinaba: 		REPLACEFILE_IGNORE_MERGE_ERRORS = 2;
9b639cf2d6 2015-05-05        kinaba: }
9b639cf2d6 2015-05-05        kinaba: 
9b639cf2d6 2015-05-05        kinaba: static if (_WIN32_WINNT >= 0x501) {
9b639cf2d6 2015-05-05        kinaba: 	const DWORD
9b639cf2d6 2015-05-05        kinaba: 		GET_MODULE_HANDLE_EX_FLAG_PIN                = 1,
9b639cf2d6 2015-05-05        kinaba: 		GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT = 2,
9b639cf2d6 2015-05-05        kinaba: 		GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS       = 4;
9b639cf2d6 2015-05-05        kinaba: 
9b639cf2d6 2015-05-05        kinaba: 	// for ACTCTX
4e2933c620 2015-04-21        kinaba: 	const DWORD
9b639cf2d6 2015-05-05        kinaba: 		ACTCTX_FLAG_PROCESSOR_ARCHITECTURE_VALID = 0x01,
9b639cf2d6 2015-05-05        kinaba: 		ACTCTX_FLAG_LANGID_VALID                 = 0x02,
9b639cf2d6 2015-05-05        kinaba: 		ACTCTX_FLAG_ASSEMBLY_DIRECTORY_VALID     = 0x04,
9b639cf2d6 2015-05-05        kinaba: 		ACTCTX_FLAG_RESOURCE_NAME_VALID          = 0x08,
9b639cf2d6 2015-05-05        kinaba: 		ACTCTX_FLAG_SET_PROCESS_DEFAULT          = 0x10,
9b639cf2d6 2015-05-05        kinaba: 		ACTCTX_FLAG_APPLICATION_NAME_VALID       = 0x20,
9b639cf2d6 2015-05-05        kinaba: 		ACTCTX_FLAG_HMODULE_VALID                = 0x80;
4e2933c620 2015-04-21        kinaba: 
9b639cf2d6 2015-05-05        kinaba: 	// DeactivateActCtx()
9b639cf2d6 2015-05-05        kinaba: 	const DWORD DEACTIVATE_ACTCTX_FLAG_FORCE_EARLY_DEACTIVATION = 1;
9b639cf2d6 2015-05-05        kinaba: 	// FindActCtxSectionString()
9b639cf2d6 2015-05-05        kinaba: 	const DWORD FIND_ACTCTX_SECTION_KEY_RETURN_HACTCTX          = 1;
9b639cf2d6 2015-05-05        kinaba: 	// QueryActCtxW()
4e2933c620 2015-04-21        kinaba: 	const DWORD
9b639cf2d6 2015-05-05        kinaba: 		QUERY_ACTCTX_FLAG_USE_ACTIVE_ACTCTX             = 0x04,
9b639cf2d6 2015-05-05        kinaba: 		QUERY_ACTCTX_FLAG_ACTCTX_IS_HMODULE             = 0x08,
9b639cf2d6 2015-05-05        kinaba: 		QUERY_ACTCTX_FLAG_ACTCTX_IS_ADDRESS             = 0x10;
4e2933c620 2015-04-21        kinaba: 
9b639cf2d6 2015-05-05        kinaba: 	enum {
9b639cf2d6 2015-05-05        kinaba: 		LOGON_WITH_PROFILE        = 1,
9b639cf2d6 2015-05-05        kinaba: 		LOGON_NETCREDENTIALS_ONLY
4e2933c620 2015-04-21        kinaba: 	}
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: // ----
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct FILETIME {
4e2933c620 2015-04-21        kinaba: 	DWORD dwLowDateTime;
4e2933c620 2015-04-21        kinaba: 	DWORD dwHighDateTime;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias FILETIME* PFILETIME, LPFILETIME;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct BY_HANDLE_FILE_INFORMATION {
4e2933c620 2015-04-21        kinaba: 	DWORD    dwFileAttributes;
4e2933c620 2015-04-21        kinaba: 	FILETIME ftCreationTime;
4e2933c620 2015-04-21        kinaba: 	FILETIME ftLastAccessTime;
4e2933c620 2015-04-21        kinaba: 	FILETIME ftLastWriteTime;
4e2933c620 2015-04-21        kinaba: 	DWORD    dwVolumeSerialNumber;
4e2933c620 2015-04-21        kinaba: 	DWORD    nFileSizeHigh;
4e2933c620 2015-04-21        kinaba: 	DWORD    nFileSizeLow;
4e2933c620 2015-04-21        kinaba: 	DWORD    nNumberOfLinks;
4e2933c620 2015-04-21        kinaba: 	DWORD    nFileIndexHigh;
4e2933c620 2015-04-21        kinaba: 	DWORD    nFileIndexLow;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias BY_HANDLE_FILE_INFORMATION* LPBY_HANDLE_FILE_INFORMATION;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct DCB {
4e2933c620 2015-04-21        kinaba: 	DWORD DCBlength = DCB.sizeof;
4e2933c620 2015-04-21        kinaba: 	DWORD BaudRate;
4e2933c620 2015-04-21        kinaba: /+
4e2933c620 2015-04-21        kinaba: 	DWORD fBinary:1;              // Binary Mode (skip EOF check)
4e2933c620 2015-04-21        kinaba: 	DWORD fParity:1;              // Enable parity checking
4e2933c620 2015-04-21        kinaba: 	DWORD fOutxCtsFlow:1;         // CTS handshaking on output
4e2933c620 2015-04-21        kinaba: 	DWORD fOutxDsrFlow:1;         // DSR handshaking on output
4e2933c620 2015-04-21        kinaba: 	DWORD fDtrControl:2;          // DTR Flow control
4e2933c620 2015-04-21        kinaba: 	DWORD fDsrSensitivity:1;      // DSR Sensitivity
4e2933c620 2015-04-21        kinaba: 	DWORD fTXContinueOnXoff:1;    // Continue TX when Xoff sent
4e2933c620 2015-04-21        kinaba: 	DWORD fOutX:1;                // Enable output X-ON/X-OFF
4e2933c620 2015-04-21        kinaba: 	DWORD fInX:1;                 // Enable input X-ON/X-OFF
4e2933c620 2015-04-21        kinaba: 	DWORD fErrorChar:1;           // Enable Err Replacement
4e2933c620 2015-04-21        kinaba: 	DWORD fNull:1;                // Enable Null stripping
4e2933c620 2015-04-21        kinaba: 	DWORD fRtsControl:2;          // Rts Flow control
4e2933c620 2015-04-21        kinaba: 	DWORD fAbortOnError:1;        // Abort all reads and writes on Error
4e2933c620 2015-04-21        kinaba: 	DWORD fDummy2:17;             // Reserved
4e2933c620 2015-04-21        kinaba: +/
4e2933c620 2015-04-21        kinaba: 	uint _bf;
4e2933c620 2015-04-21        kinaba: 	bool fBinary(bool f)           { _bf = (_bf & ~0x0001) | f; return f; }
4e2933c620 2015-04-21        kinaba: 	bool fParity(bool f)           { _bf = (_bf & ~0x0002) | (f<<1); return f; }
4e2933c620 2015-04-21        kinaba: 	bool fOutxCtsFlow(bool f)      { _bf = (_bf & ~0x0004) | (f<<2); return f; }
4e2933c620 2015-04-21        kinaba: 	bool fOutxDsrFlow(bool f)      { _bf = (_bf & ~0x0008) | (f<<3); return f; }
4e2933c620 2015-04-21        kinaba: 	byte fDtrControl(byte x)       { _bf = (_bf & ~0x0030) | (x<<4); return cast(byte)(x & 3); }
4e2933c620 2015-04-21        kinaba: 	bool fDsrSensitivity(bool f)   { _bf = (_bf & ~0x0040) | (f<<6); return f; }
4e2933c620 2015-04-21        kinaba: 	bool fTXContinueOnXoff(bool f) { _bf = (_bf & ~0x0080) | (f<<7); return f; }
4e2933c620 2015-04-21        kinaba: 	bool fOutX(bool f)             { _bf = (_bf & ~0x0100) | (f<<8); return f; }
4e2933c620 2015-04-21        kinaba: 	bool fInX(bool f)              { _bf = (_bf & ~0x0200) | (f<<9); return f; }
4e2933c620 2015-04-21        kinaba: 	bool fErrorChar(bool f)        { _bf = (_bf & ~0x0400) | (f<<10); return f; }
4e2933c620 2015-04-21        kinaba: 	bool fNull(bool f)             { _bf = (_bf & ~0x0800) | (f<<11); return f; }
4e2933c620 2015-04-21        kinaba: 	byte fRtsControl(byte x)       { _bf = (_bf & ~0x3000) | (x<<12); return cast(byte)(x & 3); }
4e2933c620 2015-04-21        kinaba: 	bool fAbortOnError(bool f)     { _bf = (_bf & ~0x4000) | (f<<14); return f; }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: 	bool fBinary()           { return cast(bool) (_bf & 1); }
4e2933c620 2015-04-21        kinaba: 	bool fParity()           { return cast(bool) (_bf & 2); }
4e2933c620 2015-04-21        kinaba: 	bool fOutxCtsFlow()      { return cast(bool) (_bf & 4); }
4e2933c620 2015-04-21        kinaba: 	bool fOutxDsrFlow()      { return cast(bool) (_bf & 8); }
4e2933c620 2015-04-21        kinaba: 	byte fDtrControl()       { return cast(byte) ((_bf & (32+16))>>4); }
4e2933c620 2015-04-21        kinaba: 	bool fDsrSensitivity()   { return cast(bool) (_bf & 64); }
4e2933c620 2015-04-21        kinaba: 	bool fTXContinueOnXoff() { return cast(bool) (_bf & 128); }
4e2933c620 2015-04-21        kinaba: 	bool fOutX()             { return cast(bool) (_bf & 256); }
4e2933c620 2015-04-21        kinaba: 	bool fInX()              { return cast(bool) (_bf & 512); }
4e2933c620 2015-04-21        kinaba: 	bool fErrorChar()        { return cast(bool) (_bf & 1024); }
4e2933c620 2015-04-21        kinaba: 	bool fNull()             { return cast(bool) (_bf & 2048); }
4e2933c620 2015-04-21        kinaba: 	byte fRtsControl()       { return cast(byte) ((_bf & (4096+8192))>>12); }
4e2933c620 2015-04-21        kinaba: 	bool fAbortOnError()     { return cast(bool) (_bf & 16384); }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: 	WORD wReserved;
4e2933c620 2015-04-21        kinaba: 	WORD XonLim;
4e2933c620 2015-04-21        kinaba: 	WORD XoffLim;
4e2933c620 2015-04-21        kinaba: 	BYTE ByteSize;
4e2933c620 2015-04-21        kinaba: 	BYTE Parity;
4e2933c620 2015-04-21        kinaba: 	BYTE StopBits;
4e2933c620 2015-04-21        kinaba: 	char XonChar;
4e2933c620 2015-04-21        kinaba: 	char XoffChar;
4e2933c620 2015-04-21        kinaba: 	char ErrorChar;
4e2933c620 2015-04-21        kinaba: 	char EofChar;
4e2933c620 2015-04-21        kinaba: 	char EvtChar;
4e2933c620 2015-04-21        kinaba: 	WORD wReserved1;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias DCB* LPDCB;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct COMMCONFIG {
4e2933c620 2015-04-21        kinaba: 	DWORD dwSize = COMMCONFIG.sizeof;
4e2933c620 2015-04-21        kinaba: 	WORD  wVersion;
4e2933c620 2015-04-21        kinaba: 	WORD  wReserved;
4e2933c620 2015-04-21        kinaba: 	DCB   dcb;
4e2933c620 2015-04-21        kinaba: 	DWORD dwProviderSubType;
4e2933c620 2015-04-21        kinaba: 	DWORD dwProviderOffset;
4e2933c620 2015-04-21        kinaba: 	DWORD dwProviderSize;
4e2933c620 2015-04-21        kinaba: 	WCHAR _wcProviderData;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: 	WCHAR* wcProviderData() { return &_wcProviderData; }
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias COMMCONFIG* LPCOMMCONFIG;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct COMMTIMEOUTS {
4e2933c620 2015-04-21        kinaba: 	DWORD ReadIntervalTimeout;
4e2933c620 2015-04-21        kinaba: 	DWORD ReadTotalTimeoutMultiplier;
4e2933c620 2015-04-21        kinaba: 	DWORD ReadTotalTimeoutConstant;
4e2933c620 2015-04-21        kinaba: 	DWORD WriteTotalTimeoutMultiplier;
4e2933c620 2015-04-21        kinaba: 	DWORD WriteTotalTimeoutConstant;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias COMMTIMEOUTS* LPCOMMTIMEOUTS;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct COMSTAT {
4e2933c620 2015-04-21        kinaba: /+
4e2933c620 2015-04-21        kinaba: 	DWORD fCtsHold:1;
4e2933c620 2015-04-21        kinaba: 	DWORD fDsrHold:1;
4e2933c620 2015-04-21        kinaba: 	DWORD fRlsdHold:1;
4e2933c620 2015-04-21        kinaba: 	DWORD fXoffHold:1;
4e2933c620 2015-04-21        kinaba: 	DWORD fXoffSent:1;
4e2933c620 2015-04-21        kinaba: 	DWORD fEof:1;
4e2933c620 2015-04-21        kinaba: 	DWORD fTxim:1;
4e2933c620 2015-04-21        kinaba: 	DWORD fReserved:25;
4e2933c620 2015-04-21        kinaba: +/
4e2933c620 2015-04-21        kinaba: 	DWORD _bf;
4e2933c620 2015-04-21        kinaba:     bool fCtsHold(bool f)  { _bf = (_bf & ~1) | f; return f; }
4e2933c620 2015-04-21        kinaba: 	bool fDsrHold(bool f)  { _bf = (_bf & ~2) | (f<<1); return f; }
4e2933c620 2015-04-21        kinaba: 	bool fRlsdHold(bool f) { _bf = (_bf & ~4) | (f<<2); return f; }
4e2933c620 2015-04-21        kinaba: 	bool fXoffHold(bool f) { _bf = (_bf & ~8) | (f<<3); return f; }
4e2933c620 2015-04-21        kinaba: 	bool fXoffSent(bool f) { _bf = (_bf & ~16) | (f<<4); return f; }
4e2933c620 2015-04-21        kinaba: 	bool fEof(bool f)      { _bf = (_bf & ~32) | (f<<5); return f; }
4e2933c620 2015-04-21        kinaba: 	bool fTxim(bool f)     { _bf = (_bf & ~64) | (f<<6); return f; }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba:     bool fCtsHold()  { return cast(bool) (_bf & 1); }
4e2933c620 2015-04-21        kinaba: 	bool fDsrHold()  { return cast(bool) (_bf & 2); }
4e2933c620 2015-04-21        kinaba: 	bool fRlsdHold() { return cast(bool) (_bf & 4); }
4e2933c620 2015-04-21        kinaba: 	bool fXoffHold() { return cast(bool) (_bf & 8); }
4e2933c620 2015-04-21        kinaba: 	bool fXoffSent() { return cast(bool) (_bf & 16); }
4e2933c620 2015-04-21        kinaba: 	bool fEof()      { return cast(bool) (_bf & 32); }
4e2933c620 2015-04-21        kinaba: 	bool fTxim()     { return cast(bool) (_bf & 64); }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: 	DWORD cbInQue;
4e2933c620 2015-04-21        kinaba: 	DWORD cbOutQue;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias COMSTAT* LPCOMSTAT;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct CREATE_PROCESS_DEBUG_INFO {
4e2933c620 2015-04-21        kinaba: 	HANDLE hFile;
4e2933c620 2015-04-21        kinaba: 	HANDLE hProcess;
4e2933c620 2015-04-21        kinaba: 	HANDLE hThread;
4e2933c620 2015-04-21        kinaba: 	LPVOID lpBaseOfImage;
4e2933c620 2015-04-21        kinaba: 	DWORD  dwDebugInfoFileOffset;
4e2933c620 2015-04-21        kinaba: 	DWORD  nDebugInfoSize;
4e2933c620 2015-04-21        kinaba: 	LPVOID lpThreadLocalBase;
4e2933c620 2015-04-21        kinaba: 	LPTHREAD_START_ROUTINE lpStartAddress;
4e2933c620 2015-04-21        kinaba: 	LPVOID lpImageName;
4e2933c620 2015-04-21        kinaba: 	WORD   fUnicode;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias CREATE_PROCESS_DEBUG_INFO* LPCREATE_PROCESS_DEBUG_INFO;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct CREATE_THREAD_DEBUG_INFO {
4e2933c620 2015-04-21        kinaba: 	HANDLE hThread;
4e2933c620 2015-04-21        kinaba: 	LPVOID lpThreadLocalBase;
4e2933c620 2015-04-21        kinaba: 	LPTHREAD_START_ROUTINE lpStartAddress;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias CREATE_THREAD_DEBUG_INFO* LPCREATE_THREAD_DEBUG_INFO;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct EXCEPTION_DEBUG_INFO {
4e2933c620 2015-04-21        kinaba: 	EXCEPTION_RECORD ExceptionRecord;
4e2933c620 2015-04-21        kinaba: 	DWORD            dwFirstChance;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias EXCEPTION_DEBUG_INFO* LPEXCEPTION_DEBUG_INFO;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct EXIT_THREAD_DEBUG_INFO {
4e2933c620 2015-04-21        kinaba: 	DWORD dwExitCode;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias EXIT_THREAD_DEBUG_INFO* LPEXIT_THREAD_DEBUG_INFO;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct EXIT_PROCESS_DEBUG_INFO {
4e2933c620 2015-04-21        kinaba: 	DWORD dwExitCode;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias EXIT_PROCESS_DEBUG_INFO* LPEXIT_PROCESS_DEBUG_INFO;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct LOAD_DLL_DEBUG_INFO {
4e2933c620 2015-04-21        kinaba: 	HANDLE hFile;
4e2933c620 2015-04-21        kinaba: 	LPVOID lpBaseOfDll;
4e2933c620 2015-04-21        kinaba: 	DWORD  dwDebugInfoFileOffset;
4e2933c620 2015-04-21        kinaba: 	DWORD  nDebugInfoSize;
4e2933c620 2015-04-21        kinaba: 	LPVOID lpImageName;
4e2933c620 2015-04-21        kinaba: 	WORD   fUnicode;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias LOAD_DLL_DEBUG_INFO* LPLOAD_DLL_DEBUG_INFO;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct UNLOAD_DLL_DEBUG_INFO {
4e2933c620 2015-04-21        kinaba: 	LPVOID lpBaseOfDll;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias UNLOAD_DLL_DEBUG_INFO* LPUNLOAD_DLL_DEBUG_INFO;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct OUTPUT_DEBUG_STRING_INFO {
4e2933c620 2015-04-21        kinaba: 	LPSTR lpDebugStringData;
4e2933c620 2015-04-21        kinaba: 	WORD  fUnicode;
4e2933c620 2015-04-21        kinaba: 	WORD  nDebugStringLength;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias OUTPUT_DEBUG_STRING_INFO* LPOUTPUT_DEBUG_STRING_INFO;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct RIP_INFO {
4e2933c620 2015-04-21        kinaba: 	DWORD dwError;
4e2933c620 2015-04-21        kinaba: 	DWORD dwType;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias RIP_INFO* LPRIP_INFO;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct DEBUG_EVENT {
4e2933c620 2015-04-21        kinaba: 	DWORD dwDebugEventCode;
4e2933c620 2015-04-21        kinaba: 	DWORD dwProcessId;
4e2933c620 2015-04-21        kinaba: 	DWORD dwThreadId;
4e2933c620 2015-04-21        kinaba: 	union {
4e2933c620 2015-04-21        kinaba: 		EXCEPTION_DEBUG_INFO      Exception;
4e2933c620 2015-04-21        kinaba: 		CREATE_THREAD_DEBUG_INFO  CreateThread;
4e2933c620 2015-04-21        kinaba: 		CREATE_PROCESS_DEBUG_INFO CreateProcessInfo;
4e2933c620 2015-04-21        kinaba: 		EXIT_THREAD_DEBUG_INFO    ExitThread;
4e2933c620 2015-04-21        kinaba: 		EXIT_PROCESS_DEBUG_INFO   ExitProcess;
4e2933c620 2015-04-21        kinaba: 		LOAD_DLL_DEBUG_INFO       LoadDll;
4e2933c620 2015-04-21        kinaba: 		UNLOAD_DLL_DEBUG_INFO     UnloadDll;
4e2933c620 2015-04-21        kinaba: 		OUTPUT_DEBUG_STRING_INFO  DebugString;
4e2933c620 2015-04-21        kinaba: 		RIP_INFO                  RipInfo;
4e2933c620 2015-04-21        kinaba: 	}
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias DEBUG_EVENT* LPDEBUG_EVENT;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct OVERLAPPED {
4e2933c620 2015-04-21        kinaba: 	ULONG_PTR Internal;
4e2933c620 2015-04-21        kinaba: 	ULONG_PTR InternalHigh;
4e2933c620 2015-04-21        kinaba: 	union {
4e2933c620 2015-04-21        kinaba: 		struct {
4e2933c620 2015-04-21        kinaba: 			DWORD     Offset;
4e2933c620 2015-04-21        kinaba: 			DWORD     OffsetHigh;
4e2933c620 2015-04-21        kinaba: 		}
4e2933c620 2015-04-21        kinaba: 		PVOID     Pointer;
4e2933c620 2015-04-21        kinaba: 	}
4e2933c620 2015-04-21        kinaba: 	HANDLE    hEvent;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias OVERLAPPED* POVERLAPPED, LPOVERLAPPED;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct STARTUPINFOA {
4e2933c620 2015-04-21        kinaba: 	DWORD  cb = STARTUPINFOA.sizeof;
4e2933c620 2015-04-21        kinaba: 	LPSTR  lpReserved;
4e2933c620 2015-04-21        kinaba: 	LPSTR  lpDesktop;
4e2933c620 2015-04-21        kinaba: 	LPSTR  lpTitle;
4e2933c620 2015-04-21        kinaba: 	DWORD  dwX;
4e2933c620 2015-04-21        kinaba: 	DWORD  dwY;
4e2933c620 2015-04-21        kinaba: 	DWORD  dwXSize;
4e2933c620 2015-04-21        kinaba: 	DWORD  dwYSize;
4e2933c620 2015-04-21        kinaba: 	DWORD  dwXCountChars;
4e2933c620 2015-04-21        kinaba: 	DWORD  dwYCountChars;
4e2933c620 2015-04-21        kinaba: 	DWORD  dwFillAttribute;
4e2933c620 2015-04-21        kinaba: 	DWORD  dwFlags;
4e2933c620 2015-04-21        kinaba: 	WORD   wShowWindow;
4e2933c620 2015-04-21        kinaba: 	WORD   cbReserved2;
4e2933c620 2015-04-21        kinaba: 	PBYTE  lpReserved2;
4e2933c620 2015-04-21        kinaba: 	HANDLE hStdInput;
4e2933c620 2015-04-21        kinaba: 	HANDLE hStdOutput;
4e2933c620 2015-04-21        kinaba: 	HANDLE hStdError;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias STARTUPINFOA* LPSTARTUPINFOA;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct STARTUPINFOW {
4e2933c620 2015-04-21        kinaba: 	DWORD  cb = STARTUPINFOW.sizeof;
4e2933c620 2015-04-21        kinaba: 	LPWSTR lpReserved;
4e2933c620 2015-04-21        kinaba: 	LPWSTR lpDesktop;
4e2933c620 2015-04-21        kinaba: 	LPWSTR lpTitle;
4e2933c620 2015-04-21        kinaba: 	DWORD  dwX;
4e2933c620 2015-04-21        kinaba: 	DWORD  dwY;
4e2933c620 2015-04-21        kinaba: 	DWORD  dwXSize;
4e2933c620 2015-04-21        kinaba: 	DWORD  dwYSize;
4e2933c620 2015-04-21        kinaba: 	DWORD  dwXCountChars;
4e2933c620 2015-04-21        kinaba: 	DWORD  dwYCountChars;
4e2933c620 2015-04-21        kinaba: 	DWORD  dwFillAttribute;
4e2933c620 2015-04-21        kinaba: 	DWORD  dwFlags;
4e2933c620 2015-04-21        kinaba: 	WORD   wShowWindow;
4e2933c620 2015-04-21        kinaba: 	WORD   cbReserved2;
4e2933c620 2015-04-21        kinaba: 	PBYTE  lpReserved2;
4e2933c620 2015-04-21        kinaba: 	HANDLE hStdInput;
4e2933c620 2015-04-21        kinaba: 	HANDLE hStdOutput;
4e2933c620 2015-04-21        kinaba: 	HANDLE hStdError;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias STARTUPINFOW* LPSTARTUPINFOW;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct PROCESS_INFORMATION {
4e2933c620 2015-04-21        kinaba: 	HANDLE hProcess;
4e2933c620 2015-04-21        kinaba: 	HANDLE hThread;
4e2933c620 2015-04-21        kinaba: 	DWORD  dwProcessId;
4e2933c620 2015-04-21        kinaba: 	DWORD  dwThreadId;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias PROCESS_INFORMATION* PPROCESS_INFORMATION, LPPROCESS_INFORMATION;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct CRITICAL_SECTION_DEBUG {
4e2933c620 2015-04-21        kinaba: 	WORD              Type;
4e2933c620 2015-04-21        kinaba: 	WORD              CreatorBackTraceIndex;
4e2933c620 2015-04-21        kinaba: 	CRITICAL_SECTION* CriticalSection;
4e2933c620 2015-04-21        kinaba: 	LIST_ENTRY        ProcessLocksList;
4e2933c620 2015-04-21        kinaba: 	DWORD             EntryCount;
4e2933c620 2015-04-21        kinaba: 	DWORD             ContentionCount;
4e2933c620 2015-04-21        kinaba: 	DWORD[2]          Spare;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias CRITICAL_SECTION_DEBUG* PCRITICAL_SECTION_DEBUG;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct CRITICAL_SECTION {
4e2933c620 2015-04-21        kinaba: 	PCRITICAL_SECTION_DEBUG DebugInfo;
4e2933c620 2015-04-21        kinaba: 	LONG   LockCount;
4e2933c620 2015-04-21        kinaba: 	LONG   RecursionCount;
4e2933c620 2015-04-21        kinaba: 	HANDLE OwningThread;
4e2933c620 2015-04-21        kinaba: 	HANDLE LockSemaphore;
4e2933c620 2015-04-21        kinaba: 	DWORD  SpinCount;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias CRITICAL_SECTION* PCRITICAL_SECTION, LPCRITICAL_SECTION;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct SYSTEMTIME {
4e2933c620 2015-04-21        kinaba: 	WORD wYear;
4e2933c620 2015-04-21        kinaba: 	WORD wMonth;
4e2933c620 2015-04-21        kinaba: 	WORD wDayOfWeek;
4e2933c620 2015-04-21        kinaba: 	WORD wDay;
4e2933c620 2015-04-21        kinaba: 	WORD wHour;
4e2933c620 2015-04-21        kinaba: 	WORD wMinute;
4e2933c620 2015-04-21        kinaba: 	WORD wSecond;
4e2933c620 2015-04-21        kinaba: 	WORD wMilliseconds;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias SYSTEMTIME* LPSYSTEMTIME;
4e2933c620 2015-04-21        kinaba: 
9b639cf2d6 2015-05-05        kinaba: struct WIN32_FILE_ATTRIBUTE_DATA {
9b639cf2d6 2015-05-05        kinaba: 	DWORD    dwFileAttributes;
9b639cf2d6 2015-05-05        kinaba: 	FILETIME ftCreationTime;
9b639cf2d6 2015-05-05        kinaba: 	FILETIME ftLastAccessTime;
9b639cf2d6 2015-05-05        kinaba: 	FILETIME ftLastWriteTime;
9b639cf2d6 2015-05-05        kinaba: 	DWORD    nFileSizeHigh;
9b639cf2d6 2015-05-05        kinaba: 	DWORD    nFileSizeLow;
4e2933c620 2015-04-21        kinaba: }
9b639cf2d6 2015-05-05        kinaba: alias WIN32_FILE_ATTRIBUTE_DATA* LPWIN32_FILE_ATTRIBUTE_DATA;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct WIN32_FIND_DATAA {
4e2933c620 2015-04-21        kinaba: 	DWORD          dwFileAttributes;
4e2933c620 2015-04-21        kinaba: 	FILETIME       ftCreationTime;
4e2933c620 2015-04-21        kinaba: 	FILETIME       ftLastAccessTime;
4e2933c620 2015-04-21        kinaba: 	FILETIME       ftLastWriteTime;
4e2933c620 2015-04-21        kinaba: 	DWORD          nFileSizeHigh;
4e2933c620 2015-04-21        kinaba: 	DWORD          nFileSizeLow;
4e2933c620 2015-04-21        kinaba: // #ifdef _WIN32_WCE
4e2933c620 2015-04-21        kinaba: //	DWORD dwOID;
c2b7a98c21 2011-02-23        kinaba: // #else
4e2933c620 2015-04-21        kinaba: 	DWORD          dwReserved0;
4e2933c620 2015-04-21        kinaba: 	DWORD          dwReserved1;
4e2933c620 2015-04-21        kinaba: // #endif
4e2933c620 2015-04-21        kinaba: 	CHAR[MAX_PATH] cFileName;
4e2933c620 2015-04-21        kinaba: // #ifndef _WIN32_WCE
4e2933c620 2015-04-21        kinaba: 	CHAR[14]       cAlternateFileName;
c2b7a98c21 2011-02-23        kinaba: // #endif
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias WIN32_FIND_DATAA* PWIN32_FIND_DATAA, LPWIN32_FIND_DATAA;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct WIN32_FIND_DATAW {
4e2933c620 2015-04-21        kinaba: 	DWORD           dwFileAttributes;
4e2933c620 2015-04-21        kinaba: 	FILETIME        ftCreationTime;
4e2933c620 2015-04-21        kinaba: 	FILETIME        ftLastAccessTime;
4e2933c620 2015-04-21        kinaba: 	FILETIME        ftLastWriteTime;
4e2933c620 2015-04-21        kinaba: 	DWORD           nFileSizeHigh;
4e2933c620 2015-04-21        kinaba: 	DWORD           nFileSizeLow;
4e2933c620 2015-04-21        kinaba: // #ifdef _WIN32_WCE
4e2933c620 2015-04-21        kinaba: // 	DWORD dwOID;
c2b7a98c21 2011-02-23        kinaba: // #else
4e2933c620 2015-04-21        kinaba: 	DWORD           dwReserved0;
4e2933c620 2015-04-21        kinaba: 	DWORD           dwReserved1;
c2b7a98c21 2011-02-23        kinaba: // #endif
4e2933c620 2015-04-21        kinaba: 	WCHAR[MAX_PATH] cFileName;
4e2933c620 2015-04-21        kinaba: // #ifndef _WIN32_WCE
4e2933c620 2015-04-21        kinaba: 	WCHAR[14]       cAlternateFileName;
c2b7a98c21 2011-02-23        kinaba: // #endif
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias WIN32_FIND_DATAW* PWIN32_FIND_DATAW, LPWIN32_FIND_DATAW;
4e2933c620 2015-04-21        kinaba: 
9b639cf2d6 2015-05-05        kinaba: struct WIN32_STREAM_ID {
9b639cf2d6 2015-05-05        kinaba: 	DWORD         dwStreamId;
9b639cf2d6 2015-05-05        kinaba: 	DWORD         dwStreamAttributes;
9b639cf2d6 2015-05-05        kinaba: 	LARGE_INTEGER Size;
9b639cf2d6 2015-05-05        kinaba: 	DWORD         dwStreamNameSize;
9b639cf2d6 2015-05-05        kinaba: 	WCHAR         _cStreamName;
9b639cf2d6 2015-05-05        kinaba: 
9b639cf2d6 2015-05-05        kinaba: 	WCHAR* cStreamName() { return &_cStreamName; }
9b639cf2d6 2015-05-05        kinaba: }
9b639cf2d6 2015-05-05        kinaba: alias WIN32_STREAM_ID* LPWIN32_STREAM_ID;
9b639cf2d6 2015-05-05        kinaba: 
9b639cf2d6 2015-05-05        kinaba: enum FINDEX_INFO_LEVELS {
9b639cf2d6 2015-05-05        kinaba: 	FindExInfoStandard,
9b639cf2d6 2015-05-05        kinaba: 	FindExInfoMaxInfoLevel
9b639cf2d6 2015-05-05        kinaba: }
9b639cf2d6 2015-05-05        kinaba: 
9b639cf2d6 2015-05-05        kinaba: enum FINDEX_SEARCH_OPS {
9b639cf2d6 2015-05-05        kinaba: 	FindExSearchNameMatch,
9b639cf2d6 2015-05-05        kinaba: 	FindExSearchLimitToDirectories,
9b639cf2d6 2015-05-05        kinaba: 	FindExSearchLimitToDevices,
9b639cf2d6 2015-05-05        kinaba: 	FindExSearchMaxSearchOp
9b639cf2d6 2015-05-05        kinaba: }
9b639cf2d6 2015-05-05        kinaba: 
9b639cf2d6 2015-05-05        kinaba: enum ACL_INFORMATION_CLASS {
9b639cf2d6 2015-05-05        kinaba: 	AclRevisionInformation = 1,
9b639cf2d6 2015-05-05        kinaba: 	AclSizeInformation
9b639cf2d6 2015-05-05        kinaba: }
9b639cf2d6 2015-05-05        kinaba: 
9b639cf2d6 2015-05-05        kinaba: struct HW_PROFILE_INFOA {
9b639cf2d6 2015-05-05        kinaba: 	DWORD dwDockInfo;
9b639cf2d6 2015-05-05        kinaba: 	CHAR[HW_PROFILE_GUIDLEN] szHwProfileGuid;
9b639cf2d6 2015-05-05        kinaba: 	CHAR[MAX_PROFILE_LEN]    szHwProfileName;
9b639cf2d6 2015-05-05        kinaba: }
9b639cf2d6 2015-05-05        kinaba: alias HW_PROFILE_INFOA* LPHW_PROFILE_INFOA;
9b639cf2d6 2015-05-05        kinaba: 
9b639cf2d6 2015-05-05        kinaba: struct HW_PROFILE_INFOW {
9b639cf2d6 2015-05-05        kinaba: 	DWORD dwDockInfo;
9b639cf2d6 2015-05-05        kinaba: 	WCHAR[HW_PROFILE_GUIDLEN] szHwProfileGuid;
9b639cf2d6 2015-05-05        kinaba: 	WCHAR[MAX_PROFILE_LEN]    szHwProfileName;
9b639cf2d6 2015-05-05        kinaba: }
9b639cf2d6 2015-05-05        kinaba: alias HW_PROFILE_INFOW* LPHW_PROFILE_INFOW;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: /*	??? MSDN documents this only for Windows CE/Mobile, but it's used by
4e2933c620 2015-04-21        kinaba:  *	GetFileAttributesEx, which is in desktop Windows.
4e2933c620 2015-04-21        kinaba:  */
4e2933c620 2015-04-21        kinaba: enum GET_FILEEX_INFO_LEVELS {
4e2933c620 2015-04-21        kinaba: 	GetFileExInfoStandard,
4e2933c620 2015-04-21        kinaba: 	GetFileExMaxInfoLevel
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct SYSTEM_INFO {
4e2933c620 2015-04-21        kinaba: 	union {
4e2933c620 2015-04-21        kinaba: 		DWORD dwOemId;
4e2933c620 2015-04-21        kinaba: 		struct {
4e2933c620 2015-04-21        kinaba: 			WORD wProcessorArchitecture;
4e2933c620 2015-04-21        kinaba: 			WORD wReserved;
4e2933c620 2015-04-21        kinaba: 		}
4e2933c620 2015-04-21        kinaba: 	}
4e2933c620 2015-04-21        kinaba: 	DWORD dwPageSize;
4e2933c620 2015-04-21        kinaba: 	PVOID lpMinimumApplicationAddress;
4e2933c620 2015-04-21        kinaba: 	PVOID lpMaximumApplicationAddress;
9b639cf2d6 2015-05-05        kinaba: 	DWORD_PTR dwActiveProcessorMask;
4e2933c620 2015-04-21        kinaba: 	DWORD dwNumberOfProcessors;
4e2933c620 2015-04-21        kinaba: 	DWORD dwProcessorType;
4e2933c620 2015-04-21        kinaba: 	DWORD dwAllocationGranularity;
4e2933c620 2015-04-21        kinaba: 	WORD  wProcessorLevel;
4e2933c620 2015-04-21        kinaba: 	WORD  wProcessorRevision;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias SYSTEM_INFO* LPSYSTEM_INFO;
4e2933c620 2015-04-21        kinaba: 
9b639cf2d6 2015-05-05        kinaba: static if (_WIN32_WINNT >= 0x500) {
4e2933c620 2015-04-21        kinaba: 	struct SYSTEM_POWER_STATUS {
4e2933c620 2015-04-21        kinaba: 		BYTE ACLineStatus;
4e2933c620 2015-04-21        kinaba: 		BYTE BatteryFlag;
4e2933c620 2015-04-21        kinaba: 		BYTE BatteryLifePercent;
4e2933c620 2015-04-21        kinaba: 		BYTE Reserved1;
4e2933c620 2015-04-21        kinaba: 		DWORD BatteryLifeTime;
4e2933c620 2015-04-21        kinaba: 		DWORD BatteryFullLifeTime;
4e2933c620 2015-04-21        kinaba: 	}
4e2933c620 2015-04-21        kinaba: 	alias SYSTEM_POWER_STATUS* LPSYSTEM_POWER_STATUS;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct TIME_ZONE_INFORMATION {
4e2933c620 2015-04-21        kinaba: 	LONG       Bias;
4e2933c620 2015-04-21        kinaba: 	WCHAR[32]  StandardName;
4e2933c620 2015-04-21        kinaba: 	SYSTEMTIME StandardDate;
4e2933c620 2015-04-21        kinaba: 	LONG       StandardBias;
4e2933c620 2015-04-21        kinaba: 	WCHAR[32]  DaylightName;
4e2933c620 2015-04-21        kinaba: 	SYSTEMTIME DaylightDate;
4e2933c620 2015-04-21        kinaba: 	LONG       DaylightBias;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias TIME_ZONE_INFORMATION* LPTIME_ZONE_INFORMATION;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: // MSDN documents this, possibly erroneously, as Win2000+.
4e2933c620 2015-04-21        kinaba: struct MEMORYSTATUS {
4e2933c620 2015-04-21        kinaba: 	DWORD dwLength;
4e2933c620 2015-04-21        kinaba: 	DWORD dwMemoryLoad;
4e2933c620 2015-04-21        kinaba: 	DWORD dwTotalPhys;
4e2933c620 2015-04-21        kinaba: 	DWORD dwAvailPhys;
4e2933c620 2015-04-21        kinaba: 	DWORD dwTotalPageFile;
4e2933c620 2015-04-21        kinaba: 	DWORD dwAvailPageFile;
4e2933c620 2015-04-21        kinaba: 	DWORD dwTotalVirtual;
4e2933c620 2015-04-21        kinaba: 	DWORD dwAvailVirtual;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias MEMORYSTATUS* LPMEMORYSTATUS;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: static if (_WIN32_WINNT >= 0x500) {
4e2933c620 2015-04-21        kinaba: 	struct MEMORYSTATUSEX {
4e2933c620 2015-04-21        kinaba: 		DWORD     dwLength;
4e2933c620 2015-04-21        kinaba: 		DWORD     dwMemoryLoad;
4e2933c620 2015-04-21        kinaba: 		DWORDLONG ullTotalPhys;
4e2933c620 2015-04-21        kinaba: 		DWORDLONG ullAvailPhys;
4e2933c620 2015-04-21        kinaba: 		DWORDLONG ullTotalPageFile;
4e2933c620 2015-04-21        kinaba: 		DWORDLONG ullAvailPageFile;
4e2933c620 2015-04-21        kinaba: 		DWORDLONG ullTotalVirtual;
4e2933c620 2015-04-21        kinaba: 		DWORDLONG ullAvailVirtual;
4e2933c620 2015-04-21        kinaba: 		DWORDLONG ullAvailExtendedVirtual;
4e2933c620 2015-04-21        kinaba: 	}
4e2933c620 2015-04-21        kinaba: 	alias MEMORYSTATUSEX* LPMEMORYSTATUSEX;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct LDT_ENTRY {
4e2933c620 2015-04-21        kinaba: 	WORD LimitLow;
4e2933c620 2015-04-21        kinaba: 	WORD BaseLow;
4e2933c620 2015-04-21        kinaba: 	struct {
4e2933c620 2015-04-21        kinaba: 		BYTE BaseMid;
4e2933c620 2015-04-21        kinaba: 		BYTE Flags1;
4e2933c620 2015-04-21        kinaba: 		BYTE Flags2;
4e2933c620 2015-04-21        kinaba: 		BYTE BaseHi;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: 		byte Type(byte f)        { Flags1 = cast(BYTE) ((Flags1 & 0xE0) | f); return cast(byte)(f & 0x1F); }
4e2933c620 2015-04-21        kinaba: 		byte Dpl(byte f)         { Flags1 = cast(BYTE) ((Flags1 & 0x9F) | (f<<5)); return cast(byte)(f & 3); }
4e2933c620 2015-04-21        kinaba: 		bool Pres(bool f)        { Flags1 = cast(BYTE) ((Flags1 & 0x7F) | (f<<7)); return f; }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: 		byte LimitHi(byte f)     { Flags2 = cast(BYTE) ((Flags2 & 0xF0) | (f&0x0F)); return cast(byte)(f & 0x0F); }
4e2933c620 2015-04-21        kinaba: 		bool Sys(bool f)         { Flags2 = cast(BYTE) ((Flags2 & 0xEF) | (f<<4)); return f; }
4e2933c620 2015-04-21        kinaba: 		// Next bit is reserved
4e2933c620 2015-04-21        kinaba: 		bool Default_Big(bool f) { Flags2 = cast(BYTE) ((Flags2 & 0xBF) | (f<<6)); return f; }
4e2933c620 2015-04-21        kinaba: 		bool Granularity(bool f) { Flags2 = cast(BYTE) ((Flags2 & 0x7F) | (f<<7)); return f; }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: 		byte Type()        { return cast(byte) (Flags1 & 0x1F); }
4e2933c620 2015-04-21        kinaba: 		byte Dpl()         { return cast(byte) ((Flags1 & 0x60)>>5); }
4e2933c620 2015-04-21        kinaba: 		bool Pres()        { return cast(bool) (Flags1 & 0x80); }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: 		byte LimitHi()     { return cast(byte) (Flags2 & 0x0F); }
4e2933c620 2015-04-21        kinaba: 		bool Sys()         { return cast(bool) (Flags2 & 0x10); }
4e2933c620 2015-04-21        kinaba: 		bool Default_Big() { return cast(bool) (Flags2 & 0x40); }
4e2933c620 2015-04-21        kinaba: 		bool Granularity() { return cast(bool) (Flags2 & 0x80); }
4e2933c620 2015-04-21        kinaba: 	}
4e2933c620 2015-04-21        kinaba: /+
4e2933c620 2015-04-21        kinaba: 	union  HighWord {
4e2933c620 2015-04-21        kinaba: 		struct Bytes {
4e2933c620 2015-04-21        kinaba: 			BYTE BaseMid;
4e2933c620 2015-04-21        kinaba: 			BYTE Flags1;
4e2933c620 2015-04-21        kinaba: 			BYTE Flags2;
4e2933c620 2015-04-21        kinaba: 			BYTE BaseHi;
4e2933c620 2015-04-21        kinaba: 		}
4e2933c620 2015-04-21        kinaba: 	struct Bits {
4e2933c620 2015-04-21        kinaba: 		DWORD BaseMid:8;
4e2933c620 2015-04-21        kinaba: 		DWORD Type:5;
4e2933c620 2015-04-21        kinaba: 		DWORD Dpl:2;
4e2933c620 2015-04-21        kinaba: 		DWORD Pres:1;
4e2933c620 2015-04-21        kinaba: 		DWORD LimitHi:4;
4e2933c620 2015-04-21        kinaba: 		DWORD Sys:1;
4e2933c620 2015-04-21        kinaba: 		DWORD Reserved_0:1;
4e2933c620 2015-04-21        kinaba: 		DWORD Default_Big:1;
4e2933c620 2015-04-21        kinaba: 		DWORD Granularity:1;
4e2933c620 2015-04-21        kinaba: 		DWORD BaseHi:8;
4e2933c620 2015-04-21        kinaba: 	}
4e2933c620 2015-04-21        kinaba: 	}
4e2933c620 2015-04-21        kinaba: +/
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias LDT_ENTRY* PLDT_ENTRY, LPLDT_ENTRY;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: /*	As with the other memory management functions and structures, MSDN's
4e2933c620 2015-04-21        kinaba:  *	Windows version info shall be taken with a cup of salt.
4e2933c620 2015-04-21        kinaba:  */
4e2933c620 2015-04-21        kinaba: struct PROCESS_HEAP_ENTRY {
4e2933c620 2015-04-21        kinaba: 	PVOID lpData;
4e2933c620 2015-04-21        kinaba: 	DWORD cbData;
4e2933c620 2015-04-21        kinaba: 	BYTE  cbOverhead;
4e2933c620 2015-04-21        kinaba: 	BYTE  iRegionIndex;
4e2933c620 2015-04-21        kinaba: 	WORD  wFlags;
4e2933c620 2015-04-21        kinaba: 	union {
4e2933c620 2015-04-21        kinaba: 		struct Block {
4e2933c620 2015-04-21        kinaba: 			HANDLE   hMem;
4e2933c620 2015-04-21        kinaba: 			DWORD[3] dwReserved;
4e2933c620 2015-04-21        kinaba: 		}
4e2933c620 2015-04-21        kinaba: 		struct Region {
4e2933c620 2015-04-21        kinaba: 			DWORD    dwCommittedSize;
4e2933c620 2015-04-21        kinaba: 			DWORD    dwUnCommittedSize;
4e2933c620 2015-04-21        kinaba: 			LPVOID   lpFirstBlock;
4e2933c620 2015-04-21        kinaba: 			LPVOID   lpLastBlock;
4e2933c620 2015-04-21        kinaba: 		}
4e2933c620 2015-04-21        kinaba: 	}
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias PROCESS_HEAP_ENTRY* LPPROCESS_HEAP_ENTRY;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct OFSTRUCT {
4e2933c620 2015-04-21        kinaba: 	BYTE      cBytes = OFSTRUCT.sizeof;
4e2933c620 2015-04-21        kinaba: 	BYTE      fFixedDisk;
4e2933c620 2015-04-21        kinaba: 	WORD      nErrCode;
4e2933c620 2015-04-21        kinaba: 	WORD      Reserved1;
4e2933c620 2015-04-21        kinaba: 	WORD      Reserved2;
4e2933c620 2015-04-21        kinaba: 	CHAR[128] szPathName; // const OFS_MAXPATHNAME = 128;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias OFSTRUCT* LPOFSTRUCT, POFSTRUCT;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: /*	??? MSDN documents this only for Windows CE, but it's used by
4e2933c620 2015-04-21        kinaba:  *	ImageGetCertificateData, which is in desktop Windows.
4e2933c620 2015-04-21        kinaba:  */
4e2933c620 2015-04-21        kinaba: struct WIN_CERTIFICATE {
4e2933c620 2015-04-21        kinaba: 	DWORD dwLength;
4e2933c620 2015-04-21        kinaba: 	WORD  wRevision;
4e2933c620 2015-04-21        kinaba: 	WORD  wCertificateType;
4e2933c620 2015-04-21        kinaba: 	BYTE  _bCertificate;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: 	BYTE* bCertificate() { return &_bCertificate; }
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias WIN_CERTIFICATE* LPWIN_CERTIFICATE;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: static if (_WIN32_WINNT >= 0x500) {
4e2933c620 2015-04-21        kinaba: 	enum COMPUTER_NAME_FORMAT {
4e2933c620 2015-04-21        kinaba: 		ComputerNameNetBIOS,
4e2933c620 2015-04-21        kinaba: 		ComputerNameDnsHostname,
4e2933c620 2015-04-21        kinaba: 		ComputerNameDnsDomain,
4e2933c620 2015-04-21        kinaba: 		ComputerNameDnsFullyQualified,
4e2933c620 2015-04-21        kinaba: 		ComputerNamePhysicalNetBIOS,
4e2933c620 2015-04-21        kinaba: 		ComputerNamePhysicalDnsHostname,
4e2933c620 2015-04-21        kinaba: 		ComputerNamePhysicalDnsDomain,
4e2933c620 2015-04-21        kinaba: 		ComputerNamePhysicalDnsFullyQualified,
4e2933c620 2015-04-21        kinaba: 		ComputerNameMax
4e2933c620 2015-04-21        kinaba: 	}
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: static if (_WIN32_WINNT >= 0x501) {
4e2933c620 2015-04-21        kinaba: 	struct ACTCTXA {
4e2933c620 2015-04-21        kinaba: 		ULONG cbSize = this.sizeof;
4e2933c620 2015-04-21        kinaba: 		DWORD dwFlags;
4e2933c620 2015-04-21        kinaba: 		LPCSTR lpSource;
4e2933c620 2015-04-21        kinaba: 		USHORT wProcessorArchitecture;
4e2933c620 2015-04-21        kinaba: 		LANGID wLangId;
4e2933c620 2015-04-21        kinaba: 		LPCSTR lpAssemblyDirectory;
4e2933c620 2015-04-21        kinaba: 		LPCSTR lpResourceName;
4e2933c620 2015-04-21        kinaba: 		LPCSTR lpApplicationName;
4e2933c620 2015-04-21        kinaba: 		HMODULE hModule;
4e2933c620 2015-04-21        kinaba: 	}
9b639cf2d6 2015-05-05        kinaba: 	alias ACTCTXA*        PACTCTXA;
9b639cf2d6 2015-05-05        kinaba: 	alias const(ACTCTXA)* PCACTCTXA;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: 	struct ACTCTXW {
4e2933c620 2015-04-21        kinaba: 		ULONG cbSize = this.sizeof;
4e2933c620 2015-04-21        kinaba: 		DWORD dwFlags;
4e2933c620 2015-04-21        kinaba: 		LPCWSTR lpSource;
4e2933c620 2015-04-21        kinaba: 		USHORT wProcessorArchitecture;
4e2933c620 2015-04-21        kinaba: 		LANGID wLangId;
4e2933c620 2015-04-21        kinaba: 		LPCWSTR lpAssemblyDirectory;
4e2933c620 2015-04-21        kinaba: 		LPCWSTR lpResourceName;
4e2933c620 2015-04-21        kinaba: 		LPCWSTR lpApplicationName;
4e2933c620 2015-04-21        kinaba: 		HMODULE hModule;
4e2933c620 2015-04-21        kinaba: 	}
9b639cf2d6 2015-05-05        kinaba: 	alias ACTCTXW*        PACTCTXW;
9b639cf2d6 2015-05-05        kinaba: 	alias const(ACTCTXW)* PCACTCTXW;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: 	struct ACTCTX_SECTION_KEYED_DATA {
4e2933c620 2015-04-21        kinaba: 		ULONG cbSize = this.sizeof;
4e2933c620 2015-04-21        kinaba: 		ULONG ulDataFormatVersion;
4e2933c620 2015-04-21        kinaba: 		PVOID lpData;
4e2933c620 2015-04-21        kinaba: 		ULONG ulLength;
4e2933c620 2015-04-21        kinaba: 		PVOID lpSectionGlobalData;
4e2933c620 2015-04-21        kinaba: 		ULONG ulSectionGlobalDataLength;
4e2933c620 2015-04-21        kinaba: 		PVOID lpSectionBase;
4e2933c620 2015-04-21        kinaba: 		ULONG ulSectionTotalLength;
4e2933c620 2015-04-21        kinaba: 		HANDLE hActCtx;
4e2933c620 2015-04-21        kinaba: 		HANDLE ulAssemblyRosterIndex;
4e2933c620 2015-04-21        kinaba: 	}
9b639cf2d6 2015-05-05        kinaba: 	alias ACTCTX_SECTION_KEYED_DATA*        PACTCTX_SECTION_KEYED_DATA;
9b639cf2d6 2015-05-05        kinaba: 	alias const(ACTCTX_SECTION_KEYED_DATA)* PCACTCTX_SECTION_KEYED_DATA;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: 	enum MEMORY_RESOURCE_NOTIFICATION_TYPE {
4e2933c620 2015-04-21        kinaba: 		LowMemoryResourceNotification,
4e2933c620 2015-04-21        kinaba: 		HighMemoryResourceNotification
4e2933c620 2015-04-21        kinaba: 	}
4e2933c620 2015-04-21        kinaba: 
9b639cf2d6 2015-05-05        kinaba: } // (_WIN32_WINNT >= 0x501)
4e2933c620 2015-04-21        kinaba: 
9b639cf2d6 2015-05-05        kinaba: static if (_WIN32_WINNT >= 0x410) {
4e2933c620 2015-04-21        kinaba: 	/*	apparently used only by SetThreadExecutionState (Win2000+)
4e2933c620 2015-04-21        kinaba: 	 *	and DDK functions (version compatibility not established)
4e2933c620 2015-04-21        kinaba: 	 */
4e2933c620 2015-04-21        kinaba: 	alias DWORD EXECUTION_STATE;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: // Callbacks
4e2933c620 2015-04-21        kinaba: extern (Windows) {
4e2933c620 2015-04-21        kinaba: 	alias DWORD function(LPVOID) LPTHREAD_START_ROUTINE;
4e2933c620 2015-04-21        kinaba: 	alias DWORD function(LARGE_INTEGER, LARGE_INTEGER, LARGE_INTEGER, LARGE_INTEGER,
4e2933c620 2015-04-21        kinaba: 		DWORD, DWORD, HANDLE, HANDLE, LPVOID)  LPPROGRESS_ROUTINE;
4e2933c620 2015-04-21        kinaba: 	alias void function(PVOID) LPFIBER_START_ROUTINE;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: 	alias BOOL function(HMODULE, LPCSTR, LPCSTR, WORD, LONG) ENUMRESLANGPROCA;
4e2933c620 2015-04-21        kinaba: 	alias BOOL function(HMODULE, LPCWSTR, LPCWSTR, WORD, LONG) ENUMRESLANGPROCW;
4e2933c620 2015-04-21        kinaba: 	alias BOOL function(HMODULE, LPCSTR, LPSTR, LONG) ENUMRESNAMEPROCA;
4e2933c620 2015-04-21        kinaba: 	alias BOOL function(HMODULE, LPCWSTR, LPWSTR, LONG) ENUMRESNAMEPROCW;
4e2933c620 2015-04-21        kinaba: 	alias BOOL function(HMODULE, LPSTR, LONG) ENUMRESTYPEPROCA;
4e2933c620 2015-04-21        kinaba: 	alias BOOL function(HMODULE, LPWSTR, LONG) ENUMRESTYPEPROCW;
4e2933c620 2015-04-21        kinaba: 	alias void function(DWORD, DWORD, LPOVERLAPPED) LPOVERLAPPED_COMPLETION_ROUTINE;
4e2933c620 2015-04-21        kinaba: 	alias LONG function(LPEXCEPTION_POINTERS) PTOP_LEVEL_EXCEPTION_FILTER;
4e2933c620 2015-04-21        kinaba: 	alias PTOP_LEVEL_EXCEPTION_FILTER LPTOP_LEVEL_EXCEPTION_FILTER;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: 	alias void function(ULONG_PTR) PAPCFUNC;
4e2933c620 2015-04-21        kinaba: 	alias void function(PVOID, DWORD, DWORD) PTIMERAPCROUTINE;
4e2933c620 2015-04-21        kinaba: 
9b639cf2d6 2015-05-05        kinaba: 	static if (_WIN32_WINNT >= 0x500) {
4e2933c620 2015-04-21        kinaba: 		alias void function(PVOID, BOOLEAN) WAITORTIMERCALLBACK;
4e2933c620 2015-04-21        kinaba: 	}
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
9b639cf2d6 2015-05-05        kinaba: LPTSTR MAKEINTATOM()(ushort i) {
9b639cf2d6 2015-05-05        kinaba: 	return cast(LPTSTR) cast(size_t) i;
c2b7a98c21 2011-02-23        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: extern (Windows) {
4e2933c620 2015-04-21        kinaba: 	ATOM AddAtomA(LPCSTR);
4e2933c620 2015-04-21        kinaba: 	ATOM AddAtomW(LPCWSTR);
4e2933c620 2015-04-21        kinaba: 	BOOL AreFileApisANSI();
4e2933c620 2015-04-21        kinaba: 	BOOL Beep(DWORD, DWORD);
4e2933c620 2015-04-21        kinaba: 	HANDLE BeginUpdateResourceA(LPCSTR, BOOL);
4e2933c620 2015-04-21        kinaba: 	HANDLE BeginUpdateResourceW(LPCWSTR, BOOL);
4e2933c620 2015-04-21        kinaba: 	BOOL BuildCommDCBA(LPCSTR, LPDCB);
4e2933c620 2015-04-21        kinaba: 	BOOL BuildCommDCBW(LPCWSTR, LPDCB);
4e2933c620 2015-04-21        kinaba: 	BOOL BuildCommDCBAndTimeoutsA(LPCSTR, LPDCB, LPCOMMTIMEOUTS);
4e2933c620 2015-04-21        kinaba: 	BOOL BuildCommDCBAndTimeoutsW(LPCWSTR, LPDCB, LPCOMMTIMEOUTS);
4e2933c620 2015-04-21        kinaba: 	BOOL CallNamedPipeA(LPCSTR, PVOID, DWORD, PVOID, DWORD, PDWORD, DWORD);
4e2933c620 2015-04-21        kinaba: 	BOOL CallNamedPipeW(LPCWSTR, PVOID, DWORD, PVOID, DWORD, PDWORD, DWORD);
4e2933c620 2015-04-21        kinaba: 	BOOL CancelDeviceWakeupRequest(HANDLE);
4e2933c620 2015-04-21        kinaba: 	BOOL CheckTokenMembership(HANDLE, PSID, PBOOL);
4e2933c620 2015-04-21        kinaba: 	BOOL ClearCommBreak(HANDLE);
4e2933c620 2015-04-21        kinaba: 	BOOL ClearCommError(HANDLE, PDWORD, LPCOMSTAT);
4e2933c620 2015-04-21        kinaba: 	BOOL CloseHandle(HANDLE);
4e2933c620 2015-04-21        kinaba: 	BOOL CommConfigDialogA(LPCSTR, HWND, LPCOMMCONFIG);
4e2933c620 2015-04-21        kinaba: 	BOOL CommConfigDialogW(LPCWSTR, HWND, LPCOMMCONFIG);
9b639cf2d6 2015-05-05        kinaba: 	LONG CompareFileTime(const(FILETIME)*, const(FILETIME)*);
4e2933c620 2015-04-21        kinaba: 	BOOL ContinueDebugEvent(DWORD, DWORD, DWORD);
4e2933c620 2015-04-21        kinaba: 	BOOL CopyFileA(LPCSTR, LPCSTR, BOOL);
4e2933c620 2015-04-21        kinaba: 	BOOL CopyFileW(LPCWSTR, LPCWSTR, BOOL);
4e2933c620 2015-04-21        kinaba: 	BOOL CopyFileExA(LPCSTR, LPCSTR, LPPROGRESS_ROUTINE, LPVOID, LPBOOL, DWORD);
4e2933c620 2015-04-21        kinaba: 	BOOL CopyFileExW(LPCWSTR, LPCWSTR, LPPROGRESS_ROUTINE, LPVOID, LPBOOL, DWORD);
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: 	/+ FIXME
4e2933c620 2015-04-21        kinaba: 	alias memmove RtlMoveMemory;
4e2933c620 2015-04-21        kinaba: 	alias memcpy RtlCopyMemory;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: 	void RtlFillMemory(PVOID dest, SIZE_T len, BYTE fill) {
4e2933c620 2015-04-21        kinaba: 		memset(dest, fill, len);
4e2933c620 2015-04-21        kinaba: 	}
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: 	void RtlZeroMemory(PVOID dest, SIZE_T len) {
9b639cf2d6 2015-05-05        kinaba: 		RtlFillMemory(dest, len, 0);
4e2933c620 2015-04-21        kinaba: 	}
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: 	alias RtlMoveMemory MoveMemory;
4e2933c620 2015-04-21        kinaba: 	alias RtlCopyMemory CopyMemory;
4e2933c620 2015-04-21        kinaba: 	alias RtlFillMemory FillMemory;
4e2933c620 2015-04-21        kinaba: 	alias RtlZeroMemory ZeroMemory;
4e2933c620 2015-04-21        kinaba: 	+/
4e2933c620 2015-04-21        kinaba: 	BOOL CreateDirectoryA(LPCSTR, LPSECURITY_ATTRIBUTES);
4e2933c620 2015-04-21        kinaba: 	BOOL CreateDirectoryW(LPCWSTR, LPSECURITY_ATTRIBUTES);
4e2933c620 2015-04-21        kinaba: 	BOOL CreateDirectoryExA(LPCSTR, LPCSTR, LPSECURITY_ATTRIBUTES);
4e2933c620 2015-04-21        kinaba: 	BOOL CreateDirectoryExW(LPCWSTR, LPCWSTR, LPSECURITY_ATTRIBUTES);
4e2933c620 2015-04-21        kinaba: 	HANDLE CreateEventA(LPSECURITY_ATTRIBUTES, BOOL, BOOL, LPCSTR);
4e2933c620 2015-04-21        kinaba: 	HANDLE CreateEventW(LPSECURITY_ATTRIBUTES, BOOL, BOOL, LPCWSTR);
4e2933c620 2015-04-21        kinaba: 	HANDLE CreateFileA(LPCSTR, DWORD, DWORD, LPSECURITY_ATTRIBUTES, DWORD, DWORD, HANDLE);
4e2933c620 2015-04-21        kinaba: 	HANDLE CreateFileW(LPCWSTR, DWORD, DWORD, LPSECURITY_ATTRIBUTES, DWORD, DWORD, HANDLE);
4e2933c620 2015-04-21        kinaba: 	HANDLE CreateIoCompletionPort(HANDLE, HANDLE, ULONG_PTR, DWORD);
4e2933c620 2015-04-21        kinaba: 	HANDLE CreateMailslotA(LPCSTR, DWORD, DWORD, LPSECURITY_ATTRIBUTES);
4e2933c620 2015-04-21        kinaba: 	HANDLE CreateMailslotW(LPCWSTR, DWORD, DWORD, LPSECURITY_ATTRIBUTES);
4e2933c620 2015-04-21        kinaba: 	HANDLE CreateMutexA(LPSECURITY_ATTRIBUTES, BOOL, LPCSTR);
4e2933c620 2015-04-21        kinaba: 	HANDLE CreateMutexW(LPSECURITY_ATTRIBUTES, BOOL, LPCWSTR);
4e2933c620 2015-04-21        kinaba: 	BOOL CreatePipe(PHANDLE, PHANDLE, LPSECURITY_ATTRIBUTES, DWORD);
4e2933c620 2015-04-21        kinaba: 	BOOL CreateProcessA(LPCSTR, LPSTR, LPSECURITY_ATTRIBUTES, LPSECURITY_ATTRIBUTES, BOOL, DWORD, PVOID, LPCSTR, LPSTARTUPINFOA, LPPROCESS_INFORMATION);
4e2933c620 2015-04-21        kinaba: 	BOOL CreateProcessW(LPCWSTR, LPWSTR, LPSECURITY_ATTRIBUTES, LPSECURITY_ATTRIBUTES, BOOL, DWORD, PVOID, LPCWSTR, LPSTARTUPINFOW, LPPROCESS_INFORMATION);
4e2933c620 2015-04-21        kinaba: 	HANDLE CreateSemaphoreA(LPSECURITY_ATTRIBUTES, LONG, LONG, LPCSTR);
4e2933c620 2015-04-21        kinaba: 	HANDLE CreateSemaphoreW(LPSECURITY_ATTRIBUTES, LONG, LONG, LPCWSTR);
4e2933c620 2015-04-21        kinaba: 	HANDLE CreateThread(LPSECURITY_ATTRIBUTES, DWORD, LPTHREAD_START_ROUTINE, PVOID, DWORD, PDWORD);
4e2933c620 2015-04-21        kinaba: 	BOOL DebugActiveProcess(DWORD);
4e2933c620 2015-04-21        kinaba: 	void DebugBreak();
4e2933c620 2015-04-21        kinaba: 	ATOM DeleteAtom(ATOM);
4e2933c620 2015-04-21        kinaba: 	void DeleteCriticalSection(PCRITICAL_SECTION);
4e2933c620 2015-04-21        kinaba: 	BOOL DeleteFileA(LPCSTR);
4e2933c620 2015-04-21        kinaba: 	BOOL DeleteFileW(LPCWSTR);
4e2933c620 2015-04-21        kinaba: 	BOOL DisableThreadLibraryCalls(HMODULE);
4e2933c620 2015-04-21        kinaba: 	BOOL DosDateTimeToFileTime(WORD, WORD, LPFILETIME);
4e2933c620 2015-04-21        kinaba: 	BOOL DuplicateHandle(HANDLE, HANDLE, HANDLE, PHANDLE, DWORD, BOOL, DWORD);
4e2933c620 2015-04-21        kinaba: 	BOOL EndUpdateResourceA(HANDLE, BOOL);
4e2933c620 2015-04-21        kinaba: 	BOOL EndUpdateResourceW(HANDLE, BOOL);
4e2933c620 2015-04-21        kinaba: 	void EnterCriticalSection(LPCRITICAL_SECTION);
4e2933c620 2015-04-21        kinaba: 	BOOL EnumResourceLanguagesA(HMODULE, LPCSTR, LPCSTR, ENUMRESLANGPROC, LONG_PTR);
4e2933c620 2015-04-21        kinaba: 	BOOL EnumResourceLanguagesW(HMODULE, LPCWSTR, LPCWSTR, ENUMRESLANGPROC, LONG_PTR);
4e2933c620 2015-04-21        kinaba: 	BOOL EnumResourceNamesA(HMODULE, LPCSTR, ENUMRESNAMEPROC, LONG_PTR);
4e2933c620 2015-04-21        kinaba: 	BOOL EnumResourceNamesW(HMODULE, LPCWSTR, ENUMRESNAMEPROC, LONG_PTR);
4e2933c620 2015-04-21        kinaba: 	BOOL EnumResourceTypesA(HMODULE, ENUMRESTYPEPROC, LONG_PTR);
4e2933c620 2015-04-21        kinaba: 	BOOL EnumResourceTypesW(HMODULE, ENUMRESTYPEPROC, LONG_PTR);
4e2933c620 2015-04-21        kinaba: 	BOOL EscapeCommFunction(HANDLE, DWORD);
4e2933c620 2015-04-21        kinaba: 	void ExitProcess(UINT); // Never returns
4e2933c620 2015-04-21        kinaba: 	void ExitThread(DWORD); // Never returns
4e2933c620 2015-04-21        kinaba: 	DWORD ExpandEnvironmentStringsA(LPCSTR, LPSTR, DWORD);
4e2933c620 2015-04-21        kinaba: 	DWORD ExpandEnvironmentStringsW(LPCWSTR, LPWSTR, DWORD);
4e2933c620 2015-04-21        kinaba: 	void FatalAppExitA(UINT, LPCSTR);
4e2933c620 2015-04-21        kinaba: 	void FatalAppExitW(UINT, LPCWSTR);
4e2933c620 2015-04-21        kinaba: 	void FatalExit(int);
9b639cf2d6 2015-05-05        kinaba: 	BOOL FileTimeToDosDateTime(const(FILETIME)*, LPWORD, LPWORD);
9b639cf2d6 2015-05-05        kinaba: 	BOOL FileTimeToLocalFileTime(const(FILETIME)*, LPFILETIME);
9b639cf2d6 2015-05-05        kinaba: 	BOOL FileTimeToSystemTime(const(FILETIME)*, LPSYSTEMTIME);
4e2933c620 2015-04-21        kinaba: 	ATOM FindAtomA(LPCSTR);
4e2933c620 2015-04-21        kinaba: 	ATOM FindAtomW(LPCWSTR);
4e2933c620 2015-04-21        kinaba: 	BOOL FindClose(HANDLE);
4e2933c620 2015-04-21        kinaba: 	BOOL FindCloseChangeNotification(HANDLE);
4e2933c620 2015-04-21        kinaba: 	HANDLE FindFirstChangeNotificationA(LPCSTR, BOOL, DWORD);
4e2933c620 2015-04-21        kinaba: 	HANDLE FindFirstChangeNotificationW(LPCWSTR, BOOL, DWORD);
4e2933c620 2015-04-21        kinaba: 	HANDLE FindFirstFileA(LPCSTR, LPWIN32_FIND_DATAA);
4e2933c620 2015-04-21        kinaba: 	HANDLE FindFirstFileW(LPCWSTR, LPWIN32_FIND_DATAW);
4e2933c620 2015-04-21        kinaba: 	BOOL FindNextChangeNotification(HANDLE);
4e2933c620 2015-04-21        kinaba: 	BOOL FindNextFileA(HANDLE, LPWIN32_FIND_DATAA);
4e2933c620 2015-04-21        kinaba: 	BOOL FindNextFileW(HANDLE, LPWIN32_FIND_DATAW);
4e2933c620 2015-04-21        kinaba: 	HRSRC FindResourceA(HMODULE, LPCSTR, LPCSTR);
4e2933c620 2015-04-21        kinaba: 	HRSRC FindResourceW(HINSTANCE, LPCWSTR, LPCWSTR);
4e2933c620 2015-04-21        kinaba: 	HRSRC FindResourceExA(HINSTANCE, LPCSTR, LPCSTR, WORD);
4e2933c620 2015-04-21        kinaba: 	HRSRC FindResourceExW(HINSTANCE, LPCWSTR, LPCWSTR, WORD);
4e2933c620 2015-04-21        kinaba: 	BOOL FlushFileBuffers(HANDLE);
4e2933c620 2015-04-21        kinaba: 	BOOL FlushInstructionCache(HANDLE, PCVOID, DWORD);
4e2933c620 2015-04-21        kinaba: 	DWORD FormatMessageA(DWORD, PCVOID, DWORD, DWORD, LPSTR, DWORD, va_list*);
4e2933c620 2015-04-21        kinaba: 	DWORD FormatMessageW(DWORD, PCVOID, DWORD, DWORD, LPWSTR, DWORD, va_list*);
4e2933c620 2015-04-21        kinaba: 	BOOL FreeEnvironmentStringsA(LPSTR);
4e2933c620 2015-04-21        kinaba: 	BOOL FreeEnvironmentStringsW(LPWSTR);
4e2933c620 2015-04-21        kinaba: 	BOOL FreeLibrary(HMODULE);
4e2933c620 2015-04-21        kinaba: 	void FreeLibraryAndExitThread(HMODULE, DWORD); // never returns
4e2933c620 2015-04-21        kinaba: 	BOOL FreeResource(HGLOBAL);
4e2933c620 2015-04-21        kinaba: 	UINT GetAtomNameA(ATOM, LPSTR, int);
4e2933c620 2015-04-21        kinaba: 	UINT GetAtomNameW(ATOM, LPWSTR, int);
4e2933c620 2015-04-21        kinaba: 	LPSTR GetCommandLineA();
4e2933c620 2015-04-21        kinaba: 	LPWSTR GetCommandLineW();
4e2933c620 2015-04-21        kinaba: 	BOOL GetCommConfig(HANDLE, LPCOMMCONFIG, PDWORD);
4e2933c620 2015-04-21        kinaba: 	BOOL GetCommMask(HANDLE, PDWORD);
4e2933c620 2015-04-21        kinaba: 	BOOL GetCommModemStatus(HANDLE, PDWORD);
4e2933c620 2015-04-21        kinaba: 	BOOL GetCommProperties(HANDLE, LPCOMMPROP);
4e2933c620 2015-04-21        kinaba: 	BOOL GetCommState(HANDLE, LPDCB);
4e2933c620 2015-04-21        kinaba: 	BOOL GetCommTimeouts(HANDLE, LPCOMMTIMEOUTS);
4e2933c620 2015-04-21        kinaba: 	BOOL GetComputerNameA(LPSTR, PDWORD);
4e2933c620 2015-04-21        kinaba: 	BOOL GetComputerNameW(LPWSTR, PDWORD);
4e2933c620 2015-04-21        kinaba: 	DWORD GetCurrentDirectoryA(DWORD, LPSTR);
4e2933c620 2015-04-21        kinaba: 	DWORD GetCurrentDirectoryW(DWORD, LPWSTR);
4e2933c620 2015-04-21        kinaba: 	HANDLE GetCurrentProcess();
4e2933c620 2015-04-21        kinaba: 	DWORD GetCurrentProcessId();
4e2933c620 2015-04-21        kinaba: 	HANDLE GetCurrentThread();
4e2933c620 2015-04-21        kinaba: /* In MinGW:
4e2933c620 2015-04-21        kinaba: #ifdef _WIN32_WCE
4e2933c620 2015-04-21        kinaba: extern DWORD GetCurrentThreadId(void);
4e2933c620 2015-04-21        kinaba: #else
4e2933c620 2015-04-21        kinaba: WINBASEAPI DWORD WINAPI GetCurrentThreadId(void);
4e2933c620 2015-04-21        kinaba: #endif
4e2933c620 2015-04-21        kinaba: */
4e2933c620 2015-04-21        kinaba: 	DWORD GetCurrentThreadId();
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: 	alias GetTickCount GetCurrentTime;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: 	BOOL GetDefaultCommConfigA(LPCSTR, LPCOMMCONFIG, PDWORD);
4e2933c620 2015-04-21        kinaba: 	BOOL GetDefaultCommConfigW(LPCWSTR, LPCOMMCONFIG, PDWORD);
4e2933c620 2015-04-21        kinaba: 	BOOL GetDiskFreeSpaceA(LPCSTR, PDWORD, PDWORD, PDWORD, PDWORD);
4e2933c620 2015-04-21        kinaba: 	BOOL GetDiskFreeSpaceW(LPCWSTR, PDWORD, PDWORD, PDWORD, PDWORD);
4e2933c620 2015-04-21        kinaba: 	BOOL GetDiskFreeSpaceExA(LPCSTR, PULARGE_INTEGER, PULARGE_INTEGER, PULARGE_INTEGER);
4e2933c620 2015-04-21        kinaba: 	BOOL GetDiskFreeSpaceExW(LPCWSTR, PULARGE_INTEGER, PULARGE_INTEGER, PULARGE_INTEGER);
4e2933c620 2015-04-21        kinaba: 	UINT GetDriveTypeA(LPCSTR);
4e2933c620 2015-04-21        kinaba: 	UINT GetDriveTypeW(LPCWSTR);
4e2933c620 2015-04-21        kinaba: 	LPSTR GetEnvironmentStrings(); // ???
4e2933c620 2015-04-21        kinaba: 	LPSTR GetEnvironmentStringsA();
4e2933c620 2015-04-21        kinaba: 	LPWSTR GetEnvironmentStringsW();
4e2933c620 2015-04-21        kinaba: 	DWORD GetEnvironmentVariableA(LPCSTR, LPSTR, DWORD);
4e2933c620 2015-04-21        kinaba: 	DWORD GetEnvironmentVariableW(LPCWSTR, LPWSTR, DWORD);
4e2933c620 2015-04-21        kinaba: 	BOOL GetExitCodeProcess(HANDLE, PDWORD);
4e2933c620 2015-04-21        kinaba: 	BOOL GetExitCodeThread(HANDLE, PDWORD);
4e2933c620 2015-04-21        kinaba: 	DWORD GetFileAttributesA(LPCSTR);
4e2933c620 2015-04-21        kinaba: 	DWORD GetFileAttributesW(LPCWSTR);
4e2933c620 2015-04-21        kinaba: 	BOOL GetFileInformationByHandle(HANDLE, LPBY_HANDLE_FILE_INFORMATION);
4e2933c620 2015-04-21        kinaba: 	DWORD GetFileSize(HANDLE, PDWORD);
4e2933c620 2015-04-21        kinaba: 	BOOL GetFileTime(HANDLE, LPFILETIME, LPFILETIME, LPFILETIME);
4e2933c620 2015-04-21        kinaba: 	DWORD GetFileType(HANDLE);
4e2933c620 2015-04-21        kinaba: 	DWORD GetFullPathNameA(LPCSTR, DWORD, LPSTR, LPSTR*);
4e2933c620 2015-04-21        kinaba: 	DWORD GetFullPathNameW(LPCWSTR, DWORD, LPWSTR, LPWSTR*);
4e2933c620 2015-04-21        kinaba: 	DWORD GetLastError();
4e2933c620 2015-04-21        kinaba: 	void GetLocalTime(LPSYSTEMTIME);
4e2933c620 2015-04-21        kinaba: 	DWORD GetLogicalDrives();
4e2933c620 2015-04-21        kinaba: 	DWORD GetLogicalDriveStringsA(DWORD, LPSTR);
4e2933c620 2015-04-21        kinaba: 	DWORD GetLogicalDriveStringsW(DWORD, LPWSTR);
4e2933c620 2015-04-21        kinaba: 	BOOL GetMailslotInfo(HANDLE, PDWORD, PDWORD, PDWORD, PDWORD);
4e2933c620 2015-04-21        kinaba: 	DWORD GetModuleFileNameA(HINSTANCE, LPSTR, DWORD);
4e2933c620 2015-04-21        kinaba: 	DWORD GetModuleFileNameW(HINSTANCE, LPWSTR, DWORD);
4e2933c620 2015-04-21        kinaba: 	HMODULE GetModuleHandleA(LPCSTR);
4e2933c620 2015-04-21        kinaba: 	HMODULE GetModuleHandleW(LPCWSTR);
4e2933c620 2015-04-21        kinaba: 	BOOL GetNamedPipeHandleStateA(HANDLE, PDWORD, PDWORD, PDWORD, PDWORD, LPSTR, DWORD);
4e2933c620 2015-04-21        kinaba: 	BOOL GetNamedPipeHandleStateW(HANDLE, PDWORD, PDWORD, PDWORD, PDWORD, LPWSTR, DWORD);
4e2933c620 2015-04-21        kinaba: 	BOOL GetNamedPipeInfo(HANDLE, PDWORD, PDWORD, PDWORD, PDWORD);
4e2933c620 2015-04-21        kinaba: 	BOOL GetOverlappedResult(HANDLE, LPOVERLAPPED, PDWORD, BOOL);
4e2933c620 2015-04-21        kinaba: 	DWORD GetPriorityClass(HANDLE);
4e2933c620 2015-04-21        kinaba: 	UINT GetPrivateProfileIntA(LPCSTR, LPCSTR, INT, LPCSTR);
4e2933c620 2015-04-21        kinaba: 	UINT GetPrivateProfileIntW(LPCWSTR, LPCWSTR, INT, LPCWSTR);
4e2933c620 2015-04-21        kinaba: 	DWORD GetPrivateProfileSectionA(LPCSTR, LPSTR, DWORD, LPCSTR);
4e2933c620 2015-04-21        kinaba: 	DWORD GetPrivateProfileSectionW(LPCWSTR, LPWSTR, DWORD, LPCWSTR);
4e2933c620 2015-04-21        kinaba: 	DWORD GetPrivateProfileSectionNamesA(LPSTR, DWORD, LPCSTR);
4e2933c620 2015-04-21        kinaba: 	DWORD GetPrivateProfileSectionNamesW(LPWSTR, DWORD, LPCWSTR);
4e2933c620 2015-04-21        kinaba: 	DWORD GetPrivateProfileStringA(LPCSTR, LPCSTR, LPCSTR, LPSTR, DWORD, LPCSTR);
4e2933c620 2015-04-21        kinaba: 	DWORD GetPrivateProfileStringW(LPCWSTR, LPCWSTR, LPCWSTR, LPWSTR, DWORD, LPCWSTR);
4e2933c620 2015-04-21        kinaba: 	BOOL GetPrivateProfileStructA(LPCSTR, LPCSTR, LPVOID, UINT, LPCSTR);
4e2933c620 2015-04-21        kinaba: 	BOOL GetPrivateProfileStructW(LPCWSTR, LPCWSTR, LPVOID, UINT, LPCWSTR);
4e2933c620 2015-04-21        kinaba: 	FARPROC GetProcAddress(HINSTANCE, LPCSTR);
4e2933c620 2015-04-21        kinaba: 	BOOL GetProcessAffinityMask(HANDLE, PDWORD, PDWORD);
4e2933c620 2015-04-21        kinaba: 	DWORD GetProcessVersion(DWORD);
4e2933c620 2015-04-21        kinaba: 	UINT GetProfileIntA(LPCSTR, LPCSTR, INT);
4e2933c620 2015-04-21        kinaba: 	UINT GetProfileIntW(LPCWSTR, LPCWSTR, INT);
4e2933c620 2015-04-21        kinaba: 	DWORD GetProfileSectionA(LPCSTR, LPSTR, DWORD);
4e2933c620 2015-04-21        kinaba: 	DWORD GetProfileSectionW(LPCWSTR, LPWSTR, DWORD);
4e2933c620 2015-04-21        kinaba: 	DWORD GetProfileStringA(LPCSTR, LPCSTR, LPCSTR, LPSTR, DWORD);
4e2933c620 2015-04-21        kinaba: 	DWORD GetProfileStringW(LPCWSTR, LPCWSTR, LPCWSTR, LPWSTR, DWORD);
4e2933c620 2015-04-21        kinaba: 	DWORD GetShortPathNameA(LPCSTR, LPSTR, DWORD);
4e2933c620 2015-04-21        kinaba: 	DWORD GetShortPathNameW(LPCWSTR, LPWSTR, DWORD);
4e2933c620 2015-04-21        kinaba: 	VOID GetStartupInfoA(LPSTARTUPINFOA);
4e2933c620 2015-04-21        kinaba: 	VOID GetStartupInfoW(LPSTARTUPINFOW);
4e2933c620 2015-04-21        kinaba: 	HANDLE GetStdHandle(DWORD);
4e2933c620 2015-04-21        kinaba: 	UINT GetSystemDirectoryA(LPSTR, UINT);
4e2933c620 2015-04-21        kinaba: 	UINT GetSystemDirectoryW(LPWSTR, UINT);
4e2933c620 2015-04-21        kinaba: 	VOID GetSystemInfo(LPSYSTEM_INFO);
4e2933c620 2015-04-21        kinaba: 	VOID GetSystemTime(LPSYSTEMTIME);
4e2933c620 2015-04-21        kinaba: 	BOOL GetSystemTimeAdjustment(PDWORD, PDWORD, PBOOL);
4e2933c620 2015-04-21        kinaba: 	void GetSystemTimeAsFileTime(LPFILETIME);
4e2933c620 2015-04-21        kinaba: 	UINT GetTempFileNameA(LPCSTR, LPCSTR, UINT, LPSTR);
4e2933c620 2015-04-21        kinaba: 	UINT GetTempFileNameW(LPCWSTR, LPCWSTR, UINT, LPWSTR);
4e2933c620 2015-04-21        kinaba: 	DWORD GetTempPathA(DWORD, LPSTR);
4e2933c620 2015-04-21        kinaba: 	DWORD GetTempPathW(DWORD, LPWSTR);
4e2933c620 2015-04-21        kinaba: 	BOOL GetThreadContext(HANDLE, LPCONTEXT);
4e2933c620 2015-04-21        kinaba: 	int GetThreadPriority(HANDLE);
4e2933c620 2015-04-21        kinaba: 	BOOL GetThreadSelectorEntry(HANDLE, DWORD, LPLDT_ENTRY);
4e2933c620 2015-04-21        kinaba: 	DWORD GetTickCount();
4e2933c620 2015-04-21        kinaba: 	DWORD GetTimeZoneInformation(LPTIME_ZONE_INFORMATION);
4e2933c620 2015-04-21        kinaba: 	BOOL GetUserNameA (LPSTR, PDWORD);
4e2933c620 2015-04-21        kinaba: 	BOOL GetUserNameW(LPWSTR, PDWORD);
4e2933c620 2015-04-21        kinaba: 	DWORD GetVersion();
4e2933c620 2015-04-21        kinaba: 	BOOL GetVersionExA(LPOSVERSIONINFOA);
4e2933c620 2015-04-21        kinaba: 	BOOL GetVersionExW(LPOSVERSIONINFOW);
4e2933c620 2015-04-21        kinaba: 	BOOL GetVolumeInformationA(LPCSTR, LPSTR, DWORD, PDWORD, PDWORD, PDWORD, LPSTR, DWORD);
4e2933c620 2015-04-21        kinaba: 	BOOL GetVolumeInformationW(LPCWSTR, LPWSTR, DWORD, PDWORD, PDWORD, PDWORD, LPWSTR, DWORD);
4e2933c620 2015-04-21        kinaba: 	UINT GetWindowsDirectoryA(LPSTR, UINT);
4e2933c620 2015-04-21        kinaba: 	UINT GetWindowsDirectoryW(LPWSTR, UINT);
4e2933c620 2015-04-21        kinaba: 	DWORD GetWindowThreadProcessId(HWND, PDWORD);
4e2933c620 2015-04-21        kinaba: 	ATOM GlobalAddAtomA(LPCSTR);
4e2933c620 2015-04-21        kinaba: 	ATOM GlobalAddAtomW(LPCWSTR);
4e2933c620 2015-04-21        kinaba: 	ATOM GlobalDeleteAtom(ATOM);
4e2933c620 2015-04-21        kinaba: 	ATOM GlobalFindAtomA(LPCSTR);
4e2933c620 2015-04-21        kinaba: 	ATOM GlobalFindAtomW(LPCWSTR);
4e2933c620 2015-04-21        kinaba: 	UINT GlobalGetAtomNameA(ATOM, LPSTR, int);
4e2933c620 2015-04-21        kinaba: 	UINT GlobalGetAtomNameW(ATOM, LPWSTR, int);
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: 	bool HasOverlappedIoCompleted(LPOVERLAPPED lpOverlapped) {
4e2933c620 2015-04-21        kinaba: 		return lpOverlapped.Internal != STATUS_PENDING;
4e2933c620 2015-04-21        kinaba: 	}
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: 	BOOL InitAtomTable(DWORD);
4e2933c620 2015-04-21        kinaba: 	VOID InitializeCriticalSection(LPCRITICAL_SECTION);
4e2933c620 2015-04-21        kinaba: 	/*	??? The next two are allegedly obsolete and "supported only for
4e2933c620 2015-04-21        kinaba: 	 *	backward compatibility with the 16-bit Windows API".  Yet the
4e2933c620 2015-04-21        kinaba: 	 *	replacements IsBadReadPtr and IsBadWritePtr are apparently Win2000+
4e2933c620 2015-04-21        kinaba: 	 *	only.  Where's the mistake?
4e2933c620 2015-04-21        kinaba: 	 */
9b639cf2d6 2015-05-05        kinaba: 	BOOL IsBadHugeReadPtr(PCVOID, UINT_PTR);
9b639cf2d6 2015-05-05        kinaba: 	BOOL IsBadHugeWritePtr(PVOID, UINT_PTR);
9b639cf2d6 2015-05-05        kinaba: 	BOOL IsBadReadPtr(PCVOID, UINT_PTR);
9b639cf2d6 2015-05-05        kinaba: 	BOOL IsBadStringPtrA(LPCSTR, UINT_PTR);
9b639cf2d6 2015-05-05        kinaba: 	BOOL IsBadStringPtrW(LPCWSTR, UINT_PTR);
9b639cf2d6 2015-05-05        kinaba: 	BOOL IsBadWritePtr(PVOID, UINT_PTR);
4e2933c620 2015-04-21        kinaba: 	void LeaveCriticalSection(LPCRITICAL_SECTION);
4e2933c620 2015-04-21        kinaba: 	HINSTANCE LoadLibraryA(LPCSTR);
4e2933c620 2015-04-21        kinaba: 	HINSTANCE LoadLibraryW(LPCWSTR);
4e2933c620 2015-04-21        kinaba: 	HINSTANCE LoadLibraryExA(LPCSTR, HANDLE, DWORD);
4e2933c620 2015-04-21        kinaba: 	HINSTANCE LoadLibraryExW(LPCWSTR, HANDLE, DWORD);
4e2933c620 2015-04-21        kinaba: 	DWORD LoadModule(LPCSTR, PVOID);
4e2933c620 2015-04-21        kinaba: 	HGLOBAL LoadResource(HINSTANCE, HRSRC);
9b639cf2d6 2015-05-05        kinaba: 	BOOL LocalFileTimeToFileTime(const(FILETIME)*, LPFILETIME);
4e2933c620 2015-04-21        kinaba: 	BOOL LockFile(HANDLE, DWORD, DWORD, DWORD, DWORD);
4e2933c620 2015-04-21        kinaba: 	PVOID LockResource(HGLOBAL);
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: 	LPSTR lstrcatA(LPSTR, LPCSTR);
4e2933c620 2015-04-21        kinaba: 	LPWSTR lstrcatW(LPWSTR, LPCWSTR);
4e2933c620 2015-04-21        kinaba: 	int lstrcmpA(LPCSTR, LPCSTR);
4e2933c620 2015-04-21        kinaba: 	int lstrcmpiA(LPCSTR, LPCSTR);
4e2933c620 2015-04-21        kinaba: 	int lstrcmpiW(LPCWSTR, LPCWSTR);
4e2933c620 2015-04-21        kinaba: 	int lstrcmpW(LPCWSTR, LPCWSTR);
4e2933c620 2015-04-21        kinaba: 	LPSTR lstrcpyA(LPSTR, LPCSTR);
4e2933c620 2015-04-21        kinaba: 	LPSTR lstrcpynA(LPSTR, LPCSTR, int);
4e2933c620 2015-04-21        kinaba: 	LPWSTR lstrcpynW(LPWSTR, LPCWSTR, int);
4e2933c620 2015-04-21        kinaba: 	LPWSTR lstrcpyW(LPWSTR, LPCWSTR);
4e2933c620 2015-04-21        kinaba: 	int lstrlenA(LPCSTR);
4e2933c620 2015-04-21        kinaba: 	int lstrlenW(LPCWSTR);
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: 	BOOL MoveFileA(LPCSTR, LPCSTR);
4e2933c620 2015-04-21        kinaba: 	BOOL MoveFileW(LPCWSTR, LPCWSTR);
4e2933c620 2015-04-21        kinaba: 	int MulDiv(int, int, int);
4e2933c620 2015-04-21        kinaba: 	HANDLE OpenEventA(DWORD, BOOL, LPCSTR);
4e2933c620 2015-04-21        kinaba: 	HANDLE OpenEventW(DWORD, BOOL, LPCWSTR);
4e2933c620 2015-04-21        kinaba: 	deprecated HFILE OpenFile(LPCSTR, LPOFSTRUCT, UINT);
4e2933c620 2015-04-21        kinaba: 	HANDLE OpenMutexA(DWORD, BOOL, LPCSTR);
4e2933c620 2015-04-21        kinaba: 	HANDLE OpenMutexW(DWORD, BOOL, LPCWSTR);
4e2933c620 2015-04-21        kinaba: 	HANDLE OpenProcess(DWORD, BOOL, DWORD);
4e2933c620 2015-04-21        kinaba: 	HANDLE OpenSemaphoreA(DWORD, BOOL, LPCSTR);
4e2933c620 2015-04-21        kinaba: 	HANDLE OpenSemaphoreW(DWORD, BOOL, LPCWSTR);
4e2933c620 2015-04-21        kinaba: 	void OutputDebugStringA(LPCSTR);
4e2933c620 2015-04-21        kinaba: 	void OutputDebugStringW(LPCWSTR);
4e2933c620 2015-04-21        kinaba: 	BOOL PeekNamedPipe(HANDLE, PVOID, DWORD, PDWORD, PDWORD, PDWORD);
4e2933c620 2015-04-21        kinaba: 	BOOL PulseEvent(HANDLE);
4e2933c620 2015-04-21        kinaba: 	BOOL PurgeComm(HANDLE, DWORD);
4e2933c620 2015-04-21        kinaba: 	BOOL QueryPerformanceCounter(PLARGE_INTEGER);
4e2933c620 2015-04-21        kinaba: 	BOOL QueryPerformanceFrequency(PLARGE_INTEGER);
4e2933c620 2015-04-21        kinaba: 	DWORD QueueUserAPC(PAPCFUNC, HANDLE, ULONG_PTR);
9b639cf2d6 2015-05-05        kinaba: 	void RaiseException(DWORD, DWORD, DWORD, const(DWORD)*);
4e2933c620 2015-04-21        kinaba: 	BOOL ReadFile(HANDLE, PVOID, DWORD, PDWORD, LPOVERLAPPED);
4e2933c620 2015-04-21        kinaba: 	BOOL ReadFileEx(HANDLE, PVOID, DWORD, LPOVERLAPPED, LPOVERLAPPED_COMPLETION_ROUTINE);
9b639cf2d6 2015-05-05        kinaba: 	BOOL ReadProcessMemory(HANDLE, PCVOID, PVOID, SIZE_T, SIZE_T*);
4e2933c620 2015-04-21        kinaba: 	BOOL ReleaseMutex(HANDLE);
4e2933c620 2015-04-21        kinaba: 	BOOL ReleaseSemaphore(HANDLE, LONG, LPLONG);
4e2933c620 2015-04-21        kinaba: 	BOOL RemoveDirectoryA(LPCSTR);
4e2933c620 2015-04-21        kinaba: 	BOOL RemoveDirectoryW(LPCWSTR);
4e2933c620 2015-04-21        kinaba: /* In MinGW:
4e2933c620 2015-04-21        kinaba: #ifdef _WIN32_WCE
4e2933c620 2015-04-21        kinaba: extern BOOL ResetEvent(HANDLE);
4e2933c620 2015-04-21        kinaba: #else
4e2933c620 2015-04-21        kinaba: WINBASEAPI BOOL WINAPI ResetEvent(HANDLE);
4e2933c620 2015-04-21        kinaba: #endif
4e2933c620 2015-04-21        kinaba: */
4e2933c620 2015-04-21        kinaba: 	BOOL ResetEvent(HANDLE);
4e2933c620 2015-04-21        kinaba: 	DWORD ResumeThread(HANDLE);
4e2933c620 2015-04-21        kinaba: 	DWORD SearchPathA(LPCSTR, LPCSTR, LPCSTR, DWORD, LPSTR, LPSTR*);
4e2933c620 2015-04-21        kinaba: 	DWORD SearchPathW(LPCWSTR, LPCWSTR, LPCWSTR, DWORD, LPWSTR, LPWSTR*);
4e2933c620 2015-04-21        kinaba: 	BOOL SetCommBreak(HANDLE);
4e2933c620 2015-04-21        kinaba: 	BOOL SetCommConfig(HANDLE, LPCOMMCONFIG, DWORD);
4e2933c620 2015-04-21        kinaba: 	BOOL SetCommMask(HANDLE, DWORD);
4e2933c620 2015-04-21        kinaba: 	BOOL SetCommState(HANDLE, LPDCB);
4e2933c620 2015-04-21        kinaba: 	BOOL SetCommTimeouts(HANDLE, LPCOMMTIMEOUTS);
4e2933c620 2015-04-21        kinaba: 	BOOL SetComputerNameA(LPCSTR);
4e2933c620 2015-04-21        kinaba: 	BOOL SetComputerNameW(LPCWSTR);
4e2933c620 2015-04-21        kinaba: 	BOOL SetCurrentDirectoryA(LPCSTR);
4e2933c620 2015-04-21        kinaba: 	BOOL SetCurrentDirectoryW(LPCWSTR);
4e2933c620 2015-04-21        kinaba: 	BOOL SetDefaultCommConfigA(LPCSTR, LPCOMMCONFIG, DWORD);
4e2933c620 2015-04-21        kinaba: 	BOOL SetDefaultCommConfigW(LPCWSTR, LPCOMMCONFIG, DWORD);
4e2933c620 2015-04-21        kinaba: 	BOOL SetEndOfFile(HANDLE);
4e2933c620 2015-04-21        kinaba: 	BOOL SetEnvironmentVariableA(LPCSTR, LPCSTR);
4e2933c620 2015-04-21        kinaba: 	BOOL SetEnvironmentVariableW(LPCWSTR, LPCWSTR);
4e2933c620 2015-04-21        kinaba: 	UINT SetErrorMode(UINT);
4e2933c620 2015-04-21        kinaba: /* In MinGW:
4e2933c620 2015-04-21        kinaba: #ifdef _WIN32_WCE
4e2933c620 2015-04-21        kinaba: extern BOOL SetEvent(HANDLE);
4e2933c620 2015-04-21        kinaba: #else
4e2933c620 2015-04-21        kinaba: WINBASEAPI BOOL WINAPI SetEvent(HANDLE);
4e2933c620 2015-04-21        kinaba: #endif
4e2933c620 2015-04-21        kinaba: */
4e2933c620 2015-04-21        kinaba: 	BOOL SetEvent(HANDLE);
4e2933c620 2015-04-21        kinaba: 	VOID SetFileApisToANSI();
4e2933c620 2015-04-21        kinaba: 	VOID SetFileApisToOEM();
4e2933c620 2015-04-21        kinaba: 	BOOL SetFileAttributesA(LPCSTR, DWORD);
4e2933c620 2015-04-21        kinaba: 	BOOL SetFileAttributesW(LPCWSTR, DWORD);
4e2933c620 2015-04-21        kinaba: 	DWORD SetFilePointer(HANDLE, LONG, PLONG, DWORD);
9b639cf2d6 2015-05-05        kinaba: 	BOOL SetFileTime(HANDLE, const(FILETIME)*, const(FILETIME)*, const(FILETIME)*);
4e2933c620 2015-04-21        kinaba: 	deprecated UINT SetHandleCount(UINT);
4e2933c620 2015-04-21        kinaba: 	void SetLastError(DWORD);
4e2933c620 2015-04-21        kinaba: 	void SetLastErrorEx(DWORD, DWORD);
9b639cf2d6 2015-05-05        kinaba: 	BOOL SetLocalTime(const(SYSTEMTIME)*);
4e2933c620 2015-04-21        kinaba: 	BOOL SetMailslotInfo(HANDLE, DWORD);
4e2933c620 2015-04-21        kinaba: 	BOOL SetNamedPipeHandleState(HANDLE, PDWORD, PDWORD, PDWORD);
4e2933c620 2015-04-21        kinaba: 	BOOL SetPriorityClass(HANDLE, DWORD);
4e2933c620 2015-04-21        kinaba: 	BOOL SetStdHandle(DWORD, HANDLE);
9b639cf2d6 2015-05-05        kinaba: 	BOOL SetSystemTime(const(SYSTEMTIME)*);
4e2933c620 2015-04-21        kinaba: 	DWORD SetThreadAffinityMask(HANDLE, DWORD);
9b639cf2d6 2015-05-05        kinaba: 	BOOL SetThreadContext(HANDLE, const(CONTEXT)*);
4e2933c620 2015-04-21        kinaba: 	BOOL SetThreadPriority(HANDLE, int);
9b639cf2d6 2015-05-05        kinaba: 	BOOL SetTimeZoneInformation(const(TIME_ZONE_INFORMATION)*);
4e2933c620 2015-04-21        kinaba: 	LPTOP_LEVEL_EXCEPTION_FILTER SetUnhandledExceptionFilter(LPTOP_LEVEL_EXCEPTION_FILTER);
4e2933c620 2015-04-21        kinaba: 	BOOL SetupComm(HANDLE, DWORD, DWORD);
4e2933c620 2015-04-21        kinaba: 	BOOL SetVolumeLabelA(LPCSTR, LPCSTR);
4e2933c620 2015-04-21        kinaba: 	BOOL SetVolumeLabelW(LPCWSTR, LPCWSTR);
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: 	DWORD SizeofResource(HINSTANCE, HRSRC);
4e2933c620 2015-04-21        kinaba: 	void Sleep(DWORD);
4e2933c620 2015-04-21        kinaba: 	DWORD SleepEx(DWORD, BOOL);
4e2933c620 2015-04-21        kinaba: 	DWORD SuspendThread(HANDLE);
9b639cf2d6 2015-05-05        kinaba: 	BOOL SystemTimeToFileTime(const(SYSTEMTIME)*, LPFILETIME);
4e2933c620 2015-04-21        kinaba: 	BOOL TerminateProcess(HANDLE, UINT);
4e2933c620 2015-04-21        kinaba: 	BOOL TerminateThread(HANDLE, DWORD);
4e2933c620 2015-04-21        kinaba: 	DWORD TlsAlloc();
4e2933c620 2015-04-21        kinaba: 	BOOL TlsFree(DWORD);
4e2933c620 2015-04-21        kinaba: 	PVOID TlsGetValue(DWORD);
4e2933c620 2015-04-21        kinaba: 	BOOL TlsSetValue(DWORD, PVOID);
4e2933c620 2015-04-21        kinaba: 	BOOL TransactNamedPipe(HANDLE, PVOID, DWORD, PVOID, DWORD, PDWORD, LPOVERLAPPED);
4e2933c620 2015-04-21        kinaba: 	BOOL TransmitCommChar(HANDLE, char);
4e2933c620 2015-04-21        kinaba: 	LONG UnhandledExceptionFilter(LPEXCEPTION_POINTERS);
4e2933c620 2015-04-21        kinaba: 	BOOL UnlockFile(HANDLE, DWORD, DWORD, DWORD, DWORD);
4e2933c620 2015-04-21        kinaba: 	BOOL WaitCommEvent(HANDLE, PDWORD, LPOVERLAPPED);
4e2933c620 2015-04-21        kinaba: 	BOOL WaitForDebugEvent(LPDEBUG_EVENT, DWORD);
9b639cf2d6 2015-05-05        kinaba: 	DWORD WaitForMultipleObjects(DWORD, const(HANDLE)*, BOOL, DWORD);
9b639cf2d6 2015-05-05        kinaba: 	DWORD WaitForMultipleObjectsEx(DWORD, const(HANDLE)*, BOOL, DWORD, BOOL);
4e2933c620 2015-04-21        kinaba: 	DWORD WaitForSingleObject(HANDLE, DWORD);
4e2933c620 2015-04-21        kinaba: 	DWORD WaitForSingleObjectEx(HANDLE, DWORD, BOOL);
4e2933c620 2015-04-21        kinaba: 	BOOL WaitNamedPipeA(LPCSTR, DWORD);
4e2933c620 2015-04-21        kinaba: 	BOOL WaitNamedPipeW(LPCWSTR, DWORD);
4e2933c620 2015-04-21        kinaba: 	// undocumented on MSDN
4e2933c620 2015-04-21        kinaba: 	BOOL WinLoadTrustProvider(GUID*);
4e2933c620 2015-04-21        kinaba: 	BOOL WriteFile(HANDLE, PCVOID, DWORD, PDWORD, LPOVERLAPPED);
4e2933c620 2015-04-21        kinaba: 	BOOL WriteFileEx(HANDLE, PCVOID, DWORD, LPOVERLAPPED, LPOVERLAPPED_COMPLETION_ROUTINE);
4e2933c620 2015-04-21        kinaba: 	BOOL WritePrivateProfileSectionA(LPCSTR, LPCSTR, LPCSTR);
4e2933c620 2015-04-21        kinaba: 	BOOL WritePrivateProfileSectionW(LPCWSTR, LPCWSTR, LPCWSTR);
4e2933c620 2015-04-21        kinaba: 	BOOL WritePrivateProfileStringA(LPCSTR, LPCSTR, LPCSTR, LPCSTR);
4e2933c620 2015-04-21        kinaba: 	BOOL WritePrivateProfileStringW(LPCWSTR, LPCWSTR, LPCWSTR, LPCWSTR);
4e2933c620 2015-04-21        kinaba: 	BOOL WritePrivateProfileStructA(LPCSTR, LPCSTR, LPVOID, UINT, LPCSTR);
4e2933c620 2015-04-21        kinaba: 	BOOL WritePrivateProfileStructW(LPCWSTR, LPCWSTR, LPVOID, UINT, LPCWSTR);
4e2933c620 2015-04-21        kinaba: 	BOOL WriteProcessMemory(HANDLE, LPVOID, LPCVOID, SIZE_T, SIZE_T*);
4e2933c620 2015-04-21        kinaba: 	BOOL WriteProfileSectionA(LPCSTR, LPCSTR);
4e2933c620 2015-04-21        kinaba: 	BOOL WriteProfileSectionW(LPCWSTR, LPCWSTR);
4e2933c620 2015-04-21        kinaba: 	BOOL WriteProfileStringA(LPCSTR, LPCSTR, LPCSTR);
4e2933c620 2015-04-21        kinaba: 	BOOL WriteProfileStringW(LPCWSTR, LPCWSTR, LPCWSTR);
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: 	/*	Memory allocation functions.
4e2933c620 2015-04-21        kinaba: 	 *	MSDN documents these erroneously as Win2000+; thus it is uncertain what
4e2933c620 2015-04-21        kinaba: 	 *	version compatibility they really have.
4e2933c620 2015-04-21        kinaba: 	 */
4e2933c620 2015-04-21        kinaba: 	HGLOBAL GlobalAlloc(UINT, DWORD);
4e2933c620 2015-04-21        kinaba: 	HGLOBAL GlobalDiscard(HGLOBAL);
4e2933c620 2015-04-21        kinaba: 	HGLOBAL GlobalFree(HGLOBAL);
4e2933c620 2015-04-21        kinaba: 	HGLOBAL GlobalHandle(PCVOID);
4e2933c620 2015-04-21        kinaba: 	LPVOID GlobalLock(HGLOBAL);
4e2933c620 2015-04-21        kinaba: 	VOID GlobalMemoryStatus(LPMEMORYSTATUS);
4e2933c620 2015-04-21        kinaba: 	HGLOBAL GlobalReAlloc(HGLOBAL, DWORD, UINT);
4e2933c620 2015-04-21        kinaba: 	DWORD GlobalSize(HGLOBAL);
4e2933c620 2015-04-21        kinaba: 	BOOL GlobalUnlock(HGLOBAL);
4e2933c620 2015-04-21        kinaba: 	PVOID HeapAlloc(HANDLE, DWORD, DWORD);
4e2933c620 2015-04-21        kinaba: 	SIZE_T HeapCompact(HANDLE, DWORD);
4e2933c620 2015-04-21        kinaba: 	HANDLE HeapCreate(DWORD, DWORD, DWORD);
4e2933c620 2015-04-21        kinaba: 	BOOL HeapDestroy(HANDLE);
4e2933c620 2015-04-21        kinaba: 	BOOL HeapFree(HANDLE, DWORD, PVOID);
4e2933c620 2015-04-21        kinaba: 	BOOL HeapLock(HANDLE);
4e2933c620 2015-04-21        kinaba: 	PVOID HeapReAlloc(HANDLE, DWORD, PVOID, DWORD);
4e2933c620 2015-04-21        kinaba: 	DWORD HeapSize(HANDLE, DWORD, PCVOID);
4e2933c620 2015-04-21        kinaba: 	BOOL HeapUnlock(HANDLE);
4e2933c620 2015-04-21        kinaba: 	BOOL HeapValidate(HANDLE, DWORD, PCVOID);
4e2933c620 2015-04-21        kinaba: 	BOOL HeapWalk(HANDLE, LPPROCESS_HEAP_ENTRY);
4e2933c620 2015-04-21        kinaba: 	HLOCAL LocalAlloc(UINT, SIZE_T);
4e2933c620 2015-04-21        kinaba: 	HLOCAL LocalDiscard(HLOCAL);
4e2933c620 2015-04-21        kinaba: 	HLOCAL LocalFree(HLOCAL);
4e2933c620 2015-04-21        kinaba: 	HLOCAL LocalHandle(LPCVOID);
4e2933c620 2015-04-21        kinaba: 	PVOID LocalLock(HLOCAL);
4e2933c620 2015-04-21        kinaba: 	HLOCAL LocalReAlloc(HLOCAL, SIZE_T, UINT);
4e2933c620 2015-04-21        kinaba: 	UINT LocalSize(HLOCAL);
4e2933c620 2015-04-21        kinaba: 	BOOL LocalUnlock(HLOCAL);
4e2933c620 2015-04-21        kinaba: 	PVOID VirtualAlloc(PVOID, DWORD, DWORD, DWORD);
4e2933c620 2015-04-21        kinaba: 	PVOID VirtualAllocEx(HANDLE, PVOID, DWORD, DWORD, DWORD);
4e2933c620 2015-04-21        kinaba: 	BOOL VirtualFree(PVOID, DWORD, DWORD);
4e2933c620 2015-04-21        kinaba: 	BOOL VirtualFreeEx(HANDLE, PVOID, DWORD, DWORD);
4e2933c620 2015-04-21        kinaba: 	BOOL VirtualLock(PVOID, DWORD);
4e2933c620 2015-04-21        kinaba: 	BOOL VirtualProtect(PVOID, DWORD, DWORD, PDWORD);
4e2933c620 2015-04-21        kinaba: 	BOOL VirtualProtectEx(HANDLE, PVOID, DWORD, DWORD, PDWORD);
4e2933c620 2015-04-21        kinaba: 	DWORD VirtualQuery(LPCVOID, PMEMORY_BASIC_INFORMATION, DWORD);
4e2933c620 2015-04-21        kinaba: 	DWORD VirtualQueryEx(HANDLE, LPCVOID, PMEMORY_BASIC_INFORMATION, DWORD);
4e2933c620 2015-04-21        kinaba: 	BOOL VirtualUnlock(PVOID, DWORD);
9b639cf2d6 2015-05-05        kinaba: // not in MinGW 4.0 - ???
9b639cf2d6 2015-05-05        kinaba: 	static if (_WIN32_WINNT >= 0x600) {
4e2933c620 2015-04-21        kinaba: 		BOOL CancelIoEx(HANDLE, LPOVERLAPPED);
4e2933c620 2015-04-21        kinaba: 	}
4e2933c620 2015-04-21        kinaba: 
9b639cf2d6 2015-05-05        kinaba: 	BOOL CancelIo(HANDLE);
9b639cf2d6 2015-05-05        kinaba: 	BOOL CancelWaitableTimer(HANDLE);
9b639cf2d6 2015-05-05        kinaba: 	PVOID ConvertThreadToFiber(PVOID);
9b639cf2d6 2015-05-05        kinaba: 	LPVOID CreateFiber(SIZE_T, LPFIBER_START_ROUTINE, LPVOID);
9b639cf2d6 2015-05-05        kinaba: 	HANDLE CreateWaitableTimerA(LPSECURITY_ATTRIBUTES, BOOL, LPCSTR);
9b639cf2d6 2015-05-05        kinaba: 	HANDLE CreateWaitableTimerW(LPSECURITY_ATTRIBUTES, BOOL, LPCWSTR);
9b639cf2d6 2015-05-05        kinaba: 	void DeleteFiber(PVOID);
9b639cf2d6 2015-05-05        kinaba: 	BOOL GetFileAttributesExA(LPCSTR, GET_FILEEX_INFO_LEVELS, PVOID);
9b639cf2d6 2015-05-05        kinaba: 	BOOL GetFileAttributesExW(LPCWSTR, GET_FILEEX_INFO_LEVELS, PVOID);
9b639cf2d6 2015-05-05        kinaba: 	DWORD GetLongPathNameA(LPCSTR, LPSTR, DWORD);
9b639cf2d6 2015-05-05        kinaba: 	DWORD GetLongPathNameW(LPCWSTR, LPWSTR, DWORD);
9b639cf2d6 2015-05-05        kinaba: 	BOOL InitializeCriticalSectionAndSpinCount(LPCRITICAL_SECTION, DWORD);
9b639cf2d6 2015-05-05        kinaba: 	BOOL IsDebuggerPresent();
9b639cf2d6 2015-05-05        kinaba: 	HANDLE OpenWaitableTimerA(DWORD, BOOL, LPCSTR);
9b639cf2d6 2015-05-05        kinaba: 	HANDLE OpenWaitableTimerW(DWORD, BOOL, LPCWSTR);
9b639cf2d6 2015-05-05        kinaba: 	DWORD QueryDosDeviceA(LPCSTR, LPSTR, DWORD);
9b639cf2d6 2015-05-05        kinaba: 	DWORD QueryDosDeviceW(LPCWSTR, LPWSTR, DWORD);
9b639cf2d6 2015-05-05        kinaba: 	BOOL SetWaitableTimer(HANDLE, const(LARGE_INTEGER)*, LONG, PTIMERAPCROUTINE, PVOID, BOOL);
9b639cf2d6 2015-05-05        kinaba: 	void SwitchToFiber(PVOID);
9b639cf2d6 2015-05-05        kinaba: 
9b639cf2d6 2015-05-05        kinaba: 	static if (_WIN32_WINNT >= 0x500) {
4e2933c620 2015-04-21        kinaba: 		HANDLE OpenThread(DWORD, BOOL, DWORD);
4e2933c620 2015-04-21        kinaba: 	}
4e2933c620 2015-04-21        kinaba: 
9b639cf2d6 2015-05-05        kinaba: 	BOOL AccessCheck(PSECURITY_DESCRIPTOR, HANDLE, DWORD, PGENERIC_MAPPING, PPRIVILEGE_SET, PDWORD, PDWORD, PBOOL);
9b639cf2d6 2015-05-05        kinaba: 	BOOL AccessCheckAndAuditAlarmA(LPCSTR, LPVOID, LPSTR, LPSTR, PSECURITY_DESCRIPTOR, DWORD, PGENERIC_MAPPING, BOOL, PDWORD, PBOOL, PBOOL);
9b639cf2d6 2015-05-05        kinaba: 	BOOL AccessCheckAndAuditAlarmW(LPCWSTR, LPVOID, LPWSTR, LPWSTR, PSECURITY_DESCRIPTOR, DWORD, PGENERIC_MAPPING, BOOL, PDWORD, PBOOL, PBOOL);
9b639cf2d6 2015-05-05        kinaba: 	BOOL AddAccessAllowedAce(PACL, DWORD, DWORD, PSID);
9b639cf2d6 2015-05-05        kinaba: 	BOOL AddAccessDeniedAce(PACL, DWORD, DWORD, PSID);
9b639cf2d6 2015-05-05        kinaba: 	BOOL AddAce(PACL, DWORD, DWORD, PVOID, DWORD);
9b639cf2d6 2015-05-05        kinaba: 	BOOL AddAuditAccessAce(PACL, DWORD, DWORD, PSID, BOOL, BOOL);
9b639cf2d6 2015-05-05        kinaba: 	BOOL AdjustTokenGroups(HANDLE, BOOL, PTOKEN_GROUPS, DWORD, PTOKEN_GROUPS, PDWORD);
9b639cf2d6 2015-05-05        kinaba: 	BOOL AdjustTokenPrivileges(HANDLE, BOOL, PTOKEN_PRIVILEGES, DWORD, PTOKEN_PRIVILEGES, PDWORD);
9b639cf2d6 2015-05-05        kinaba: 	BOOL AllocateAndInitializeSid(PSID_IDENTIFIER_AUTHORITY, BYTE, DWORD, DWORD, DWORD, DWORD, DWORD, DWORD, DWORD, DWORD, PSID*);
9b639cf2d6 2015-05-05        kinaba: 	BOOL AllocateLocallyUniqueId(PLUID);
9b639cf2d6 2015-05-05        kinaba: 	BOOL AreAllAccessesGranted(DWORD, DWORD);
9b639cf2d6 2015-05-05        kinaba: 	BOOL AreAnyAccessesGranted(DWORD, DWORD);
9b639cf2d6 2015-05-05        kinaba: 	BOOL BackupEventLogA(HANDLE, LPCSTR);
9b639cf2d6 2015-05-05        kinaba: 	BOOL BackupEventLogW(HANDLE, LPCWSTR);
9b639cf2d6 2015-05-05        kinaba: 	BOOL BackupRead(HANDLE, LPBYTE, DWORD, LPDWORD, BOOL, BOOL, LPVOID*);
9b639cf2d6 2015-05-05        kinaba: 	BOOL BackupSeek(HANDLE, DWORD, DWORD, LPDWORD, LPDWORD, LPVOID*);
9b639cf2d6 2015-05-05        kinaba: 	BOOL BackupWrite(HANDLE, LPBYTE, DWORD, LPDWORD, BOOL, BOOL, LPVOID*);
9b639cf2d6 2015-05-05        kinaba: 	BOOL ClearEventLogA(HANDLE, LPCSTR);
9b639cf2d6 2015-05-05        kinaba: 	BOOL ClearEventLogW(HANDLE, LPCWSTR);
9b639cf2d6 2015-05-05        kinaba: 	BOOL CloseEventLog(HANDLE);
9b639cf2d6 2015-05-05        kinaba: 	BOOL ConnectNamedPipe(HANDLE, LPOVERLAPPED);
9b639cf2d6 2015-05-05        kinaba: 	BOOL CopySid(DWORD, PSID, PSID);
9b639cf2d6 2015-05-05        kinaba: 	HANDLE CreateNamedPipeA(LPCSTR, DWORD, DWORD, DWORD, DWORD, DWORD, DWORD, LPSECURITY_ATTRIBUTES);
9b639cf2d6 2015-05-05        kinaba: 	HANDLE CreateNamedPipeW(LPCWSTR, DWORD, DWORD, DWORD, DWORD, DWORD, DWORD, LPSECURITY_ATTRIBUTES);
9b639cf2d6 2015-05-05        kinaba: 	BOOL CreatePrivateObjectSecurity(PSECURITY_DESCRIPTOR, PSECURITY_DESCRIPTOR, PSECURITY_DESCRIPTOR*, BOOL, HANDLE, PGENERIC_MAPPING);
9b639cf2d6 2015-05-05        kinaba: 	BOOL CreateProcessAsUserA(HANDLE, LPCSTR, LPSTR, LPSECURITY_ATTRIBUTES, LPSECURITY_ATTRIBUTES, BOOL, DWORD, PVOID, LPCSTR, LPSTARTUPINFOA, LPPROCESS_INFORMATION);
9b639cf2d6 2015-05-05        kinaba: 	BOOL CreateProcessAsUserW(HANDLE, LPCWSTR, LPWSTR, LPSECURITY_ATTRIBUTES, LPSECURITY_ATTRIBUTES, BOOL, DWORD, PVOID, LPCWSTR, LPSTARTUPINFOW, LPPROCESS_INFORMATION);
9b639cf2d6 2015-05-05        kinaba: 	HANDLE CreateRemoteThread(HANDLE, LPSECURITY_ATTRIBUTES, DWORD, LPTHREAD_START_ROUTINE, LPVOID, DWORD, LPDWORD);
9b639cf2d6 2015-05-05        kinaba: 	DWORD CreateTapePartition(HANDLE, DWORD, DWORD, DWORD);
9b639cf2d6 2015-05-05        kinaba: 	BOOL DefineDosDeviceA(DWORD, LPCSTR, LPCSTR);
9b639cf2d6 2015-05-05        kinaba: 	BOOL DefineDosDeviceW(DWORD, LPCWSTR, LPCWSTR);
9b639cf2d6 2015-05-05        kinaba: 	BOOL DeleteAce(PACL, DWORD);
9b639cf2d6 2015-05-05        kinaba: 	BOOL DeregisterEventSource(HANDLE);
9b639cf2d6 2015-05-05        kinaba: 	BOOL DestroyPrivateObjectSecurity(PSECURITY_DESCRIPTOR*);
9b639cf2d6 2015-05-05        kinaba: 	BOOL DeviceIoControl(HANDLE, DWORD, PVOID, DWORD, PVOID, DWORD, PDWORD, POVERLAPPED);
9b639cf2d6 2015-05-05        kinaba: 	BOOL DisconnectNamedPipe(HANDLE);
9b639cf2d6 2015-05-05        kinaba: 	BOOL DuplicateToken(HANDLE, SECURITY_IMPERSONATION_LEVEL, PHANDLE);
9b639cf2d6 2015-05-05        kinaba: 	BOOL DuplicateTokenEx(HANDLE, DWORD, LPSECURITY_ATTRIBUTES, SECURITY_IMPERSONATION_LEVEL, TOKEN_TYPE, PHANDLE);
9b639cf2d6 2015-05-05        kinaba: 	BOOL EqualPrefixSid(PSID, PSID);
9b639cf2d6 2015-05-05        kinaba: 	BOOL EqualSid(PSID, PSID);
9b639cf2d6 2015-05-05        kinaba: 	DWORD EraseTape(HANDLE, DWORD, BOOL);
9b639cf2d6 2015-05-05        kinaba: 	HANDLE FindFirstFileExA(LPCSTR, FINDEX_INFO_LEVELS, PVOID, FINDEX_SEARCH_OPS, PVOID, DWORD);
9b639cf2d6 2015-05-05        kinaba: 	HANDLE FindFirstFileExW(LPCWSTR, FINDEX_INFO_LEVELS, PVOID, FINDEX_SEARCH_OPS, PVOID, DWORD);
9b639cf2d6 2015-05-05        kinaba: 	BOOL FindFirstFreeAce(PACL, PVOID*);
9b639cf2d6 2015-05-05        kinaba: 	PVOID FreeSid(PSID);
9b639cf2d6 2015-05-05        kinaba: 	BOOL GetAce(PACL, DWORD, LPVOID*);
9b639cf2d6 2015-05-05        kinaba: 	BOOL GetAclInformation(PACL, PVOID, DWORD, ACL_INFORMATION_CLASS);
9b639cf2d6 2015-05-05        kinaba: 	BOOL GetBinaryTypeA(LPCSTR, PDWORD);
9b639cf2d6 2015-05-05        kinaba: 	BOOL GetBinaryTypeW(LPCWSTR, PDWORD);
9b639cf2d6 2015-05-05        kinaba: 	DWORD GetCompressedFileSizeA(LPCSTR, PDWORD);
9b639cf2d6 2015-05-05        kinaba: 	DWORD GetCompressedFileSizeW(LPCWSTR, PDWORD);
9b639cf2d6 2015-05-05        kinaba: 	BOOL GetCurrentHwProfileA(LPHW_PROFILE_INFOA);
9b639cf2d6 2015-05-05        kinaba: 	BOOL GetCurrentHwProfileW(LPHW_PROFILE_INFOW);
9b639cf2d6 2015-05-05        kinaba: 	BOOL GetFileSecurityA(LPCSTR, SECURITY_INFORMATION, PSECURITY_DESCRIPTOR, DWORD, PDWORD);
9b639cf2d6 2015-05-05        kinaba: 	BOOL GetFileSecurityW(LPCWSTR, SECURITY_INFORMATION, PSECURITY_DESCRIPTOR, DWORD, PDWORD);
9b639cf2d6 2015-05-05        kinaba: 	BOOL GetHandleInformation(HANDLE, PDWORD);
9b639cf2d6 2015-05-05        kinaba: 	BOOL GetKernelObjectSecurity(HANDLE, SECURITY_INFORMATION, PSECURITY_DESCRIPTOR, DWORD, PDWORD);
9b639cf2d6 2015-05-05        kinaba: 	DWORD GetLengthSid(PSID);
9b639cf2d6 2015-05-05        kinaba: 	BOOL GetNumberOfEventLogRecords(HANDLE, PDWORD);
9b639cf2d6 2015-05-05        kinaba: 	BOOL GetOldestEventLogRecord(HANDLE, PDWORD);
9b639cf2d6 2015-05-05        kinaba: 	BOOL GetPrivateObjectSecurity(PSECURITY_DESCRIPTOR, SECURITY_INFORMATION, PSECURITY_DESCRIPTOR, DWORD, PDWORD);
9b639cf2d6 2015-05-05        kinaba: 	BOOL GetProcessPriorityBoost(HANDLE, PBOOL);
9b639cf2d6 2015-05-05        kinaba: 	BOOL GetProcessShutdownParameters(PDWORD, PDWORD);
9b639cf2d6 2015-05-05        kinaba: 	BOOL GetProcessTimes(HANDLE, LPFILETIME, LPFILETIME, LPFILETIME, LPFILETIME);
9b639cf2d6 2015-05-05        kinaba: 	HWINSTA GetProcessWindowStation();
9b639cf2d6 2015-05-05        kinaba: 	BOOL GetProcessWorkingSetSize(HANDLE, PSIZE_T, PSIZE_T);
9b639cf2d6 2015-05-05        kinaba: 	BOOL GetQueuedCompletionStatus(HANDLE, PDWORD, PULONG_PTR, LPOVERLAPPED*, DWORD);
9b639cf2d6 2015-05-05        kinaba: 	BOOL GetSecurityDescriptorControl(PSECURITY_DESCRIPTOR, PSECURITY_DESCRIPTOR_CONTROL, PDWORD);
9b639cf2d6 2015-05-05        kinaba: 	BOOL GetSecurityDescriptorDacl(PSECURITY_DESCRIPTOR, LPBOOL, PACL*, LPBOOL);
9b639cf2d6 2015-05-05        kinaba: 	BOOL GetSecurityDescriptorGroup(PSECURITY_DESCRIPTOR, PSID*, LPBOOL);
9b639cf2d6 2015-05-05        kinaba: 	DWORD GetSecurityDescriptorLength(PSECURITY_DESCRIPTOR);
9b639cf2d6 2015-05-05        kinaba: 	BOOL GetSecurityDescriptorOwner(PSECURITY_DESCRIPTOR, PSID*, LPBOOL);
9b639cf2d6 2015-05-05        kinaba: 	BOOL GetSecurityDescriptorSacl(PSECURITY_DESCRIPTOR, LPBOOL, PACL*, LPBOOL);
9b639cf2d6 2015-05-05        kinaba: 	PSID_IDENTIFIER_AUTHORITY GetSidIdentifierAuthority(PSID);
9b639cf2d6 2015-05-05        kinaba: 	DWORD GetSidLengthRequired(UCHAR);
9b639cf2d6 2015-05-05        kinaba: 	PDWORD GetSidSubAuthority(PSID, DWORD);
9b639cf2d6 2015-05-05        kinaba: 	PUCHAR GetSidSubAuthorityCount(PSID);
9b639cf2d6 2015-05-05        kinaba: 	DWORD GetTapeParameters(HANDLE, DWORD, PDWORD, PVOID);
9b639cf2d6 2015-05-05        kinaba: 	DWORD GetTapePosition(HANDLE, DWORD, PDWORD, PDWORD, PDWORD);
9b639cf2d6 2015-05-05        kinaba: 	DWORD GetTapeStatus(HANDLE);
9b639cf2d6 2015-05-05        kinaba: 	BOOL GetThreadPriorityBoost(HANDLE, PBOOL);
9b639cf2d6 2015-05-05        kinaba: 	BOOL GetThreadTimes(HANDLE, LPFILETIME, LPFILETIME, LPFILETIME, LPFILETIME);
9b639cf2d6 2015-05-05        kinaba: 	BOOL GetTokenInformation(HANDLE, TOKEN_INFORMATION_CLASS, PVOID, DWORD, PDWORD);
9b639cf2d6 2015-05-05        kinaba: 	BOOL ImpersonateLoggedOnUser(HANDLE);
9b639cf2d6 2015-05-05        kinaba: 	BOOL ImpersonateNamedPipeClient(HANDLE);
9b639cf2d6 2015-05-05        kinaba: 	BOOL ImpersonateSelf(SECURITY_IMPERSONATION_LEVEL);
9b639cf2d6 2015-05-05        kinaba: 	BOOL InitializeAcl(PACL, DWORD, DWORD);
9b639cf2d6 2015-05-05        kinaba: 	DWORD SetCriticalSectionSpinCount(LPCRITICAL_SECTION, DWORD);
9b639cf2d6 2015-05-05        kinaba: 	BOOL InitializeSecurityDescriptor(PSECURITY_DESCRIPTOR, DWORD);
9b639cf2d6 2015-05-05        kinaba: 	BOOL InitializeSid(PSID, PSID_IDENTIFIER_AUTHORITY, BYTE);
9b639cf2d6 2015-05-05        kinaba: 	BOOL IsProcessorFeaturePresent(DWORD);
9b639cf2d6 2015-05-05        kinaba: 	BOOL IsTextUnicode(PCVOID, int, LPINT);
9b639cf2d6 2015-05-05        kinaba: 	BOOL IsValidAcl(PACL);
9b639cf2d6 2015-05-05        kinaba: 	BOOL IsValidSecurityDescriptor(PSECURITY_DESCRIPTOR);
9b639cf2d6 2015-05-05        kinaba: 	BOOL IsValidSid(PSID);
9b639cf2d6 2015-05-05        kinaba: 	BOOL LockFileEx(HANDLE, DWORD, DWORD, DWORD, DWORD, LPOVERLAPPED);
9b639cf2d6 2015-05-05        kinaba: 	BOOL LogonUserA(LPSTR, LPSTR, LPSTR, DWORD, DWORD, PHANDLE);
9b639cf2d6 2015-05-05        kinaba: 	BOOL LogonUserW(LPWSTR, LPWSTR, LPWSTR, DWORD, DWORD, PHANDLE);
9b639cf2d6 2015-05-05        kinaba: 	BOOL LookupAccountNameA(LPCSTR, LPCSTR, PSID, PDWORD, LPSTR, PDWORD, PSID_NAME_USE);
9b639cf2d6 2015-05-05        kinaba: 	BOOL LookupAccountNameW(LPCWSTR, LPCWSTR, PSID, PDWORD, LPWSTR, PDWORD, PSID_NAME_USE);
9b639cf2d6 2015-05-05        kinaba: 	BOOL LookupAccountSidA(LPCSTR, PSID, LPSTR, PDWORD, LPSTR, PDWORD, PSID_NAME_USE);
9b639cf2d6 2015-05-05        kinaba: 	BOOL LookupAccountSidW(LPCWSTR, PSID, LPWSTR, PDWORD, LPWSTR, PDWORD, PSID_NAME_USE);
9b639cf2d6 2015-05-05        kinaba: 	BOOL LookupPrivilegeDisplayNameA(LPCSTR, LPCSTR, LPSTR, PDWORD, PDWORD);
9b639cf2d6 2015-05-05        kinaba: 	BOOL LookupPrivilegeDisplayNameW(LPCWSTR, LPCWSTR, LPWSTR, PDWORD, PDWORD);
9b639cf2d6 2015-05-05        kinaba: 	BOOL LookupPrivilegeNameA(LPCSTR, PLUID, LPSTR, PDWORD);
9b639cf2d6 2015-05-05        kinaba: 	BOOL LookupPrivilegeNameW(LPCWSTR, PLUID, LPWSTR, PDWORD);
9b639cf2d6 2015-05-05        kinaba: 	BOOL LookupPrivilegeValueA(LPCSTR, LPCSTR, PLUID);
9b639cf2d6 2015-05-05        kinaba: 	BOOL LookupPrivilegeValueW(LPCWSTR, LPCWSTR, PLUID);
9b639cf2d6 2015-05-05        kinaba: 	BOOL MakeAbsoluteSD(PSECURITY_DESCRIPTOR, PSECURITY_DESCRIPTOR, PDWORD, PACL, PDWORD, PACL, PDWORD, PSID, PDWORD, PSID, PDWORD);
9b639cf2d6 2015-05-05        kinaba: 	BOOL MakeSelfRelativeSD(PSECURITY_DESCRIPTOR, PSECURITY_DESCRIPTOR, PDWORD);
9b639cf2d6 2015-05-05        kinaba: 	VOID MapGenericMask(PDWORD, PGENERIC_MAPPING);
9b639cf2d6 2015-05-05        kinaba: 	BOOL MoveFileExA(LPCSTR, LPCSTR, DWORD);
9b639cf2d6 2015-05-05        kinaba: 	BOOL MoveFileExW(LPCWSTR, LPCWSTR, DWORD);
9b639cf2d6 2015-05-05        kinaba: 	BOOL NotifyChangeEventLog(HANDLE, HANDLE);
9b639cf2d6 2015-05-05        kinaba: 	BOOL ObjectCloseAuditAlarmA(LPCSTR, PVOID, BOOL);
9b639cf2d6 2015-05-05        kinaba: 	BOOL ObjectCloseAuditAlarmW(LPCWSTR, PVOID, BOOL);
9b639cf2d6 2015-05-05        kinaba: 	BOOL ObjectDeleteAuditAlarmA(LPCSTR, PVOID, BOOL);
9b639cf2d6 2015-05-05        kinaba: 	BOOL ObjectDeleteAuditAlarmW(LPCWSTR, PVOID, BOOL);
9b639cf2d6 2015-05-05        kinaba: 	BOOL ObjectOpenAuditAlarmA(LPCSTR, PVOID, LPSTR, LPSTR, PSECURITY_DESCRIPTOR, HANDLE, DWORD, DWORD, PPRIVILEGE_SET, BOOL, BOOL, PBOOL);
9b639cf2d6 2015-05-05        kinaba: 	BOOL ObjectOpenAuditAlarmW(LPCWSTR, PVOID, LPWSTR, LPWSTR, PSECURITY_DESCRIPTOR, HANDLE, DWORD, DWORD, PPRIVILEGE_SET, BOOL, BOOL, PBOOL);
9b639cf2d6 2015-05-05        kinaba: 	BOOL ObjectPrivilegeAuditAlarmA(LPCSTR, PVOID, HANDLE, DWORD, PPRIVILEGE_SET, BOOL);
9b639cf2d6 2015-05-05        kinaba: 	BOOL ObjectPrivilegeAuditAlarmW(LPCWSTR, PVOID, HANDLE, DWORD, PPRIVILEGE_SET, BOOL);
9b639cf2d6 2015-05-05        kinaba: 	HANDLE OpenBackupEventLogA(LPCSTR, LPCSTR);
9b639cf2d6 2015-05-05        kinaba: 	HANDLE OpenBackupEventLogW(LPCWSTR, LPCWSTR);
9b639cf2d6 2015-05-05        kinaba: 	HANDLE OpenEventLogA(LPCSTR, LPCSTR);
9b639cf2d6 2015-05-05        kinaba: 	HANDLE OpenEventLogW(LPCWSTR, LPCWSTR);
9b639cf2d6 2015-05-05        kinaba: 	BOOL OpenProcessToken(HANDLE, DWORD, PHANDLE);
9b639cf2d6 2015-05-05        kinaba: 	BOOL OpenThreadToken(HANDLE, DWORD, BOOL, PHANDLE);
9b639cf2d6 2015-05-05        kinaba: 	BOOL PostQueuedCompletionStatus(HANDLE, DWORD, ULONG_PTR, LPOVERLAPPED);
9b639cf2d6 2015-05-05        kinaba: 	DWORD PrepareTape(HANDLE, DWORD, BOOL);
9b639cf2d6 2015-05-05        kinaba: 	BOOL PrivilegeCheck(HANDLE, PPRIVILEGE_SET, PBOOL);
9b639cf2d6 2015-05-05        kinaba: 	BOOL PrivilegedServiceAuditAlarmA(LPCSTR, LPCSTR, HANDLE, PPRIVILEGE_SET, BOOL);
9b639cf2d6 2015-05-05        kinaba: 	BOOL PrivilegedServiceAuditAlarmW(LPCWSTR, LPCWSTR, HANDLE, PPRIVILEGE_SET, BOOL);
9b639cf2d6 2015-05-05        kinaba: 	BOOL ReadDirectoryChangesW(HANDLE, PVOID, DWORD, BOOL, DWORD, PDWORD, LPOVERLAPPED, LPOVERLAPPED_COMPLETION_ROUTINE);
9b639cf2d6 2015-05-05        kinaba: 	BOOL ReadEventLogA(HANDLE, DWORD, DWORD, PVOID, DWORD, DWORD*, DWORD*);
9b639cf2d6 2015-05-05        kinaba: 	BOOL ReadEventLogW(HANDLE, DWORD, DWORD, PVOID, DWORD, DWORD*, DWORD*);
9b639cf2d6 2015-05-05        kinaba: 	BOOL ReadFileScatter(HANDLE, FILE_SEGMENT_ELEMENT*, DWORD, LPDWORD, LPOVERLAPPED);
9b639cf2d6 2015-05-05        kinaba: 	HANDLE RegisterEventSourceA (LPCSTR, LPCSTR);
9b639cf2d6 2015-05-05        kinaba: 	HANDLE RegisterEventSourceW(LPCWSTR, LPCWSTR);
9b639cf2d6 2015-05-05        kinaba: 	BOOL ReportEventA(HANDLE, WORD, WORD, DWORD, PSID, WORD, DWORD, LPCSTR*, PVOID);
9b639cf2d6 2015-05-05        kinaba: 	BOOL ReportEventW(HANDLE, WORD, WORD, DWORD, PSID, WORD, DWORD, LPCWSTR*, PVOID);
9b639cf2d6 2015-05-05        kinaba: 	BOOL RevertToSelf();
9b639cf2d6 2015-05-05        kinaba: 	BOOL SetAclInformation(PACL, PVOID, DWORD, ACL_INFORMATION_CLASS);
9b639cf2d6 2015-05-05        kinaba: 	BOOL SetFileSecurityA(LPCSTR, SECURITY_INFORMATION, PSECURITY_DESCRIPTOR);
9b639cf2d6 2015-05-05        kinaba: 	BOOL SetFileSecurityW(LPCWSTR, SECURITY_INFORMATION, PSECURITY_DESCRIPTOR);
9b639cf2d6 2015-05-05        kinaba: 	BOOL SetHandleInformation(HANDLE, DWORD, DWORD);
9b639cf2d6 2015-05-05        kinaba: 	BOOL SetKernelObjectSecurity(HANDLE, SECURITY_INFORMATION, PSECURITY_DESCRIPTOR);
9b639cf2d6 2015-05-05        kinaba: 	BOOL SetPrivateObjectSecurity(SECURITY_INFORMATION, PSECURITY_DESCRIPTOR, PSECURITY_DESCRIPTOR*, PGENERIC_MAPPING, HANDLE);
9b639cf2d6 2015-05-05        kinaba: 	BOOL SetProcessAffinityMask(HANDLE, DWORD);
9b639cf2d6 2015-05-05        kinaba: 	BOOL SetProcessPriorityBoost(HANDLE, BOOL);
9b639cf2d6 2015-05-05        kinaba: 	BOOL SetProcessShutdownParameters(DWORD, DWORD);
9b639cf2d6 2015-05-05        kinaba: 	BOOL SetProcessWorkingSetSize(HANDLE, SIZE_T, SIZE_T);
9b639cf2d6 2015-05-05        kinaba: 	BOOL SetSecurityDescriptorDacl(PSECURITY_DESCRIPTOR, BOOL, PACL, BOOL);
9b639cf2d6 2015-05-05        kinaba: 	BOOL SetSecurityDescriptorGroup(PSECURITY_DESCRIPTOR, PSID, BOOL);
9b639cf2d6 2015-05-05        kinaba: 	BOOL SetSecurityDescriptorOwner(PSECURITY_DESCRIPTOR, PSID, BOOL);
9b639cf2d6 2015-05-05        kinaba: 	BOOL SetSecurityDescriptorSacl(PSECURITY_DESCRIPTOR, BOOL, PACL, BOOL);
9b639cf2d6 2015-05-05        kinaba: 	BOOL SetSystemTimeAdjustment(DWORD, BOOL);
9b639cf2d6 2015-05-05        kinaba: 	DWORD SetTapeParameters(HANDLE, DWORD, PVOID);
9b639cf2d6 2015-05-05        kinaba: 	DWORD SetTapePosition(HANDLE, DWORD, DWORD, DWORD, DWORD, BOOL);
9b639cf2d6 2015-05-05        kinaba: 	BOOL SetThreadPriorityBoost(HANDLE, BOOL);
9b639cf2d6 2015-05-05        kinaba: 	BOOL SetThreadToken(PHANDLE, HANDLE);
9b639cf2d6 2015-05-05        kinaba: 	BOOL SetTokenInformation(HANDLE, TOKEN_INFORMATION_CLASS, PVOID, DWORD);
9b639cf2d6 2015-05-05        kinaba: 	DWORD SignalObjectAndWait(HANDLE, HANDLE, DWORD, BOOL);
9b639cf2d6 2015-05-05        kinaba: 	BOOL SwitchToThread();
9b639cf2d6 2015-05-05        kinaba: 	BOOL SystemTimeToTzSpecificLocalTime(LPTIME_ZONE_INFORMATION, LPSYSTEMTIME, LPSYSTEMTIME);
9b639cf2d6 2015-05-05        kinaba: 	BOOL TryEnterCriticalSection(LPCRITICAL_SECTION);
9b639cf2d6 2015-05-05        kinaba: 	BOOL UnlockFileEx(HANDLE, DWORD, DWORD, DWORD, LPOVERLAPPED);
9b639cf2d6 2015-05-05        kinaba: 	BOOL UpdateResourceA(HANDLE, LPCSTR, LPCSTR, WORD, PVOID, DWORD);
9b639cf2d6 2015-05-05        kinaba: 	BOOL UpdateResourceW(HANDLE, LPCWSTR, LPCWSTR, WORD, PVOID, DWORD);
9b639cf2d6 2015-05-05        kinaba: 	BOOL WriteFileGather(HANDLE, FILE_SEGMENT_ELEMENT*, DWORD, LPDWORD, LPOVERLAPPED);
9b639cf2d6 2015-05-05        kinaba: 	DWORD WriteTapemark(HANDLE, DWORD, DWORD, BOOL);
9b639cf2d6 2015-05-05        kinaba: 
9b639cf2d6 2015-05-05        kinaba: 	static if (_WIN32_WINNT >= 0x500) {
9b639cf2d6 2015-05-05        kinaba: 		BOOL AddAccessAllowedAceEx(PACL, DWORD, DWORD, DWORD, PSID);
9b639cf2d6 2015-05-05        kinaba: 		BOOL AddAccessDeniedAceEx(PACL, DWORD, DWORD, DWORD, PSID);
9b639cf2d6 2015-05-05        kinaba: 		PVOID AddVectoredExceptionHandler(ULONG, PVECTORED_EXCEPTION_HANDLER);
9b639cf2d6 2015-05-05        kinaba: 		BOOL AllocateUserPhysicalPages(HANDLE, PULONG_PTR, PULONG_PTR);
9b639cf2d6 2015-05-05        kinaba: 		BOOL AssignProcessToJobObject(HANDLE, HANDLE);
9b639cf2d6 2015-05-05        kinaba: 		BOOL ChangeTimerQueueTimer(HANDLE,HANDLE,ULONG,ULONG);
9b639cf2d6 2015-05-05        kinaba: 		LPVOID CreateFiberEx(SIZE_T, SIZE_T, DWORD, LPFIBER_START_ROUTINE, LPVOID);
9b639cf2d6 2015-05-05        kinaba: 		HANDLE CreateFileMappingA(HANDLE, LPSECURITY_ATTRIBUTES, DWORD, DWORD, DWORD, LPCSTR);
9b639cf2d6 2015-05-05        kinaba: 		HANDLE CreateFileMappingW(HANDLE, LPSECURITY_ATTRIBUTES, DWORD, DWORD, DWORD, LPCWSTR);
9b639cf2d6 2015-05-05        kinaba: 		BOOL CreateHardLinkA(LPCSTR, LPCSTR, LPSECURITY_ATTRIBUTES);
9b639cf2d6 2015-05-05        kinaba: 		BOOL CreateHardLinkW(LPCWSTR, LPCWSTR, LPSECURITY_ATTRIBUTES);
9b639cf2d6 2015-05-05        kinaba: 		HANDLE CreateJobObjectA(LPSECURITY_ATTRIBUTES, LPCSTR);
9b639cf2d6 2015-05-05        kinaba: 		HANDLE CreateJobObjectW(LPSECURITY_ATTRIBUTES, LPCWSTR);
9b639cf2d6 2015-05-05        kinaba: 		BOOL CreateProcessWithLogonW(LPCWSTR, LPCWSTR, LPCWSTR, DWORD, LPCWSTR, LPWSTR, DWORD, LPVOID, LPCWSTR, LPSTARTUPINFOW, LPPROCESS_INFORMATION);
9b639cf2d6 2015-05-05        kinaba: 		HANDLE CreateTimerQueue();
9b639cf2d6 2015-05-05        kinaba: 		BOOL CreateTimerQueueTimer(PHANDLE, HANDLE, WAITORTIMERCALLBACK, PVOID, DWORD, DWORD, ULONG);
9b639cf2d6 2015-05-05        kinaba: 		BOOL DeleteTimerQueue(HANDLE);
9b639cf2d6 2015-05-05        kinaba: 		BOOL DeleteTimerQueueEx(HANDLE, HANDLE);
9b639cf2d6 2015-05-05        kinaba: 		BOOL DeleteTimerQueueTimer(HANDLE, HANDLE, HANDLE);
9b639cf2d6 2015-05-05        kinaba: 		BOOL DeleteVolumeMountPointA(LPCSTR);
9b639cf2d6 2015-05-05        kinaba: 		BOOL DeleteVolumeMountPointW(LPCWSTR);
9b639cf2d6 2015-05-05        kinaba: 		BOOL DnsHostnameToComputerNameA(LPCSTR, LPSTR, LPDWORD);
9b639cf2d6 2015-05-05        kinaba: 		BOOL DnsHostnameToComputerNameW(LPCWSTR, LPWSTR, LPDWORD);
9b639cf2d6 2015-05-05        kinaba: 		BOOL EncryptFileA(LPCSTR);
9b639cf2d6 2015-05-05        kinaba: 		BOOL EncryptFileW(LPCWSTR);
9b639cf2d6 2015-05-05        kinaba: 		BOOL FileEncryptionStatusA(LPCSTR, LPDWORD);
9b639cf2d6 2015-05-05        kinaba: 		BOOL FileEncryptionStatusW(LPCWSTR, LPDWORD);
9b639cf2d6 2015-05-05        kinaba: 		HANDLE FindFirstVolumeA(LPCSTR, DWORD);
9b639cf2d6 2015-05-05        kinaba: 		HANDLE FindFirstVolumeMountPointA(LPSTR, LPSTR, DWORD);
9b639cf2d6 2015-05-05        kinaba: 		HANDLE FindFirstVolumeMountPointW(LPWSTR, LPWSTR, DWORD);
9b639cf2d6 2015-05-05        kinaba: 		HANDLE FindFirstVolumeW(LPCWSTR, DWORD);
9b639cf2d6 2015-05-05        kinaba: 		BOOL FindNextVolumeA(HANDLE, LPCSTR, DWORD);
9b639cf2d6 2015-05-05        kinaba: 		BOOL FindNextVolumeW(HANDLE, LPWSTR, DWORD);
9b639cf2d6 2015-05-05        kinaba: 		BOOL FindNextVolumeMountPointA(HANDLE, LPSTR, DWORD);
9b639cf2d6 2015-05-05        kinaba: 		BOOL FindNextVolumeMountPointW(HANDLE, LPWSTR, DWORD);
9b639cf2d6 2015-05-05        kinaba: 		BOOL FindVolumeClose(HANDLE);
9b639cf2d6 2015-05-05        kinaba: 		BOOL FindVolumeMountPointClose(HANDLE);
9b639cf2d6 2015-05-05        kinaba: 		BOOL FlushViewOfFile(PCVOID, DWORD);
9b639cf2d6 2015-05-05        kinaba: 		BOOL FreeUserPhysicalPages(HANDLE, PULONG_PTR, PULONG_PTR);
9b639cf2d6 2015-05-05        kinaba: 		BOOL GetComputerNameExA(COMPUTER_NAME_FORMAT, LPSTR, LPDWORD);
9b639cf2d6 2015-05-05        kinaba: 		BOOL GetComputerNameExW(COMPUTER_NAME_FORMAT, LPWSTR, LPDWORD);
9b639cf2d6 2015-05-05        kinaba: 		BOOL GetFileSizeEx(HANDLE, PLARGE_INTEGER);
9b639cf2d6 2015-05-05        kinaba: 		BOOL GetModuleHandleExA(DWORD, LPCSTR, HMODULE*);
9b639cf2d6 2015-05-05        kinaba: 		BOOL GetModuleHandleExW(DWORD, LPCWSTR, HMODULE*);
9b639cf2d6 2015-05-05        kinaba: 		HANDLE GetProcessHeap();
9b639cf2d6 2015-05-05        kinaba: 		DWORD GetProcessHeaps(DWORD, PHANDLE);
9b639cf2d6 2015-05-05        kinaba: 		BOOL GetProcessIoCounters(HANDLE, PIO_COUNTERS);
9b639cf2d6 2015-05-05        kinaba: 		BOOL GetSystemPowerStatus(LPSYSTEM_POWER_STATUS);
9b639cf2d6 2015-05-05        kinaba: 		UINT GetSystemWindowsDirectoryA(LPSTR, UINT);
9b639cf2d6 2015-05-05        kinaba: 		UINT GetSystemWindowsDirectoryW(LPWSTR, UINT);
9b639cf2d6 2015-05-05        kinaba: 		BOOL GetVolumeNameForVolumeMountPointA(LPCSTR, LPSTR, DWORD);
9b639cf2d6 2015-05-05        kinaba: 		BOOL GetVolumeNameForVolumeMountPointW(LPCWSTR, LPWSTR, DWORD);
9b639cf2d6 2015-05-05        kinaba: 		BOOL GetVolumePathNameA(LPCSTR, LPSTR, DWORD);
9b639cf2d6 2015-05-05        kinaba: 		BOOL GetVolumePathNameW(LPCWSTR, LPWSTR, DWORD);
9b639cf2d6 2015-05-05        kinaba: 		BOOL GlobalMemoryStatusEx(LPMEMORYSTATUSEX);
9b639cf2d6 2015-05-05        kinaba: 		BOOL IsBadCodePtr(FARPROC);
9b639cf2d6 2015-05-05        kinaba: 		BOOL IsSystemResumeAutomatic();
9b639cf2d6 2015-05-05        kinaba: 		BOOL MapUserPhysicalPages(PVOID, ULONG_PTR, PULONG_PTR);
9b639cf2d6 2015-05-05        kinaba: 		BOOL MapUserPhysicalPagesScatter(PVOID*, ULONG_PTR, PULONG_PTR);
9b639cf2d6 2015-05-05        kinaba: 		PVOID MapViewOfFile(HANDLE, DWORD, DWORD, DWORD, DWORD);
9b639cf2d6 2015-05-05        kinaba: 		PVOID MapViewOfFileEx(HANDLE, DWORD, DWORD, DWORD, DWORD, PVOID);
9b639cf2d6 2015-05-05        kinaba: 		HANDLE OpenFileMappingA(DWORD, BOOL, LPCSTR);
9b639cf2d6 2015-05-05        kinaba: 		HANDLE OpenFileMappingW(DWORD, BOOL, LPCWSTR);
9b639cf2d6 2015-05-05        kinaba: 		BOOL ProcessIdToSessionId(DWORD, DWORD*);
9b639cf2d6 2015-05-05        kinaba: 		BOOL QueryInformationJobObject(HANDLE, JOBOBJECTINFOCLASS, LPVOID, DWORD, LPDWORD);
9b639cf2d6 2015-05-05        kinaba: 		ULONG RemoveVectoredExceptionHandler(PVOID);
9b639cf2d6 2015-05-05        kinaba: 		BOOL ReplaceFileA(LPCSTR, LPCSTR, LPCSTR, DWORD, LPVOID, LPVOID);
9b639cf2d6 2015-05-05        kinaba: 		BOOL ReplaceFileW(LPCWSTR, LPCWSTR, LPCWSTR, DWORD, LPVOID, LPVOID);
9b639cf2d6 2015-05-05        kinaba: 		BOOL SetComputerNameExA(COMPUTER_NAME_FORMAT, LPCSTR);
9b639cf2d6 2015-05-05        kinaba: 		BOOL SetComputerNameExW(COMPUTER_NAME_FORMAT, LPCWSTR);
9b639cf2d6 2015-05-05        kinaba: 		BOOL SetFilePointerEx(HANDLE, LARGE_INTEGER, PLARGE_INTEGER, DWORD);
9b639cf2d6 2015-05-05        kinaba: 		BOOL SetInformationJobObject(HANDLE, JOBOBJECTINFOCLASS, LPVOID, DWORD);
9b639cf2d6 2015-05-05        kinaba: 		BOOL SetSecurityDescriptorControl(PSECURITY_DESCRIPTOR, SECURITY_DESCRIPTOR_CONTROL, SECURITY_DESCRIPTOR_CONTROL);
9b639cf2d6 2015-05-05        kinaba: 		BOOL SetSystemPowerState(BOOL, BOOL);
9b639cf2d6 2015-05-05        kinaba: 		EXECUTION_STATE SetThreadExecutionState(EXECUTION_STATE);
9b639cf2d6 2015-05-05        kinaba: 		DWORD SetThreadIdealProcessor(HANDLE, DWORD);
9b639cf2d6 2015-05-05        kinaba: 		BOOL SetVolumeMountPointA(LPCSTR, LPCSTR);
9b639cf2d6 2015-05-05        kinaba: 		BOOL SetVolumeMountPointW(LPCWSTR, LPCWSTR);
9b639cf2d6 2015-05-05        kinaba: 		BOOL TerminateJobObject(HANDLE, UINT);
9b639cf2d6 2015-05-05        kinaba: 		BOOL UnmapViewOfFile(PVOID);
9b639cf2d6 2015-05-05        kinaba: 		BOOL UnregisterWait(HANDLE);
9b639cf2d6 2015-05-05        kinaba: 		BOOL UnregisterWaitEx(HANDLE, HANDLE);
9b639cf2d6 2015-05-05        kinaba: 		BOOL VerifyVersionInfoA(LPOSVERSIONINFOEXA, DWORD, DWORDLONG);
9b639cf2d6 2015-05-05        kinaba: 		BOOL VerifyVersionInfoW(LPOSVERSIONINFOEXW, DWORD, DWORDLONG);
9b639cf2d6 2015-05-05        kinaba: 	}
9b639cf2d6 2015-05-05        kinaba: 
9b639cf2d6 2015-05-05        kinaba: 	static if (_WIN32_WINNT >= 0x501) {
9b639cf2d6 2015-05-05        kinaba: 		BOOL ActivateActCtx(HANDLE, ULONG_PTR*);
9b639cf2d6 2015-05-05        kinaba: 		void AddRefActCtx(HANDLE);
9b639cf2d6 2015-05-05        kinaba: 		BOOL CheckNameLegalDOS8Dot3A(LPCSTR, LPSTR, DWORD, PBOOL, PBOOL);
9b639cf2d6 2015-05-05        kinaba: 		BOOL CheckNameLegalDOS8Dot3W(LPCWSTR, LPSTR, DWORD, PBOOL, PBOOL);
9b639cf2d6 2015-05-05        kinaba: 		BOOL CheckRemoteDebuggerPresent(HANDLE, PBOOL);
9b639cf2d6 2015-05-05        kinaba: 		BOOL ConvertFiberToThread();
9b639cf2d6 2015-05-05        kinaba: 		HANDLE CreateActCtxA(PCACTCTXA);
9b639cf2d6 2015-05-05        kinaba: 		HANDLE CreateActCtxW(PCACTCTXW);
9b639cf2d6 2015-05-05        kinaba: 		HANDLE CreateMemoryResourceNotification(MEMORY_RESOURCE_NOTIFICATION_TYPE);
9b639cf2d6 2015-05-05        kinaba: 		BOOL DeactivateActCtx(DWORD, ULONG_PTR);
9b639cf2d6 2015-05-05        kinaba: 		BOOL DebugActiveProcessStop(DWORD);
9b639cf2d6 2015-05-05        kinaba: 		BOOL DebugBreakProcess(HANDLE);
9b639cf2d6 2015-05-05        kinaba: 		BOOL DebugSetProcessKillOnExit(BOOL);
9b639cf2d6 2015-05-05        kinaba: 		BOOL FindActCtxSectionGuid(DWORD, const(GUID)*, ULONG, const(GUID)*,
9b639cf2d6 2015-05-05        kinaba: 		  PACTCTX_SECTION_KEYED_DATA);
9b639cf2d6 2015-05-05        kinaba: 		BOOL FindActCtxSectionStringA(DWORD, const(GUID)*, ULONG, LPCSTR,
9b639cf2d6 2015-05-05        kinaba: 		  PACTCTX_SECTION_KEYED_DATA);
9b639cf2d6 2015-05-05        kinaba: 		BOOL FindActCtxSectionStringW(DWORD, const(GUID)*, ULONG, LPCWSTR,
9b639cf2d6 2015-05-05        kinaba: 		  PACTCTX_SECTION_KEYED_DATA);
9b639cf2d6 2015-05-05        kinaba: 		BOOL GetCurrentActCtx(HANDLE*);
9b639cf2d6 2015-05-05        kinaba: 		VOID GetNativeSystemInfo(LPSYSTEM_INFO);
9b639cf2d6 2015-05-05        kinaba: 		BOOL GetProcessHandleCount(HANDLE, PDWORD);
9b639cf2d6 2015-05-05        kinaba: 		BOOL GetSystemRegistryQuota(PDWORD, PDWORD);
9b639cf2d6 2015-05-05        kinaba: 		BOOL GetSystemTimes(LPFILETIME, LPFILETIME, LPFILETIME);
9b639cf2d6 2015-05-05        kinaba: 		UINT GetSystemWow64DirectoryA(LPSTR, UINT);
9b639cf2d6 2015-05-05        kinaba: 		UINT GetSystemWow64DirectoryW(LPWSTR, UINT);
9b639cf2d6 2015-05-05        kinaba: 		BOOL GetThreadIOPendingFlag(HANDLE, PBOOL);
9b639cf2d6 2015-05-05        kinaba: 		BOOL GetVolumePathNamesForVolumeNameA(LPCSTR, LPSTR, DWORD, PDWORD);
9b639cf2d6 2015-05-05        kinaba: 		BOOL GetVolumePathNamesForVolumeNameW(LPCWSTR, LPWSTR, DWORD, PDWORD);
9b639cf2d6 2015-05-05        kinaba: 		UINT GetWriteWatch(DWORD, PVOID, SIZE_T, PVOID*, PULONG_PTR, PULONG);
9b639cf2d6 2015-05-05        kinaba: 		BOOL HeapQueryInformation(HANDLE, HEAP_INFORMATION_CLASS, PVOID, SIZE_T, PSIZE_T);
9b639cf2d6 2015-05-05        kinaba: 		BOOL HeapSetInformation(HANDLE, HEAP_INFORMATION_CLASS, PVOID, SIZE_T);
9b639cf2d6 2015-05-05        kinaba: 		BOOL IsProcessInJob(HANDLE, HANDLE, PBOOL);
9b639cf2d6 2015-05-05        kinaba: 		BOOL IsWow64Process(HANDLE, PBOOL);
9b639cf2d6 2015-05-05        kinaba: 		BOOL QueryActCtxW(DWORD, HANDLE, PVOID, ULONG, PVOID, SIZE_T, SIZE_T*);
9b639cf2d6 2015-05-05        kinaba: 		BOOL QueryMemoryResourceNotification(HANDLE, PBOOL);
9b639cf2d6 2015-05-05        kinaba: 		void ReleaseActCtx(HANDLE);
9b639cf2d6 2015-05-05        kinaba: 		UINT ResetWriteWatch(LPVOID, SIZE_T);
9b639cf2d6 2015-05-05        kinaba: 		BOOL SetFileShortNameA(HANDLE, LPCSTR);
9b639cf2d6 2015-05-05        kinaba: 		BOOL SetFileShortNameW(HANDLE, LPCWSTR);
9b639cf2d6 2015-05-05        kinaba: 		BOOL SetFileValidData(HANDLE, LONGLONG);
9b639cf2d6 2015-05-05        kinaba: 		BOOL ZombifyActCtx(HANDLE);
9b639cf2d6 2015-05-05        kinaba: 	}
9b639cf2d6 2015-05-05        kinaba: 
9b639cf2d6 2015-05-05        kinaba: 	static if (_WIN32_WINNT >= 0x502) {
9b639cf2d6 2015-05-05        kinaba: 		DWORD GetFirmwareEnvironmentVariableA(LPCSTR, LPCSTR, PVOID, DWORD);
9b639cf2d6 2015-05-05        kinaba: 		DWORD GetFirmwareEnvironmentVariableW(LPCWSTR, LPCWSTR, PVOID, DWORD);
9b639cf2d6 2015-05-05        kinaba: 		DWORD GetDllDirectoryA(DWORD, LPSTR);
9b639cf2d6 2015-05-05        kinaba: 		DWORD GetDllDirectoryW(DWORD, LPWSTR);
9b639cf2d6 2015-05-05        kinaba: 		DWORD GetThreadId(HANDLE);
9b639cf2d6 2015-05-05        kinaba: 		DWORD GetProcessId(HANDLE);
9b639cf2d6 2015-05-05        kinaba: 		HANDLE ReOpenFile(HANDLE, DWORD, DWORD, DWORD);
9b639cf2d6 2015-05-05        kinaba: 		BOOL SetDllDirectoryA(LPCSTR);
9b639cf2d6 2015-05-05        kinaba: 		BOOL SetDllDirectoryW(LPCWSTR);
9b639cf2d6 2015-05-05        kinaba: 		BOOL SetFirmwareEnvironmentVariableA(LPCSTR, LPCSTR, PVOID, DWORD);
9b639cf2d6 2015-05-05        kinaba: 		BOOL SetFirmwareEnvironmentVariableW(LPCWSTR, LPCWSTR, PVOID, DWORD);
4e2933c620 2015-04-21        kinaba: 	}
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: 	// ???
4e2933c620 2015-04-21        kinaba: 	static if (_WIN32_WINNT >= 0x510) {
4e2933c620 2015-04-21        kinaba: 		VOID RestoreLastError(DWORD);
4e2933c620 2015-04-21        kinaba: 	}
c2b7a98c21 2011-02-23        kinaba: }
4e2933c620 2015-04-21        kinaba: 
9b639cf2d6 2015-05-05        kinaba: mixin DECLARE_AW!("STARTUPINFO");
4e2933c620 2015-04-21        kinaba: version (Unicode) {
9b639cf2d6 2015-05-05        kinaba: 	//alias STARTUPINFOW STARTUPINFO;
4e2933c620 2015-04-21        kinaba: 	alias WIN32_FIND_DATAW WIN32_FIND_DATA;
4e2933c620 2015-04-21        kinaba: 	alias ENUMRESLANGPROCW ENUMRESLANGPROC;
4e2933c620 2015-04-21        kinaba: 	alias ENUMRESNAMEPROCW ENUMRESNAMEPROC;
4e2933c620 2015-04-21        kinaba: 	alias ENUMRESTYPEPROCW ENUMRESTYPEPROC;
4e2933c620 2015-04-21        kinaba: 	alias AddAtomW AddAtom;
4e2933c620 2015-04-21        kinaba: 	alias BeginUpdateResourceW BeginUpdateResource;
4e2933c620 2015-04-21        kinaba: 	alias BuildCommDCBW BuildCommDCB;
4e2933c620 2015-04-21        kinaba: 	alias BuildCommDCBAndTimeoutsW BuildCommDCBAndTimeouts;
4e2933c620 2015-04-21        kinaba: 	alias CallNamedPipeW CallNamedPipe;
4e2933c620 2015-04-21        kinaba: 	alias CommConfigDialogW CommConfigDialog;
4e2933c620 2015-04-21        kinaba: 	alias CopyFileW CopyFile;
4e2933c620 2015-04-21        kinaba: 	alias CopyFileExW CopyFileEx;
4e2933c620 2015-04-21        kinaba: 	alias CreateDirectoryW CreateDirectory;
4e2933c620 2015-04-21        kinaba: 	alias CreateDirectoryExW CreateDirectoryEx;
4e2933c620 2015-04-21        kinaba: 	alias CreateEventW CreateEvent;
4e2933c620 2015-04-21        kinaba: 	alias CreateFileW CreateFile;
4e2933c620 2015-04-21        kinaba: 	alias CreateMailslotW CreateMailslot;
4e2933c620 2015-04-21        kinaba: 	alias CreateMutexW CreateMutex;
4e2933c620 2015-04-21        kinaba: 	alias CreateProcessW CreateProcess;
4e2933c620 2015-04-21        kinaba: 	alias CreateSemaphoreW CreateSemaphore;
4e2933c620 2015-04-21        kinaba: 	alias DeleteFileW DeleteFile;
4e2933c620 2015-04-21        kinaba: 	alias EndUpdateResourceW EndUpdateResource;
4e2933c620 2015-04-21        kinaba: 	alias EnumResourceLanguagesW EnumResourceLanguages;
4e2933c620 2015-04-21        kinaba: 	alias EnumResourceNamesW EnumResourceNames;
4e2933c620 2015-04-21        kinaba: 	alias EnumResourceTypesW EnumResourceTypes;
4e2933c620 2015-04-21        kinaba: 	alias ExpandEnvironmentStringsW ExpandEnvironmentStrings;
4e2933c620 2015-04-21        kinaba: 	alias FatalAppExitW FatalAppExit;
4e2933c620 2015-04-21        kinaba: 	alias FindAtomW FindAtom;
4e2933c620 2015-04-21        kinaba: 	alias FindFirstChangeNotificationW FindFirstChangeNotification;
4e2933c620 2015-04-21        kinaba: 	alias FindFirstFileW FindFirstFile;
4e2933c620 2015-04-21        kinaba: 	alias FindNextFileW FindNextFile;
4e2933c620 2015-04-21        kinaba: 	alias FindResourceW FindResource;
4e2933c620 2015-04-21        kinaba: 	alias FindResourceExW FindResourceEx;
4e2933c620 2015-04-21        kinaba: 	alias FormatMessageW FormatMessage;
4e2933c620 2015-04-21        kinaba: 	alias FreeEnvironmentStringsW FreeEnvironmentStrings;
4e2933c620 2015-04-21        kinaba: 	alias GetAtomNameW GetAtomName;
4e2933c620 2015-04-21        kinaba: 	alias GetCommandLineW GetCommandLine;
4e2933c620 2015-04-21        kinaba: 	alias GetComputerNameW GetComputerName;
4e2933c620 2015-04-21        kinaba: 	alias GetCurrentDirectoryW GetCurrentDirectory;
4e2933c620 2015-04-21        kinaba: 	alias GetDefaultCommConfigW GetDefaultCommConfig;
4e2933c620 2015-04-21        kinaba: 	alias GetDiskFreeSpaceW GetDiskFreeSpace;
4e2933c620 2015-04-21        kinaba: 	alias GetDiskFreeSpaceExW GetDiskFreeSpaceEx;
4e2933c620 2015-04-21        kinaba: 	alias GetDriveTypeW GetDriveType;
4e2933c620 2015-04-21        kinaba: 	alias GetEnvironmentStringsW GetEnvironmentStrings;
4e2933c620 2015-04-21        kinaba: 	alias GetEnvironmentVariableW GetEnvironmentVariable;
4e2933c620 2015-04-21        kinaba: 	alias GetFileAttributesW GetFileAttributes;
4e2933c620 2015-04-21        kinaba: 	alias GetFullPathNameW GetFullPathName;
4e2933c620 2015-04-21        kinaba: 	alias GetLogicalDriveStringsW GetLogicalDriveStrings;
4e2933c620 2015-04-21        kinaba: 	alias GetModuleFileNameW GetModuleFileName;
4e2933c620 2015-04-21        kinaba: 	alias GetModuleHandleW GetModuleHandle;
4e2933c620 2015-04-21        kinaba: 	alias GetNamedPipeHandleStateW GetNamedPipeHandleState;
4e2933c620 2015-04-21        kinaba: 	alias GetPrivateProfileIntW GetPrivateProfileInt;
4e2933c620 2015-04-21        kinaba: 	alias GetPrivateProfileSectionW GetPrivateProfileSection;
4e2933c620 2015-04-21        kinaba: 	alias GetPrivateProfileSectionNamesW GetPrivateProfileSectionNames;
4e2933c620 2015-04-21        kinaba: 	alias GetPrivateProfileStringW GetPrivateProfileString;
4e2933c620 2015-04-21        kinaba: 	alias GetPrivateProfileStructW GetPrivateProfileStruct;
4e2933c620 2015-04-21        kinaba: 	alias GetProfileIntW GetProfileInt;
4e2933c620 2015-04-21        kinaba: 	alias GetProfileSectionW GetProfileSection;
4e2933c620 2015-04-21        kinaba: 	alias GetProfileStringW GetProfileString;
4e2933c620 2015-04-21        kinaba: 	alias GetShortPathNameW GetShortPathName;
4e2933c620 2015-04-21        kinaba: 	alias GetStartupInfoW GetStartupInfo;
4e2933c620 2015-04-21        kinaba: 	alias GetSystemDirectoryW GetSystemDirectory;
4e2933c620 2015-04-21        kinaba: 	alias GetTempFileNameW GetTempFileName;
4e2933c620 2015-04-21        kinaba: 	alias GetTempPathW GetTempPath;
4e2933c620 2015-04-21        kinaba: 	alias GetUserNameW GetUserName;
4e2933c620 2015-04-21        kinaba: 	alias GetVersionExW GetVersionEx;
4e2933c620 2015-04-21        kinaba: 	alias GetVolumeInformationW GetVolumeInformation;
4e2933c620 2015-04-21        kinaba: 	alias GetWindowsDirectoryW GetWindowsDirectory;
4e2933c620 2015-04-21        kinaba: 	alias GlobalAddAtomW GlobalAddAtom;
4e2933c620 2015-04-21        kinaba: 	alias GlobalFindAtomW GlobalFindAtom;
4e2933c620 2015-04-21        kinaba: 	alias GlobalGetAtomNameW GlobalGetAtomName;
4e2933c620 2015-04-21        kinaba: 	alias IsBadStringPtrW IsBadStringPtr;
4e2933c620 2015-04-21        kinaba: 	alias LoadLibraryW LoadLibrary;
4e2933c620 2015-04-21        kinaba: 	alias LoadLibraryExW LoadLibraryEx;
4e2933c620 2015-04-21        kinaba: 	alias lstrcatW lstrcat;
4e2933c620 2015-04-21        kinaba: 	alias lstrcmpW lstrcmp;
4e2933c620 2015-04-21        kinaba: 	alias lstrcmpiW lstrcmpi;
4e2933c620 2015-04-21        kinaba: 	alias lstrcpyW lstrcpy;
4e2933c620 2015-04-21        kinaba: 	alias lstrcpynW lstrcpyn;
4e2933c620 2015-04-21        kinaba: 	alias lstrlenW lstrlen;
4e2933c620 2015-04-21        kinaba: 	alias MoveFileW MoveFile;
4e2933c620 2015-04-21        kinaba: 	alias OpenEventW OpenEvent;
4e2933c620 2015-04-21        kinaba: 	alias OpenMutexW OpenMutex;
4e2933c620 2015-04-21        kinaba: 	alias OpenSemaphoreW OpenSemaphore;
4e2933c620 2015-04-21        kinaba: 	alias OutputDebugStringW OutputDebugString;
4e2933c620 2015-04-21        kinaba: 	alias RemoveDirectoryW RemoveDirectory;
4e2933c620 2015-04-21        kinaba: 	alias SearchPathW SearchPath;
4e2933c620 2015-04-21        kinaba: 	alias SetComputerNameW SetComputerName;
4e2933c620 2015-04-21        kinaba: 	alias SetCurrentDirectoryW SetCurrentDirectory;
4e2933c620 2015-04-21        kinaba: 	alias SetDefaultCommConfigW SetDefaultCommConfig;
4e2933c620 2015-04-21        kinaba: 	alias SetEnvironmentVariableW SetEnvironmentVariable;
4e2933c620 2015-04-21        kinaba: 	alias SetFileAttributesW SetFileAttributes;
4e2933c620 2015-04-21        kinaba: 	alias SetVolumeLabelW SetVolumeLabel;
4e2933c620 2015-04-21        kinaba: 	alias WaitNamedPipeW WaitNamedPipe;
4e2933c620 2015-04-21        kinaba: 	alias WritePrivateProfileSectionW WritePrivateProfileSection;
4e2933c620 2015-04-21        kinaba: 	alias WritePrivateProfileStringW WritePrivateProfileString;
4e2933c620 2015-04-21        kinaba: 	alias WritePrivateProfileStructW WritePrivateProfileStruct;
4e2933c620 2015-04-21        kinaba: 	alias WriteProfileSectionW WriteProfileSection;
4e2933c620 2015-04-21        kinaba: 	alias WriteProfileStringW WriteProfileString;
9b639cf2d6 2015-05-05        kinaba: 	alias CreateWaitableTimerW CreateWaitableTimer;
9b639cf2d6 2015-05-05        kinaba: 	alias GetFileAttributesExW GetFileAttributesEx;
9b639cf2d6 2015-05-05        kinaba: 	alias GetLongPathNameW GetLongPathName;
9b639cf2d6 2015-05-05        kinaba: 	alias QueryDosDeviceW QueryDosDevice;
9b639cf2d6 2015-05-05        kinaba: 
9b639cf2d6 2015-05-05        kinaba: 	alias HW_PROFILE_INFOW HW_PROFILE_INFO;
9b639cf2d6 2015-05-05        kinaba: 	alias AccessCheckAndAuditAlarmW AccessCheckAndAuditAlarm;
9b639cf2d6 2015-05-05        kinaba: 	alias BackupEventLogW BackupEventLog;
9b639cf2d6 2015-05-05        kinaba: 	alias ClearEventLogW ClearEventLog;
9b639cf2d6 2015-05-05        kinaba: 	alias CreateNamedPipeW CreateNamedPipe;
9b639cf2d6 2015-05-05        kinaba: 	alias CreateProcessAsUserW CreateProcessAsUser;
9b639cf2d6 2015-05-05        kinaba: 	alias DefineDosDeviceW DefineDosDevice;
9b639cf2d6 2015-05-05        kinaba: 	alias FindFirstFileExW FindFirstFileEx;
9b639cf2d6 2015-05-05        kinaba: 	alias GetBinaryTypeW GetBinaryType;
9b639cf2d6 2015-05-05        kinaba: 	alias GetCompressedFileSizeW GetCompressedFileSize;
9b639cf2d6 2015-05-05        kinaba: 	alias GetFileSecurityW GetFileSecurity;
9b639cf2d6 2015-05-05        kinaba: 	alias LogonUserW LogonUser;
9b639cf2d6 2015-05-05        kinaba: 	alias LookupAccountNameW LookupAccountName;
9b639cf2d6 2015-05-05        kinaba: 	alias LookupAccountSidW LookupAccountSid;
9b639cf2d6 2015-05-05        kinaba: 	alias LookupPrivilegeDisplayNameW LookupPrivilegeDisplayName;
9b639cf2d6 2015-05-05        kinaba: 	alias LookupPrivilegeNameW LookupPrivilegeName;
9b639cf2d6 2015-05-05        kinaba: 	alias LookupPrivilegeValueW LookupPrivilegeValue;
9b639cf2d6 2015-05-05        kinaba: 	alias MoveFileExW MoveFileEx;
9b639cf2d6 2015-05-05        kinaba: 	alias ObjectCloseAuditAlarmW ObjectCloseAuditAlarm;
9b639cf2d6 2015-05-05        kinaba: 	alias ObjectDeleteAuditAlarmW ObjectDeleteAuditAlarm;
9b639cf2d6 2015-05-05        kinaba: 	alias ObjectOpenAuditAlarmW ObjectOpenAuditAlarm;
9b639cf2d6 2015-05-05        kinaba: 	alias ObjectPrivilegeAuditAlarmW ObjectPrivilegeAuditAlarm;
9b639cf2d6 2015-05-05        kinaba: 	alias OpenBackupEventLogW OpenBackupEventLog;
9b639cf2d6 2015-05-05        kinaba: 	alias OpenEventLogW OpenEventLog;
9b639cf2d6 2015-05-05        kinaba: 	alias PrivilegedServiceAuditAlarmW PrivilegedServiceAuditAlarm;
9b639cf2d6 2015-05-05        kinaba: 	alias ReadEventLogW ReadEventLog;
9b639cf2d6 2015-05-05        kinaba: 	alias RegisterEventSourceW RegisterEventSource;
9b639cf2d6 2015-05-05        kinaba: 	alias ReportEventW ReportEvent;
9b639cf2d6 2015-05-05        kinaba: 	alias SetFileSecurityW SetFileSecurity;
9b639cf2d6 2015-05-05        kinaba: 	alias UpdateResourceW UpdateResource;
c2b7a98c21 2011-02-23        kinaba: 
9b639cf2d6 2015-05-05        kinaba: 	static if (_WIN32_WINNT >= 0x500) {
9b639cf2d6 2015-05-05        kinaba: 		alias CreateFileMappingW CreateFileMapping;
9b639cf2d6 2015-05-05        kinaba: 		alias CreateHardLinkW CreateHardLink;
9b639cf2d6 2015-05-05        kinaba: 		alias CreateJobObjectW CreateJobObject;
9b639cf2d6 2015-05-05        kinaba: 		alias DeleteVolumeMountPointW DeleteVolumeMountPoint;
9b639cf2d6 2015-05-05        kinaba: 		alias DnsHostnameToComputerNameW DnsHostnameToComputerName;
9b639cf2d6 2015-05-05        kinaba: 		alias EncryptFileW EncryptFile;
9b639cf2d6 2015-05-05        kinaba: 		alias FileEncryptionStatusW FileEncryptionStatus;
9b639cf2d6 2015-05-05        kinaba: 		alias FindFirstVolumeW FindFirstVolume;
9b639cf2d6 2015-05-05        kinaba: 		alias FindFirstVolumeMountPointW FindFirstVolumeMountPoint;
9b639cf2d6 2015-05-05        kinaba: 		alias FindNextVolumeW FindNextVolume;
9b639cf2d6 2015-05-05        kinaba: 		alias FindNextVolumeMountPointW FindNextVolumeMountPoint;
9b639cf2d6 2015-05-05        kinaba: 		alias GetModuleHandleExW GetModuleHandleEx;
9b639cf2d6 2015-05-05        kinaba: 		alias GetSystemWindowsDirectoryW GetSystemWindowsDirectory;
9b639cf2d6 2015-05-05        kinaba: 		alias GetVolumeNameForVolumeMountPointW GetVolumeNameForVolumeMountPoint;
9b639cf2d6 2015-05-05        kinaba: 		alias GetVolumePathNameW GetVolumePathName;
9b639cf2d6 2015-05-05        kinaba: 		alias OpenFileMappingW OpenFileMapping;
9b639cf2d6 2015-05-05        kinaba: 		alias ReplaceFileW ReplaceFile;
9b639cf2d6 2015-05-05        kinaba: 		alias SetVolumeMountPointW SetVolumeMountPoint;
9b639cf2d6 2015-05-05        kinaba: 		alias VerifyVersionInfoW VerifyVersionInfo;
4e2933c620 2015-04-21        kinaba: 	}
c2b7a98c21 2011-02-23        kinaba: 
9b639cf2d6 2015-05-05        kinaba: 	static if (_WIN32_WINNT >= 0x501) {
9b639cf2d6 2015-05-05        kinaba: 		alias ACTCTXW ACTCTX;
9b639cf2d6 2015-05-05        kinaba: 		alias CheckNameLegalDOS8Dot3W CheckNameLegalDOS8Dot3;
9b639cf2d6 2015-05-05        kinaba: 		alias CreateActCtxW CreateActCtx;
9b639cf2d6 2015-05-05        kinaba: 		alias FindActCtxSectionStringW FindActCtxSectionString;
9b639cf2d6 2015-05-05        kinaba: 		alias GetSystemWow64DirectoryW GetSystemWow64Directory;
9b639cf2d6 2015-05-05        kinaba: 		alias GetVolumePathNamesForVolumeNameW GetVolumePathNamesForVolumeName;
9b639cf2d6 2015-05-05        kinaba: 		alias SetFileShortNameW SetFileShortName;
9b639cf2d6 2015-05-05        kinaba: 	}
c2b7a98c21 2011-02-23        kinaba: 
9b639cf2d6 2015-05-05        kinaba: 	static if (_WIN32_WINNT >= 0x502) {
9b639cf2d6 2015-05-05        kinaba: 		alias SetFirmwareEnvironmentVariableW SetFirmwareEnvironmentVariable;
9b639cf2d6 2015-05-05        kinaba: 		alias SetDllDirectoryW SetDllDirectory;
9b639cf2d6 2015-05-05        kinaba: 		alias GetDllDirectoryW GetDllDirectory;
4e2933c620 2015-04-21        kinaba: 	}
c2b7a98c21 2011-02-23        kinaba: 
4e2933c620 2015-04-21        kinaba: } else {
9b639cf2d6 2015-05-05        kinaba: 	//alias STARTUPINFOA STARTUPINFO;
4e2933c620 2015-04-21        kinaba: 	alias WIN32_FIND_DATAA WIN32_FIND_DATA;
4e2933c620 2015-04-21        kinaba: 	alias ENUMRESLANGPROCW ENUMRESLANGPROC;
4e2933c620 2015-04-21        kinaba: 	alias ENUMRESNAMEPROCW ENUMRESNAMEPROC;
4e2933c620 2015-04-21        kinaba: 	alias ENUMRESTYPEPROCW ENUMRESTYPEPROC;
4e2933c620 2015-04-21        kinaba: 	alias AddAtomA AddAtom;
4e2933c620 2015-04-21        kinaba: 	alias BeginUpdateResourceA BeginUpdateResource;
4e2933c620 2015-04-21        kinaba: 	alias BuildCommDCBA BuildCommDCB;
4e2933c620 2015-04-21        kinaba: 	alias BuildCommDCBAndTimeoutsA BuildCommDCBAndTimeouts;
4e2933c620 2015-04-21        kinaba: 	alias CallNamedPipeA CallNamedPipe;
4e2933c620 2015-04-21        kinaba: 	alias CommConfigDialogA CommConfigDialog;
4e2933c620 2015-04-21        kinaba: 	alias CopyFileA CopyFile;
4e2933c620 2015-04-21        kinaba: 	alias CopyFileExA CopyFileEx;
4e2933c620 2015-04-21        kinaba: 	alias CreateDirectoryA CreateDirectory;
4e2933c620 2015-04-21        kinaba: 	alias CreateDirectoryExA CreateDirectoryEx;
4e2933c620 2015-04-21        kinaba: 	alias CreateEventA CreateEvent;
4e2933c620 2015-04-21        kinaba: 	alias CreateFileA CreateFile;
4e2933c620 2015-04-21        kinaba: 	alias CreateMailslotA CreateMailslot;
4e2933c620 2015-04-21        kinaba: 	alias CreateMutexA CreateMutex;
4e2933c620 2015-04-21        kinaba: 	alias CreateProcessA CreateProcess;
4e2933c620 2015-04-21        kinaba: 	alias CreateSemaphoreA CreateSemaphore;
4e2933c620 2015-04-21        kinaba: 	alias DeleteFileA DeleteFile;
4e2933c620 2015-04-21        kinaba: 	alias EndUpdateResourceA EndUpdateResource;
4e2933c620 2015-04-21        kinaba: 	alias EnumResourceLanguagesA EnumResourceLanguages;
4e2933c620 2015-04-21        kinaba: 	alias EnumResourceNamesA EnumResourceNames;
4e2933c620 2015-04-21        kinaba: 	alias EnumResourceTypesA EnumResourceTypes;
4e2933c620 2015-04-21        kinaba: 	alias ExpandEnvironmentStringsA ExpandEnvironmentStrings;
4e2933c620 2015-04-21        kinaba: 	alias FatalAppExitA FatalAppExit;
4e2933c620 2015-04-21        kinaba: 	alias FindAtomA FindAtom;
4e2933c620 2015-04-21        kinaba: 	alias FindFirstChangeNotificationA FindFirstChangeNotification;
4e2933c620 2015-04-21        kinaba: 	alias FindFirstFileA FindFirstFile;
4e2933c620 2015-04-21        kinaba: 	alias FindNextFileA FindNextFile;
4e2933c620 2015-04-21        kinaba: 	alias FindResourceA FindResource;
4e2933c620 2015-04-21        kinaba: 	alias FindResourceExA FindResourceEx;
4e2933c620 2015-04-21        kinaba: 	alias FormatMessageA FormatMessage;
4e2933c620 2015-04-21        kinaba: 	alias FreeEnvironmentStringsA FreeEnvironmentStrings;
4e2933c620 2015-04-21        kinaba: 	alias GetAtomNameA GetAtomName;
4e2933c620 2015-04-21        kinaba: 	alias GetCommandLineA GetCommandLine;
4e2933c620 2015-04-21        kinaba: 	alias GetComputerNameA GetComputerName;
4e2933c620 2015-04-21        kinaba: 	alias GetCurrentDirectoryA GetCurrentDirectory;
4e2933c620 2015-04-21        kinaba: 	alias GetDefaultCommConfigA GetDefaultCommConfig;
4e2933c620 2015-04-21        kinaba: 	alias GetDiskFreeSpaceA GetDiskFreeSpace;
4e2933c620 2015-04-21        kinaba: 	alias GetDiskFreeSpaceExA GetDiskFreeSpaceEx;
4e2933c620 2015-04-21        kinaba: 	alias GetDriveTypeA GetDriveType;
4e2933c620 2015-04-21        kinaba: 	alias GetEnvironmentVariableA GetEnvironmentVariable;
4e2933c620 2015-04-21        kinaba: 	alias GetFileAttributesA GetFileAttributes;
4e2933c620 2015-04-21        kinaba: 	alias GetFullPathNameA GetFullPathName;
4e2933c620 2015-04-21        kinaba: 	alias GetLogicalDriveStringsA GetLogicalDriveStrings;
4e2933c620 2015-04-21        kinaba: 	alias GetNamedPipeHandleStateA GetNamedPipeHandleState;
4e2933c620 2015-04-21        kinaba: 	alias GetModuleHandleA GetModuleHandle;
4e2933c620 2015-04-21        kinaba: 	alias GetModuleFileNameA GetModuleFileName;
4e2933c620 2015-04-21        kinaba: 	alias GetPrivateProfileIntA GetPrivateProfileInt;
4e2933c620 2015-04-21        kinaba: 	alias GetPrivateProfileSectionA GetPrivateProfileSection;
4e2933c620 2015-04-21        kinaba: 	alias GetPrivateProfileSectionNamesA GetPrivateProfileSectionNames;
4e2933c620 2015-04-21        kinaba: 	alias GetPrivateProfileStringA GetPrivateProfileString;
4e2933c620 2015-04-21        kinaba: 	alias GetPrivateProfileStructA GetPrivateProfileStruct;
4e2933c620 2015-04-21        kinaba: 	alias GetProfileIntA GetProfileInt;
4e2933c620 2015-04-21        kinaba: 	alias GetProfileSectionA GetProfileSection;
4e2933c620 2015-04-21        kinaba: 	alias GetProfileStringA GetProfileString;
4e2933c620 2015-04-21        kinaba: 	alias GetShortPathNameA GetShortPathName;
4e2933c620 2015-04-21        kinaba: 	alias GetStartupInfoA GetStartupInfo;
4e2933c620 2015-04-21        kinaba: 	alias GetSystemDirectoryA GetSystemDirectory;
4e2933c620 2015-04-21        kinaba: 	alias GetTempFileNameA GetTempFileName;
4e2933c620 2015-04-21        kinaba: 	alias GetTempPathA GetTempPath;
4e2933c620 2015-04-21        kinaba: 	alias GetUserNameA GetUserName;
4e2933c620 2015-04-21        kinaba: 	alias GetVersionExA GetVersionEx;
4e2933c620 2015-04-21        kinaba: 	alias GetVolumeInformationA GetVolumeInformation;
4e2933c620 2015-04-21        kinaba: 	alias GetWindowsDirectoryA GetWindowsDirectory;
4e2933c620 2015-04-21        kinaba: 	alias GlobalAddAtomA GlobalAddAtom;
4e2933c620 2015-04-21        kinaba: 	alias GlobalFindAtomA GlobalFindAtom;
4e2933c620 2015-04-21        kinaba: 	alias GlobalGetAtomNameA GlobalGetAtomName;
4e2933c620 2015-04-21        kinaba: 	alias IsBadStringPtrA IsBadStringPtr;
4e2933c620 2015-04-21        kinaba: 	alias LoadLibraryA LoadLibrary;
4e2933c620 2015-04-21        kinaba: 	alias LoadLibraryExA LoadLibraryEx;
4e2933c620 2015-04-21        kinaba: 	alias lstrcatA lstrcat;
4e2933c620 2015-04-21        kinaba: 	alias lstrcmpA lstrcmp;
4e2933c620 2015-04-21        kinaba: 	alias lstrcmpiA lstrcmpi;
4e2933c620 2015-04-21        kinaba: 	alias lstrcpyA lstrcpy;
4e2933c620 2015-04-21        kinaba: 	alias lstrcpynA lstrcpyn;
4e2933c620 2015-04-21        kinaba: 	alias lstrlenA lstrlen;
4e2933c620 2015-04-21        kinaba: 	alias MoveFileA MoveFile;
4e2933c620 2015-04-21        kinaba: 	alias OpenEventA OpenEvent;
4e2933c620 2015-04-21        kinaba: 	alias OpenMutexA OpenMutex;
4e2933c620 2015-04-21        kinaba: 	alias OpenSemaphoreA OpenSemaphore;
4e2933c620 2015-04-21        kinaba: 	alias OutputDebugStringA OutputDebugString;
4e2933c620 2015-04-21        kinaba: 	alias RemoveDirectoryA RemoveDirectory;
4e2933c620 2015-04-21        kinaba: 	alias SearchPathA SearchPath;
4e2933c620 2015-04-21        kinaba: 	alias SetComputerNameA SetComputerName;
4e2933c620 2015-04-21        kinaba: 	alias SetCurrentDirectoryA SetCurrentDirectory;
4e2933c620 2015-04-21        kinaba: 	alias SetDefaultCommConfigA SetDefaultCommConfig;
4e2933c620 2015-04-21        kinaba: 	alias SetEnvironmentVariableA SetEnvironmentVariable;
4e2933c620 2015-04-21        kinaba: 	alias SetFileAttributesA SetFileAttributes;
4e2933c620 2015-04-21        kinaba: 	alias SetVolumeLabelA SetVolumeLabel;
4e2933c620 2015-04-21        kinaba: 	alias WaitNamedPipeA WaitNamedPipe;
4e2933c620 2015-04-21        kinaba: 	alias WritePrivateProfileSectionA WritePrivateProfileSection;
4e2933c620 2015-04-21        kinaba: 	alias WritePrivateProfileStringA WritePrivateProfileString;
4e2933c620 2015-04-21        kinaba: 	alias WritePrivateProfileStructA WritePrivateProfileStruct;
4e2933c620 2015-04-21        kinaba: 	alias WriteProfileSectionA WriteProfileSection;
4e2933c620 2015-04-21        kinaba: 	alias WriteProfileStringA WriteProfileString;
9b639cf2d6 2015-05-05        kinaba: 	alias CreateWaitableTimerA CreateWaitableTimer;
9b639cf2d6 2015-05-05        kinaba: 	alias GetFileAttributesExA GetFileAttributesEx;
9b639cf2d6 2015-05-05        kinaba: 	alias GetLongPathNameA GetLongPathName;
9b639cf2d6 2015-05-05        kinaba: 	alias QueryDosDeviceA QueryDosDevice;
9b639cf2d6 2015-05-05        kinaba: 
9b639cf2d6 2015-05-05        kinaba: 	alias HW_PROFILE_INFOA HW_PROFILE_INFO;
9b639cf2d6 2015-05-05        kinaba: 	alias AccessCheckAndAuditAlarmA AccessCheckAndAuditAlarm;
9b639cf2d6 2015-05-05        kinaba: 	alias BackupEventLogA BackupEventLog;
9b639cf2d6 2015-05-05        kinaba: 	alias ClearEventLogA ClearEventLog;
9b639cf2d6 2015-05-05        kinaba: 	alias CreateNamedPipeA CreateNamedPipe;
9b639cf2d6 2015-05-05        kinaba: 	alias CreateProcessAsUserA CreateProcessAsUser;
9b639cf2d6 2015-05-05        kinaba: 	alias DefineDosDeviceA DefineDosDevice;
9b639cf2d6 2015-05-05        kinaba: 	alias FindFirstFileExA FindFirstFileEx;
9b639cf2d6 2015-05-05        kinaba: 	alias GetBinaryTypeA GetBinaryType;
9b639cf2d6 2015-05-05        kinaba: 	alias GetCompressedFileSizeA GetCompressedFileSize;
9b639cf2d6 2015-05-05        kinaba: 	alias GetFileSecurityA GetFileSecurity;
9b639cf2d6 2015-05-05        kinaba: 	alias LogonUserA LogonUser;
9b639cf2d6 2015-05-05        kinaba: 	alias LookupAccountNameA LookupAccountName;
9b639cf2d6 2015-05-05        kinaba: 	alias LookupAccountSidA LookupAccountSid;
9b639cf2d6 2015-05-05        kinaba: 	alias LookupPrivilegeDisplayNameA LookupPrivilegeDisplayName;
9b639cf2d6 2015-05-05        kinaba: 	alias LookupPrivilegeNameA LookupPrivilegeName;
9b639cf2d6 2015-05-05        kinaba: 	alias LookupPrivilegeValueA LookupPrivilegeValue;
9b639cf2d6 2015-05-05        kinaba: 	alias MoveFileExA MoveFileEx;
9b639cf2d6 2015-05-05        kinaba: 	alias ObjectCloseAuditAlarmA ObjectCloseAuditAlarm;
9b639cf2d6 2015-05-05        kinaba: 	alias ObjectDeleteAuditAlarmA ObjectDeleteAuditAlarm;
9b639cf2d6 2015-05-05        kinaba: 	alias ObjectOpenAuditAlarmA ObjectOpenAuditAlarm;
9b639cf2d6 2015-05-05        kinaba: 	alias ObjectPrivilegeAuditAlarmA ObjectPrivilegeAuditAlarm;
9b639cf2d6 2015-05-05        kinaba: 	alias OpenBackupEventLogA OpenBackupEventLog;
9b639cf2d6 2015-05-05        kinaba: 	alias OpenEventLogA OpenEventLog;
9b639cf2d6 2015-05-05        kinaba: 	alias PrivilegedServiceAuditAlarmA PrivilegedServiceAuditAlarm;
9b639cf2d6 2015-05-05        kinaba: 	alias ReadEventLogA ReadEventLog;
9b639cf2d6 2015-05-05        kinaba: 	alias RegisterEventSourceA RegisterEventSource;
9b639cf2d6 2015-05-05        kinaba: 	alias ReportEventA ReportEvent;
9b639cf2d6 2015-05-05        kinaba: 	alias SetFileSecurityA SetFileSecurity;
9b639cf2d6 2015-05-05        kinaba: 	alias UpdateResourceA UpdateResource;
c2b7a98c21 2011-02-23        kinaba: 
9b639cf2d6 2015-05-05        kinaba: 	static if (_WIN32_WINNT >= 0x500) {
9b639cf2d6 2015-05-05        kinaba: 		alias CreateFileMappingA CreateFileMapping;
9b639cf2d6 2015-05-05        kinaba: 		alias CreateHardLinkA CreateHardLink;
9b639cf2d6 2015-05-05        kinaba: 		alias CreateJobObjectA CreateJobObject;
9b639cf2d6 2015-05-05        kinaba: 		alias DeleteVolumeMountPointA DeleteVolumeMountPoint;
9b639cf2d6 2015-05-05        kinaba: 		alias DnsHostnameToComputerNameA DnsHostnameToComputerName;
9b639cf2d6 2015-05-05        kinaba: 		alias EncryptFileA EncryptFile;
9b639cf2d6 2015-05-05        kinaba: 		alias FileEncryptionStatusA FileEncryptionStatus;
9b639cf2d6 2015-05-05        kinaba: 		alias FindFirstVolumeA FindFirstVolume;
9b639cf2d6 2015-05-05        kinaba: 		alias FindFirstVolumeMountPointA FindFirstVolumeMountPoint;
9b639cf2d6 2015-05-05        kinaba: 		alias FindNextVolumeA FindNextVolume;
9b639cf2d6 2015-05-05        kinaba: 		alias FindNextVolumeMountPointA FindNextVolumeMountPoint;
9b639cf2d6 2015-05-05        kinaba: 		alias GetModuleHandleExA GetModuleHandleEx;
9b639cf2d6 2015-05-05        kinaba: 		alias GetSystemWindowsDirectoryA GetSystemWindowsDirectory;
9b639cf2d6 2015-05-05        kinaba: 		alias GetVolumeNameForVolumeMountPointA GetVolumeNameForVolumeMountPoint;
9b639cf2d6 2015-05-05        kinaba: 		alias GetVolumePathNameA GetVolumePathName;
9b639cf2d6 2015-05-05        kinaba: 		alias OpenFileMappingA OpenFileMapping;
9b639cf2d6 2015-05-05        kinaba: 		alias ReplaceFileA ReplaceFile;
9b639cf2d6 2015-05-05        kinaba: 		alias SetVolumeMountPointA SetVolumeMountPoint;
9b639cf2d6 2015-05-05        kinaba: 		alias VerifyVersionInfoA VerifyVersionInfo;
4e2933c620 2015-04-21        kinaba: 	}
c2b7a98c21 2011-02-23        kinaba: 
9b639cf2d6 2015-05-05        kinaba: 	static if (_WIN32_WINNT >= 0x501) {
9b639cf2d6 2015-05-05        kinaba: 		alias ACTCTXA ACTCTX;
9b639cf2d6 2015-05-05        kinaba: 		alias CheckNameLegalDOS8Dot3A CheckNameLegalDOS8Dot3;
9b639cf2d6 2015-05-05        kinaba: 		alias CreateActCtxA CreateActCtx;
9b639cf2d6 2015-05-05        kinaba: 		alias FindActCtxSectionStringA FindActCtxSectionString;
9b639cf2d6 2015-05-05        kinaba: 		alias GetSystemWow64DirectoryA GetSystemWow64Directory;
9b639cf2d6 2015-05-05        kinaba: 		alias GetVolumePathNamesForVolumeNameA GetVolumePathNamesForVolumeName;
9b639cf2d6 2015-05-05        kinaba: 		alias SetFileShortNameA SetFileShortName;
9b639cf2d6 2015-05-05        kinaba: 	}
c2b7a98c21 2011-02-23        kinaba: 
9b639cf2d6 2015-05-05        kinaba: 	static if (_WIN32_WINNT >= 0x502) {
9b639cf2d6 2015-05-05        kinaba: 		alias GetDllDirectoryA GetDllDirectory;
9b639cf2d6 2015-05-05        kinaba: 		alias SetDllDirectoryA SetDllDirectory;
9b639cf2d6 2015-05-05        kinaba: 		alias SetFirmwareEnvironmentVariableA SetFirmwareEnvironmentVariable;
4e2933c620 2015-04-21        kinaba: 	}
c2b7a98c21 2011-02-23        kinaba: }
c2b7a98c21 2011-02-23        kinaba: 
4e2933c620 2015-04-21        kinaba: alias STARTUPINFO* LPSTARTUPINFO;
4e2933c620 2015-04-21        kinaba: alias WIN32_FIND_DATA* LPWIN32_FIND_DATA;
c2b7a98c21 2011-02-23        kinaba: 
9b639cf2d6 2015-05-05        kinaba: alias HW_PROFILE_INFO* LPHW_PROFILE_INFO;
c2b7a98c21 2011-02-23        kinaba: 
9b639cf2d6 2015-05-05        kinaba: static if (_WIN32_WINNT >= 0x501) {
9b639cf2d6 2015-05-05        kinaba: 	alias ACTCTX* PACTCTX, PCACTCTX;
4e2933c620 2015-04-21        kinaba: }