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;
4e2933c620 2015-04-21        kinaba: pragma(lib, "kernel32.lib");
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 */
4e2933c620 2015-04-21        kinaba: 	static if (_WIN32_WINNT >= 0x0501) {
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: 
4e2933c620 2015-04-21        kinaba: 	static if (_WIN32_WINNT >= 0x0501) {
4e2933c620 2015-04-21        kinaba: 	PSLIST_ENTRY InterlockedFlushSList(PSLIST_HEADER);
4e2933c620 2015-04-21        kinaba: 	}
4e2933c620 2015-04-21        kinaba: 	LONG InterlockedIncrement(LPLONG);
4e2933c620 2015-04-21        kinaba: 	static if (_WIN32_WINNT >= 0x0501) {
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
4e2933c620 2015-04-21        kinaba: const 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: 
4e2933c620 2015-04-21        kinaba: static if (_WIN32_WINNT_ONLY && _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: 
4e2933c620 2015-04-21        kinaba: const 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: 
4e2933c620 2015-04-21        kinaba: static if (_WIN32_WINNT_ONLY) {
4e2933c620 2015-04-21        kinaba: 	// for LogonUser()
4e2933c620 2015-04-21        kinaba: 	enum : DWORD {
4e2933c620 2015-04-21        kinaba: 		LOGON32_LOGON_INTERACTIVE = 2,
4e2933c620 2015-04-21        kinaba: 		LOGON32_LOGON_NETWORK     = 3,
4e2933c620 2015-04-21        kinaba: 		LOGON32_LOGON_BATCH       = 4,
4e2933c620 2015-04-21        kinaba: 		LOGON32_LOGON_SERVICE     = 5,
4e2933c620 2015-04-21        kinaba: 		LOGON32_LOGON_UNLOCK      = 7
4e2933c620 2015-04-21        kinaba: 	}
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: 	// for LogonUser()
4e2933c620 2015-04-21        kinaba: 	enum : DWORD {
4e2933c620 2015-04-21        kinaba: 		LOGON32_PROVIDER_DEFAULT,
4e2933c620 2015-04-21        kinaba: 		LOGON32_PROVIDER_WINNT35,
4e2933c620 2015-04-21        kinaba: 		LOGON32_PROVIDER_WINNT40,
4e2933c620 2015-04-21        kinaba: 		LOGON32_PROVIDER_WINNT50
4e2933c620 2015-04-21        kinaba: 	}
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: 	// for MoveFileEx()
4e2933c620 2015-04-21        kinaba: 	const DWORD
4e2933c620 2015-04-21        kinaba: 		MOVEFILE_REPLACE_EXISTING   = 1,
4e2933c620 2015-04-21        kinaba: 		MOVEFILE_COPY_ALLOWED       = 2,
4e2933c620 2015-04-21        kinaba: 		MOVEFILE_DELAY_UNTIL_REBOOT = 4,
4e2933c620 2015-04-21        kinaba: 		MOVEFILE_WRITE_THROUGH      = 8;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: 	// DefineDosDevice()
4e2933c620 2015-04-21        kinaba: 	const DWORD
4e2933c620 2015-04-21        kinaba: 		DDD_RAW_TARGET_PATH       = 1,
4e2933c620 2015-04-21        kinaba: 		DDD_REMOVE_DEFINITION     = 2,
4e2933c620 2015-04-21        kinaba: 		DDD_EXACT_MATCH_ON_REMOVE = 4;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: 	static if (_WIN32_WINNT >= 0x500) {
4e2933c620 2015-04-21        kinaba: 		enum : DWORD {
4e2933c620 2015-04-21        kinaba: 			LOGON32_LOGON_NETWORK_CLEARTEXT = 8,
4e2933c620 2015-04-21        kinaba: 			LOGON32_LOGON_NEW_CREDENTIALS   = 9
4e2933c620 2015-04-21        kinaba: 		}
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: 		// ReplaceFile()
4e2933c620 2015-04-21        kinaba: 		const DWORD
4e2933c620 2015-04-21        kinaba: 			REPLACEFILE_WRITE_THROUGH       = 1,
4e2933c620 2015-04-21        kinaba: 			REPLACEFILE_IGNORE_MERGE_ERRORS = 2;
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: 		const DWORD
4e2933c620 2015-04-21        kinaba: 			GET_MODULE_HANDLE_EX_FLAG_PIN                = 1,
4e2933c620 2015-04-21        kinaba: 			GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT = 2,
4e2933c620 2015-04-21        kinaba: 			GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS       = 4;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: 		// for ACTCTX
4e2933c620 2015-04-21        kinaba: 		const DWORD
4e2933c620 2015-04-21        kinaba: 			ACTCTX_FLAG_PROCESSOR_ARCHITECTURE_VALID = 0x01,
4e2933c620 2015-04-21        kinaba: 			ACTCTX_FLAG_LANGID_VALID                 = 0x02,
4e2933c620 2015-04-21        kinaba: 			ACTCTX_FLAG_ASSEMBLY_DIRECTORY_VALID     = 0x04,
4e2933c620 2015-04-21        kinaba: 			ACTCTX_FLAG_RESOURCE_NAME_VALID          = 0x08,
4e2933c620 2015-04-21        kinaba: 			ACTCTX_FLAG_SET_PROCESS_DEFAULT          = 0x10,
4e2933c620 2015-04-21        kinaba: 			ACTCTX_FLAG_APPLICATION_NAME_VALID       = 0x20,
4e2933c620 2015-04-21        kinaba: 			ACTCTX_FLAG_HMODULE_VALID                = 0x80;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: 		// DeactivateActCtx()
4e2933c620 2015-04-21        kinaba: 		const DWORD DEACTIVATE_ACTCTX_FLAG_FORCE_EARLY_DEACTIVATION = 1;
4e2933c620 2015-04-21        kinaba: 		// FindActCtxSectionString()
4e2933c620 2015-04-21        kinaba: 		const DWORD FIND_ACTCTX_SECTION_KEY_RETURN_HACTCTX          = 1;
4e2933c620 2015-04-21        kinaba: 		// QueryActCtxW()
4e2933c620 2015-04-21        kinaba: 		const DWORD
4e2933c620 2015-04-21        kinaba: 			QUERY_ACTCTX_FLAG_USE_ACTIVE_ACTCTX             = 0x04,
4e2933c620 2015-04-21        kinaba: 			QUERY_ACTCTX_FLAG_ACTCTX_IS_HMODULE             = 0x08,
4e2933c620 2015-04-21        kinaba: 			QUERY_ACTCTX_FLAG_ACTCTX_IS_ADDRESS             = 0x10;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: 		enum {
4e2933c620 2015-04-21        kinaba: 			LOGON_WITH_PROFILE        = 1,
4e2933c620 2015-04-21        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: 
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: 
4e2933c620 2015-04-21        kinaba: static if (_WIN32_WINDOWS >= 0x410) {
4e2933c620 2015-04-21        kinaba: 	struct WIN32_FILE_ATTRIBUTE_DATA {
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: 	}
4e2933c620 2015-04-21        kinaba: 	alias WIN32_FILE_ATTRIBUTE_DATA* LPWIN32_FILE_ATTRIBUTE_DATA;
4e2933c620 2015-04-21        kinaba: }
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;
4e2933c620 2015-04-21        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: 
4e2933c620 2015-04-21        kinaba: static if (_WIN32_WINNT_ONLY) {
4e2933c620 2015-04-21        kinaba: 	struct WIN32_STREAM_ID {
4e2933c620 2015-04-21        kinaba: 		DWORD         dwStreamId;
4e2933c620 2015-04-21        kinaba: 		DWORD         dwStreamAttributes;
4e2933c620 2015-04-21        kinaba: 		LARGE_INTEGER Size;
4e2933c620 2015-04-21        kinaba: 		DWORD         dwStreamNameSize;
4e2933c620 2015-04-21        kinaba: 		WCHAR         _cStreamName;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: 		WCHAR* cStreamName() { return &_cStreamName; }
4e2933c620 2015-04-21        kinaba: 	}
4e2933c620 2015-04-21        kinaba: 	alias WIN32_STREAM_ID* LPWIN32_STREAM_ID;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: 	enum FINDEX_INFO_LEVELS {
4e2933c620 2015-04-21        kinaba: 		FindExInfoStandard,
4e2933c620 2015-04-21        kinaba: 		FindExInfoMaxInfoLevel
4e2933c620 2015-04-21        kinaba: 	}
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: 	enum FINDEX_SEARCH_OPS {
4e2933c620 2015-04-21        kinaba: 		FindExSearchNameMatch,
4e2933c620 2015-04-21        kinaba: 		FindExSearchLimitToDirectories,
4e2933c620 2015-04-21        kinaba: 		FindExSearchLimitToDevices,
4e2933c620 2015-04-21        kinaba: 		FindExSearchMaxSearchOp
4e2933c620 2015-04-21        kinaba: 	}
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: 	enum ACL_INFORMATION_CLASS {
4e2933c620 2015-04-21        kinaba: 		AclRevisionInformation = 1,
4e2933c620 2015-04-21        kinaba: 		AclSizeInformation
4e2933c620 2015-04-21        kinaba: 	}
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: 	struct HW_PROFILE_INFOA {
4e2933c620 2015-04-21        kinaba: 		DWORD dwDockInfo;
4e2933c620 2015-04-21        kinaba: 		CHAR[HW_PROFILE_GUIDLEN] szHwProfileGuid;
4e2933c620 2015-04-21        kinaba: 		CHAR[MAX_PROFILE_LEN]    szHwProfileName;
4e2933c620 2015-04-21        kinaba: 	}
4e2933c620 2015-04-21        kinaba: 	alias HW_PROFILE_INFOA* LPHW_PROFILE_INFOA;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: 	struct HW_PROFILE_INFOW {
4e2933c620 2015-04-21        kinaba: 		DWORD dwDockInfo;
4e2933c620 2015-04-21        kinaba: 		WCHAR[HW_PROFILE_GUIDLEN] szHwProfileGuid;
4e2933c620 2015-04-21        kinaba: 		WCHAR[MAX_PROFILE_LEN]    szHwProfileName;
4e2933c620 2015-04-21        kinaba: 	}
4e2933c620 2015-04-21        kinaba: 	alias HW_PROFILE_INFOW* LPHW_PROFILE_INFOW;
4e2933c620 2015-04-21        kinaba: }
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;
4e2933c620 2015-04-21        kinaba: 	DWORD 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: 
4e2933c620 2015-04-21        kinaba: static if (_WIN32_WINNT_ONLY && _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: 	}
4e2933c620 2015-04-21        kinaba: 	alias ACTCTXA*       PACTCTXA;
4e2933c620 2015-04-21        kinaba: 	alias CPtr!(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: 	}
4e2933c620 2015-04-21        kinaba: 	alias ACTCTXW*       PACTCTXW;
4e2933c620 2015-04-21        kinaba: 	alias CPtr!(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: 	}
4e2933c620 2015-04-21        kinaba: 	alias ACTCTX_SECTION_KEYED_DATA*       PACTCTX_SECTION_KEYED_DATA;
4e2933c620 2015-04-21        kinaba: 	alias CPtr!(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: 
4e2933c620 2015-04-21        kinaba: } // (_WIN32_WINNT >= 0x0501)
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: static if (WINVER >= 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: 
4e2933c620 2015-04-21        kinaba: 	static if (_WIN32_WINNT_ONLY && _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: 
4e2933c620 2015-04-21        kinaba: LPTSTR MAKEINTATOM(short i) {
4e2933c620 2015-04-21        kinaba: 	return cast(LPTSTR) 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);
4e2933c620 2015-04-21        kinaba: 	LONG CompareFileTime(CPtr!(FILETIME), CPtr!(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) {
4e2933c620 2015-04-21        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);
4e2933c620 2015-04-21        kinaba: 	BOOL FileTimeToDosDateTime(CPtr!(FILETIME) , LPWORD, LPWORD);
4e2933c620 2015-04-21        kinaba: 	BOOL FileTimeToLocalFileTime(CPtr!(FILETIME) , LPFILETIME);
4e2933c620 2015-04-21        kinaba: 	BOOL FileTimeToSystemTime(CPtr!(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: 	 */
4e2933c620 2015-04-21        kinaba: 	BOOL IsBadHugeReadPtr(PCVOID, UINT);
4e2933c620 2015-04-21        kinaba: 	BOOL IsBadHugeWritePtr(PVOID, UINT);
4e2933c620 2015-04-21        kinaba: 	BOOL IsBadReadPtr(PCVOID, UINT);
4e2933c620 2015-04-21        kinaba: 	BOOL IsBadStringPtrA(LPCSTR, UINT);
4e2933c620 2015-04-21        kinaba: 	BOOL IsBadStringPtrW(LPCWSTR, UINT);
4e2933c620 2015-04-21        kinaba: 	BOOL IsBadWritePtr(PVOID, UINT);
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);
4e2933c620 2015-04-21        kinaba: 	BOOL LocalFileTimeToFileTime(CPtr!(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);
4e2933c620 2015-04-21        kinaba: 	void RaiseException(DWORD, DWORD, DWORD, CPtr!(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);
4e2933c620 2015-04-21        kinaba: 	BOOL ReadProcessMemory(HANDLE, PCVOID, PVOID, DWORD, PDWORD);
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);
4e2933c620 2015-04-21        kinaba: 	BOOL SetFileTime(HANDLE, CPtr!(FILETIME), CPtr!(FILETIME), CPtr!(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);
4e2933c620 2015-04-21        kinaba: 	BOOL SetLocalTime(CPtr!(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);
4e2933c620 2015-04-21        kinaba: 	BOOL SetSystemTime(CPtr!(SYSTEMTIME));
4e2933c620 2015-04-21        kinaba: 	DWORD SetThreadAffinityMask(HANDLE, DWORD);
4e2933c620 2015-04-21        kinaba: 	BOOL SetThreadContext(HANDLE, CPtr!(CONTEXT));
4e2933c620 2015-04-21        kinaba: 	BOOL SetThreadPriority(HANDLE, int);
4e2933c620 2015-04-21        kinaba: 	BOOL SetTimeZoneInformation(CPtr!(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);
4e2933c620 2015-04-21        kinaba: 	BOOL SystemTimeToFileTime(CPtr!(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);
4e2933c620 2015-04-21        kinaba: 	DWORD WaitForMultipleObjects(DWORD, CPtr!(HANDLE), BOOL, DWORD);
4e2933c620 2015-04-21        kinaba: 	DWORD WaitForMultipleObjectsEx(DWORD, CPtr!(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);
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: 	static if (_WIN32_WINDOWS >= 0x600) {
4e2933c620 2015-04-21        kinaba: 		BOOL CancelIoEx(HANDLE, LPOVERLAPPED);
4e2933c620 2015-04-21        kinaba: 	}
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: 	static if (_WIN32_WINDOWS >= 0x410) {
4e2933c620 2015-04-21        kinaba: 		BOOL CancelIo(HANDLE);
4e2933c620 2015-04-21        kinaba: 		BOOL CancelWaitableTimer(HANDLE);
4e2933c620 2015-04-21        kinaba: 		PVOID ConvertThreadToFiber(PVOID);
4e2933c620 2015-04-21        kinaba: 		LPVOID CreateFiber(SIZE_T, LPFIBER_START_ROUTINE, LPVOID);
4e2933c620 2015-04-21        kinaba: 		HANDLE CreateWaitableTimerA(LPSECURITY_ATTRIBUTES, BOOL, LPCSTR);
4e2933c620 2015-04-21        kinaba: 		HANDLE CreateWaitableTimerW(LPSECURITY_ATTRIBUTES, BOOL, LPCWSTR);
4e2933c620 2015-04-21        kinaba: 		void DeleteFiber(PVOID);
4e2933c620 2015-04-21        kinaba: 		BOOL GetFileAttributesExA(LPCSTR, GET_FILEEX_INFO_LEVELS, PVOID);
4e2933c620 2015-04-21        kinaba: 		BOOL GetFileAttributesExW(LPCWSTR, GET_FILEEX_INFO_LEVELS, PVOID);
4e2933c620 2015-04-21        kinaba: 		DWORD GetLongPathNameA(LPCSTR, LPSTR, DWORD);
4e2933c620 2015-04-21        kinaba: 		DWORD GetLongPathNameW(LPCWSTR, LPWSTR, DWORD);
4e2933c620 2015-04-21        kinaba: 		BOOL InitializeCriticalSectionAndSpinCount(LPCRITICAL_SECTION, DWORD);
4e2933c620 2015-04-21        kinaba: 		BOOL IsDebuggerPresent();
4e2933c620 2015-04-21        kinaba: 		HANDLE OpenWaitableTimerA(DWORD, BOOL, LPCSTR);
4e2933c620 2015-04-21        kinaba: 		HANDLE OpenWaitableTimerW(DWORD, BOOL, LPCWSTR);
4e2933c620 2015-04-21        kinaba: 		DWORD QueryDosDeviceA(LPCSTR, LPSTR, DWORD);
4e2933c620 2015-04-21        kinaba: 		DWORD QueryDosDeviceW(LPCWSTR, LPWSTR, DWORD);
4e2933c620 2015-04-21        kinaba: 		BOOL SetWaitableTimer(HANDLE, CPtr!(LARGE_INTEGER), LONG, PTIMERAPCROUTINE, PVOID, BOOL);
4e2933c620 2015-04-21        kinaba: 		void SwitchToFiber(PVOID);
4e2933c620 2015-04-21        kinaba: 	}
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: 	static if (WINVER >= 0x500) {
4e2933c620 2015-04-21        kinaba: 		HANDLE OpenThread(DWORD, BOOL, DWORD);
4e2933c620 2015-04-21        kinaba: 	}
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: 	static if (_WIN32_WINNT_ONLY) {
4e2933c620 2015-04-21        kinaba: 		BOOL AccessCheck(PSECURITY_DESCRIPTOR, HANDLE, DWORD, PGENERIC_MAPPING, PPRIVILEGE_SET, PDWORD, PDWORD, PBOOL);
4e2933c620 2015-04-21        kinaba: 		BOOL AccessCheckAndAuditAlarmA(LPCSTR, LPVOID, LPSTR, LPSTR, PSECURITY_DESCRIPTOR, DWORD, PGENERIC_MAPPING, BOOL, PDWORD, PBOOL, PBOOL);
4e2933c620 2015-04-21        kinaba: 		BOOL AccessCheckAndAuditAlarmW(LPCWSTR, LPVOID, LPWSTR, LPWSTR, PSECURITY_DESCRIPTOR, DWORD, PGENERIC_MAPPING, BOOL, PDWORD, PBOOL, PBOOL);
4e2933c620 2015-04-21        kinaba: 		BOOL AddAccessAllowedAce(PACL, DWORD, DWORD, PSID);
4e2933c620 2015-04-21        kinaba: 		BOOL AddAccessDeniedAce(PACL, DWORD, DWORD, PSID);
4e2933c620 2015-04-21        kinaba: 		BOOL AddAce(PACL, DWORD, DWORD, PVOID, DWORD);
4e2933c620 2015-04-21        kinaba: 		BOOL AddAuditAccessAce(PACL, DWORD, DWORD, PSID, BOOL, BOOL);
4e2933c620 2015-04-21        kinaba: 		BOOL AdjustTokenGroups(HANDLE, BOOL, PTOKEN_GROUPS, DWORD, PTOKEN_GROUPS, PDWORD);
4e2933c620 2015-04-21        kinaba: 		BOOL AdjustTokenPrivileges(HANDLE, BOOL, PTOKEN_PRIVILEGES, DWORD, PTOKEN_PRIVILEGES, PDWORD);
4e2933c620 2015-04-21        kinaba: 		BOOL AllocateAndInitializeSid(PSID_IDENTIFIER_AUTHORITY, BYTE, DWORD, DWORD, DWORD, DWORD, DWORD, DWORD, DWORD, DWORD, PSID*);
4e2933c620 2015-04-21        kinaba: 		BOOL AllocateLocallyUniqueId(PLUID);
4e2933c620 2015-04-21        kinaba: 		BOOL AreAllAccessesGranted(DWORD, DWORD);
4e2933c620 2015-04-21        kinaba: 		BOOL AreAnyAccessesGranted(DWORD, DWORD);
4e2933c620 2015-04-21        kinaba: 		BOOL BackupEventLogA(HANDLE, LPCSTR);
4e2933c620 2015-04-21        kinaba: 		BOOL BackupEventLogW(HANDLE, LPCWSTR);
4e2933c620 2015-04-21        kinaba: 		BOOL BackupRead(HANDLE, LPBYTE, DWORD, LPDWORD, BOOL, BOOL, LPVOID*);
4e2933c620 2015-04-21        kinaba: 		BOOL BackupSeek(HANDLE, DWORD, DWORD, LPDWORD, LPDWORD, LPVOID*);
4e2933c620 2015-04-21        kinaba: 		BOOL BackupWrite(HANDLE, LPBYTE, DWORD, LPDWORD, BOOL, BOOL, LPVOID*);
4e2933c620 2015-04-21        kinaba: 		BOOL ClearEventLogA(HANDLE, LPCSTR);
4e2933c620 2015-04-21        kinaba: 		BOOL ClearEventLogW(HANDLE, LPCWSTR);
4e2933c620 2015-04-21        kinaba: 		BOOL CloseEventLog(HANDLE);
4e2933c620 2015-04-21        kinaba: 		BOOL ConnectNamedPipe(HANDLE, LPOVERLAPPED);
4e2933c620 2015-04-21        kinaba: 		BOOL CopySid(DWORD, PSID, PSID);
4e2933c620 2015-04-21        kinaba: 		HANDLE CreateNamedPipeA(LPCSTR, DWORD, DWORD, DWORD, DWORD, DWORD, DWORD, LPSECURITY_ATTRIBUTES);
4e2933c620 2015-04-21        kinaba: 		HANDLE CreateNamedPipeW(LPCWSTR, DWORD, DWORD, DWORD, DWORD, DWORD, DWORD, LPSECURITY_ATTRIBUTES);
4e2933c620 2015-04-21        kinaba: 		BOOL CreatePrivateObjectSecurity(PSECURITY_DESCRIPTOR, PSECURITY_DESCRIPTOR, PSECURITY_DESCRIPTOR*, BOOL, HANDLE, PGENERIC_MAPPING);
4e2933c620 2015-04-21        kinaba: 		BOOL CreateProcessAsUserA(HANDLE, LPCSTR, LPSTR, LPSECURITY_ATTRIBUTES, LPSECURITY_ATTRIBUTES, BOOL, DWORD, PVOID, LPCSTR, LPSTARTUPINFOA, LPPROCESS_INFORMATION);
4e2933c620 2015-04-21        kinaba: 		BOOL CreateProcessAsUserW(HANDLE, LPCWSTR, LPWSTR, LPSECURITY_ATTRIBUTES, LPSECURITY_ATTRIBUTES, BOOL, DWORD, PVOID, LPCWSTR, LPSTARTUPINFOW, LPPROCESS_INFORMATION);
4e2933c620 2015-04-21        kinaba: 		HANDLE CreateRemoteThread(HANDLE, LPSECURITY_ATTRIBUTES, DWORD, LPTHREAD_START_ROUTINE, LPVOID, DWORD, LPDWORD);
4e2933c620 2015-04-21        kinaba: 		DWORD CreateTapePartition(HANDLE, DWORD, DWORD, DWORD);
4e2933c620 2015-04-21        kinaba: 		BOOL DefineDosDeviceA(DWORD, LPCSTR, LPCSTR);
4e2933c620 2015-04-21        kinaba: 		BOOL DefineDosDeviceW(DWORD, LPCWSTR, LPCWSTR);
4e2933c620 2015-04-21        kinaba: 		BOOL DeleteAce(PACL, DWORD);
4e2933c620 2015-04-21        kinaba: 		BOOL DeregisterEventSource(HANDLE);
4e2933c620 2015-04-21        kinaba: 		BOOL DestroyPrivateObjectSecurity(PSECURITY_DESCRIPTOR*);
4e2933c620 2015-04-21        kinaba: 		BOOL DeviceIoControl(HANDLE, DWORD, PVOID, DWORD, PVOID, DWORD, PDWORD, POVERLAPPED);
4e2933c620 2015-04-21        kinaba: 		BOOL DisconnectNamedPipe(HANDLE);
4e2933c620 2015-04-21        kinaba: 		BOOL DuplicateToken(HANDLE, SECURITY_IMPERSONATION_LEVEL, PHANDLE);
4e2933c620 2015-04-21        kinaba: 		BOOL DuplicateTokenEx(HANDLE, DWORD, LPSECURITY_ATTRIBUTES, SECURITY_IMPERSONATION_LEVEL, TOKEN_TYPE, PHANDLE);
4e2933c620 2015-04-21        kinaba: 		BOOL EqualPrefixSid(PSID, PSID);
4e2933c620 2015-04-21        kinaba: 		BOOL EqualSid(PSID, PSID);
4e2933c620 2015-04-21        kinaba: 		DWORD EraseTape(HANDLE, DWORD, BOOL);
4e2933c620 2015-04-21        kinaba: 		HANDLE FindFirstFileExA(LPCSTR, FINDEX_INFO_LEVELS, PVOID, FINDEX_SEARCH_OPS, PVOID, DWORD);
4e2933c620 2015-04-21        kinaba: 		HANDLE FindFirstFileExW(LPCWSTR, FINDEX_INFO_LEVELS, PVOID, FINDEX_SEARCH_OPS, PVOID, DWORD);
4e2933c620 2015-04-21        kinaba: 		BOOL FindFirstFreeAce(PACL, PVOID*);
4e2933c620 2015-04-21        kinaba: 		PVOID FreeSid(PSID);
4e2933c620 2015-04-21        kinaba: 		BOOL GetAce(PACL, DWORD, LPVOID*);
4e2933c620 2015-04-21        kinaba: 		BOOL GetAclInformation(PACL, PVOID, DWORD, ACL_INFORMATION_CLASS);
4e2933c620 2015-04-21        kinaba: 		BOOL GetBinaryTypeA(LPCSTR, PDWORD);
4e2933c620 2015-04-21        kinaba: 		BOOL GetBinaryTypeW(LPCWSTR, PDWORD);
4e2933c620 2015-04-21        kinaba: 		DWORD GetCompressedFileSizeA(LPCSTR, PDWORD);
4e2933c620 2015-04-21        kinaba: 		DWORD GetCompressedFileSizeW(LPCWSTR, PDWORD);
4e2933c620 2015-04-21        kinaba: 		BOOL GetCurrentHwProfileA(LPHW_PROFILE_INFOA);
4e2933c620 2015-04-21        kinaba: 		BOOL GetCurrentHwProfileW(LPHW_PROFILE_INFOW);
4e2933c620 2015-04-21        kinaba: 		BOOL GetFileSecurityA(LPCSTR, SECURITY_INFORMATION, PSECURITY_DESCRIPTOR, DWORD, PDWORD);
4e2933c620 2015-04-21        kinaba: 		BOOL GetFileSecurityW(LPCWSTR, SECURITY_INFORMATION, PSECURITY_DESCRIPTOR, DWORD, PDWORD);
4e2933c620 2015-04-21        kinaba: 		BOOL GetHandleInformation(HANDLE, PDWORD);
4e2933c620 2015-04-21        kinaba: 		BOOL GetKernelObjectSecurity(HANDLE, SECURITY_INFORMATION, PSECURITY_DESCRIPTOR, DWORD, PDWORD);
4e2933c620 2015-04-21        kinaba: 		DWORD GetLengthSid(PSID);
4e2933c620 2015-04-21        kinaba: 		BOOL GetNumberOfEventLogRecords(HANDLE, PDWORD);
4e2933c620 2015-04-21        kinaba: 		BOOL GetOldestEventLogRecord(HANDLE, PDWORD);
4e2933c620 2015-04-21        kinaba: 		BOOL GetPrivateObjectSecurity(PSECURITY_DESCRIPTOR, SECURITY_INFORMATION, PSECURITY_DESCRIPTOR, DWORD, PDWORD);
4e2933c620 2015-04-21        kinaba: 		BOOL GetProcessPriorityBoost(HANDLE, PBOOL);
4e2933c620 2015-04-21        kinaba: 		BOOL GetProcessShutdownParameters(PDWORD, PDWORD);
4e2933c620 2015-04-21        kinaba: 		BOOL GetProcessTimes(HANDLE, LPFILETIME, LPFILETIME, LPFILETIME, LPFILETIME);
4e2933c620 2015-04-21        kinaba: 		HWINSTA GetProcessWindowStation();
4e2933c620 2015-04-21        kinaba: 		BOOL GetProcessWorkingSetSize(HANDLE, PSIZE_T, PSIZE_T);
4e2933c620 2015-04-21        kinaba: 		BOOL GetQueuedCompletionStatus(HANDLE, PDWORD, PULONG_PTR, LPOVERLAPPED*, DWORD);
4e2933c620 2015-04-21        kinaba: 		BOOL GetSecurityDescriptorControl(PSECURITY_DESCRIPTOR, PSECURITY_DESCRIPTOR_CONTROL, PDWORD);
4e2933c620 2015-04-21        kinaba: 		BOOL GetSecurityDescriptorDacl(PSECURITY_DESCRIPTOR, LPBOOL, PACL*, LPBOOL);
4e2933c620 2015-04-21        kinaba: 		BOOL GetSecurityDescriptorGroup(PSECURITY_DESCRIPTOR, PSID*, LPBOOL);
4e2933c620 2015-04-21        kinaba: 		DWORD GetSecurityDescriptorLength(PSECURITY_DESCRIPTOR);
4e2933c620 2015-04-21        kinaba: 		BOOL GetSecurityDescriptorOwner(PSECURITY_DESCRIPTOR, PSID*, LPBOOL);
4e2933c620 2015-04-21        kinaba: 		BOOL GetSecurityDescriptorSacl(PSECURITY_DESCRIPTOR, LPBOOL, PACL*, LPBOOL);
4e2933c620 2015-04-21        kinaba: 		PSID_IDENTIFIER_AUTHORITY GetSidIdentifierAuthority(PSID);
4e2933c620 2015-04-21        kinaba: 		DWORD GetSidLengthRequired(UCHAR);
4e2933c620 2015-04-21        kinaba: 		PDWORD GetSidSubAuthority(PSID, DWORD);
4e2933c620 2015-04-21        kinaba: 		PUCHAR GetSidSubAuthorityCount(PSID);
4e2933c620 2015-04-21        kinaba: 		DWORD GetTapeParameters(HANDLE, DWORD, PDWORD, PVOID);
4e2933c620 2015-04-21        kinaba: 		DWORD GetTapePosition(HANDLE, DWORD, PDWORD, PDWORD, PDWORD);
4e2933c620 2015-04-21        kinaba: 		DWORD GetTapeStatus(HANDLE);
4e2933c620 2015-04-21        kinaba: 		BOOL GetThreadPriorityBoost(HANDLE, PBOOL);
4e2933c620 2015-04-21        kinaba: 		BOOL GetThreadTimes(HANDLE, LPFILETIME, LPFILETIME, LPFILETIME, LPFILETIME);
4e2933c620 2015-04-21        kinaba: 		BOOL GetTokenInformation(HANDLE, TOKEN_INFORMATION_CLASS, PVOID, DWORD, PDWORD);
4e2933c620 2015-04-21        kinaba: 		BOOL ImpersonateLoggedOnUser(HANDLE);
4e2933c620 2015-04-21        kinaba: 		BOOL ImpersonateNamedPipeClient(HANDLE);
4e2933c620 2015-04-21        kinaba: 		BOOL ImpersonateSelf(SECURITY_IMPERSONATION_LEVEL);
4e2933c620 2015-04-21        kinaba: 		BOOL InitializeAcl(PACL, DWORD, DWORD);
4e2933c620 2015-04-21        kinaba: 		DWORD SetCriticalSectionSpinCount(LPCRITICAL_SECTION, DWORD);
4e2933c620 2015-04-21        kinaba: 		BOOL InitializeSecurityDescriptor(PSECURITY_DESCRIPTOR, DWORD);
4e2933c620 2015-04-21        kinaba: 		BOOL InitializeSid(PSID, PSID_IDENTIFIER_AUTHORITY, BYTE);
4e2933c620 2015-04-21        kinaba: 		BOOL IsProcessorFeaturePresent(DWORD);
4e2933c620 2015-04-21        kinaba: 		BOOL IsTextUnicode(PCVOID, int, LPINT);
4e2933c620 2015-04-21        kinaba: 		BOOL IsValidAcl(PACL);
4e2933c620 2015-04-21        kinaba: 		BOOL IsValidSecurityDescriptor(PSECURITY_DESCRIPTOR);
4e2933c620 2015-04-21        kinaba: 		BOOL IsValidSid(PSID);
4e2933c620 2015-04-21        kinaba: 		BOOL LockFileEx(HANDLE, DWORD, DWORD, DWORD, DWORD, LPOVERLAPPED);
4e2933c620 2015-04-21        kinaba: 		BOOL LogonUserA(LPSTR, LPSTR, LPSTR, DWORD, DWORD, PHANDLE);
4e2933c620 2015-04-21        kinaba: 		BOOL LogonUserW(LPWSTR, LPWSTR, LPWSTR, DWORD, DWORD, PHANDLE);
4e2933c620 2015-04-21        kinaba: 		BOOL LookupAccountNameA(LPCSTR, LPCSTR, PSID, PDWORD, LPSTR, PDWORD, PSID_NAME_USE);
4e2933c620 2015-04-21        kinaba: 		BOOL LookupAccountNameW(LPCWSTR, LPCWSTR, PSID, PDWORD, LPWSTR, PDWORD, PSID_NAME_USE);
4e2933c620 2015-04-21        kinaba: 		BOOL LookupAccountSidA(LPCSTR, PSID, LPSTR, PDWORD, LPSTR, PDWORD, PSID_NAME_USE);
4e2933c620 2015-04-21        kinaba: 		BOOL LookupAccountSidW(LPCWSTR, PSID, LPWSTR, PDWORD, LPWSTR, PDWORD, PSID_NAME_USE);
4e2933c620 2015-04-21        kinaba: 		BOOL LookupPrivilegeDisplayNameA(LPCSTR, LPCSTR, LPSTR, PDWORD, PDWORD);
4e2933c620 2015-04-21        kinaba: 		BOOL LookupPrivilegeDisplayNameW(LPCWSTR, LPCWSTR, LPWSTR, PDWORD, PDWORD);
4e2933c620 2015-04-21        kinaba: 		BOOL LookupPrivilegeNameA(LPCSTR, PLUID, LPSTR, PDWORD);
4e2933c620 2015-04-21        kinaba: 		BOOL LookupPrivilegeNameW(LPCWSTR, PLUID, LPWSTR, PDWORD);
4e2933c620 2015-04-21        kinaba: 		BOOL LookupPrivilegeValueA(LPCSTR, LPCSTR, PLUID);
4e2933c620 2015-04-21        kinaba: 		BOOL LookupPrivilegeValueW(LPCWSTR, LPCWSTR, PLUID);
4e2933c620 2015-04-21        kinaba: 		BOOL MakeAbsoluteSD(PSECURITY_DESCRIPTOR, PSECURITY_DESCRIPTOR, PDWORD, PACL, PDWORD, PACL, PDWORD, PSID, PDWORD, PSID, PDWORD);
4e2933c620 2015-04-21        kinaba: 		BOOL MakeSelfRelativeSD(PSECURITY_DESCRIPTOR, PSECURITY_DESCRIPTOR, PDWORD);
4e2933c620 2015-04-21        kinaba: 		VOID MapGenericMask(PDWORD, PGENERIC_MAPPING);
4e2933c620 2015-04-21        kinaba: 		BOOL MoveFileExA(LPCSTR, LPCSTR, DWORD);
4e2933c620 2015-04-21        kinaba: 		BOOL MoveFileExW(LPCWSTR, LPCWSTR, DWORD);
4e2933c620 2015-04-21        kinaba: 		BOOL NotifyChangeEventLog(HANDLE, HANDLE);
4e2933c620 2015-04-21        kinaba: 		BOOL ObjectCloseAuditAlarmA(LPCSTR, PVOID, BOOL);
4e2933c620 2015-04-21        kinaba: 		BOOL ObjectCloseAuditAlarmW(LPCWSTR, PVOID, BOOL);
4e2933c620 2015-04-21        kinaba: 		BOOL ObjectDeleteAuditAlarmA(LPCSTR, PVOID, BOOL);
4e2933c620 2015-04-21        kinaba: 		BOOL ObjectDeleteAuditAlarmW(LPCWSTR, PVOID, BOOL);
4e2933c620 2015-04-21        kinaba: 		BOOL ObjectOpenAuditAlarmA(LPCSTR, PVOID, LPSTR, LPSTR, PSECURITY_DESCRIPTOR, HANDLE, DWORD, DWORD, PPRIVILEGE_SET, BOOL, BOOL, PBOOL);
4e2933c620 2015-04-21        kinaba: 		BOOL ObjectOpenAuditAlarmW(LPCWSTR, PVOID, LPWSTR, LPWSTR, PSECURITY_DESCRIPTOR, HANDLE, DWORD, DWORD, PPRIVILEGE_SET, BOOL, BOOL, PBOOL);
4e2933c620 2015-04-21        kinaba: 		BOOL ObjectPrivilegeAuditAlarmA(LPCSTR, PVOID, HANDLE, DWORD, PPRIVILEGE_SET, BOOL);
4e2933c620 2015-04-21        kinaba: 		BOOL ObjectPrivilegeAuditAlarmW(LPCWSTR, PVOID, HANDLE, DWORD, PPRIVILEGE_SET, BOOL);
4e2933c620 2015-04-21        kinaba: 		HANDLE OpenBackupEventLogA(LPCSTR, LPCSTR);
4e2933c620 2015-04-21        kinaba: 		HANDLE OpenBackupEventLogW(LPCWSTR, LPCWSTR);
4e2933c620 2015-04-21        kinaba: 		HANDLE OpenEventLogA(LPCSTR, LPCSTR);
4e2933c620 2015-04-21        kinaba: 		HANDLE OpenEventLogW(LPCWSTR, LPCWSTR);
4e2933c620 2015-04-21        kinaba: 		BOOL OpenProcessToken(HANDLE, DWORD, PHANDLE);
4e2933c620 2015-04-21        kinaba: 		BOOL OpenThreadToken(HANDLE, DWORD, BOOL, PHANDLE);
4e2933c620 2015-04-21        kinaba: 		BOOL PostQueuedCompletionStatus(HANDLE, DWORD, ULONG_PTR, LPOVERLAPPED);
4e2933c620 2015-04-21        kinaba: 		DWORD PrepareTape(HANDLE, DWORD, BOOL);
4e2933c620 2015-04-21        kinaba: 		BOOL PrivilegeCheck(HANDLE, PPRIVILEGE_SET, PBOOL);
4e2933c620 2015-04-21        kinaba: 		BOOL PrivilegedServiceAuditAlarmA(LPCSTR, LPCSTR, HANDLE, PPRIVILEGE_SET, BOOL);
4e2933c620 2015-04-21        kinaba: 		BOOL PrivilegedServiceAuditAlarmW(LPCWSTR, LPCWSTR, HANDLE, PPRIVILEGE_SET, BOOL);
4e2933c620 2015-04-21        kinaba: 		BOOL ReadDirectoryChangesW(HANDLE, PVOID, DWORD, BOOL, DWORD, PDWORD, LPOVERLAPPED, LPOVERLAPPED_COMPLETION_ROUTINE);
4e2933c620 2015-04-21        kinaba: 		BOOL ReadEventLogA(HANDLE, DWORD, DWORD, PVOID, DWORD, DWORD*, DWORD*);
4e2933c620 2015-04-21        kinaba: 		BOOL ReadEventLogW(HANDLE, DWORD, DWORD, PVOID, DWORD, DWORD*, DWORD*);
4e2933c620 2015-04-21        kinaba: 		BOOL ReadFileScatter(HANDLE, FILE_SEGMENT_ELEMENT*, DWORD, LPDWORD, LPOVERLAPPED);
4e2933c620 2015-04-21        kinaba: 		HANDLE RegisterEventSourceA (LPCSTR, LPCSTR);
4e2933c620 2015-04-21        kinaba: 		HANDLE RegisterEventSourceW(LPCWSTR, LPCWSTR);
4e2933c620 2015-04-21        kinaba: 		BOOL ReportEventA(HANDLE, WORD, WORD, DWORD, PSID, WORD, DWORD, LPCSTR*, PVOID);
4e2933c620 2015-04-21        kinaba: 		BOOL ReportEventW(HANDLE, WORD, WORD, DWORD, PSID, WORD, DWORD, LPCWSTR*, PVOID);
4e2933c620 2015-04-21        kinaba: 		BOOL RevertToSelf();
4e2933c620 2015-04-21        kinaba: 		BOOL SetAclInformation(PACL, PVOID, DWORD, ACL_INFORMATION_CLASS);
4e2933c620 2015-04-21        kinaba: 		BOOL SetFileSecurityA(LPCSTR, SECURITY_INFORMATION, PSECURITY_DESCRIPTOR);
4e2933c620 2015-04-21        kinaba: 		BOOL SetFileSecurityW(LPCWSTR, SECURITY_INFORMATION, PSECURITY_DESCRIPTOR);
4e2933c620 2015-04-21        kinaba: 		BOOL SetHandleInformation(HANDLE, DWORD, DWORD);
4e2933c620 2015-04-21        kinaba: 		BOOL SetKernelObjectSecurity(HANDLE, SECURITY_INFORMATION, PSECURITY_DESCRIPTOR);
4e2933c620 2015-04-21        kinaba: 		BOOL SetPrivateObjectSecurity(SECURITY_INFORMATION, PSECURITY_DESCRIPTOR, PSECURITY_DESCRIPTOR* , PGENERIC_MAPPING, HANDLE);
4e2933c620 2015-04-21        kinaba: 		BOOL SetProcessAffinityMask(HANDLE, DWORD);
4e2933c620 2015-04-21        kinaba: 		BOOL SetProcessPriorityBoost(HANDLE, BOOL);
4e2933c620 2015-04-21        kinaba: 		BOOL SetProcessShutdownParameters(DWORD, DWORD);
4e2933c620 2015-04-21        kinaba: 		BOOL SetProcessWorkingSetSize(HANDLE, SIZE_T, SIZE_T);
4e2933c620 2015-04-21        kinaba: 		BOOL SetSecurityDescriptorDacl(PSECURITY_DESCRIPTOR, BOOL, PACL, BOOL);
4e2933c620 2015-04-21        kinaba: 		BOOL SetSecurityDescriptorGroup(PSECURITY_DESCRIPTOR, PSID, BOOL);
4e2933c620 2015-04-21        kinaba: 		BOOL SetSecurityDescriptorOwner(PSECURITY_DESCRIPTOR, PSID, BOOL);
4e2933c620 2015-04-21        kinaba: 		BOOL SetSecurityDescriptorSacl(PSECURITY_DESCRIPTOR, BOOL, PACL, BOOL);
4e2933c620 2015-04-21        kinaba: 		BOOL SetSystemTimeAdjustment(DWORD, BOOL);
4e2933c620 2015-04-21        kinaba: 		DWORD SetTapeParameters(HANDLE, DWORD, PVOID);
4e2933c620 2015-04-21        kinaba: 		DWORD SetTapePosition(HANDLE, DWORD, DWORD, DWORD, DWORD, BOOL);
4e2933c620 2015-04-21        kinaba: 		BOOL SetThreadPriorityBoost(HANDLE, BOOL);
4e2933c620 2015-04-21        kinaba: 		BOOL SetThreadToken(PHANDLE, HANDLE);
4e2933c620 2015-04-21        kinaba: 		BOOL SetTokenInformation(HANDLE, TOKEN_INFORMATION_CLASS, PVOID, DWORD);
4e2933c620 2015-04-21        kinaba: 		DWORD SignalObjectAndWait(HANDLE, HANDLE, DWORD, BOOL);
4e2933c620 2015-04-21        kinaba: 		BOOL SwitchToThread();
4e2933c620 2015-04-21        kinaba: 		BOOL SystemTimeToTzSpecificLocalTime(LPTIME_ZONE_INFORMATION, LPSYSTEMTIME, LPSYSTEMTIME);
4e2933c620 2015-04-21        kinaba: 		BOOL TryEnterCriticalSection(LPCRITICAL_SECTION);
4e2933c620 2015-04-21        kinaba: 		BOOL UnlockFileEx(HANDLE, DWORD, DWORD, DWORD, LPOVERLAPPED);
4e2933c620 2015-04-21        kinaba: 		BOOL UpdateResourceA(HANDLE, LPCSTR, LPCSTR, WORD, PVOID, DWORD);
4e2933c620 2015-04-21        kinaba: 		BOOL UpdateResourceW(HANDLE, LPCWSTR, LPCWSTR, WORD, PVOID, DWORD);
4e2933c620 2015-04-21        kinaba: 		BOOL WriteFileGather(HANDLE, FILE_SEGMENT_ELEMENT*, DWORD, LPDWORD, LPOVERLAPPED);
4e2933c620 2015-04-21        kinaba: 		DWORD WriteTapemark(HANDLE, DWORD, DWORD, BOOL);
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: 		static if (_WIN32_WINNT >= 0x500) {
4e2933c620 2015-04-21        kinaba: 			BOOL AddAccessAllowedAceEx(PACL, DWORD, DWORD, DWORD, PSID);
4e2933c620 2015-04-21        kinaba: 			BOOL AddAccessDeniedAceEx(PACL, DWORD, DWORD, DWORD, PSID);
4e2933c620 2015-04-21        kinaba: 			PVOID AddVectoredExceptionHandler(ULONG, PVECTORED_EXCEPTION_HANDLER);
4e2933c620 2015-04-21        kinaba: 			BOOL AllocateUserPhysicalPages(HANDLE, PULONG_PTR, PULONG_PTR);
4e2933c620 2015-04-21        kinaba: 			BOOL AssignProcessToJobObject(HANDLE, HANDLE);
4e2933c620 2015-04-21        kinaba: 			BOOL ChangeTimerQueueTimer(HANDLE,HANDLE,ULONG,ULONG);
4e2933c620 2015-04-21        kinaba: 			LPVOID CreateFiberEx(SIZE_T, SIZE_T, DWORD, LPFIBER_START_ROUTINE, LPVOID);
4e2933c620 2015-04-21        kinaba: 			HANDLE CreateFileMappingA(HANDLE, LPSECURITY_ATTRIBUTES, DWORD, DWORD, DWORD, LPCSTR);
4e2933c620 2015-04-21        kinaba: 			HANDLE CreateFileMappingW(HANDLE, LPSECURITY_ATTRIBUTES, DWORD, DWORD, DWORD, LPCWSTR);
4e2933c620 2015-04-21        kinaba: 			BOOL CreateHardLinkA(LPCSTR, LPCSTR, LPSECURITY_ATTRIBUTES);
4e2933c620 2015-04-21        kinaba: 			BOOL CreateHardLinkW(LPCWSTR, LPCWSTR, LPSECURITY_ATTRIBUTES);
4e2933c620 2015-04-21        kinaba: 			HANDLE CreateJobObjectA(LPSECURITY_ATTRIBUTES, LPCSTR);
4e2933c620 2015-04-21        kinaba: 			HANDLE CreateJobObjectW(LPSECURITY_ATTRIBUTES, LPCWSTR);
4e2933c620 2015-04-21        kinaba: 			BOOL CreateProcessWithLogonW(LPCWSTR, LPCWSTR, LPCWSTR, DWORD, LPCWSTR, LPWSTR, DWORD, LPVOID, LPCWSTR, LPSTARTUPINFOW, LPPROCESS_INFORMATION);
4e2933c620 2015-04-21        kinaba: 			HANDLE CreateTimerQueue();
4e2933c620 2015-04-21        kinaba: 			BOOL CreateTimerQueueTimer(PHANDLE, HANDLE, WAITORTIMERCALLBACK, PVOID, DWORD, DWORD, ULONG);
4e2933c620 2015-04-21        kinaba: 			BOOL DeleteTimerQueue(HANDLE);
4e2933c620 2015-04-21        kinaba: 			BOOL DeleteTimerQueueEx(HANDLE, HANDLE);
4e2933c620 2015-04-21        kinaba: 			BOOL DeleteTimerQueueTimer(HANDLE, HANDLE, HANDLE);
4e2933c620 2015-04-21        kinaba: 			BOOL DeleteVolumeMountPointA(LPCSTR);
4e2933c620 2015-04-21        kinaba: 			BOOL DeleteVolumeMountPointW(LPCWSTR);
4e2933c620 2015-04-21        kinaba: 			BOOL DnsHostnameToComputerNameA(LPCSTR, LPSTR, LPDWORD);
4e2933c620 2015-04-21        kinaba: 			BOOL DnsHostnameToComputerNameW(LPCWSTR, LPWSTR, LPDWORD);
4e2933c620 2015-04-21        kinaba: 			BOOL EncryptFileA(LPCSTR);
4e2933c620 2015-04-21        kinaba: 			BOOL EncryptFileW(LPCWSTR);
4e2933c620 2015-04-21        kinaba: 			BOOL FileEncryptionStatusA(LPCSTR, LPDWORD);
4e2933c620 2015-04-21        kinaba: 			BOOL FileEncryptionStatusW(LPCWSTR, LPDWORD);
4e2933c620 2015-04-21        kinaba: 			HANDLE FindFirstVolumeA(LPCSTR, DWORD);
4e2933c620 2015-04-21        kinaba: 			HANDLE FindFirstVolumeMountPointA(LPSTR, LPSTR, DWORD);
4e2933c620 2015-04-21        kinaba: 			HANDLE FindFirstVolumeMountPointW(LPWSTR, LPWSTR, DWORD);
4e2933c620 2015-04-21        kinaba: 			HANDLE FindFirstVolumeW(LPCWSTR, DWORD);
4e2933c620 2015-04-21        kinaba: 			BOOL FindNextVolumeA(HANDLE, LPCSTR, DWORD);
4e2933c620 2015-04-21        kinaba: 			BOOL FindNextVolumeW(HANDLE, LPWSTR, DWORD);
4e2933c620 2015-04-21        kinaba: 			BOOL FindNextVolumeMountPointA(HANDLE, LPSTR, DWORD);
4e2933c620 2015-04-21        kinaba: 			BOOL FindNextVolumeMountPointW(HANDLE, LPWSTR, DWORD);
4e2933c620 2015-04-21        kinaba: 			BOOL FindVolumeClose(HANDLE);
4e2933c620 2015-04-21        kinaba: 			BOOL FindVolumeMountPointClose(HANDLE);
4e2933c620 2015-04-21        kinaba: 			BOOL FlushViewOfFile(PCVOID, DWORD);
4e2933c620 2015-04-21        kinaba: 			BOOL FreeUserPhysicalPages(HANDLE, PULONG_PTR, PULONG_PTR);
4e2933c620 2015-04-21        kinaba: 			BOOL GetComputerNameExA(COMPUTER_NAME_FORMAT, LPSTR, LPDWORD);
4e2933c620 2015-04-21        kinaba: 			BOOL GetComputerNameExW(COMPUTER_NAME_FORMAT, LPWSTR, LPDWORD);
4e2933c620 2015-04-21        kinaba: 			BOOL GetFileSizeEx(HANDLE, PLARGE_INTEGER);
4e2933c620 2015-04-21        kinaba: 			BOOL GetModuleHandleExA(DWORD, LPCSTR, HMODULE*);
4e2933c620 2015-04-21        kinaba: 			BOOL GetModuleHandleExW(DWORD, LPCWSTR, HMODULE*);
4e2933c620 2015-04-21        kinaba: 			HANDLE GetProcessHeap();
4e2933c620 2015-04-21        kinaba: 			DWORD GetProcessHeaps(DWORD, PHANDLE);
4e2933c620 2015-04-21        kinaba: 			BOOL GetProcessIoCounters(HANDLE, PIO_COUNTERS);
4e2933c620 2015-04-21        kinaba: 			BOOL GetSystemPowerStatus(LPSYSTEM_POWER_STATUS);
4e2933c620 2015-04-21        kinaba: 			UINT GetSystemWindowsDirectoryA(LPSTR, UINT);
4e2933c620 2015-04-21        kinaba: 			UINT GetSystemWindowsDirectoryW(LPWSTR, UINT);
4e2933c620 2015-04-21        kinaba: 			BOOL GetVolumeNameForVolumeMountPointA(LPCSTR, LPSTR, DWORD);
4e2933c620 2015-04-21        kinaba: 			BOOL GetVolumeNameForVolumeMountPointW(LPCWSTR, LPWSTR, DWORD);
4e2933c620 2015-04-21        kinaba: 			BOOL GetVolumePathNameA(LPCSTR, LPSTR, DWORD);
4e2933c620 2015-04-21        kinaba: 			BOOL GetVolumePathNameW(LPCWSTR, LPWSTR, DWORD);
4e2933c620 2015-04-21        kinaba: 			BOOL GlobalMemoryStatusEx(LPMEMORYSTATUSEX);
4e2933c620 2015-04-21        kinaba: 			BOOL IsBadCodePtr(FARPROC);
4e2933c620 2015-04-21        kinaba: 			BOOL IsSystemResumeAutomatic();
4e2933c620 2015-04-21        kinaba: 			BOOL MapUserPhysicalPages(PVOID, ULONG_PTR, PULONG_PTR);
4e2933c620 2015-04-21        kinaba: 			BOOL MapUserPhysicalPagesScatter(PVOID*, ULONG_PTR, PULONG_PTR);
4e2933c620 2015-04-21        kinaba: 			PVOID MapViewOfFile(HANDLE, DWORD, DWORD, DWORD, DWORD);
4e2933c620 2015-04-21        kinaba: 			PVOID MapViewOfFileEx(HANDLE, DWORD, DWORD, DWORD, DWORD, PVOID);
4e2933c620 2015-04-21        kinaba: 			HANDLE OpenFileMappingA(DWORD, BOOL, LPCSTR);
4e2933c620 2015-04-21        kinaba: 			HANDLE OpenFileMappingW(DWORD, BOOL, LPCWSTR);
4e2933c620 2015-04-21        kinaba: 			BOOL ProcessIdToSessionId(DWORD, DWORD*);
4e2933c620 2015-04-21        kinaba: 			BOOL QueryInformationJobObject(HANDLE, JOBOBJECTINFOCLASS, LPVOID, DWORD, LPDWORD);
4e2933c620 2015-04-21        kinaba: 			ULONG RemoveVectoredExceptionHandler(PVOID);
4e2933c620 2015-04-21        kinaba: 			BOOL ReplaceFileA(LPCSTR, LPCSTR, LPCSTR, DWORD, LPVOID, LPVOID);
4e2933c620 2015-04-21        kinaba: 			BOOL ReplaceFileW(LPCWSTR, LPCWSTR, LPCWSTR, DWORD, LPVOID, LPVOID);
4e2933c620 2015-04-21        kinaba: 			BOOL SetComputerNameExA(COMPUTER_NAME_FORMAT, LPCSTR);
4e2933c620 2015-04-21        kinaba: 			BOOL SetComputerNameExW(COMPUTER_NAME_FORMAT, LPCWSTR);
4e2933c620 2015-04-21        kinaba: 			BOOL SetFilePointerEx(HANDLE, LARGE_INTEGER, PLARGE_INTEGER, DWORD);
4e2933c620 2015-04-21        kinaba: 			BOOL SetInformationJobObject(HANDLE, JOBOBJECTINFOCLASS, LPVOID, DWORD);
4e2933c620 2015-04-21        kinaba: 			BOOL SetSecurityDescriptorControl(PSECURITY_DESCRIPTOR, SECURITY_DESCRIPTOR_CONTROL, SECURITY_DESCRIPTOR_CONTROL);
4e2933c620 2015-04-21        kinaba: 			BOOL SetSystemPowerState(BOOL, BOOL);
4e2933c620 2015-04-21        kinaba: 			EXECUTION_STATE SetThreadExecutionState(EXECUTION_STATE);
4e2933c620 2015-04-21        kinaba: 			DWORD SetThreadIdealProcessor(HANDLE, DWORD);
4e2933c620 2015-04-21        kinaba: 			BOOL SetVolumeMountPointA(LPCSTR, LPCSTR);
4e2933c620 2015-04-21        kinaba: 			BOOL SetVolumeMountPointW(LPCWSTR, LPCWSTR);
4e2933c620 2015-04-21        kinaba: 			BOOL TerminateJobObject(HANDLE, UINT);
4e2933c620 2015-04-21        kinaba: 			BOOL UnmapViewOfFile(PVOID);
4e2933c620 2015-04-21        kinaba: 			BOOL UnregisterWait(HANDLE);
4e2933c620 2015-04-21        kinaba: 			BOOL UnregisterWaitEx(HANDLE, HANDLE);
4e2933c620 2015-04-21        kinaba: 			BOOL VerifyVersionInfoA(LPOSVERSIONINFOEXA, DWORD, DWORDLONG);
4e2933c620 2015-04-21        kinaba: 			BOOL VerifyVersionInfoW(LPOSVERSIONINFOEXW, DWORD, DWORDLONG);
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: 			BOOL ActivateActCtx(HANDLE, ULONG_PTR*);
4e2933c620 2015-04-21        kinaba: 			void AddRefActCtx(HANDLE);
4e2933c620 2015-04-21        kinaba: 			BOOL CheckNameLegalDOS8Dot3A(LPCSTR, LPSTR, DWORD, PBOOL, PBOOL);
4e2933c620 2015-04-21        kinaba: 			BOOL CheckNameLegalDOS8Dot3W(LPCWSTR, LPSTR, DWORD, PBOOL, PBOOL);
4e2933c620 2015-04-21        kinaba: 			BOOL CheckRemoteDebuggerPresent(HANDLE, PBOOL);
4e2933c620 2015-04-21        kinaba: 			BOOL ConvertFiberToThread();
4e2933c620 2015-04-21        kinaba: 			HANDLE CreateActCtxA(PCACTCTXA);
4e2933c620 2015-04-21        kinaba: 			HANDLE CreateActCtxW(PCACTCTXW);
4e2933c620 2015-04-21        kinaba: 			HANDLE CreateMemoryResourceNotification(MEMORY_RESOURCE_NOTIFICATION_TYPE);
4e2933c620 2015-04-21        kinaba: 			BOOL DeactivateActCtx(DWORD, ULONG_PTR);
4e2933c620 2015-04-21        kinaba: 			BOOL DebugActiveProcessStop(DWORD);
4e2933c620 2015-04-21        kinaba: 			BOOL DebugBreakProcess(HANDLE);
4e2933c620 2015-04-21        kinaba: 			BOOL DebugSetProcessKillOnExit(BOOL);
4e2933c620 2015-04-21        kinaba: 			BOOL FindActCtxSectionGuid(DWORD, CPtr!(GUID), ULONG, CPtr!(GUID),
4e2933c620 2015-04-21        kinaba: 			  PACTCTX_SECTION_KEYED_DATA);
4e2933c620 2015-04-21        kinaba: 			BOOL FindActCtxSectionStringA(DWORD, CPtr!(GUID), ULONG, LPCSTR,
4e2933c620 2015-04-21        kinaba: 			  PACTCTX_SECTION_KEYED_DATA);
4e2933c620 2015-04-21        kinaba: 			BOOL FindActCtxSectionStringW(DWORD, CPtr!(GUID), ULONG, LPCWSTR,
4e2933c620 2015-04-21        kinaba: 			  PACTCTX_SECTION_KEYED_DATA);
4e2933c620 2015-04-21        kinaba: 			BOOL GetCurrentActCtx(HANDLE*);
4e2933c620 2015-04-21        kinaba: 			VOID GetNativeSystemInfo(LPSYSTEM_INFO);
4e2933c620 2015-04-21        kinaba: 			BOOL GetProcessHandleCount(HANDLE, PDWORD);
4e2933c620 2015-04-21        kinaba: 			BOOL GetSystemRegistryQuota(PDWORD, PDWORD);
4e2933c620 2015-04-21        kinaba: 			BOOL GetSystemTimes(LPFILETIME, LPFILETIME, LPFILETIME);
4e2933c620 2015-04-21        kinaba: 			UINT GetSystemWow64DirectoryA(LPSTR, UINT);
4e2933c620 2015-04-21        kinaba: 			UINT GetSystemWow64DirectoryW(LPWSTR, UINT);
4e2933c620 2015-04-21        kinaba: 			BOOL GetThreadIOPendingFlag(HANDLE, PBOOL);
4e2933c620 2015-04-21        kinaba: 			BOOL GetVolumePathNamesForVolumeNameA(LPCSTR, LPSTR, DWORD, PDWORD);
4e2933c620 2015-04-21        kinaba: 			BOOL GetVolumePathNamesForVolumeNameW(LPCWSTR, LPWSTR, DWORD, PDWORD);
4e2933c620 2015-04-21        kinaba: 			UINT GetWriteWatch(DWORD, PVOID, SIZE_T, PVOID*, PULONG_PTR, PULONG);
4e2933c620 2015-04-21        kinaba: 			BOOL HeapQueryInformation(HANDLE, HEAP_INFORMATION_CLASS, PVOID, SIZE_T, PSIZE_T);
4e2933c620 2015-04-21        kinaba: 			BOOL HeapSetInformation(HANDLE, HEAP_INFORMATION_CLASS, PVOID, SIZE_T);
4e2933c620 2015-04-21        kinaba: 			BOOL IsProcessInJob(HANDLE, HANDLE, PBOOL);
4e2933c620 2015-04-21        kinaba: 			BOOL IsWow64Process(HANDLE, PBOOL);
4e2933c620 2015-04-21        kinaba: 			BOOL QueryActCtxW(DWORD, HANDLE, PVOID, ULONG, PVOID, SIZE_T, SIZE_T*);
4e2933c620 2015-04-21        kinaba: 			BOOL QueryMemoryResourceNotification(HANDLE, PBOOL);
4e2933c620 2015-04-21        kinaba: 			void ReleaseActCtx(HANDLE);
4e2933c620 2015-04-21        kinaba: 			UINT ResetWriteWatch(LPVOID, SIZE_T);
4e2933c620 2015-04-21        kinaba: 			BOOL SetFileShortNameA(HANDLE, LPCSTR);
4e2933c620 2015-04-21        kinaba: 			BOOL SetFileShortNameW(HANDLE, LPCWSTR);
4e2933c620 2015-04-21        kinaba: 			BOOL SetFileValidData(HANDLE, LONGLONG);
4e2933c620 2015-04-21        kinaba: 			BOOL ZombifyActCtx(HANDLE);
4e2933c620 2015-04-21        kinaba: 		}
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: 		static if (_WIN32_WINNT >= 0x502) {
4e2933c620 2015-04-21        kinaba: 			DWORD GetFirmwareEnvironmentVariableA(LPCSTR, LPCSTR, PVOID, DWORD);
4e2933c620 2015-04-21        kinaba: 			DWORD GetFirmwareEnvironmentVariableW(LPCWSTR, LPCWSTR, PVOID, DWORD);
4e2933c620 2015-04-21        kinaba: 			DWORD GetDllDirectoryA(DWORD, LPSTR);
4e2933c620 2015-04-21        kinaba: 			DWORD GetDllDirectoryW(DWORD, LPWSTR);
4e2933c620 2015-04-21        kinaba: 			DWORD GetProcessId(HANDLE);
4e2933c620 2015-04-21        kinaba: 			HANDLE ReOpenFile(HANDLE, DWORD, DWORD, DWORD);
4e2933c620 2015-04-21        kinaba: 			BOOL SetDllDirectoryA(LPCSTR);
4e2933c620 2015-04-21        kinaba: 			BOOL SetDllDirectoryW(LPCWSTR);
4e2933c620 2015-04-21        kinaba: 			BOOL SetFirmwareEnvironmentVariableA(LPCSTR, LPCSTR, PVOID, DWORD);
4e2933c620 2015-04-21        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: 	// ???
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: 
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: version (Unicode) {
4e2933c620 2015-04-21        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;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: 	static if (_WIN32_WINDOWS >= 0x410) {
4e2933c620 2015-04-21        kinaba: 		alias CreateWaitableTimerW CreateWaitableTimer;
4e2933c620 2015-04-21        kinaba: 		alias GetFileAttributesExW GetFileAttributesEx;
4e2933c620 2015-04-21        kinaba: 		alias GetLongPathNameW GetLongPathName;
4e2933c620 2015-04-21        kinaba: 		alias QueryDosDeviceW QueryDosDevice;
4e2933c620 2015-04-21        kinaba: 	}
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: 	static if (_WIN32_WINNT_ONLY) {
4e2933c620 2015-04-21        kinaba: 		alias HW_PROFILE_INFOW HW_PROFILE_INFO;
4e2933c620 2015-04-21        kinaba: 		alias AccessCheckAndAuditAlarmW AccessCheckAndAuditAlarm;
4e2933c620 2015-04-21        kinaba: 		alias BackupEventLogW BackupEventLog;
4e2933c620 2015-04-21        kinaba: 		alias ClearEventLogW ClearEventLog;
4e2933c620 2015-04-21        kinaba: 		alias CreateNamedPipeW CreateNamedPipe;
4e2933c620 2015-04-21        kinaba: 		alias CreateProcessAsUserW CreateProcessAsUser;
4e2933c620 2015-04-21        kinaba: 		alias DefineDosDeviceW DefineDosDevice;
4e2933c620 2015-04-21        kinaba: 		alias FindFirstFileExW FindFirstFileEx;
4e2933c620 2015-04-21        kinaba: 		alias GetBinaryTypeW GetBinaryType;
4e2933c620 2015-04-21        kinaba: 		alias GetCompressedFileSizeW GetCompressedFileSize;
4e2933c620 2015-04-21        kinaba: 		alias GetFileSecurityW GetFileSecurity;
4e2933c620 2015-04-21        kinaba: 		alias LogonUserW LogonUser;
4e2933c620 2015-04-21        kinaba: 		alias LookupAccountNameW LookupAccountName;
4e2933c620 2015-04-21        kinaba: 		alias LookupAccountSidW LookupAccountSid;
4e2933c620 2015-04-21        kinaba: 		alias LookupPrivilegeDisplayNameW LookupPrivilegeDisplayName;
4e2933c620 2015-04-21        kinaba: 		alias LookupPrivilegeNameW LookupPrivilegeName;
4e2933c620 2015-04-21        kinaba: 		alias LookupPrivilegeValueW LookupPrivilegeValue;
4e2933c620 2015-04-21        kinaba: 		alias MoveFileExW MoveFileEx;
4e2933c620 2015-04-21        kinaba: 		alias ObjectCloseAuditAlarmW ObjectCloseAuditAlarm;
4e2933c620 2015-04-21        kinaba: 		alias ObjectDeleteAuditAlarmW ObjectDeleteAuditAlarm;
4e2933c620 2015-04-21        kinaba: 		alias ObjectOpenAuditAlarmW ObjectOpenAuditAlarm;
4e2933c620 2015-04-21        kinaba: 		alias ObjectPrivilegeAuditAlarmW ObjectPrivilegeAuditAlarm;
4e2933c620 2015-04-21        kinaba: 		alias OpenBackupEventLogW OpenBackupEventLog;
4e2933c620 2015-04-21        kinaba: 		alias OpenEventLogW OpenEventLog;
4e2933c620 2015-04-21        kinaba: 		alias PrivilegedServiceAuditAlarmW PrivilegedServiceAuditAlarm;
4e2933c620 2015-04-21        kinaba: 		alias ReadEventLogW ReadEventLog;
4e2933c620 2015-04-21        kinaba: 		alias RegisterEventSourceW RegisterEventSource;
4e2933c620 2015-04-21        kinaba: 		alias ReportEventW ReportEvent;
4e2933c620 2015-04-21        kinaba: 		alias SetFileSecurityW SetFileSecurity;
4e2933c620 2015-04-21        kinaba: 		alias UpdateResourceW UpdateResource;
c2b7a98c21 2011-02-23        kinaba: 
4e2933c620 2015-04-21        kinaba: 		static if (_WIN32_WINNT >= 0x500) {
4e2933c620 2015-04-21        kinaba: 			alias CreateFileMappingW CreateFileMapping;
4e2933c620 2015-04-21        kinaba: 			alias CreateHardLinkW CreateHardLink;
4e2933c620 2015-04-21        kinaba: 			alias CreateJobObjectW CreateJobObject;
4e2933c620 2015-04-21        kinaba: 			alias DeleteVolumeMountPointW DeleteVolumeMountPoint;
4e2933c620 2015-04-21        kinaba: 			alias DnsHostnameToComputerNameW DnsHostnameToComputerName;
4e2933c620 2015-04-21        kinaba: 			alias EncryptFileW EncryptFile;
4e2933c620 2015-04-21        kinaba: 			alias FileEncryptionStatusW FileEncryptionStatus;
4e2933c620 2015-04-21        kinaba: 			alias FindFirstVolumeW FindFirstVolume;
4e2933c620 2015-04-21        kinaba: 			alias FindFirstVolumeMountPointW FindFirstVolumeMountPoint;
4e2933c620 2015-04-21        kinaba: 			alias FindNextVolumeW FindNextVolume;
4e2933c620 2015-04-21        kinaba: 			alias FindNextVolumeMountPointW FindNextVolumeMountPoint;
4e2933c620 2015-04-21        kinaba: 			alias GetModuleHandleExW GetModuleHandleEx;
4e2933c620 2015-04-21        kinaba: 			alias GetSystemWindowsDirectoryW GetSystemWindowsDirectory;
4e2933c620 2015-04-21        kinaba: 			alias GetVolumeNameForVolumeMountPointW GetVolumeNameForVolumeMountPoint;
4e2933c620 2015-04-21        kinaba: 			alias GetVolumePathNameW GetVolumePathName;
4e2933c620 2015-04-21        kinaba: 			alias OpenFileMappingW OpenFileMapping;
4e2933c620 2015-04-21        kinaba: 			alias ReplaceFileW ReplaceFile;
4e2933c620 2015-04-21        kinaba: 			alias SetVolumeMountPointW SetVolumeMountPoint;
4e2933c620 2015-04-21        kinaba: 			alias VerifyVersionInfoW VerifyVersionInfo;
4e2933c620 2015-04-21        kinaba: 		}
c2b7a98c21 2011-02-23        kinaba: 
4e2933c620 2015-04-21        kinaba: 		static if (_WIN32_WINNT >= 0x501) {
4e2933c620 2015-04-21        kinaba: 			alias ACTCTXW ACTCTX;
4e2933c620 2015-04-21        kinaba: 			alias CheckNameLegalDOS8Dot3W CheckNameLegalDOS8Dot3;
4e2933c620 2015-04-21        kinaba: 			alias CreateActCtxW CreateActCtx;
4e2933c620 2015-04-21        kinaba: 			alias FindActCtxSectionStringW FindActCtxSectionString;
4e2933c620 2015-04-21        kinaba: 			alias GetSystemWow64DirectoryW GetSystemWow64Directory;
4e2933c620 2015-04-21        kinaba: 			alias GetVolumePathNamesForVolumeNameW GetVolumePathNamesForVolumeName;
4e2933c620 2015-04-21        kinaba: 			alias SetFileShortNameW SetFileShortName;
4e2933c620 2015-04-21        kinaba: 		}
c2b7a98c21 2011-02-23        kinaba: 
4e2933c620 2015-04-21        kinaba: 		static if (_WIN32_WINNT >= 0x502) {
4e2933c620 2015-04-21        kinaba: 			alias SetFirmwareEnvironmentVariableW SetFirmwareEnvironmentVariable;
4e2933c620 2015-04-21        kinaba: 			alias SetDllDirectoryW SetDllDirectory;
4e2933c620 2015-04-21        kinaba: 			alias GetDllDirectoryW GetDllDirectory;
4e2933c620 2015-04-21        kinaba: 		}
4e2933c620 2015-04-21        kinaba: 	}
c2b7a98c21 2011-02-23        kinaba: 
4e2933c620 2015-04-21        kinaba: } else {
4e2933c620 2015-04-21        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;
c2b7a98c21 2011-02-23        kinaba: 
4e2933c620 2015-04-21        kinaba: 	static if (_WIN32_WINDOWS >= 0x410) {
4e2933c620 2015-04-21        kinaba: 		alias CreateWaitableTimerA CreateWaitableTimer;
4e2933c620 2015-04-21        kinaba: 		alias GetFileAttributesExA GetFileAttributesEx;
4e2933c620 2015-04-21        kinaba: 		alias GetLongPathNameA GetLongPathName;
4e2933c620 2015-04-21        kinaba: 		alias QueryDosDeviceA QueryDosDevice;
4e2933c620 2015-04-21        kinaba: 	}
c2b7a98c21 2011-02-23        kinaba: 
4e2933c620 2015-04-21        kinaba: 	static if (_WIN32_WINNT_ONLY) {
4e2933c620 2015-04-21        kinaba: 		alias HW_PROFILE_INFOA HW_PROFILE_INFO;
4e2933c620 2015-04-21        kinaba: 		alias AccessCheckAndAuditAlarmA AccessCheckAndAuditAlarm;
4e2933c620 2015-04-21        kinaba: 		alias BackupEventLogA BackupEventLog;
4e2933c620 2015-04-21        kinaba: 		alias ClearEventLogA ClearEventLog;
4e2933c620 2015-04-21        kinaba: 		alias CreateNamedPipeA CreateNamedPipe;
4e2933c620 2015-04-21        kinaba: 		alias CreateProcessAsUserA CreateProcessAsUser;
4e2933c620 2015-04-21        kinaba: 		alias DefineDosDeviceA DefineDosDevice;
4e2933c620 2015-04-21        kinaba: 		alias FindFirstFileExA FindFirstFileEx;
4e2933c620 2015-04-21        kinaba: 		alias GetBinaryTypeA GetBinaryType;
4e2933c620 2015-04-21        kinaba: 		alias GetCompressedFileSizeA GetCompressedFileSize;
4e2933c620 2015-04-21        kinaba: 		alias GetFileSecurityA GetFileSecurity;
4e2933c620 2015-04-21        kinaba: 		alias LogonUserA LogonUser;
4e2933c620 2015-04-21        kinaba: 		alias LookupAccountNameA LookupAccountName;
4e2933c620 2015-04-21        kinaba: 		alias LookupAccountSidA LookupAccountSid;
4e2933c620 2015-04-21        kinaba: 		alias LookupPrivilegeDisplayNameA LookupPrivilegeDisplayName;
4e2933c620 2015-04-21        kinaba: 		alias LookupPrivilegeNameA LookupPrivilegeName;
4e2933c620 2015-04-21        kinaba: 		alias LookupPrivilegeValueA LookupPrivilegeValue;
4e2933c620 2015-04-21        kinaba: 		alias MoveFileExA MoveFileEx;
4e2933c620 2015-04-21        kinaba: 		alias ObjectCloseAuditAlarmA ObjectCloseAuditAlarm;
4e2933c620 2015-04-21        kinaba: 		alias ObjectDeleteAuditAlarmA ObjectDeleteAuditAlarm;
4e2933c620 2015-04-21        kinaba: 		alias ObjectOpenAuditAlarmA ObjectOpenAuditAlarm;
4e2933c620 2015-04-21        kinaba: 		alias ObjectPrivilegeAuditAlarmA ObjectPrivilegeAuditAlarm;
4e2933c620 2015-04-21        kinaba: 		alias OpenBackupEventLogA OpenBackupEventLog;
4e2933c620 2015-04-21        kinaba: 		alias OpenEventLogA OpenEventLog;
4e2933c620 2015-04-21        kinaba: 		alias PrivilegedServiceAuditAlarmA PrivilegedServiceAuditAlarm;
4e2933c620 2015-04-21        kinaba: 		alias ReadEventLogA ReadEventLog;
4e2933c620 2015-04-21        kinaba: 		alias RegisterEventSourceA RegisterEventSource;
4e2933c620 2015-04-21        kinaba: 		alias ReportEventA ReportEvent;
4e2933c620 2015-04-21        kinaba: 		alias SetFileSecurityA SetFileSecurity;
4e2933c620 2015-04-21        kinaba: 		alias UpdateResourceA UpdateResource;
c2b7a98c21 2011-02-23        kinaba: 
4e2933c620 2015-04-21        kinaba: 		static if (_WIN32_WINNT >= 0x500) {
4e2933c620 2015-04-21        kinaba: 			alias CreateFileMappingA CreateFileMapping;
4e2933c620 2015-04-21        kinaba: 			alias CreateHardLinkA CreateHardLink;
4e2933c620 2015-04-21        kinaba: 			alias CreateJobObjectA CreateJobObject;
4e2933c620 2015-04-21        kinaba: 			alias DeleteVolumeMountPointA DeleteVolumeMountPoint;
4e2933c620 2015-04-21        kinaba: 			alias DnsHostnameToComputerNameA DnsHostnameToComputerName;
4e2933c620 2015-04-21        kinaba: 			alias EncryptFileA EncryptFile;
4e2933c620 2015-04-21        kinaba: 			alias FileEncryptionStatusA FileEncryptionStatus;
4e2933c620 2015-04-21        kinaba: 			alias FindFirstVolumeA FindFirstVolume;
4e2933c620 2015-04-21        kinaba: 			alias FindFirstVolumeMountPointA FindFirstVolumeMountPoint;
4e2933c620 2015-04-21        kinaba: 			alias FindNextVolumeA FindNextVolume;
4e2933c620 2015-04-21        kinaba: 			alias FindNextVolumeMountPointA FindNextVolumeMountPoint;
4e2933c620 2015-04-21        kinaba: 			alias GetModuleHandleExA GetModuleHandleEx;
4e2933c620 2015-04-21        kinaba: 			alias GetSystemWindowsDirectoryA GetSystemWindowsDirectory;
4e2933c620 2015-04-21        kinaba: 			alias GetVolumeNameForVolumeMountPointA GetVolumeNameForVolumeMountPoint;
4e2933c620 2015-04-21        kinaba: 			alias GetVolumePathNameA GetVolumePathName;
4e2933c620 2015-04-21        kinaba: 			alias OpenFileMappingA OpenFileMapping;
4e2933c620 2015-04-21        kinaba: 			alias ReplaceFileA ReplaceFile;
4e2933c620 2015-04-21        kinaba: 			alias SetVolumeMountPointA SetVolumeMountPoint;
4e2933c620 2015-04-21        kinaba: 			alias VerifyVersionInfoA VerifyVersionInfo;
4e2933c620 2015-04-21        kinaba: 		}
c2b7a98c21 2011-02-23        kinaba: 
4e2933c620 2015-04-21        kinaba: 		static if (_WIN32_WINNT >= 0x501) {
4e2933c620 2015-04-21        kinaba: 			alias ACTCTXA ACTCTX;
4e2933c620 2015-04-21        kinaba: 			alias CheckNameLegalDOS8Dot3A CheckNameLegalDOS8Dot3;
4e2933c620 2015-04-21        kinaba: 			alias CreateActCtxA CreateActCtx;
4e2933c620 2015-04-21        kinaba: 			alias FindActCtxSectionStringA FindActCtxSectionString;
4e2933c620 2015-04-21        kinaba: 			alias GetSystemWow64DirectoryA GetSystemWow64Directory;
4e2933c620 2015-04-21        kinaba: 			alias GetVolumePathNamesForVolumeNameA GetVolumePathNamesForVolumeName;
4e2933c620 2015-04-21        kinaba: 			alias SetFileShortNameA SetFileShortName;
4e2933c620 2015-04-21        kinaba: 		}
c2b7a98c21 2011-02-23        kinaba: 
4e2933c620 2015-04-21        kinaba: 		static if (_WIN32_WINNT >= 0x502) {
4e2933c620 2015-04-21        kinaba: 			alias GetDllDirectoryA GetDllDirectory;
4e2933c620 2015-04-21        kinaba: 			alias SetDllDirectoryA SetDllDirectory;
4e2933c620 2015-04-21        kinaba: 			alias SetFirmwareEnvironmentVariableA SetFirmwareEnvironmentVariable;
4e2933c620 2015-04-21        kinaba: 		}
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: 
4e2933c620 2015-04-21        kinaba: static if (_WIN32_WINNT_ONLY) {
4e2933c620 2015-04-21        kinaba: 	alias HW_PROFILE_INFO* LPHW_PROFILE_INFO;
c2b7a98c21 2011-02-23        kinaba: 
4e2933c620 2015-04-21        kinaba: 	static if (_WIN32_WINNT >= 0x501) {
4e2933c620 2015-04-21        kinaba: 		alias ACTCTX* PACTCTX, PCACTCTX;
4e2933c620 2015-04-21        kinaba: 	}
4e2933c620 2015-04-21        kinaba: }