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