diff options
Diffstat (limited to 'lib/windows/windows.nim')
-rwxr-xr-x | lib/windows/windows.nim | 23909 |
1 files changed, 23909 insertions, 0 deletions
diff --git a/lib/windows/windows.nim b/lib/windows/windows.nim new file mode 100755 index 000000000..409977e7a --- /dev/null +++ b/lib/windows/windows.nim @@ -0,0 +1,23909 @@ +# +# +# Nimrod's Runtime Library +# (c) Copyright 2006 Andreas Rumpf +# +# See the file "copying.txt", included in this +# distribution, for details about the copyright. +# + +## Define ``winUnicode`` before importing this module for the +## unicode version. + +type + ATOM* = int16 + TAtom* = ATOM + WINBOOL* = int32 # XXX: longbool; + WORDBOOL* = int16 # XXX: not a bool + CALTYPE* = int + CALID* = int + CCHAR* = char + COLORREF* = int + TCOLORREF* = int + SHORT* = int16 + WINT* = int32 + LONG* = int32 + DWORD* = int + PINTEGER* = ptr int32 + PBOOL* = ptr WINBOOL + LONGLONG* = int64 + PLONGLONG* = ptr LONGLONG + LPLONGLONG* = ptr LONGLONG + ULONGLONG* = int64 # used in AMD64 CONTEXT + PULONGLONG* = ptr ULONGLONG # + DWORD64* = int64 # + PDWORD64* = ptr DWORD64 # + INT_PTR* = TAddress + UINT_PTR* = TAddress + LONG_PTR* = TAddress + ULONG_PTR* = TAddress + DWORDLONG* = int64 # was unsigned long + PDWORDLONG* = ptr DWORDLONG + HANDLE* = int32 + THandle* = HANDLE + HRESULT* = int32 + PHRESULT* = ptr HRESULT + HACCEL* = HANDLE + HBITMAP* = HANDLE + HBRUSH* = HANDLE + HCOLORSPACE* = HANDLE + HCONV* = HANDLE + HCONVLIST* = HANDLE + HCURSOR* = HANDLE + HDBC* = HANDLE + HDC* = HANDLE + HDDEDATA* = HANDLE + HDESK* = HANDLE + HDROP* = HANDLE + HDWP* = HANDLE + HENHMETAFILE* = HANDLE + HENV* = HANDLE + HFILE* = HANDLE + HFONT* = HANDLE + HGDIOBJ* = HANDLE + HGLOBAL* = HANDLE + HGLRC* = HANDLE + HHOOK* = HANDLE + HICON* = HANDLE + HIMAGELIST* = HANDLE + HINST* = HANDLE # Not HINSTANCE, else it has problems with the var HInstance + HKEY* = HANDLE + HKL* = HANDLE + HLOCAL* = HANDLE + HMENU* = HANDLE + HMETAFILE* = HANDLE + HMODULE* = HANDLE + HPALETTE* = HANDLE + HPEN* = HANDLE + HRASCONN* = HANDLE + HRGN* = HANDLE + HRSRC* = HANDLE + HSTMT* = HANDLE + HSTR* = HANDLE + HSZ* = HANDLE + HWINSTA* = HANDLE + HWND* = HANDLE + HTASK* = HANDLE + LANGID* = int16 + LCID* = DWORD + LCTYPE* = DWORD + LPARAM* = LONG_PTR + LP* = ptr int16 + LPBOOL* = ptr WINBOOL + LPBYTE* = ptr int8 + LPCCH* = cstring + LPCH* = cstring + LPCOLORREF* = ptr COLORREF + LPCSTR* = cstring + PWideChar* = ptr int16 # XXX + WideChar* = int16 + +when defined(winUnicode): + type + LPCTSTR* = Pwidechar +else: + type + LPCTSTR* = cstring +type + LPCWCH* = Pwidechar + LPCWSTR* = Pwidechar + LPPCSTR* = ptr LPCSTR + LPPCTSTR* = ptr LPCTSTR + LPPCWSTR* = ptr LPCWSTR + LPDWORD* = ptr DWORD + LPHANDLE* = ptr HANDLE + LPINT* = ptr int32 + LPLONG* = ptr int32 + LPSTR* = cstring + +when defined(winUnicode): + type + LPTCH* = Pwidechar + LPTSTR* = Pwidechar +else: + type + LPTCH* = cstring + LPTSTR* = cstring +type + LRESULT* = LONG_PTR + LPVOID* = pointer + LPCVOID* = pointer + LPWCH* = Pwidechar + LPWORD* = ptr int16 + LPWSTR* = Pwidechar + NWPSTR* = Pwidechar + PWINBOOL* = ptr WINBOOL + PBOOLEAN* = ptr int8 + PBYTE* = ptr int8 + PCCH* = cstring + PCH* = cstring + PCSTR* = cstring + PCWCH* = Pwidechar + PCWSTR* = Pwidechar + PDWORD* = ptr DWORD + PHANDLE* = ptr HANDLE + PHKEY* = ptr HKEY + PINT* = ptr int32 + PLONG* = ptr int32 + PSHORT* = ptr SHORT + PSTR* = cstring + PSZ* = cstring + +when defined(winUnicode): + type + PTBYTE* = ptr int16 + PTCH* = Pwidechar + PTCHAR* = Pwidechar + PTSTR* = Pwidechar +else: + type + PTBYTE* = ptr int8 + PTCH* = cstring + PTCHAR* = cstring + PTSTR* = cstring +type + PUCHAR* = ptr int8 + PWCH* = Pwidechar + PWCHAR* = Pwidechar + PWORD* = ptr int16 + PUINT* = ptr int + PULONG* = ptr int + PUSHORT* = ptr int16 + PVOID* = pointer + RETCODE* = SHORT + SC_HANDLE* = HANDLE + SC_LOCK* = LPVOID + LPSC_HANDLE* = ptr SC_HANDLE + SERVICE_STATUS_HANDLE* = DWORD + +when defined(winUnicode): + type + TBYTE* = int16 + TCHAR* = widechar + BCHAR* = int16 +else: + type + TBYTE* = int8 + TCHAR* = char + BCHAR* = int8 +type + UCHAR* = int8 + WCHAR* = WideChar + UINT* = int + ULONG* = int + USHORT* = int16 + WPARAM* = LONG_PTR + PLPSTR* = ptr LPSTR + PLPWStr* = ptr LPWStr + ACL_INFORMATION_CLASS* = enum + AclRevisionInformation = 1, AclSizeInformation + MEDIA_TYPE* = enum + Unknown, F5_1Pt2_512, F3_1Pt44_512, F3_2Pt88_512, F3_20Pt8_512, F3_720_512, + F5_360_512, F5_320_512, F5_320_1024, F5_180_512, F5_160_512, RemovableMedia, + FixedMedia + +const + RASCS_DONE* = 0x00002000 + RASCS_PAUSED* = 0x00001000 + +type + RASCONNSTATE* = enum + RASCS_OpenPort = 0, RASCS_PortOpened, RASCS_ConnectDevice, + RASCS_DeviceConnected, RASCS_AllDevicesConnected, RASCS_Authenticate, + RASCS_AuthNotify, RASCS_AuthRetry, RASCS_AuthCallback, + RASCS_AuthChangePassword, RASCS_AuthProject, RASCS_AuthLinkSpeed, + RASCS_AuthAck, RASCS_ReAuthenticate, RASCS_Authenticated, + RASCS_PrepareForCallback, RASCS_WaitForModemReset, RASCS_WaitForCallback, + RASCS_Projected, RASCS_StartAuthentication, RASCS_CallbackComplete, + RASCS_LogonNetwork, RASCS_Interactive = RASCS_PAUSED, + RASCS_RetryAuthentication, RASCS_CallbackSetByCaller, RASCS_PasswordExpired, + RASCS_Connected = RASCS_DONE, RASCS_Disconnected + RASPROJECTION* = enum + RASP_PppIp = 0x00008021, RASP_PppIpx = 0x0000802B, RASP_PppNbf = 0x0000803F, + RASP_Amb = 0x00010000 + SECURITY_IMPERSONATION_LEVEL* = enum + SecurityAnonymous, SecurityIdentification, SecurityImpersonation, + SecurityDelegation + SID_NAME_USE* = enum + SidTypeUser = 1, SidTypeGroup, SidTypeDomain, SidTypeAlias, + SidTypeWellKnownGroup, SidTypeDeletedAccount, SidTypeInvalid, SidTypeUnknown + PSID_NAME_USE* = ptr SID_NAME_USE + TOKEN_INFORMATION_CLASS* = enum + TokenUser = 1, TokenGroups, TokenPrivileges, TokenOwner, TokenPrimaryGroup, + TokenDefaultDacl, TokenSource, TokenType, TokenImpersonationLevel, + TokenStatistics + TTOKEN_TYPE* = enum + TokenPrimary = 1, TokenImpersonation + MakeIntResourceA* = cstring + MakeIntResourceW* = PWideChar + MakeIntResource* = MakeIntResourceA + +proc GetBValue*(rgb: int32): int8 +proc GetGValue*(rgb: int32): int8 +proc GetRValue*(rgb: int32): int8 +proc RGB*(r, g, b: int32): DWORD +proc HIBYTE*(w: int32): int8 +proc HIWORD*(L: int32): int16 +proc LOBYTE*(w: int32): int8 +proc LOWORD*(L: int32): int16 +proc MAKELONG*(a, b: int32): LONG +proc MAKEWORD*(a, b: int32): int16 +proc SEXT_HIWORD*(L: int32): int32 +proc ZEXT_HIWORD*(L: int32): int32 +proc SEXT_LOWORD*(L: int32): int32 +proc INDEXTOOVERLAYMASK*(i: int32): int32 +proc INDEXTOSTATEIMAGEMASK*(i: int32): int32 +proc MAKEINTATOM*(i: int32): LPTSTR +proc MAKELANGID*(p, s: int32): int32 +proc PRIMARYLANGID*(lgid: int32): int16 +proc SUBLANGID*(lgid: int32): int32 +proc LANGIDFROMLCID*(lcid: int32): int16 +proc SORTIDFROMLCID*(lcid: int32): int16 +proc MAKELCID*(lgid, srtid: int32): DWORD +proc MAKELPARAM*(L, h: int32): LPARAM +proc MAKELRESULT*(L, h: int32): LRESULT +proc MAKEROP4*(fore, back: int32): DWORD +proc MAKEWPARAM*(L, h: int32): WPARAM +proc GET_X_LPARAM*(lp: Windows.LParam): int32 +proc GET_Y_LPARAM*(lp: Windows.LParam): int32 +proc PALETTEINDEX*(i: int32): COLORREF +proc PALETTERGB*(r, g, b: int32): int32 + # + # Definitions for callback procedures + # +type + BFFCALLBACK* = proc (para1: HWND, para2: UINT, para3: LPARAM, para4: LPARAM): int32{. + stdcall.} + LPCCHOOKPROC* = proc (para1: HWND, para2: UINT, para3: WPARAM, para4: LPARAM): UINT{. + stdcall.} + LPCFHOOKPROC* = proc (para1: HWND, para2: UINT, para3: WPARAM, para4: LPARAM): UINT{. + stdcall.} + PTHREAD_START_ROUTINE* = Pointer + LPTHREAD_START_ROUTINE* = PTHREAD_START_ROUTINE + EDITSTREAMCALLBACK* = proc (para1: DWORD, para2: LPBYTE, para3: LONG, + para4: LONG): DWORD{.stdcall.} + LPFRHOOKPROC* = proc (para1: HWND, para2: UINT, para3: WPARAM, para4: LPARAM): UINT{. + stdcall.} + LPOFNHOOKPROC* = proc (para1: HWND, para2: UINT, para3: WPARAM, para4: LPARAM): UINT{. + stdcall.} + LPPRINTHOOKPROC* = proc (para1: HWND, para2: UINT, para3: WPARAM, + para4: LPARAM): UINT{.stdcall.} + LPSETUPHOOKPROC* = proc (para1: HWND, para2: UINT, para3: WPARAM, + para4: LPARAM): UINT{.stdcall.} + DLGPROC* = proc (para1: HWND, para2: UINT, para3: WPARAM, para4: LPARAM): LRESULT{. + stdcall.} + PFNPROPSHEETCALLBACK* = proc (para1: HWND, para2: UINT, para3: LPARAM): int32{. + stdcall.} + LPSERVICE_MAIN_FUNCTION* = proc (para1: DWORD, para2: LPTSTR){.stdcall.} + PFNTVCOMPARE* = proc (para1: LPARAM, para2: LPARAM, para3: LPARAM): int32{. + stdcall.} + WNDPROC* = proc (para1: HWND, para2: UINT, para3: WPARAM, para4: LPARAM): LRESULT{. + stdcall.} + FARPROC* = pointer + TFarProc* = FARPROC + TProc* = pointer + ENUMRESTYPEPROC* = proc (para1: HANDLE, para2: LPTSTR, para3: LONG): WINBOOL{. + stdcall.} + ENUMRESNAMEPROC* = proc (para1: HANDLE, para2: LPCTSTR, para3: LPTSTR, + para4: LONG): WINBOOL{.stdcall.} + ENUMRESLANGPROC* = proc (para1: HANDLE, para2: LPCTSTR, para3: LPCTSTR, + para4: int16, para5: LONG): WINBOOL{.stdcall.} + DESKTOPENUMPROC* = FARPROC + ENUMWINDOWSPROC* = proc (para1: HWND, para2: LPARAM): WINBOOL{.stdcall.} + ENUMWINDOWSTATIONPROC* = proc (para1: LPTSTR, para2: LPARAM): WINBOOL{.stdcall.} + SENDASYNCPROC* = proc (para1: HWND, para2: UINT, para3: DWORD, para4: LRESULT){. + stdcall.} + TIMERPROC* = proc (para1: HWND, para2: UINT, para3: UINT, para4: DWORD){. + stdcall.} + GRAYSTRINGPROC* = FARPROC + DRAWSTATEPROC* = proc (para1: HDC, para2: LPARAM, para3: WPARAM, para4: int32, + para5: int32): WINBOOL{.stdcall.} + PROPENUMPROCEX* = proc (para1: HWND, para2: LPCTSTR, para3: HANDLE, + para4: DWORD): WINBOOL{.stdcall.} + PROPENUMPROC* = proc (para1: HWND, para2: LPCTSTR, para3: HANDLE): WINBOOL{. + stdcall.} + HOOKPROC* = proc (para1: int32, para2: WPARAM, para3: LPARAM): LRESULT{. + stdcall.} + ENUMOBJECTSPROC* = proc (para1: LPVOID, para2: LPARAM){.stdcall.} + LINEDDAPROC* = proc (para1: int32, para2: int32, para3: LPARAM){.stdcall.} + TABORTPROC* = proc (para1: HDC, para2: int32): WINBOOL{.stdcall.} + LPPAGEPAINTHOOK* = proc (para1: HWND, para2: UINT, para3: WPARAM, + para4: LPARAM): UINT{.stdcall.} + LPPAGESETUPHOOK* = proc (para1: HWND, para2: UINT, para3: WPARAM, + para4: LPARAM): UINT{.stdcall.} + ICMENUMPROC* = proc (para1: LPTSTR, para2: LPARAM): int32{.stdcall.} + EDITWORDBREAKPROCEX* = proc (para1: cstring, para2: LONG, para3: int8, + para4: WINT): LONG{.stdcall.} + PFNLVCOMPARE* = proc (para1: LPARAM, para2: LPARAM, para3: LPARAM): int32{. + stdcall.} + LOCALE_ENUMPROC* = proc (para1: LPTSTR): WINBOOL{.stdcall.} + CODEPAGE_ENUMPROC* = proc (para1: LPTSTR): WINBOOL{.stdcall.} + DATEFMT_ENUMPROC* = proc (para1: LPTSTR): WINBOOL{.stdcall.} + TIMEFMT_ENUMPROC* = proc (para1: LPTSTR): WINBOOL{.stdcall.} + CALINFO_ENUMPROC* = proc (para1: LPTSTR): WINBOOL{.stdcall.} + PHANDLER_ROUTINE* = proc (para1: DWORD): WINBOOL{.stdcall.} + LPHANDLER_FUNCTION* = proc (para1: DWORD): WINBOOL{.stdcall.} + PFNGETPROFILEPATH* = proc (para1: LPCTSTR, para2: LPSTR, para3: UINT): UINT{. + stdcall.} + PFNRECONCILEPROFILE* = proc (para1: LPCTSTR, para2: LPCTSTR, para3: DWORD): UINT{. + stdcall.} + PFNPROCESSPOLICIES* = proc (para1: HWND, para2: LPCTSTR, para3: LPCTSTR, + para4: LPCTSTR, para5: DWORD): WINBOOL{.stdcall.} #Not convertable by H2PAS + # #define SECURITY_NULL_SID_AUTHORITY {0,0,0,0,0,0} + # #define SECURITY_WORLD_SID_AUTHORITY {0,0,0,0,0,1} + # #define SECURITY_LOCAL_SID_AUTHORITY {0,0,0,0,0,2} + # #define SECURITY_CREATOR_SID_AUTHORITY {0,0,0,0,0,3} + # #define SECURITY_NON_UNIQUE_AUTHORITY {0,0,0,0,0,4} + # #define SECURITY_NT_AUTHORITY {0,0,0,0,0,5} + # + +const + SE_CREATE_TOKEN_NAME* = "SeCreateTokenPrivilege" + SE_ASSIGNPRIMARYTOKEN_NAME* = "SeAssignPrimaryTokenPrivilege" + SE_LOCK_MEMORY_NAME* = "SeLockMemoryPrivilege" + SE_INCREASE_QUOTA_NAME* = "SeIncreaseQuotaPrivilege" + SE_UNSOLICITED_INPUT_NAME* = "SeUnsolicitedInputPrivilege" + SE_MACHINE_ACCOUNT_NAME* = "SeMachineAccountPrivilege" + SE_TCB_NAME* = "SeTcbPrivilege" + SE_SECURITY_NAME* = "SeSecurityPrivilege" + SE_TAKE_OWNERSHIP_NAME* = "SeTakeOwnershipPrivilege" + SE_LOAD_DRIVER_NAME* = "SeLoadDriverPrivilege" + SE_SYSTEM_PROFILE_NAME* = "SeSystemProfilePrivilege" + SE_SYSTEMTIME_NAME* = "SeSystemtimePrivilege" + SE_PROF_SINGLE_PROCESS_NAME* = "SeProfileSingleProcessPrivilege" + SE_INC_BASE_PRIORITY_NAME* = "SeIncreaseBasePriorityPrivilege" + SE_CREATE_PAGEFILE_NAME* = "SeCreatePagefilePrivilege" + SE_CREATE_PERMANENT_NAME* = "SeCreatePermanentPrivilege" + SE_BACKUP_NAME* = "SeBackupPrivilege" + SE_RESTORE_NAME* = "SeRestorePrivilege" + SE_SHUTDOWN_NAME* = "SeShutdownPrivilege" + SE_DEBUG_NAME* = "SeDebugPrivilege" + SE_AUDIT_NAME* = "SeAuditPrivilege" + SE_SYSTEM_ENVIRONMENT_NAME* = "SeSystemEnvironmentPrivilege" + SE_CHANGE_NOTIFY_NAME* = "SeChangeNotifyPrivilege" + SE_REMOTE_SHUTDOWN_NAME* = "SeRemoteShutdownPrivilege" + SERVICES_ACTIVE_DATABASEW* = "ServicesActive" + SERVICES_FAILED_DATABASEW* = "ServicesFailed" + SERVICES_ACTIVE_DATABASEA* = "ServicesActive" + SERVICES_FAILED_DATABASEA* = "ServicesFailed" + SC_GROUP_IDENTIFIERW* = "+" + SC_GROUP_IDENTIFIERA* = "+" + +when defined(winUnicode): + const + SERVICES_ACTIVE_DATABASE* = SERVICES_ACTIVE_DATABASEW + SERVICES_FAILED_DATABASE* = SERVICES_FAILED_DATABASEW + SC_GROUP_IDENTIFIER* = SC_GROUP_IDENTIFIERW +else: + const + SERVICES_ACTIVE_DATABASE* = SERVICES_ACTIVE_DATABASEA + SERVICES_FAILED_DATABASE* = SERVICES_FAILED_DATABASEA + SC_GROUP_IDENTIFIER* = SC_GROUP_IDENTIFIERA +type # PFNCALLBACK = CALLB; + PFNCALLBACK* = proc (para1, para2: UINT, para3: HCONV, para4, para5: HSZ, + para6: HDDEDATA, para7, para8: DWORD): HDDEData{.stdcall.} # + # CALLB + # = + # procedure + # ;CDECL; + CALLB* = PFNCALLBACK + SECURITY_CONTEXT_TRACKING_MODE* = WINBOOL # End of stuff from ddeml.h in old Cygnus headers + # + # ----------------------------------------------- + WNDENUMPROC* = FARPROC + ENHMFENUMPROC* = FARPROC + CCSTYLE* = DWORD + PCCSTYLE* = ptr CCSTYLE + LPCCSTYLE* = ptr CCSTYLE + CCSTYLEFLAGA* = DWORD + PCCSTYLEFLAGA* = ptr CCSTYLEFLAGA + LPCCSTYLEFLAGA* = ptr CCSTYLEFLAGA + +const + LZERROR_UNKNOWNALG* = - (8) + LZERROR_BADVALUE* = - (7) + LZERROR_GLOBLOCK* = - (6) + LZERROR_GLOBALLOC* = - (5) + LZERROR_WRITE* = - (4) + LZERROR_READ* = - (3) + LZERROR_BADOUTHANDLE* = - (2) + LZERROR_BADINHANDLE* = - (1) + NO_ERROR* = 0 + ERROR_SUCCESS* = 0 + ERROR_INVALID_FUNCTION* = 1 + ERROR_FILE_NOT_FOUND* = 2 + ERROR_PATH_NOT_FOUND* = 3 + ERROR_TOO_MANY_OPEN_FILES* = 4 + ERROR_ACCESS_DENIED* = 5 + ERROR_INVALID_HANDLE* = 6 + ERROR_ARENA_TRASHED* = 7 + ERROR_NOT_ENOUGH_MEMORY* = 8 + ERROR_INVALID_BLOCK* = 9 + ERROR_BAD_ENVIRONMENT* = 10 + ERROR_BAD_FORMAT* = 11 + ERROR_INVALID_ACCESS* = 12 + ERROR_INVALID_DATA* = 13 + ERROR_OUTOFMEMORY* = 14 + ERROR_INVALID_DRIVE* = 15 + ERROR_CURRENT_DIRECTORY* = 16 + ERROR_NOT_SAME_DEVICE* = 17 + ERROR_NO_MORE_FILES* = 18 + ERROR_WRITE_PROTECT* = 19 + ERROR_BAD_UNIT* = 20 + ERROR_NOT_READY* = 21 + ERROR_BAD_COMMAND* = 22 + ERROR_CRC* = 23 + ERROR_BAD_LENGTH* = 24 + ERROR_SEEK* = 25 + ERROR_NOT_DOS_DISK* = 26 + ERROR_SECTOR_NOT_FOUND* = 27 + ERROR_OUT_OF_PAPER* = 28 + ERROR_WRITE_FAULT* = 29 + ERROR_READ_FAULT* = 30 + ERROR_GEN_FAILURE* = 31 + ERROR_SHARING_VIOLATION* = 32 + ERROR_LOCK_VIOLATION* = 33 + ERROR_WRONG_DISK* = 34 + ERROR_SHARING_BUFFER_EXCEEDED* = 36 + ERROR_HANDLE_EOF* = 38 + ERROR_HANDLE_DISK_FULL* = 39 + ERROR_NOT_SUPPORTED* = 50 + ERROR_REM_NOT_LIST* = 51 + ERROR_DUP_NAME* = 52 + ERROR_BAD_NETPATH* = 53 + ERROR_NETWORK_BUSY* = 54 + ERROR_DEV_NOT_EXIST* = 55 + ERROR_TOO_MANY_CMDS* = 56 + ERROR_ADAP_HDW_ERR* = 57 + ERROR_BAD_NET_RESP* = 58 + ERROR_UNEXP_NET_ERR* = 59 + ERROR_BAD_REM_ADAP* = 60 + ERROR_PRINTQ_FULL* = 61 + ERROR_NO_SPOOL_SPACE* = 62 + ERROR_PRINT_CANCELLED* = 63 + ERROR_NETNAME_DELETED* = 64 + ERROR_NETWORK_ACCESS_DENIED* = 65 + ERROR_BAD_DEV_TYPE* = 66 + ERROR_BAD_NET_NAME* = 67 + ERROR_TOO_MANY_NAMES* = 68 + ERROR_TOO_MANY_SESS* = 69 + ERROR_SHARING_PAUSED* = 70 + ERROR_REQ_NOT_ACCEP* = 71 + ERROR_REDIR_PAUSED* = 72 + ERROR_FILE_EXISTS* = 80 + ERROR_CANNOT_MAKE* = 82 + ERROR_FAIL_I24* = 83 + ERROR_OUT_OF_STRUCTURES* = 84 + ERROR_ALREADY_ASSIGNED* = 85 + ERROR_INVALID_PASSWORD* = 86 + ERROR_INVALID_PARAMETER* = 87 + ERROR_NET_WRITE_FAULT* = 88 + ERROR_NO_PROC_SLOTS* = 89 + ERROR_TOO_MANY_SEMAPHORES* = 100 + ERROR_EXCL_SEM_ALREADY_OWNED* = 101 + ERROR_SEM_IS_SET* = 102 + ERROR_TOO_MANY_SEM_REQUESTS* = 103 + ERROR_INVALID_AT_INTERRUPT_TIME* = 104 + ERROR_SEM_OWNER_DIED* = 105 + ERROR_SEM_USER_LIMIT* = 106 + ERROR_DISK_CHANGE* = 107 + ERROR_DRIVE_LOCKED* = 108 + ERROR_BROKEN_PIPE* = 109 + ERROR_OPEN_FAILED* = 110 + ERROR_BUFFER_OVERFLOW* = 111 + ERROR_DISK_FULL* = 112 + ERROR_NO_MORE_SEARCH_HANDLES* = 113 + ERROR_INVALID_TARGET_HANDLE* = 114 + ERROR_INVALID_CATEGORY* = 117 + ERROR_INVALID_VERIFY_SWITCH* = 118 + ERROR_BAD_DRIVER_LEVEL* = 119 + ERROR_CALL_NOT_IMPLEMENTED* = 120 + ERROR_SEM_TIMEOUT* = 121 + ERROR_INSUFFICIENT_BUFFER* = 122 + ERROR_INVALID_NAME* = 123 + ERROR_INVALID_LEVEL* = 124 + ERROR_NO_VOLUME_LABEL* = 125 + ERROR_MOD_NOT_FOUND* = 126 + ERROR_PROC_NOT_FOUND* = 127 + ERROR_WAIT_NO_CHILDREN* = 128 + ERROR_CHILD_NOT_COMPLETE* = 129 + ERROR_DIRECT_ACCESS_HANDLE* = 130 + ERROR_NEGATIVE_SEEK* = 131 + ERROR_SEEK_ON_DEVICE* = 132 + ERROR_IS_JOIN_TARGET* = 133 + ERROR_IS_JOINED* = 134 + ERROR_IS_SUBSTED* = 135 + ERROR_NOT_JOINED* = 136 + ERROR_NOT_SUBSTED* = 137 + ERROR_JOIN_TO_JOIN* = 138 + ERROR_SUBST_TO_SUBST* = 139 + ERROR_JOIN_TO_SUBST* = 140 + ERROR_SUBST_TO_JOIN* = 141 + ERROR_BUSY_DRIVE* = 142 + ERROR_SAME_DRIVE* = 143 + ERROR_DIR_NOT_ROOT* = 144 + ERROR_DIR_NOT_EMPTY* = 145 + ERROR_IS_SUBST_PATH* = 146 + ERROR_IS_JOIN_PATH* = 147 + ERROR_PATH_BUSY* = 148 + ERROR_IS_SUBST_TARGET* = 149 + ERROR_SYSTEM_TRACE* = 150 + ERROR_INVALID_EVENT_COUNT* = 151 + ERROR_TOO_MANY_MUXWAITERS* = 152 + ERROR_INVALID_LIST_FORMAT* = 153 + ERROR_LABEL_TOO_LONG* = 154 + ERROR_TOO_MANY_TCBS* = 155 + ERROR_SIGNAL_REFUSED* = 156 + ERROR_DISCARDED* = 157 + ERROR_NOT_LOCKED* = 158 + ERROR_BAD_THREADID_ADDR* = 159 + ERROR_BAD_ARGUMENTS* = 160 + ERROR_BAD_PATHNAME* = 161 + ERROR_SIGNAL_PENDING* = 162 + ERROR_MAX_THRDS_REACHED* = 164 + ERROR_LOCK_FAILED* = 167 + ERROR_BUSY* = 170 + ERROR_CANCEL_VIOLATION* = 173 + ERROR_ATOMIC_LOCKS_NOT_SUPPORTED* = 174 + ERROR_INVALID_SEGMENT_NUMBER* = 180 + ERROR_INVALID_ORDINAL* = 182 + ERROR_ALREADY_EXISTS* = 183 + ERROR_INVALID_FLAG_NUMBER* = 186 + ERROR_SEM_NOT_FOUND* = 187 + ERROR_INVALID_STARTING_CODESEG* = 188 + ERROR_INVALID_STACKSEG* = 189 + ERROR_INVALID_MODULETYPE* = 190 + ERROR_INVALID_EXE_SIGNATURE* = 191 + ERROR_EXE_MARKED_INVALID* = 192 + ERROR_BAD_EXE_FORMAT* = 193 + ERROR_ITERATED_DATA_EXCEEDS_64k* = 194 + ERROR_INVALID_MINALLOCSIZE* = 195 + ERROR_DYNLINK_FROM_INVALID_RING* = 196 + ERROR_IOPL_NOT_ENABLED* = 197 + ERROR_INVALID_SEGDPL* = 198 + ERROR_AUTODATASEG_EXCEEDS_64k* = 199 + ERROR_RING2SEG_MUST_BE_MOVABLE* = 200 + ERROR_RELOC_CHAIN_XEEDS_SEGLIM* = 201 + ERROR_INFLOOP_IN_RELOC_CHAIN* = 202 + ERROR_ENVVAR_NOT_FOUND* = 203 + ERROR_NO_SIGNAL_SENT* = 205 + ERROR_FILENAME_EXCED_RANGE* = 206 + ERROR_RING2_STACK_IN_USE* = 207 + ERROR_META_EXPANSION_TOO_LONG* = 208 + ERROR_INVALID_SIGNAL_NUMBER* = 209 + ERROR_THREAD_1_INACTIVE* = 210 + ERROR_LOCKED* = 212 + ERROR_TOO_MANY_MODULES* = 214 + ERROR_NESTING_NOT_ALLOWED* = 215 + ERROR_BAD_PIPE* = 230 + ERROR_PIPE_BUSY* = 231 + ERROR_NO_DATA* = 232 + ERROR_PIPE_NOT_CONNECTED* = 233 + ERROR_MORE_DATA* = 234 + ERROR_VC_DISCONNECTED* = 240 + ERROR_INVALID_EA_NAME* = 254 + ERROR_EA_LIST_INCONSISTENT* = 255 + ERROR_NO_MORE_ITEMS* = 259 + ERROR_CANNOT_COPY* = 266 + ERROR_DIRECTORY* = 267 + ERROR_EAS_DIDNT_FIT* = 275 + ERROR_EA_FILE_CORRUPT* = 276 + ERROR_EA_TABLE_FULL* = 277 + ERROR_INVALID_EA_HANDLE* = 278 + ERROR_EAS_NOT_SUPPORTED* = 282 + ERROR_NOT_OWNER* = 288 + ERROR_TOO_MANY_POSTS* = 298 + ERROR_PARTIAL_COPY* = 299 + ERROR_MR_MID_NOT_FOUND* = 317 + ERROR_INVALID_ADDRESS* = 487 + ERROR_ARITHMETIC_OVERFLOW* = 534 + ERROR_PIPE_CONNECTED* = 535 + ERROR_PIPE_LISTENING* = 536 + ERROR_EA_ACCESS_DENIED* = 994 + ERROR_OPERATION_ABORTED* = 995 + ERROR_IO_INCOMPLETE* = 996 + ERROR_IO_PENDING* = 997 + ERROR_NOACCESS* = 998 + ERROR_SWAPERROR* = 999 + ERROR_STACK_OVERFLOW* = 1001 + ERROR_INVALID_MESSAGE* = 1002 + ERROR_CAN_NOT_COMPLETE* = 1003 + ERROR_INVALID_FLAGS* = 1004 + ERROR_UNRECOGNIZED_VOLUME* = 1005 + ERROR_FILE_INVALID* = 1006 + ERROR_FULLSCREEN_MODE* = 1007 + ERROR_NO_TOKEN* = 1008 + ERROR_BADDB* = 1009 + ERROR_BADKEY* = 1010 + ERROR_CANTOPEN* = 1011 + ERROR_CANTREAD* = 1012 + ERROR_CANTWRITE* = 1013 + ERROR_REGISTRY_RECOVERED* = 1014 + ERROR_REGISTRY_CORRUPT* = 1015 + ERROR_REGISTRY_IO_FAILED* = 1016 + ERROR_NOT_REGISTRY_FILE* = 1017 + ERROR_KEY_DELETED* = 1018 + ERROR_NO_LOG_SPACE* = 1019 + ERROR_KEY_HAS_CHILDREN* = 1020 + ERROR_CHILD_MUST_BE_VOLATILE* = 1021 + ERROR_NOTIFY_ENUM_DIR* = 1022 + ERROR_DEPENDENT_SERVICES_RUNNING* = 1051 + ERROR_INVALID_SERVICE_CONTROL* = 1052 + ERROR_SERVICE_REQUEST_TIMEOUT* = 1053 + ERROR_SERVICE_NO_THREAD* = 1054 + ERROR_SERVICE_DATABASE_LOCKED* = 1055 + ERROR_SERVICE_ALREADY_RUNNING* = 1056 + ERROR_INVALID_SERVICE_ACCOUNT* = 1057 + ERROR_SERVICE_DISABLED* = 1058 + ERROR_CIRCULAR_DEPENDENCY* = 1059 + ERROR_SERVICE_DOES_NOT_EXIST* = 1060 + ERROR_SERVICE_CANNOT_ACCEPT_CTRL* = 1061 + ERROR_SERVICE_NOT_ACTIVE* = 1062 + ERROR_FAILED_SERVICE_CONTROLLER_CONNECT* = 1063 + ERROR_EXCEPTION_IN_SERVICE* = 1064 + ERROR_DATABASE_DOES_NOT_EXIST* = 1065 + ERROR_SERVICE_SPECIFIC_ERROR* = 1066 + ERROR_PROCESS_ABORTED* = 1067 + ERROR_SERVICE_DEPENDENCY_FAIL* = 1068 + ERROR_SERVICE_LOGON_FAILED* = 1069 + ERROR_SERVICE_START_HANG* = 1070 + ERROR_INVALID_SERVICE_LOCK* = 1071 + ERROR_SERVICE_MARKED_FOR_DELETE* = 1072 + ERROR_SERVICE_EXISTS* = 1073 + ERROR_ALREADY_RUNNING_LKG* = 1074 + ERROR_SERVICE_DEPENDENCY_DELETED* = 1075 + ERROR_BOOT_ALREADY_ACCEPTED* = 1076 + ERROR_SERVICE_NEVER_STARTED* = 1077 + ERROR_DUPLICATE_SERVICE_NAME* = 1078 + ERROR_END_OF_MEDIA* = 1100 + ERROR_FILEMARK_DETECTED* = 1101 + ERROR_BEGINNING_OF_MEDIA* = 1102 + ERROR_SETMARK_DETECTED* = 1103 + ERROR_NO_DATA_DETECTED* = 1104 + ERROR_PARTITION_FAILURE* = 1105 + ERROR_INVALID_BLOCK_LENGTH* = 1106 + ERROR_DEVICE_NOT_PARTITIONED* = 1107 + ERROR_UNABLE_TO_LOCK_MEDIA* = 1108 + ERROR_UNABLE_TO_UNLOAD_MEDIA* = 1109 + ERROR_MEDIA_CHANGED* = 1110 + ERROR_BUS_RESET* = 1111 + ERROR_NO_MEDIA_IN_DRIVE* = 1112 + ERROR_NO_UNICODE_TRANSLATION* = 1113 + ERROR_DLL_INIT_FAILED* = 1114 + ERROR_SHUTDOWN_IN_PROGRESS* = 1115 + ERROR_NO_SHUTDOWN_IN_PROGRESS* = 1116 + ERROR_IO_DEVICE* = 1117 + ERROR_SERIAL_NO_DEVICE* = 1118 + ERROR_IRQ_BUSY* = 1119 + ERROR_MORE_WRITES* = 1120 + ERROR_COUNTER_TIMEOUT* = 1121 + ERROR_FLOPPY_ID_MARK_NOT_FOUND* = 1122 + ERROR_FLOPPY_WRONG_CYLINDER* = 1123 + ERROR_FLOPPY_UNKNOWN_ERROR* = 1124 + ERROR_FLOPPY_BAD_REGISTERS* = 1125 + ERROR_DISK_RECALIBRATE_FAILED* = 1126 + ERROR_DISK_OPERATION_FAILED* = 1127 + ERROR_DISK_RESET_FAILED* = 1128 + ERROR_EOM_OVERFLOW* = 1129 + ERROR_NOT_ENOUGH_SERVER_MEMORY* = 1130 + ERROR_POSSIBLE_DEADLOCK* = 1131 + ERROR_MAPPED_ALIGNMENT* = 1132 + ERROR_SET_POWER_STATE_VETOED* = 1140 + ERROR_SET_POWER_STATE_FAILED* = 1141 + ERROR_OLD_WIN_VERSION* = 1150 + ERROR_APP_WRONG_OS* = 1151 + ERROR_SINGLE_INSTANCE_APP* = 1152 + ERROR_RMODE_APP* = 1153 + ERROR_INVALID_DLL* = 1154 + ERROR_NO_ASSOCIATION* = 1155 + ERROR_DDE_FAIL* = 1156 + ERROR_DLL_NOT_FOUND* = 1157 + ERROR_BAD_USERNAME* = 2202 + ERROR_NOT_CONNECTED* = 2250 + ERROR_OPEN_FILES* = 2401 + ERROR_ACTIVE_CONNECTIONS* = 2402 + ERROR_DEVICE_IN_USE* = 2404 + ERROR_BAD_DEVICE* = 1200 + ERROR_CONNECTION_UNAVAIL* = 1201 + ERROR_DEVICE_ALREADY_REMEMBERED* = 1202 + ERROR_NO_NET_OR_BAD_PATH* = 1203 + ERROR_BAD_PROVIDER* = 1204 + ERROR_CANNOT_OPEN_PROFILE* = 1205 + ERROR_BAD_PROFILE* = 1206 + ERROR_NOT_CONTAINER* = 1207 + ERROR_EXTENDED_ERROR* = 1208 + ERROR_INVALID_GROUPNAME* = 1209 + ERROR_INVALID_COMPUTERNAME* = 1210 + ERROR_INVALID_EVENTNAME* = 1211 + ERROR_INVALID_DOMAINNAME* = 1212 + ERROR_INVALID_SERVICENAME* = 1213 + ERROR_INVALID_NETNAME* = 1214 + ERROR_INVALID_SHARENAME* = 1215 + ERROR_INVALID_PASSWORDNAME* = 1216 + ERROR_INVALID_MESSAGENAME* = 1217 + ERROR_INVALID_MESSAGEDEST* = 1218 + ERROR_SESSION_CREDENTIAL_CONFLICT* = 1219 + ERROR_REMOTE_SESSION_LIMIT_EXCEEDED* = 1220 + ERROR_DUP_DOMAINNAME* = 1221 + ERROR_NO_NETWORK* = 1222 + ERROR_CANCELLED* = 1223 + ERROR_USER_MAPPED_FILE* = 1224 + ERROR_CONNECTION_REFUSED* = 1225 + ERROR_GRACEFUL_DISCONNECT* = 1226 + ERROR_ADDRESS_ALREADY_ASSOCIATED* = 1227 + ERROR_ADDRESS_NOT_ASSOCIATED* = 1228 + ERROR_CONNECTION_INVALID* = 1229 + ERROR_CONNECTION_ACTIVE* = 1230 + ERROR_NETWORK_UNREACHABLE* = 1231 + ERROR_HOST_UNREACHABLE* = 1232 + ERROR_PROTOCOL_UNREACHABLE* = 1233 + ERROR_PORT_UNREACHABLE* = 1234 + ERROR_REQUEST_ABORTED* = 1235 + ERROR_CONNECTION_ABORTED* = 1236 + ERROR_RETRY* = 1237 + ERROR_CONNECTION_COUNT_LIMIT* = 1238 + ERROR_LOGIN_TIME_RESTRICTION* = 1239 + ERROR_LOGIN_WKSTA_RESTRICTION* = 1240 + ERROR_INCORRECT_ADDRESS* = 1241 + ERROR_ALREADY_REGISTERED* = 1242 + ERROR_SERVICE_NOT_FOUND* = 1243 + ERROR_NOT_AUTHENTICATED* = 1244 + ERROR_NOT_LOGGED_ON* = 1245 + ERROR_CONTINUE* = 1246 + ERROR_ALREADY_INITIALIZED* = 1247 + ERROR_NO_MORE_DEVICES* = 1248 + ERROR_NOT_ALL_ASSIGNED* = 1300 + ERROR_SOME_NOT_MAPPED* = 1301 + ERROR_NO_QUOTAS_FOR_ACCOUNT* = 1302 + ERROR_LOCAL_USER_SESSION_KEY* = 1303 + ERROR_NULL_LM_PASSWORD* = 1304 + ERROR_UNKNOWN_REVISION* = 1305 + ERROR_REVISION_MISMATCH* = 1306 + ERROR_INVALID_OWNER* = 1307 + ERROR_INVALID_PRIMARY_GROUP* = 1308 + ERROR_NO_IMPERSONATION_TOKEN* = 1309 + ERROR_CANT_DISABLE_MANDATORY* = 1310 + ERROR_NO_LOGON_SERVERS* = 1311 + ERROR_NO_SUCH_LOGON_SESSION* = 1312 + ERROR_NO_SUCH_PRIVILEGE* = 1313 + ERROR_PRIVILEGE_NOT_HELD* = 1314 + ERROR_INVALID_ACCOUNT_NAME* = 1315 + ERROR_USER_EXISTS* = 1316 + ERROR_NO_SUCH_USER* = 1317 + ERROR_GROUP_EXISTS* = 1318 + ERROR_NO_SUCH_GROUP* = 1319 + ERROR_MEMBER_IN_GROUP* = 1320 + ERROR_MEMBER_NOT_IN_GROUP* = 1321 + ERROR_LAST_ADMIN* = 1322 + ERROR_WRONG_PASSWORD* = 1323 + ERROR_ILL_FORMED_PASSWORD* = 1324 + ERROR_PASSWORD_RESTRICTION* = 1325 + ERROR_LOGON_FAILURE* = 1326 + ERROR_ACCOUNT_RESTRICTION* = 1327 + ERROR_INVALID_LOGON_HOURS* = 1328 + ERROR_INVALID_WORKSTATION* = 1329 + ERROR_PASSWORD_EXPIRED* = 1330 + ERROR_ACCOUNT_DISABLED* = 1331 + ERROR_NONE_MAPPED* = 1332 + ERROR_TOO_MANY_LUIDS_REQUESTED* = 1333 + ERROR_LUIDS_EXHAUSTED* = 1334 + ERROR_INVALID_SUB_AUTHORITY* = 1335 + ERROR_INVALID_ACL* = 1336 + ERROR_INVALID_SID* = 1337 + ERROR_INVALID_SECURITY_DESCR* = 1338 + ERROR_BAD_INHERITANCE_ACL* = 1340 + ERROR_SERVER_DISABLED* = 1341 + ERROR_SERVER_NOT_DISABLED* = 1342 + ERROR_INVALID_ID_AUTHORITY* = 1343 + ERROR_ALLOTTED_SPACE_EXCEEDED* = 1344 + ERROR_INVALID_GROUP_ATTRIBUTES* = 1345 + ERROR_BAD_IMPERSONATION_LEVEL* = 1346 + ERROR_CANT_OPEN_ANONYMOUS* = 1347 + ERROR_BAD_VALIDATION_CLASS* = 1348 + ERROR_BAD_TOKEN_TYPE* = 1349 + ERROR_NO_SECURITY_ON_OBJECT* = 1350 + ERROR_CANT_ACCESS_DOMAIN_INFO* = 1351 + ERROR_INVALID_SERVER_STATE* = 1352 + ERROR_INVALID_DOMAIN_STATE* = 1353 + ERROR_INVALID_DOMAIN_ROLE* = 1354 + ERROR_NO_SUCH_DOMAIN* = 1355 + ERROR_DOMAIN_EXISTS* = 1356 + ERROR_DOMAIN_LIMIT_EXCEEDED* = 1357 + ERROR_INTERNAL_DB_CORRUPTION* = 1358 + ERROR_INTERNAL_ERROR* = 1359 + ERROR_GENERIC_NOT_MAPPED* = 1360 + ERROR_BAD_DESCRIPTOR_FORMAT* = 1361 + ERROR_NOT_LOGON_PROCESS* = 1362 + ERROR_LOGON_SESSION_EXISTS* = 1363 + ERROR_NO_SUCH_PACKAGE* = 1364 + ERROR_BAD_LOGON_SESSION_STATE* = 1365 + ERROR_LOGON_SESSION_COLLISION* = 1366 + ERROR_INVALID_LOGON_TYPE* = 1367 + ERROR_CANNOT_IMPERSONATE* = 1368 + ERROR_RXACT_INVALID_STATE* = 1369 + ERROR_RXACT_COMMIT_FAILURE* = 1370 + ERROR_SPECIAL_ACCOUNT* = 1371 + ERROR_SPECIAL_GROUP* = 1372 + ERROR_SPECIAL_USER* = 1373 + ERROR_MEMBERS_PRIMARY_GROUP* = 1374 + ERROR_TOKEN_ALREADY_IN_USE* = 1375 + ERROR_NO_SUCH_ALIAS* = 1376 + ERROR_MEMBER_NOT_IN_ALIAS* = 1377 + ERROR_MEMBER_IN_ALIAS* = 1378 + ERROR_ALIAS_EXISTS* = 1379 + ERROR_LOGON_NOT_GRANTED* = 1380 + ERROR_TOO_MANY_SECRETS* = 1381 + ERROR_SECRET_TOO_LONG* = 1382 + ERROR_INTERNAL_DB_ERROR* = 1383 + ERROR_TOO_MANY_CONTEXT_IDS* = 1384 + ERROR_LOGON_TYPE_NOT_GRANTED* = 1385 + ERROR_NT_CROSS_ENCRYPTION_REQUIRED* = 1386 + ERROR_NO_SUCH_MEMBER* = 1387 + ERROR_INVALID_MEMBER* = 1388 + ERROR_TOO_MANY_SIDS* = 1389 + ERROR_LM_CROSS_ENCRYPTION_REQUIRED* = 1390 + ERROR_NO_INHERITANCE* = 1391 + ERROR_FILE_CORRUPT* = 1392 + ERROR_DISK_CORRUPT* = 1393 + ERROR_NO_USER_SESSION_KEY* = 1394 + ERROR_LICENSE_QUOTA_EXCEEDED* = 1395 + ERROR_INVALID_WINDOW_HANDLE* = 1400 + ERROR_INVALID_MENU_HANDLE* = 1401 + ERROR_INVALID_CURSOR_HANDLE* = 1402 + ERROR_INVALID_ACCEL_HANDLE* = 1403 + ERROR_INVALID_HOOK_HANDLE* = 1404 + ERROR_INVALID_DWP_HANDLE* = 1405 + ERROR_TLW_WITH_WSCHILD* = 1406 + ERROR_CANNOT_FIND_WND_CLASS* = 1407 + ERROR_WINDOW_OF_OTHER_THREAD* = 1408 + ERROR_HOTKEY_ALREADY_REGISTERED* = 1409 + ERROR_CLASS_ALREADY_EXISTS* = 1410 + ERROR_CLASS_DOES_NOT_EXIST* = 1411 + ERROR_CLASS_HAS_WINDOWS* = 1412 + ERROR_INVALID_INDEX* = 1413 + ERROR_INVALID_ICON_HANDLE* = 1414 + ERROR_PRIVATE_DIALOG_INDEX* = 1415 + ERROR_LISTBOX_ID_NOT_FOUND* = 1416 + ERROR_NO_WILDCARD_CHARACTERS* = 1417 + ERROR_CLIPBOARD_NOT_OPEN* = 1418 + ERROR_HOTKEY_NOT_REGISTERED* = 1419 + ERROR_WINDOW_NOT_DIALOG* = 1420 + ERROR_CONTROL_ID_NOT_FOUND* = 1421 + ERROR_INVALID_COMBOBOX_MESSAGE* = 1422 + ERROR_WINDOW_NOT_COMBOBOX* = 1423 + ERROR_INVALID_EDIT_HEIGHT* = 1424 + ERROR_DC_NOT_FOUND* = 1425 + ERROR_INVALID_HOOK_FILTER* = 1426 + ERROR_INVALID_FILTER_PROC* = 1427 + ERROR_HOOK_NEEDS_HMOD* = 1428 + ERROR_GLOBAL_ONLY_HOOK* = 1429 + ERROR_JOURNAL_HOOK_SET* = 1430 + ERROR_HOOK_NOT_INSTALLED* = 1431 + ERROR_INVALID_LB_MESSAGE* = 1432 + ERROR_SETCOUNT_ON_BAD_LB* = 1433 + ERROR_LB_WITHOUT_TABSTOPS* = 1434 + ERROR_DESTROY_OBJECT_OF_OTHER_THREAD* = 1435 + ERROR_CHILD_WINDOW_MENU* = 1436 + ERROR_NO_SYSTEM_MENU* = 1437 + ERROR_INVALID_MSGBOX_STYLE* = 1438 + ERROR_INVALID_SPI_VALUE* = 1439 + ERROR_SCREEN_ALREADY_LOCKED* = 1440 + ERROR_HWNDS_HAVE_DIFF_PARENT* = 1441 + ERROR_NOT_CHILD_WINDOW* = 1442 + ERROR_INVALID_GW_COMMAND* = 1443 + ERROR_INVALID_THREAD_ID* = 1444 + ERROR_NON_MDICHILD_WINDOW* = 1445 + ERROR_POPUP_ALREADY_ACTIVE* = 1446 + ERROR_NO_SCROLLBARS* = 1447 + ERROR_INVALID_SCROLLBAR_RANGE* = 1448 + ERROR_INVALID_SHOWWIN_COMMAND* = 1449 + ERROR_NO_SYSTEM_RESOURCES* = 1450 + ERROR_NONPAGED_SYSTEM_RESOURCES* = 1451 + ERROR_PAGED_SYSTEM_RESOURCES* = 1452 + ERROR_WORKING_SET_QUOTA* = 1453 + ERROR_PAGEFILE_QUOTA* = 1454 + ERROR_COMMITMENT_LIMIT* = 1455 + ERROR_MENU_ITEM_NOT_FOUND* = 1456 + ERROR_INVALID_KEYBOARD_HANDLE* = 1457 + ERROR_HOOK_TYPE_NOT_ALLOWED* = 1458 + ERROR_REQUIRES_INTERACTIVE_WINDOWSTATION* = 1459 + ERROR_TIMEOUT* = 1460 + ERROR_EVENTLOG_FILE_CORRUPT* = 1500 + ERROR_EVENTLOG_CANT_START* = 1501 + ERROR_LOG_FILE_FULL* = 1502 + ERROR_EVENTLOG_FILE_CHANGED* = 1503 + RPC_S_INVALID_STRING_BINDING* = 1700 + RPC_S_WRONG_KIND_OF_BINDING* = 1701 + RPC_S_INVALID_BINDING* = 1702 + RPC_S_PROTSEQ_NOT_SUPPORTED* = 1703 + RPC_S_INVALID_RPC_PROTSEQ* = 1704 + RPC_S_INVALID_STRING_UUID* = 1705 + RPC_S_INVALID_ENDPOINT_FORMAT* = 1706 + RPC_S_INVALID_NET_ADDR* = 1707 + RPC_S_NO_ENDPOINT_FOUND* = 1708 + RPC_S_INVALID_TIMEOUT* = 1709 + RPC_S_OBJECT_NOT_FOUND* = 1710 + RPC_S_ALREADY_REGISTERED* = 1711 + RPC_S_TYPE_ALREADY_REGISTERED* = 1712 + RPC_S_ALREADY_LISTENING* = 1713 + RPC_S_NO_PROTSEQS_REGISTERED* = 1714 + RPC_S_NOT_LISTENING* = 1715 + RPC_S_UNKNOWN_MGR_TYPE* = 1716 + RPC_S_UNKNOWN_IF* = 1717 + RPC_S_NO_BINDINGS* = 1718 + RPC_S_NO_PROTSEQS* = 1719 + RPC_S_CANT_CREATE_ENDPOINT* = 1720 + RPC_S_OUT_OF_RESOURCES* = 1721 + RPC_S_SERVER_UNAVAILABLE* = 1722 + RPC_S_SERVER_TOO_BUSY* = 1723 + RPC_S_INVALID_NETWORK_OPTIONS* = 1724 + RPC_S_NO_CALL_ACTIVE* = 1725 + RPC_S_CALL_FAILED* = 1726 + RPC_S_CALL_FAILED_DNE* = 1727 + RPC_S_PROTOCOL_ERROR* = 1728 + RPC_S_UNSUPPORTED_TRANS_SYN* = 1730 + RPC_S_UNSUPPORTED_TYPE* = 1732 + RPC_S_INVALID_TAG* = 1733 + RPC_S_INVALID_BOUND* = 1734 + RPC_S_NO_ENTRY_NAME* = 1735 + RPC_S_INVALID_NAME_SYNTAX* = 1736 + RPC_S_UNSUPPORTED_NAME_SYNTAX* = 1737 + RPC_S_UUID_NO_ADDRESS* = 1739 + RPC_S_DUPLICATE_ENDPOINT* = 1740 + RPC_S_UNKNOWN_AUTHN_TYPE* = 1741 + RPC_S_MAX_CALLS_TOO_SMALL* = 1742 + RPC_S_STRING_TOO_LONG* = 1743 + RPC_S_PROTSEQ_NOT_FOUND* = 1744 + RPC_S_PROCNUM_OUT_OF_RANGE* = 1745 + RPC_S_BINDING_HAS_NO_AUTH* = 1746 + RPC_S_UNKNOWN_AUTHN_SERVICE* = 1747 + RPC_S_UNKNOWN_AUTHN_LEVEL* = 1748 + RPC_S_INVALID_AUTH_IDENTITY* = 1749 + RPC_S_UNKNOWN_AUTHZ_SERVICE* = 1750 + EPT_S_INVALID_ENTRY* = 1751 + EPT_S_CANT_PERFORM_OP* = 1752 + EPT_S_NOT_REGISTERED* = 1753 + RPC_S_NOTHING_TO_EXPORT* = 1754 + RPC_S_INCOMPLETE_NAME* = 1755 + RPC_S_INVALID_VERS_OPTION* = 1756 + RPC_S_NO_MORE_MEMBERS* = 1757 + RPC_S_NOT_ALL_OBJS_UNEXPORTED* = 1758 + RPC_S_INTERFACE_NOT_FOUND* = 1759 + RPC_S_ENTRY_ALREADY_EXISTS* = 1760 + RPC_S_ENTRY_NOT_FOUND* = 1761 + RPC_S_NAME_SERVICE_UNAVAILABLE* = 1762 + RPC_S_INVALID_NAF_ID* = 1763 + RPC_S_CANNOT_SUPPORT* = 1764 + RPC_S_NO_CONTEXT_AVAILABLE* = 1765 + RPC_S_INTERNAL_ERROR* = 1766 + RPC_S_ZERO_DIVIDE* = 1767 + RPC_S_ADDRESS_ERROR* = 1768 + RPC_S_FP_DIV_ZERO* = 1769 + RPC_S_FP_UNDERFLOW* = 1770 + RPC_S_FP_OVERFLOW* = 1771 + RPC_X_NO_MORE_ENTRIES* = 1772 + RPC_X_SS_CHAR_TRANS_OPEN_FAIL* = 1773 + RPC_X_SS_CHAR_TRANS_SHORT_FILE* = 1774 + RPC_X_SS_IN_NULL_CONTEXT* = 1775 + RPC_X_SS_CONTEXT_DAMAGED* = 1777 + RPC_X_SS_HANDLES_MISMATCH* = 1778 + RPC_X_SS_CANNOT_GET_CALL_HANDLE* = 1779 + RPC_X_NULL_REF_POINTER* = 1780 + RPC_X_ENUM_VALUE_OUT_OF_RANGE* = 1781 + RPC_X_BYTE_COUNT_TOO_SMALL* = 1782 + RPC_X_BAD_STUB_DATA* = 1783 + ERROR_INVALID_USER_BUFFER* = 1784 + ERROR_UNRECOGNIZED_MEDIA* = 1785 + ERROR_NO_TRUST_LSA_SECRET* = 1786 + ERROR_NO_TRUST_SAM_ACCOUNT* = 1787 + ERROR_TRUSTED_DOMAIN_FAILURE* = 1788 + ERROR_TRUSTED_RELATIONSHIP_FAILURE* = 1789 + ERROR_TRUST_FAILURE* = 1790 + RPC_S_CALL_IN_PROGRESS* = 1791 + ERROR_NETLOGON_NOT_STARTED* = 1792 + ERROR_ACCOUNT_EXPIRED* = 1793 + ERROR_REDIRECTOR_HAS_OPEN_HANDLES* = 1794 + ERROR_PRINTER_DRIVER_ALREADY_INSTALLED* = 1795 + ERROR_UNKNOWN_PORT* = 1796 + ERROR_UNKNOWN_PRINTER_DRIVER* = 1797 + ERROR_UNKNOWN_PRINTPROCESSOR* = 1798 + ERROR_INVALID_SEPARATOR_FILE* = 1799 + ERROR_INVALID_PRIORITY* = 1800 + ERROR_INVALID_PRINTER_NAME* = 1801 + ERROR_PRINTER_ALREADY_EXISTS* = 1802 + ERROR_INVALID_PRINTER_COMMAND* = 1803 + ERROR_INVALID_DATATYPE* = 1804 + ERROR_INVALID_ENVIRONMENT* = 1805 + RPC_S_NO_MORE_BINDINGS* = 1806 + ERROR_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT* = 1807 + ERROR_NOLOGON_WORKSTATION_TRUST_ACCOUNT* = 1808 + ERROR_NOLOGON_SERVER_TRUST_ACCOUNT* = 1809 + ERROR_DOMAIN_TRUST_INCONSISTENT* = 1810 + ERROR_SERVER_HAS_OPEN_HANDLES* = 1811 + ERROR_RESOURCE_DATA_NOT_FOUND* = 1812 + ERROR_RESOURCE_TYPE_NOT_FOUND* = 1813 + ERROR_RESOURCE_NAME_NOT_FOUND* = 1814 + ERROR_RESOURCE_LANG_NOT_FOUND* = 1815 + ERROR_NOT_ENOUGH_QUOTA* = 1816 + RPC_S_NO_INTERFACES* = 1817 + RPC_S_CALL_CANCELLED* = 1818 + RPC_S_BINDING_INCOMPLETE* = 1819 + RPC_S_COMM_FAILURE* = 1820 + RPC_S_UNSUPPORTED_AUTHN_LEVEL* = 1821 + RPC_S_NO_PRINC_NAME* = 1822 + RPC_S_NOT_RPC_ERROR* = 1823 + RPC_S_UUID_LOCAL_ONLY* = 1824 + RPC_S_SEC_PKG_ERROR* = 1825 + RPC_S_NOT_CANCELLED* = 1826 + RPC_X_INVALID_ES_ACTION* = 1827 + RPC_X_WRONG_ES_VERSION* = 1828 + RPC_X_WRONG_STUB_VERSION* = 1829 + RPC_X_INVALID_PIPE_OBJECT* = 1830 + RPC_X_INVALID_PIPE_OPERATION* = 1831 + RPC_S_GROUP_MEMBER_NOT_FOUND* = 1898 + EPT_S_CANT_CREATE* = 1899 + RPC_S_INVALID_OBJECT* = 1900 + ERROR_INVALID_TIME* = 1901 + ERROR_INVALID_FORM_NAME* = 1902 + ERROR_INVALID_FORM_SIZE* = 1903 + ERROR_ALREADY_WAITING* = 1904 + ERROR_PRINTER_DELETED* = 1905 + ERROR_INVALID_PRINTER_STATE* = 1906 + ERROR_PASSWORD_MUST_CHANGE* = 1907 + ERROR_DOMAIN_CONTROLLER_NOT_FOUND* = 1908 + ERROR_ACCOUNT_LOCKED_OUT* = 1909 + OR_INVALID_OXID* = 1910 + OR_INVALID_OID* = 1911 + OR_INVALID_SET* = 1912 + RPC_S_SEND_INCOMPLETE* = 1913 + ERROR_NO_BROWSER_SERVERS_FOUND* = 6118 + ERROR_INVALID_PIXEL_FORMAT* = 2000 + ERROR_BAD_DRIVER* = 2001 + ERROR_INVALID_WINDOW_STYLE* = 2002 + ERROR_METAFILE_NOT_SUPPORTED* = 2003 + ERROR_TRANSFORM_NOT_SUPPORTED* = 2004 + ERROR_CLIPPING_NOT_SUPPORTED* = 2005 + ERROR_UNKNOWN_PRINT_MONITOR* = 3000 + ERROR_PRINTER_DRIVER_IN_USE* = 3001 + ERROR_SPOOL_FILE_NOT_FOUND* = 3002 + ERROR_SPL_NO_STARTDOC* = 3003 + ERROR_SPL_NO_ADDJOB* = 3004 + ERROR_PRINT_PROCESSOR_ALREADY_INSTALLED* = 3005 + ERROR_PRINT_MONITOR_ALREADY_INSTALLED* = 3006 + ERROR_INVALID_PRINT_MONITOR* = 3007 + ERROR_PRINT_MONITOR_IN_USE* = 3008 + ERROR_PRINTER_HAS_JOBS_QUEUED* = 3009 + ERROR_SUCCESS_REBOOT_REQUIRED* = 3010 + ERROR_SUCCESS_RESTART_REQUIRED* = 3011 + ERROR_WINS_INTERNAL* = 4000 + ERROR_CAN_NOT_DEL_LOCAL_WINS* = 4001 + ERROR_STATIC_INIT* = 4002 + ERROR_INC_BACKUP* = 4003 + ERROR_FULL_BACKUP* = 4004 + ERROR_REC_NON_EXISTENT* = 4005 + ERROR_RPL_NOT_ALLOWED* = 4006 #ERROR_NO_BROWSER_SERVERS_FOUND = 6118; already above + E_UNEXPECTED* = HRESULT(0x8000FFFF) + E_NOTIMPL* = HRESULT(0x80004001) + E_OUTOFMEMORY* = HRESULT(0x8007000E) + E_INVALIDARG* = HRESULT(0x80070057) + E_NOINTERFACE* = HRESULT(0x80004002) + E_POINTER* = HRESULT(0x80004003) + E_HANDLE* = HRESULT(0x80070006) + E_ABORT* = HRESULT(0x80004004) + E_FAIL* = HRESULT(0x80004005) + E_ACCESSDENIED* = HRESULT(0x80070005) + E_PENDING* = HRESULT(0x8000000A) + CO_E_INIT_TLS* = HRESULT(0x80004006) + CO_E_INIT_SHARED_ALLOCATOR* = HRESULT(0x80004007) + CO_E_INIT_MEMORY_ALLOCATOR* = HRESULT(0x80004008) + CO_E_INIT_CLASS_CACHE* = HRESULT(0x80004009) + CO_E_INIT_RPC_CHANNEL* = HRESULT(0x8000400A) + CO_E_INIT_TLS_SET_CHANNEL_CONTROL* = HRESULT(0x8000400B) + CO_E_INIT_TLS_CHANNEL_CONTROL* = HRESULT(0x8000400C) + CO_E_INIT_UNACCEPTED_USER_ALLOCATOR* = HRESULT(0x8000400D) + CO_E_INIT_SCM_MUTEX_EXISTS* = HRESULT(0x8000400E) + CO_E_INIT_SCM_FILE_MAPPING_EXISTS* = HRESULT(0x8000400F) + CO_E_INIT_SCM_MAP_VIEW_OF_FILE* = HRESULT(0x80004010) + CO_E_INIT_SCM_EXEC_FAILURE* = HRESULT(0x80004011) + CO_E_INIT_ONLY_SINGLE_THREADED* = HRESULT(0x80004012) + CO_E_CANT_REMOTE* = HRESULT(0x80004013) + CO_E_BAD_SERVER_NAME* = HRESULT(0x80004014) + CO_E_WRONG_SERVER_IDENTITY* = HRESULT(0x80004015) + CO_E_OLE1DDE_DISABLED* = HRESULT(0x80004016) + CO_E_RUNAS_SYNTAX* = HRESULT(0x80004017) + CO_E_CREATEPROCESS_FAILURE* = HRESULT(0x80004018) + CO_E_RUNAS_CREATEPROCESS_FAILURE* = HRESULT(0x80004019) + CO_E_RUNAS_LOGON_FAILURE* = HRESULT(0x8000401A) + CO_E_LAUNCH_PERMSSION_DENIED* = HRESULT(0x8000401B) + CO_E_START_SERVICE_FAILURE* = HRESULT(0x8000401C) + CO_E_REMOTE_COMMUNICATION_FAILURE* = HRESULT(0x8000401D) + CO_E_SERVER_START_TIMEOUT* = HRESULT(0x8000401E) + CO_E_CLSREG_INCONSISTENT* = HRESULT(0x8000401F) + CO_E_IIDREG_INCONSISTENT* = HRESULT(0x80004020) + CO_E_NOT_SUPPORTED* = HRESULT(0x80004021) + CO_E_FIRST* = DWORD(0x800401F0) + CO_E_LAST* = DWORD(0x800401FF) + CO_S_FIRST* = DWORD(0x000401F0) + CO_S_LAST* = DWORD(0x000401FF) + S_OK* = HRESULT(0x00000000) + S_FALSE* = HRESULT(0x00000001) + CO_E_NOTINITIALIZED* = HRESULT(0x800401F0) + CO_E_ALREADYINITIALIZED* = HRESULT(0x800401F1) + CO_E_CANTDETERMINECLASS* = HRESULT(0x800401F2) + CO_E_CLASSSTRING* = HRESULT(0x800401F3) + CO_E_IIDSTRING* = HRESULT(0x800401F4) + CO_E_APPNOTFOUND* = HRESULT(0x800401F5) + CO_E_APPSINGLEUSE* = HRESULT(0x800401F6) + CO_E_ERRORINAPP* = HRESULT(0x800401F7) + CO_E_DLLNOTFOUND* = HRESULT(0x800401F8) + CO_E_ERRORINDLL* = HRESULT(0x800401F9) + CO_E_WRONGOSFORAPP* = HRESULT(0x800401FA) + CO_E_OBJNOTREG* = HRESULT(0x800401FB) + CO_E_OBJISREG* = HRESULT(0x800401FC) + CO_E_OBJNOTCONNECTED* = HRESULT(0x800401FD) + CO_E_APPDIDNTREG* = HRESULT(0x800401FE) + CO_E_RELEASED* = HRESULT(0x800401FF) + OLE_E_FIRST* = HRESULT(0x80040000) + OLE_E_LAST* = HRESULT(0x800400FF) + OLE_S_FIRST* = HRESULT(0x00040000) + OLE_S_LAST* = HRESULT(0x000400FF) + OLE_E_OLEVERB* = HRESULT(0x80040000) + OLE_E_ADVF* = HRESULT(0x80040001) + OLE_E_ENUM_NOMORE* = HRESULT(0x80040002) + OLE_E_ADVISENOTSUPPORTED* = HRESULT(0x80040003) + OLE_E_NOCONNECTION* = HRESULT(0x80040004) + OLE_E_NOTRUNNING* = HRESULT(0x80040005) + OLE_E_NOCACHE* = HRESULT(0x80040006) + OLE_E_BLANK* = HRESULT(0x80040007) + OLE_E_CLASSDIFF* = HRESULT(0x80040008) + OLE_E_CANT_GETMONIKER* = HRESULT(0x80040009) + OLE_E_CANT_BINDTOSOURCE* = HRESULT(0x8004000A) + OLE_E_STATIC* = HRESULT(0x8004000B) + OLE_E_PROMPTSAVECANCELLED* = HRESULT(0x8004000C) + OLE_E_INVALIDRECT* = HRESULT(0x8004000D) + OLE_E_WRONGCOMPOBJ* = HRESULT(0x8004000E) + OLE_E_INVALIDHWND* = HRESULT(0x8004000F) + OLE_E_NOT_INPLACEACTIVE* = HRESULT(0x80040010) + OLE_E_CANTCONVERT* = HRESULT(0x80040011) + OLE_E_NOSTORAGE* = HRESULT(0x80040012) + DV_E_FORMATETC* = HRESULT(0x80040064) + DV_E_DVTARGETDEVICE* = HRESULT(0x80040065) + DV_E_STGMEDIUM* = HRESULT(0x80040066) + DV_E_STATDATA* = HRESULT(0x80040067) + DV_E_LINDEX* = HRESULT(0x80040068) + DV_E_TYMED* = HRESULT(0x80040069) + DV_E_CLIPFORMAT* = HRESULT(0x8004006A) + DV_E_DVASPECT* = HRESULT(0x8004006B) + DV_E_DVTARGETDEVICE_SIZE* = HRESULT(0x8004006C) + DV_E_NOIVIEWOBJECT* = HRESULT(0x8004006D) + DRAGDROP_E_FIRST* = DWORD(0x80040100) + DRAGDROP_E_LAST* = DWORD(0x8004010F) + DRAGDROP_S_FIRST* = DWORD(0x00040100) + DRAGDROP_S_LAST* = DWORD(0x0004010F) + DRAGDROP_E_NOTREGISTERED* = HRESULT(0x80040100) + DRAGDROP_E_ALREADYREGISTERED* = HRESULT(0x80040101) + DRAGDROP_E_INVALIDHWND* = HRESULT(0x80040102) + CLASSFACTORY_E_FIRST* = DWORD(0x80040110) + CLASSFACTORY_E_LAST* = DWORD(0x8004011F) + CLASSFACTORY_S_FIRST* = DWORD(0x00040110) + CLASSFACTORY_S_LAST* = DWORD(0x0004011F) + CLASS_E_NOAGGREGATION* = HRESULT(0x80040110) + CLASS_E_CLASSNOTAVAILABLE* = HRESULT(0x80040111) + MARSHAL_E_FIRST* = DWORD(0x80040120) + MARSHAL_E_LAST* = DWORD(0x8004012F) + MARSHAL_S_FIRST* = DWORD(0x00040120) + MARSHAL_S_LAST* = DWORD(0x0004012F) + DATA_E_FIRST* = DWORD(0x80040130) + DATA_E_LAST* = DWORD(0x8004013F) + DATA_S_FIRST* = DWORD(0x00040130) + DATA_S_LAST* = DWORD(0x0004013F) + VIEW_E_FIRST* = DWORD(0x80040140) + VIEW_E_LAST* = DWORD(0x8004014F) + VIEW_S_FIRST* = DWORD(0x00040140) + VIEW_S_LAST* = DWORD(0x0004014F) + VIEW_E_DRAW* = HRESULT(0x80040140) + REGDB_E_FIRST* = DWORD(0x80040150) + REGDB_E_LAST* = DWORD(0x8004015F) + REGDB_S_FIRST* = DWORD(0x00040150) + REGDB_S_LAST* = DWORD(0x0004015F) + REGDB_E_READREGDB* = HRESULT(0x80040150) + REGDB_E_WRITEREGDB* = HRESULT(0x80040151) + REGDB_E_KEYMISSING* = HRESULT(0x80040152) + REGDB_E_INVALIDVALUE* = HRESULT(0x80040153) + REGDB_E_CLASSNOTREG* = HRESULT(0x80040154) + REGDB_E_IIDNOTREG* = HRESULT(0x80040155) + CACHE_E_FIRST* = DWORD(0x80040170) + CACHE_E_LAST* = DWORD(0x8004017F) + CACHE_S_FIRST* = DWORD(0x00040170) + CACHE_S_LAST* = DWORD(0x0004017F) + CACHE_E_NOCACHE_UPDATED* = HRESULT(0x80040170) + OLEOBJ_E_FIRST* = DWORD(0x80040180) + OLEOBJ_E_LAST* = DWORD(0x8004018F) + OLEOBJ_S_FIRST* = DWORD(0x00040180) + OLEOBJ_S_LAST* = DWORD(0x0004018F) + OLEOBJ_E_NOVERBS* = HRESULT(0x80040180) + OLEOBJ_E_INVALIDVERB* = HRESULT(0x80040181) + CLIENTSITE_E_FIRST* = DWORD(0x80040190) + CLIENTSITE_E_LAST* = DWORD(0x8004019F) + CLIENTSITE_S_FIRST* = DWORD(0x00040190) + CLIENTSITE_S_LAST* = DWORD(0x0004019F) + INPLACE_E_NOTUNDOABLE* = HRESULT(0x800401A0) + INPLACE_E_NOTOOLSPACE* = HRESULT(0x800401A1) + INPLACE_E_FIRST* = DWORD(0x800401A0) + INPLACE_E_LAST* = DWORD(0x800401AF) + INPLACE_S_FIRST* = DWORD(0x000401A0) + INPLACE_S_LAST* = DWORD(0x000401AF) + ENUM_E_FIRST* = DWORD(0x800401B0) + ENUM_E_LAST* = DWORD(0x800401BF) + ENUM_S_FIRST* = DWORD(0x000401B0) + ENUM_S_LAST* = DWORD(0x000401BF) + CONVERT10_E_FIRST* = DWORD(0x800401C0) + CONVERT10_E_LAST* = DWORD(0x800401CF) + CONVERT10_S_FIRST* = DWORD(0x000401C0) + CONVERT10_S_LAST* = DWORD(0x000401CF) + CONVERT10_E_OLESTREAM_GET* = HRESULT(0x800401C0) + CONVERT10_E_OLESTREAM_PUT* = HRESULT(0x800401C1) + CONVERT10_E_OLESTREAM_FMT* = HRESULT(0x800401C2) + CONVERT10_E_OLESTREAM_BITMAP_TO_DIB* = HRESULT(0x800401C3) + CONVERT10_E_STG_FMT* = HRESULT(0x800401C4) + CONVERT10_E_STG_NO_STD_STREAM* = HRESULT(0x800401C5) + CONVERT10_E_STG_DIB_TO_BITMAP* = HRESULT(0x800401C6) + CLIPBRD_E_FIRST* = DWORD(0x800401D0) + CLIPBRD_E_LAST* = DWORD(0x800401DF) + CLIPBRD_S_FIRST* = DWORD(0x000401D0) + CLIPBRD_S_LAST* = DWORD(0x000401DF) + CLIPBRD_E_CANT_OPEN* = HRESULT(0x800401D0) + CLIPBRD_E_CANT_EMPTY* = HRESULT(0x800401D1) + CLIPBRD_E_CANT_SET* = HRESULT(0x800401D2) + CLIPBRD_E_BAD_DATA* = HRESULT(0x800401D3) + CLIPBRD_E_CANT_CLOSE* = HRESULT(0x800401D4) + MK_E_FIRST* = DWORD(0x800401E0) + MK_E_LAST* = DWORD(0x800401EF) + MK_S_FIRST* = DWORD(0x000401E0) + MK_S_LAST* = DWORD(0x000401EF) + MK_E_CONNECTMANUALLY* = HRESULT(0x800401E0) + MK_E_EXCEEDEDDEADLINE* = HRESULT(0x800401E1) + MK_E_NEEDGENERIC* = HRESULT(0x800401E2) + MK_E_UNAVAILABLE* = HRESULT(0x800401E3) + MK_E_SYNTAX* = HRESULT(0x800401E4) + MK_E_NOOBJECT* = HRESULT(0x800401E5) + MK_E_INVALIDEXTENSION* = HRESULT(0x800401E6) + MK_E_INTERMEDIATEINTERFACENOTSUPPORTED* = HRESULT(0x800401E7) + MK_E_NOTBINDABLE* = HRESULT(0x800401E8) + MK_E_NOTBOUND* = HRESULT(0x800401E9) + MK_E_CANTOPENFILE* = HRESULT(0x800401EA) + MK_E_MUSTBOTHERUSER* = HRESULT(0x800401EB) + MK_E_NOINVERSE* = HRESULT(0x800401EC) + MK_E_NOSTORAGE* = HRESULT(0x800401ED) + MK_E_NOPREFIX* = HRESULT(0x800401EE) + MK_E_ENUMERATION_FAILED* = HRESULT(0x800401EF) + OLE_S_USEREG* = HRESULT(0x00040000) + OLE_S_STATIC* = HRESULT(0x00040001) + OLE_S_MAC_CLIPFORMAT* = HRESULT(0x00040002) + DRAGDROP_S_DROP* = HRESULT(0x00040100) + DRAGDROP_S_CANCEL* = HRESULT(0x00040101) + DRAGDROP_S_USEDEFAULTCURSORS* = HRESULT(0x00040102) + DATA_S_SAMEFORMATETC* = HRESULT(0x00040130) + VIEW_S_ALREADY_FROZEN* = HRESULT(0x00040140) + CACHE_S_FORMATETC_NOTSUPPORTED* = HRESULT(0x00040170) + CACHE_S_SAMECACHE* = HRESULT(0x00040171) + CACHE_S_SOMECACHES_NOTUPDATED* = HRESULT(0x00040172) + OLEOBJ_S_INVALIDVERB* = HRESULT(0x00040180) + OLEOBJ_S_CANNOT_DOVERB_NOW* = HRESULT(0x00040181) + OLEOBJ_S_INVALIDHWND* = HRESULT(0x00040182) + INPLACE_S_TRUNCATED* = HRESULT(0x000401A0) + CONVERT10_S_NO_PRESENTATION* = HRESULT(0x000401C0) + MK_S_REDUCED_TO_SELF* = HRESULT(0x000401E2) + MK_S_ME* = HRESULT(0x000401E4) + MK_S_HIM* = HRESULT(0x000401E5) + MK_S_US* = HRESULT(0x000401E6) + MK_S_MONIKERALREADYREGISTERED* = HRESULT(0x000401E7) + CO_E_CLASS_CREATE_FAILED* = HRESULT(0x80080001) + CO_E_SCM_ERROR* = HRESULT(0x80080002) + CO_E_SCM_RPC_FAILURE* = HRESULT(0x80080003) + CO_E_BAD_PATH* = HRESULT(0x80080004) + CO_E_SERVER_EXEC_FAILURE* = HRESULT(0x80080005) + CO_E_OBJSRV_RPC_FAILURE* = HRESULT(0x80080006) + MK_E_NO_NORMALIZED* = HRESULT(0x80080007) + CO_E_SERVER_STOPPING* = HRESULT(0x80080008) + MEM_E_INVALID_ROOT* = HRESULT(0x80080009) + MEM_E_INVALID_LINK* = HRESULT(0x80080010) + MEM_E_INVALID_SIZE* = HRESULT(0x80080011) + CO_S_NOTALLINTERFACES* = HRESULT(0x00080012) + DISP_E_UNKNOWNINTERFACE* = HRESULT(0x80020001) + DISP_E_MEMBERNOTFOUND* = HRESULT(0x80020003) + DISP_E_PARAMNOTFOUND* = HRESULT(0x80020004) + DISP_E_TYPEMISMATCH* = HRESULT(0x80020005) + DISP_E_UNKNOWNNAME* = HRESULT(0x80020006) + DISP_E_NONAMEDARGS* = HRESULT(0x80020007) + DISP_E_BADVARTYPE* = HRESULT(0x80020008) + DISP_E_EXCEPTION* = HRESULT(0x80020009) + DISP_E_OVERFLOW* = HRESULT(0x8002000A) + DISP_E_BADINDEX* = HRESULT(0x8002000B) + DISP_E_UNKNOWNLCID* = HRESULT(0x8002000C) + DISP_E_ARRAYISLOCKED* = HRESULT(0x8002000D) + DISP_E_BADPARAMCOUNT* = HRESULT(0x8002000E) + DISP_E_PARAMNOTOPTIONAL* = HRESULT(0x8002000F) + DISP_E_BADCALLEE* = HRESULT(0x80020010) + DISP_E_NOTACOLLECTION* = HRESULT(0x80020011) + TYPE_E_BUFFERTOOSMALL* = HRESULT(0x80028016) + TYPE_E_INVDATAREAD* = HRESULT(0x80028018) + TYPE_E_UNSUPFORMAT* = HRESULT(0x80028019) + TYPE_E_REGISTRYACCESS* = HRESULT(0x8002801C) + TYPE_E_LIBNOTREGISTERED* = HRESULT(0x8002801D) + TYPE_E_UNDEFINEDTYPE* = HRESULT(0x80028027) + TYPE_E_QUALIFIEDNAMEDISALLOWED* = HRESULT(0x80028028) + TYPE_E_INVALIDSTATE* = HRESULT(0x80028029) + TYPE_E_WRONGTYPEKIND* = HRESULT(0x8002802A) + TYPE_E_ELEMENTNOTFOUND* = HRESULT(0x8002802B) + TYPE_E_AMBIGUOUSNAME* = HRESULT(0x8002802C) + TYPE_E_NAMECONFLICT* = HRESULT(0x8002802D) + TYPE_E_UNKNOWNLCID* = HRESULT(0x8002802E) + TYPE_E_DLLFUNCTIONNOTFOUND* = HRESULT(0x8002802F) + TYPE_E_BADMODULEKIND* = HRESULT(0x800288BD) + TYPE_E_SIZETOOBIG* = HRESULT(0x800288C5) + TYPE_E_DUPLICATEID* = HRESULT(0x800288C6) + TYPE_E_INVALIDID* = HRESULT(0x800288CF) + TYPE_E_TYPEMISMATCH* = HRESULT(0x80028CA0) + TYPE_E_OUTOFBOUNDS* = HRESULT(0x80028CA1) + TYPE_E_IOERROR* = HRESULT(0x80028CA2) + TYPE_E_CANTCREATETMPFILE* = HRESULT(0x80028CA3) + TYPE_E_CANTLOADLIBRARY* = HRESULT(0x80029C4A) + TYPE_E_INCONSISTENTPROPFUNCS* = HRESULT(0x80029C83) + TYPE_E_CIRCULARTYPE* = HRESULT(0x80029C84) + STG_E_INVALIDFUNCTION* = HRESULT(0x80030001) + STG_E_FILENOTFOUND* = HRESULT(0x80030002) + STG_E_PATHNOTFOUND* = HRESULT(0x80030003) + STG_E_TOOMANYOPENFILES* = HRESULT(0x80030004) + STG_E_ACCESSDENIED* = HRESULT(0x80030005) + STG_E_INVALIDHANDLE* = HRESULT(0x80030006) + STG_E_INSUFFICIENTMEMORY* = HRESULT(0x80030008) + STG_E_INVALIDPOINTER* = HRESULT(0x80030009) + STG_E_NOMOREFILES* = HRESULT(0x80030012) + STG_E_DISKISWRITEPROTECTED* = HRESULT(0x80030013) + STG_E_SEEKERROR* = HRESULT(0x80030019) + STG_E_WRITEFAULT* = HRESULT(0x8003001D) + STG_E_READFAULT* = HRESULT(0x8003001E) + STG_E_SHAREVIOLATION* = HRESULT(0x80030020) + STG_E_LOCKVIOLATION* = HRESULT(0x80030021) + STG_E_FILEALREADYEXISTS* = HRESULT(0x80030050) + STG_E_INVALIDPARAMETER* = HRESULT(0x80030057) + STG_E_MEDIUMFULL* = HRESULT(0x80030070) + STG_E_PROPSETMISMATCHED* = HRESULT(0x800300F0) + STG_E_ABNORMALAPIEXIT* = HRESULT(0x800300FA) + STG_E_INVALIDHEADER* = HRESULT(0x800300FB) + STG_E_INVALIDNAME* = HRESULT(0x800300FC) + STG_E_UNKNOWN* = HRESULT(0x800300FD) + STG_E_UNIMPLEMENTEDFUNCTION* = HRESULT(0x800300FE) + STG_E_INVALIDFLAG* = HRESULT(0x800300FF) + STG_E_INUSE* = HRESULT(0x80030100) + STG_E_NOTCURRENT* = HRESULT(0x80030101) + STG_E_REVERTED* = HRESULT(0x80030102) + STG_E_CANTSAVE* = HRESULT(0x80030103) + STG_E_OLDFORMAT* = HRESULT(0x80030104) + STG_E_OLDDLL* = HRESULT(0x80030105) + STG_E_SHAREREQUIRED* = HRESULT(0x80030106) + STG_E_NOTFILEBASEDSTORAGE* = HRESULT(0x80030107) + STG_E_EXTANTMARSHALLINGS* = HRESULT(0x80030108) + STG_E_DOCFILECORRUPT* = HRESULT(0x80030109) + STG_E_BADBASEADDRESS* = HRESULT(0x80030110) + STG_E_INCOMPLETE* = HRESULT(0x80030201) + STG_E_TERMINATED* = HRESULT(0x80030202) + STG_S_CONVERTED* = HRESULT(0x00030200) + STG_S_BLOCK* = HRESULT(0x00030201) + STG_S_RETRYNOW* = HRESULT(0x00030202) + STG_S_MONITORING* = HRESULT(0x00030203) + RPC_E_CALL_REJECTED* = HRESULT(0x80010001) + RPC_E_CALL_CANCELED* = HRESULT(0x80010002) + RPC_E_CANTPOST_INSENDCALL* = HRESULT(0x80010003) + RPC_E_CANTCALLOUT_INASYNCCALL* = HRESULT(0x80010004) + RPC_E_CANTCALLOUT_INEXTERNALCALL* = HRESULT(0x80010005) + RPC_E_CONNECTION_TERMINATED* = HRESULT(0x80010006) + RPC_E_SERVER_DIED* = HRESULT(0x80010007) + RPC_E_CLIENT_DIED* = HRESULT(0x80010008) + RPC_E_INVALID_DATAPACKET* = HRESULT(0x80010009) + RPC_E_CANTTRANSMIT_CALL* = HRESULT(0x8001000A) + RPC_E_CLIENT_CANTMARSHAL_DATA* = HRESULT(0x8001000B) + RPC_E_CLIENT_CANTUNMARSHAL_DATA* = HRESULT(0x8001000C) + RPC_E_SERVER_CANTMARSHAL_DATA* = HRESULT(0x8001000D) + RPC_E_SERVER_CANTUNMARSHAL_DATA* = HRESULT(0x8001000E) + RPC_E_INVALID_DATA* = HRESULT(0x8001000F) + RPC_E_INVALID_PARAMETER* = HRESULT(0x80010010) + RPC_E_CANTCALLOUT_AGAIN* = HRESULT(0x80010011) + RPC_E_SERVER_DIED_DNE* = HRESULT(0x80010012) + RPC_E_SYS_CALL_FAILED* = HRESULT(0x80010100) + RPC_E_OUT_OF_RESOURCES* = HRESULT(0x80010101) + RPC_E_ATTEMPTED_MULTITHREAD* = HRESULT(0x80010102) + RPC_E_NOT_REGISTERED* = HRESULT(0x80010103) + RPC_E_FAULT* = HRESULT(0x80010104) + RPC_E_SERVERFAULT* = HRESULT(0x80010105) + RPC_E_CHANGED_MODE* = HRESULT(0x80010106) + RPC_E_INVALIDMETHOD* = HRESULT(0x80010107) + RPC_E_DISCONNECTED* = HRESULT(0x80010108) + RPC_E_RETRY* = HRESULT(0x80010109) + RPC_E_SERVERCALL_RETRYLATER* = HRESULT(0x8001010A) + RPC_E_SERVERCALL_REJECTED* = HRESULT(0x8001010B) + RPC_E_INVALID_CALLDATA* = HRESULT(0x8001010C) + RPC_E_CANTCALLOUT_ININPUTSYNCCALL* = HRESULT(0x8001010D) + RPC_E_WRONG_THREAD* = HRESULT(0x8001010E) + RPC_E_THREAD_NOT_INIT* = HRESULT(0x8001010F) + RPC_E_VERSION_MISMATCH* = HRESULT(0x80010110) + RPC_E_INVALID_HEADER* = HRESULT(0x80010111) + RPC_E_INVALID_EXTENSION* = HRESULT(0x80010112) + RPC_E_INVALID_IPID* = HRESULT(0x80010113) + RPC_E_INVALID_OBJECT* = HRESULT(0x80010114) + RPC_S_CALLPENDING* = HRESULT(0x80010115) + RPC_S_WAITONTIMER* = HRESULT(0x80010116) + RPC_E_CALL_COMPLETE* = HRESULT(0x80010117) + RPC_E_UNSECURE_CALL* = HRESULT(0x80010118) + RPC_E_TOO_LATE* = HRESULT(0x80010119) + RPC_E_NO_GOOD_SECURITY_PACKAGES* = HRESULT(0x8001011A) + RPC_E_ACCESS_DENIED* = HRESULT(0x8001011B) + RPC_E_REMOTE_DISABLED* = HRESULT(0x8001011C) + RPC_E_INVALID_OBJREF* = HRESULT(0x8001011D) + RPC_E_UNEXPECTED* = HRESULT(0x8001FFFF) + NTE_BAD_UID* = HRESULT(0x80090001) + NTE_BAD_HASH* = HRESULT(0x80090002) + NTE_BAD_KEY* = HRESULT(0x80090003) + NTE_BAD_LEN* = HRESULT(0x80090004) + NTE_BAD_DATA* = HRESULT(0x80090005) + NTE_BAD_SIGNATURE* = HRESULT(0x80090006) + NTE_BAD_VER* = HRESULT(0x80090007) + NTE_BAD_ALGID* = HRESULT(0x80090008) + NTE_BAD_FLAGS* = HRESULT(0x80090009) + NTE_BAD_TYPE* = HRESULT(0x8009000A) + NTE_BAD_KEY_STATE* = HRESULT(0x8009000B) + NTE_BAD_HASH_STATE* = HRESULT(0x8009000C) + NTE_NO_KEY* = HRESULT(0x8009000D) + NTE_NO_MEMORY* = HRESULT(0x8009000E) + NTE_EXISTS* = HRESULT(0x8009000F) + NTE_PERM* = HRESULT(0x80090010) + NTE_NOT_FOUND* = HRESULT(0x80090011) + NTE_DOUBLE_ENCRYPT* = HRESULT(0x80090012) + NTE_BAD_PROVIDER* = HRESULT(0x80090013) + NTE_BAD_PROV_TYPE* = HRESULT(0x80090014) + NTE_BAD_PUBLIC_KEY* = HRESULT(0x80090015) + NTE_BAD_KEYSET* = HRESULT(0x80090016) + NTE_PROV_TYPE_NOT_DEF* = HRESULT(0x80090017) + NTE_PROV_TYPE_ENTRY_BAD* = HRESULT(0x80090018) + NTE_KEYSET_NOT_DEF* = HRESULT(0x80090019) + NTE_KEYSET_ENTRY_BAD* = HRESULT(0x8009001A) + NTE_PROV_TYPE_NO_MATCH* = HRESULT(0x8009001B) + NTE_SIGNATURE_FILE_BAD* = HRESULT(0x8009001C) + NTE_PROVIDER_DLL_FAIL* = HRESULT(0x8009001D) + NTE_PROV_DLL_NOT_FOUND* = HRESULT(0x8009001E) + NTE_BAD_KEYSET_PARAM* = HRESULT(0x8009001F) + NTE_FAIL* = HRESULT(0x80090020) + NTE_SYS_ERR* = HRESULT(0x80090021) + NTE_OP_OK* = HRESULT(0) + TRUST_E_PROVIDER_UNKNOWN* = HRESULT(0x800B0001) + TRUST_E_ACTION_UNKNOWN* = HRESULT(0x800B0002) + TRUST_E_SUBJECT_FORM_UNKNOWN* = HRESULT(0x800B0003) + TRUST_E_SUBJECT_NOT_TRUSTED* = HRESULT(0x800B0004) + DIGSIG_E_ENCODE* = HRESULT(0x800B0005) + DIGSIG_E_DECODE* = HRESULT(0x800B0006) + DIGSIG_E_EXTENSIBILITY* = HRESULT(0x800B0007) + DIGSIG_E_CRYPTO* = HRESULT(0x800B0008) + PERSIST_E_SIZEDEFINITE* = HRESULT(0x800B0009) + PERSIST_E_SIZEINDEFINITE* = HRESULT(0x800B000A) + PERSIST_E_NOTSELFSIZING* = HRESULT(0x800B000B) + TRUST_E_NOSIGNATURE* = HRESULT(0x800B0100) + CERT_E_EXPIRED* = HRESULT(0x800B0101) + CERT_E_VALIDIYPERIODNESTING* = HRESULT(0x800B0102) + CERT_E_ROLE* = HRESULT(0x800B0103) + CERT_E_PATHLENCONST* = HRESULT(0x800B0104) + CERT_E_CRITICAL* = HRESULT(0x800B0105) + CERT_E_PURPOSE* = HRESULT(0x800B0106) + CERT_E_ISSUERCHAINING* = HRESULT(0x800B0107) + CERT_E_MALFORMED* = HRESULT(0x800B0108) + CERT_E_UNTRUSTEDROOT* = HRESULT(0x800B0109) + CERT_E_CHAINING* = HRESULT(0x800B010A) # was #define dname def_expr + +proc UNICODE_NULL*(): WCHAR +const + MAX_PATH* = 260 + LF_FACESIZE* = 32 + LF_FULLFACESIZE* = 64 + ELF_VENDOR_SIZE* = 4 + SECURITY_STATIC_TRACKING* = 0 + SECURITY_DYNAMIC_TRACKING* = 1 + MAX_DEFAULTCHAR* = 2 + MAX_LEADBYTES* = 12 + EXCEPTION_MAXIMUM_PARAMETERS* = 15 + CCHDEVICENAME* = 32 + CCHFORMNAME* = 32 + MENU_TEXT_LEN* = 40 + MAX_LANA* = 254 + NCBNAMSZ* = 16 + NETBIOS_NAME_LEN* = 16 + OFS_MAXPATHNAME* = 128 + MAX_TAB_STOPS* = 32 + ANYSIZE_ARRAY* = 1 + RAS_MaxCallbackNumber* = 128 + RAS_MaxDeviceName* = 128 + RAS_MaxDeviceType* = 16 + RAS_MaxEntryName* = 256 + RAS_MaxIpAddress* = 15 + RAS_MaxIpxAddress* = 21 + RAS_MaxPhoneNumber* = 128 + UNLEN* = 256 + PWLEN* = 256 + CNLEN* = 15 + DNLEN* = 15 # Unsigned types max + MAXDWORD* = 0xFFFFFFFF + MAXWORD* = 0x0000FFFF + MAXBYTE* = 0x000000FF # Signed types max/min + MINCHAR* = 0x00000080 + MAXCHAR* = 0x0000007F + MINSHORT* = 0x00008000 + MAXSHORT* = 0x00007FFF + MINLONG* = 0x80000000 + MAXLONG* = 0x7FFFFFFF # _llseek + FILE_BEGIN* = 0 + FILE_CURRENT* = 1 + FILE_END* = 2 # _lopen, LZOpenFile, OpenFile + OF_READ* = 0 + OF_READWRITE* = 2 + OF_WRITE* = 1 + OF_SHARE_COMPAT* = 0 + OF_SHARE_DENY_NONE* = 64 + OF_SHARE_DENY_READ* = 48 + OF_SHARE_DENY_WRITE* = 32 + OF_SHARE_EXCLUSIVE* = 16 + OF_CANCEL* = 2048 + OF_CREATE* = 4096 + OF_DELETE* = 512 + OF_EXIST* = 16384 + OF_PARSE* = 256 + OF_PROMPT* = 8192 + OF_REOPEN* = 32768 + OF_VERIFY* = 1024 # ActivateKeyboardLayout, LoadKeyboardLayout + HKL_NEXT* = 1 + HKL_PREV* = 0 + KLF_REORDER* = 8 + KLF_UNLOADPREVIOUS* = 4 + KLF_ACTIVATE* = 1 + KLF_NOTELLSHELL* = 128 + KLF_REPLACELANG* = 16 + KLF_SUBSTITUTE_OK* = 2 # AppendMenu + MF_BITMAP* = 0x00000004 + MF_DISABLED* = 0x00000002 + MF_ENABLED* = 0 + MF_GRAYED* = 0x00000001 + MF_HELP* = 0x00004000 + MF_MENUBARBREAK* = 0x00000020 + MF_MENUBREAK* = 0x00000040 + MF_MOUSESELECT* = 0x00008000 + MF_OWNERDRAW* = 0x00000100 + MF_POPUP* = 0x00000010 + MF_SEPARATOR* = 0x00000800 + MF_STRING* = 0 + MF_SYSMENU* = 0x00002000 + MF_USECHECKBITMAPS* = 0x00000200 # Ternary Raster Operations - BitBlt + BLACKNESS* = 0x00000042 + NOTSRCERASE* = 0x001100A6 + NOTSRCCOPY* = 0x00330008 + SRCERASE* = 0x00440328 + DSTINVERT* = 0x00550009 + PATINVERT* = 0x005A0049 + SRCINVERT* = 0x00660046 + SRCAND* = 0x008800C6 + MERGEPAINT* = 0x00BB0226 + MERGECOPY* = 0x00C000CA + SRCCOPY* = 0x00CC0020 + SRCPAINT* = 0x00EE0086 + PATCOPY* = 0x00F00021 + PATPAINT* = 0x00FB0A09 + WHITENESS* = 0x00FF0062 # Binary Raster Operations + R2_BLACK* = 1 + R2_COPYPEN* = 13 + R2_MASKNOTPEN* = 3 + R2_MASKPEN* = 9 + R2_MASKPENNOT* = 5 + R2_MERGENOTPEN* = 12 + R2_MERGEPEN* = 15 + R2_MERGEPENNOT* = 14 + R2_NOP* = 11 + R2_NOT* = 6 + R2_NOTCOPYPEN* = 4 + R2_NOTMASKPEN* = 8 + R2_NOTMERGEPEN* = 2 + R2_NOTXORPEN* = 10 + R2_WHITE* = 16 + R2_XORPEN* = 7 # BroadcastSystemMessage + BSF_FLUSHDISK* = 4 + BSF_FORCEIFHUNG* = 32 + BSF_IGNORECURRENTTASK* = 2 + BSF_NOHANG* = 8 + BSF_POSTMESSAGE* = 16 + BSF_QUERY* = 1 + BSM_ALLCOMPONENTS* = 0 + BSM_APPLICATIONS* = 8 + BSM_INSTALLABLEDRIVERS* = 4 + BSM_NETDRIVER* = 2 + BSM_VXDS* = 1 + BROADCAST_QUERY_DENY* = 1112363332 # BrowseCallbackProc + # CallNamedPipe + NMPWAIT_NOWAIT* = 1 + NMPWAIT_WAIT_FOREVER* = - (1) + NMPWAIT_USE_DEFAULT_WAIT* = 0 # CascadeWindows, TileWindows + MDITILE_SKIPDISABLED* = 2 + MDITILE_HORIZONTAL* = 1 + MDITILE_VERTICAL* = 0 # CBTProc + HCBT_ACTIVATE* = 5 + HCBT_CLICKSKIPPED* = 6 + HCBT_CREATEWND* = 3 + HCBT_DESTROYWND* = 4 + HCBT_KEYSKIPPED* = 7 + HCBT_MINMAX* = 1 + HCBT_MOVESIZE* = 0 + HCBT_QS* = 2 + HCBT_SETFOCUS* = 9 + HCBT_SYSCOMMAND* = 8 # ChangeDisplaySettings + DM_BITSPERPEL* = 0x00040000 + DM_PELSWIDTH* = 0x00080000 + DM_PELSHEIGHT* = 0x00100000 + DM_DISPLAYFLAGS* = 0x00200000 + DM_DISPLAYFREQUENCY* = 0x00400000 + CDS_UPDATEREGISTRY* = 1 + CDS_TEST* = 2 + CDS_FULLSCREEN* = 4 + CDS_GLOBAL* = 8 + CDS_SET_PRIMARY* = 0x00000010 + CDS_RESET* = 0x40000000 + CDS_SETRECT* = 0x20000000 + CDS_NORESET* = 0x10000000 + DISP_CHANGE_SUCCESSFUL* = 0 + DISP_CHANGE_RESTART* = 1 + DISP_CHANGE_BADFLAGS* = - (4) + DISP_CHANGE_FAILED* = - (1) + DISP_CHANGE_BADMODE* = - (2) + DISP_CHANGE_NOTUPDATED* = - (3) # ChangeServiceConfig + SERVICE_NO_CHANGE* = - (1) + SERVICE_WIN32_OWN_PROCESS* = 16 + SERVICE_WIN32_SHARE_PROCESS* = 32 + SERVICE_KERNEL_DRIVER* = 1 + SERVICE_FILE_SYSTEM_DRIVER* = 2 + SERVICE_INTERACTIVE_PROCESS* = 256 + SERVICE_BOOT_START* = 0 + SERVICE_SYSTEM_START* = 1 + SERVICE_AUTO_START* = 2 + SERVICE_DEMAND_START* = 3 + SERVICE_DISABLED* = 4 # SERVICE_STATUS structure + SERVICE_STOPPED* = 1 + SERVICE_START_PENDING* = 2 + SERVICE_STOP_PENDING* = 3 + SERVICE_RUNNING* = 4 + SERVICE_CONTINUE_PENDING* = 5 + SERVICE_PAUSE_PENDING* = 6 + SERVICE_PAUSED* = 7 + SERVICE_ACCEPT_STOP* = 1 + SERVICE_ACCEPT_PAUSE_CONTINUE* = 2 + SERVICE_ACCEPT_SHUTDOWN* = 4 # CheckDlgButton + BST_CHECKED* = 1 + BST_INDETERMINATE* = 2 + BST_UNCHECKED* = 0 + BST_FOCUS* = 8 + BST_PUSHED* = 4 # CheckMenuItem, HiliteMenuItem + MF_BYCOMMAND* = 0 + MF_BYPOSITION* = 0x00000400 + MF_CHECKED* = 0x00000008 + MF_UNCHECKED* = 0 + MF_HILITE* = 0x00000080 + MF_UNHILITE* = 0 # ChildWindowFromPointEx + CWP_ALL* = 0 + CWP_SKIPINVISIBLE* = 1 + CWP_SKIPDISABLED* = 2 + CWP_SKIPTRANSPARENT* = 4 # ClearCommError + CE_BREAK* = 16 + CE_DNS* = 2048 + CE_FRAME* = 8 + CE_IOE* = 1024 + CE_MODE* = 32768 + CE_OOP* = 4096 + CE_OVERRUN* = 2 + CE_PTO* = 512 + CE_RXOVER* = 1 + CE_RXPARITY* = 4 + CE_TXFULL* = 256 # ChooseMatchToTarget + # CombineRgn + RGN_AND* = 1 + RGN_COPY* = 5 + RGN_DIFF* = 4 + RGN_OR* = 2 + RGN_XOR* = 3 + NULLREGION* = 1 + SIMPLEREGION* = 2 + COMPLEXREGION* = 3 + ERROR* = 0 # CommonDlgExtendedError + CDERR_DIALOGFAILURE* = 0x0000FFFF + CDERR_FINDRESFAILURE* = 6 + CDERR_INITIALIZATION* = 2 + CDERR_LOADRESFAILURE* = 7 + CDERR_LOADSTRFAILURE* = 5 + CDERR_LOCKRESFAILURE* = 8 + CDERR_MEMALLOCFAILURE* = 9 + CDERR_MEMLOCKFAILURE* = 10 + CDERR_NOHINSTANCE* = 4 + CDERR_NOHOOK* = 11 + CDERR_NOTEMPLATE* = 3 + CDERR_REGISTERMSGFAIL* = 12 + CDERR_STRUCTSIZE* = 1 + PDERR_CREATEICFAILURE* = 0x00001000 + 10 + PDERR_DEFAULTDIFFERENT* = 0x00001000 + 12 + PDERR_DNDMMISMATCH* = 0x00001000 + 9 + PDERR_GETDEVMODEFAIL* = 0x00001000 + 5 + PDERR_INITFAILURE* = 0x00001000 + 6 + PDERR_LOADDRVFAILURE* = 0x00001000 + 4 + PDERR_NODEFAULTPRN* = 0x00001000 + 8 + PDERR_NODEVICES* = 0x00001000 + 7 + PDERR_PARSEFAILURE* = 0x00001000 + 2 + PDERR_PRINTERNOTFOUND* = 0x00001000 + 11 + PDERR_RETDEFFAILURE* = 0x00001000 + 3 + PDERR_SETUPFAILURE* = 0x00001000 + 1 + CFERR_MAXLESSTHANMIN* = 0x00002000 + 2 + CFERR_NOFONTS* = 0x00002000 + 1 + FNERR_BUFFERTOOSMALL* = 0x00003000 + 3 + FNERR_INVALIDFILENAME* = 0x00003000 + 2 + FNERR_SUBCLASSFAILURE* = 0x00003000 + 1 + FRERR_BUFFERLENGTHZERO* = 0x00004000 + 1 # CompareString, LCMapString + LOCALE_SYSTEM_DEFAULT* = 0x00000800 + LOCALE_USER_DEFAULT* = 0x00000400 + NORM_IGNORECASE* = 1 + NORM_IGNOREKANATYPE* = 65536 + NORM_IGNORENONSPACE* = 2 + NORM_IGNORESYMBOLS* = 4 + NORM_IGNOREWIDTH* = 131072 + SORT_STRINGSORT* = 4096 + LCMAP_BYTEREV* = 2048 + LCMAP_FULLWIDTH* = 8388608 + LCMAP_HALFWIDTH* = 4194304 + LCMAP_HIRAGANA* = 1048576 + LCMAP_KATAKANA* = 2097152 + LCMAP_LOWERCASE* = 256 + LCMAP_SORTKEY* = 1024 + LCMAP_UPPERCASE* = 512 # ContinueDebugEvent + DBG_CONTINUE* = 0x00010002 + DBG_CONTROL_BREAK* = 0x40010008 + DBG_CONTROL_C* = 0x40010005 + DBG_EXCEPTION_NOT_HANDLED* = 0x80010001 + DBG_TERMINATE_THREAD* = 0x40010003 + DBG_TERMINATE_PROCESS* = 0x40010004 # ControlService + SERVICE_CONTROL_STOP* = 1 + SERVICE_CONTROL_PAUSE* = 2 + SERVICE_CONTROL_CONTINUE* = 3 + SERVICE_CONTROL_INTERROGATE* = 4 + SERVICE_CONTROL_SHUTDOWN* = 5 # CopyImage, LoadImage + IMAGE_BITMAP* = 0 + IMAGE_CURSOR* = 2 + IMAGE_ENHMETAFILE* = 1 + IMAGE_ICON* = 1 + LR_MONOCHROME* = 1 + LR_COLOR* = 2 + LR_COPYRETURNORG* = 4 + LR_COPYDELETEORG* = 8 + LR_DEFAULTSIZE* = 64 + LR_CREATEDIBSECTION* = 8192 + LR_COPYFROMRESOURCE* = 0x00004000 + LR_SHARED* = 0x00008000 # CreateDesktop + DF_ALLOWOTHERACCOUNTHOOK* = 0x00000001 + DESKTOP_CREATEMENU* = 0x00000004 + DESKTOP_CREATEWINDOW* = 0x00000002 + DESKTOP_ENUMERATE* = 0x00000040 + DESKTOP_HOOKCONTROL* = 0x00000008 + DESKTOP_JOURNALPLAYBACK* = 0x00000020 + DESKTOP_JOURNALRECORD* = 0x00000010 + DESKTOP_READOBJECTS* = 0x00000001 + DESKTOP_SWITCHDESKTOP* = 0x00000100 + DESKTOP_WRITEOBJECTS* = 0x00000080 + WSF_VISIBLE* = 0x00000001 # CreateDIBitmap + CBM_INIT* = 0x00000004 + DIB_PAL_COLORS* = 1 + DIB_RGB_COLORS* = 0 # CreateFile, GetFileAttributes, SetFileAttributes + GENERIC_READ* = 0x80000000 + GENERIC_WRITE* = 0x40000000 # file & pipe + FILE_READ_DATA* = 0x00000001 # directory + FILE_LIST_DIRECTORY* = 0x00000001 # file & pipe + FILE_WRITE_DATA* = 0x00000002 # directory + FILE_ADD_FILE* = 0x00000002 # file + FILE_APPEND_DATA* = 0x00000004 # directory + FILE_ADD_SUBDIRECTORY* = 0x00000004 # named pipe + FILE_CREATE_PIPE_INSTANCE* = 0x00000004 # file & directory + FILE_READ_EA* = 0x00000008 + FILE_READ_PROPERTIES* = FILE_READ_EA # file & directory + FILE_WRITE_EA* = 0x00000010 + FILE_WRITE_PROPERTIES* = FILE_WRITE_EA # file + FILE_EXECUTE* = 0x00000020 # directory + FILE_TRAVERSE* = 0x00000020 # directory + FILE_DELETE_CHILD* = 0x00000040 # all + FILE_READ_ATTRIBUTES* = 0x00000080 # all + FILE_WRITE_ATTRIBUTES* = 0x00000100 # displaced lower + # #define FILE_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0x1FF) + # + # #define FILE_GENERIC_READ (STANDARD_RIGHTS_READ |\ + # FILE_READ_DATA |\ + # FILE_READ_ATTRIBUTES |\ + # FILE_READ_EA |\ + # SYNCHRONIZE) + # + # + # #define FILE_GENERIC_WRITE (STANDARD_RIGHTS_WRITE |\ + # FILE_WRITE_DATA |\ + # FILE_WRITE_ATTRIBUTES |\ + # FILE_WRITE_EA |\ + # FILE_APPEND_DATA |\ + # SYNCHRONIZE) + # + # + # #define FILE_GENERIC_EXECUTE (STANDARD_RIGHTS_EXECUTE |\ + # FILE_READ_ATTRIBUTES |\ + # FILE_EXECUTE |\ + # SYNCHRONIZE) + # + FILE_SHARE_DELETE* = 4 + FILE_SHARE_READ* = 1 + FILE_SHARE_WRITE* = 2 + CONSOLE_TEXTMODE_BUFFER* = 1 + CREATE_NEW* = 1 + CREATE_ALWAYS* = 2 + OPEN_EXISTING* = 3 + OPEN_ALWAYS* = 4 + TRUNCATE_EXISTING* = 5 + FILE_ATTRIBUTE_ARCHIVE* = 32 + FILE_ATTRIBUTE_COMPRESSED* = 2048 + FILE_ATTRIBUTE_NORMAL* = 128 + FILE_ATTRIBUTE_DIRECTORY* = 16 + FILE_ATTRIBUTE_HIDDEN* = 2 + FILE_ATTRIBUTE_READONLY* = 1 + FILE_ATTRIBUTE_SYSTEM* = 4 + FILE_ATTRIBUTE_TEMPORARY* = 256 + FILE_FLAG_WRITE_THROUGH* = 0x80000000 + FILE_FLAG_OVERLAPPED* = 1073741824 + FILE_FLAG_NO_BUFFERING* = 536870912 + FILE_FLAG_RANDOM_ACCESS* = 268435456 + FILE_FLAG_SEQUENTIAL_SCAN* = 134217728 + FILE_FLAG_DELETE_ON_CLOSE* = 67108864 + FILE_FLAG_BACKUP_SEMANTICS* = 33554432 + FILE_FLAG_POSIX_SEMANTICS* = 16777216 + cSECURITY_ANONYMOUS* = 0 + cSECURITY_IDENTIFICATION* = 65536 + cSECURITY_IMPERSONATION* = 131072 + cSECURITY_DELEGATION* = 196608 + cSECURITY_CONTEXT_TRACKING* = 262144 + cSECURITY_EFFECTIVE_ONLY* = 524288 + cSECURITY_SQOS_PRESENT* = 1048576 # CreateFileMapping, VirtualAlloc, VirtualFree, VirtualProtect + SEC_COMMIT* = 134217728 + SEC_IMAGE* = 16777216 + SEC_NOCACHE* = 268435456 + SEC_RESERVE* = 67108864 + PAGE_READONLY* = 2 + PAGE_READWRITE* = 4 + PAGE_WRITECOPY* = 8 + PAGE_EXECUTE* = 16 + PAGE_EXECUTE_READ* = 32 + PAGE_EXECUTE_READWRITE* = 64 + PAGE_EXECUTE_WRITECOPY* = 128 + PAGE_GUARD* = 256 + PAGE_NOACCESS* = 1 + PAGE_NOCACHE* = 512 + MEM_COMMIT* = 4096 + MEM_FREE* = 65536 + MEM_RESERVE* = 8192 + MEM_IMAGE* = 16777216 + MEM_MAPPED* = 262144 + MEM_PRIVATE* = 131072 + MEM_DECOMMIT* = 16384 + MEM_RELEASE* = 32768 + MEM_TOP_DOWN* = 1048576 + EXCEPTION_GUARD_PAGE* = 0x80000001 + SECTION_EXTEND_SIZE* = 0x00000010 + SECTION_MAP_READ* = 0x00000004 + SECTION_MAP_WRITE* = 0x00000002 + SECTION_QUERY* = 0x00000001 + SECTION_ALL_ACCESS* = 0x000F001F # CreateFont + FW_DONTCARE* = 0 + FW_THIN* = 100 + FW_EXTRALIGHT* = 200 + FW_LIGHT* = 300 + FW_NORMAL* = 400 + FW_REGULAR* = FW_NORMAL + FW_MEDIUM* = 500 + FW_SEMIBOLD* = 600 + FW_BOLD* = 700 + FW_EXTRABOLD* = 800 + FW_HEAVY* = 900 + ANSI_CHARSET* = 0 + DEFAULT_CHARSET* = 1 + SYMBOL_CHARSET* = 2 + SHIFTJIS_CHARSET* = 128 + HANGEUL_CHARSET* = 129 + GB2312_CHARSET* = 134 + CHINESEBIG5_CHARSET* = 136 + GREEK_CHARSET* = 161 + TURKISH_CHARSET* = 162 + HEBREW_CHARSET* = 177 + ARABIC_CHARSET* = 178 + BALTIC_CHARSET* = 186 + RUSSIAN_CHARSET* = 204 + THAI_CHARSET* = 222 + EASTEUROPE_CHARSET* = 238 + OEM_CHARSET* = 255 + OUT_DEFAULT_PRECIS* = 0 + OUT_STRING_PRECIS* = 1 + OUT_CHARACTER_PRECIS* = 2 + OUT_STROKE_PRECIS* = 3 + OUT_TT_PRECIS* = 4 + OUT_DEVICE_PRECIS* = 5 + OUT_RASTER_PRECIS* = 6 + OUT_TT_ONLY_PRECIS* = 7 + OUT_OUTLINE_PRECIS* = 8 + CLIP_DEFAULT_PRECIS* = 0 + CLIP_CHARACTER_PRECIS* = 1 + CLIP_STROKE_PRECIS* = 2 + CLIP_MASK* = 15 + CLIP_LH_ANGLES* = 16 + CLIP_TT_ALWAYS* = 32 + CLIP_EMBEDDED* = 128 + DEFAULT_QUALITY* = 0 + DRAFT_QUALITY* = 1 + PROOF_QUALITY* = 2 + NONANTIALIASED_QUALITY* = 3 + ANTIALIASED_QUALITY* = 4 + DEFAULT_PITCH* = 0 + FIXED_PITCH* = 1 + VARIABLE_PITCH* = 2 + MONO_FONT* = 8 + FF_DECORATIVE* = 80 + FF_DONTCARE* = 0 + FF_MODERN* = 48 + FF_ROMAN* = 16 + FF_SCRIPT* = 64 + FF_SWISS* = 32 # CreateHatchBrush + HS_BDIAGONAL* = 3 + HS_CROSS* = 4 + HS_DIAGCROSS* = 5 + HS_FDIAGONAL* = 2 + HS_HORIZONTAL* = 0 + HS_VERTICAL* = 1 # CreateIconFromResourceEx + LR_DEFAULTCOLOR* = 0 + LR_LOADREALSIZE* = 128 # already defined above !! + # #define LR_MONOCHROME (1) + # + # CreateMailslot, GetMailslotInfo + MAILSLOT_WAIT_FOREVER* = 0xFFFFFFFF + MAILSLOT_NO_MESSAGE* = 0xFFFFFFFF # CreateMappedBitmap + CMB_MASKED* = 2 # CreateNamedPipe + PIPE_ACCESS_DUPLEX* = 3 + PIPE_ACCESS_INBOUND* = 1 + PIPE_ACCESS_OUTBOUND* = 2 + WRITE_DAC* = 0x00040000 + WRITE_OWNER* = 0x00080000 + ACCESS_SYSTEM_SECURITY* = 0x01000000 + PIPE_TYPE_BYTE* = 0 + PIPE_TYPE_MESSAGE* = 4 + PIPE_READMODE_BYTE* = 0 + PIPE_READMODE_MESSAGE* = 2 + PIPE_WAIT* = 0 + PIPE_NOWAIT* = 1 # CreatePen, ExtCreatePen + PS_GEOMETRIC* = 65536 + PS_COSMETIC* = 0 + PS_ALTERNATE* = 8 + PS_SOLID* = 0 + PS_DASH* = 1 + PS_DOT* = 2 + PS_DASHDOT* = 3 + PS_DASHDOTDOT* = 4 + PS_NULL* = 5 + PS_USERSTYLE* = 7 + PS_INSIDEFRAME* = 6 + PS_ENDCAP_ROUND* = 0 + PS_ENDCAP_SQUARE* = 256 + PS_ENDCAP_FLAT* = 512 + PS_JOIN_BEVEL* = 4096 + PS_JOIN_MITER* = 8192 + PS_JOIN_ROUND* = 0 + PS_STYLE_MASK* = 15 + PS_ENDCAP_MASK* = 3840 + PS_TYPE_MASK* = 983040 # CreatePolygonRgn + ALTERNATE* = 1 + WINDING* = 2 # CreateProcess + CREATE_DEFAULT_ERROR_MODE* = 67108864 + CREATE_NEW_CONSOLE* = 16 + CREATE_NEW_PROCESS_GROUP* = 512 + CREATE_SEPARATE_WOW_VDM* = 2048 + CREATE_SUSPENDED* = 4 + CREATE_UNICODE_ENVIRONMENT* = 1024 + DEBUG_PROCESS* = 1 + DEBUG_ONLY_THIS_PROCESS* = 2 + DETACHED_PROCESS* = 8 + HIGH_PRIORITY_CLASS* = 128 + IDLE_PRIORITY_CLASS* = 64 + NORMAL_PRIORITY_CLASS* = 32 + REALTIME_PRIORITY_CLASS* = 256 # CreateService + SERVICE_ALL_ACCESS* = 0x000F01FF + SERVICE_CHANGE_CONFIG* = 2 + SERVICE_ENUMERATE_DEPENDENTS* = 8 + SERVICE_INTERROGATE* = 128 + SERVICE_PAUSE_CONTINUE* = 64 + SERVICE_QUERY_CONFIG* = 1 + SERVICE_QUERY_STATUS* = 4 + SERVICE_START* = 16 + SERVICE_STOP* = 32 + SERVICE_USER_DEFINED_CONTROL* = 256 + SERVICE_DELETE* = 0x00010000 + SERVICE_READ_CONTROL* = 0x00020000 + SERVICE_GENERIC_EXECUTE* = 0x20000000 # already defined above !! + # #define SERVICE_WIN32_OWN_PROCESS (16) + # #define SERVICE_WIN32_SHARE_PROCESS (32) + # #define SERVICE_KERNEL_DRIVER (1) + # #define SERVICE_FILE_SYSTEM_DRIVER (2) + # #define SERVICE_INTERACTIVE_PROCESS (256) + # #define SERVICE_BOOT_START (0) + # #define SERVICE_SYSTEM_START (1) + # #define SERVICE_AUTO_START (2) + # #define SERVICE_DEMAND_START (3) + # #define SERVICE_DISABLED (4) + # + SERVICE_ERROR_IGNORE* = 0 + SERVICE_ERROR_NORMAL* = 1 + SERVICE_ERROR_SEVERE* = 2 + SERVICE_ERROR_CRITICAL* = 3 # CreateTapePartition, WriteTapemark + TAPE_FIXED_PARTITIONS* = 0 + TAPE_INITIATOR_PARTITIONS* = 0x00000002 + TAPE_SELECT_PARTITIONS* = 0x00000001 + TAPE_FILEMARKS* = 0x00000001 + TAPE_LONG_FILEMARKS* = 0x00000003 + TAPE_SETMARKS* = 0 + TAPE_SHORT_FILEMARKS* = 0x00000002 # CreateWindow + CW_USEDEFAULT* = int32(0x80000000) + WS_BORDER* = 0x00800000 + WS_CAPTION* = 0x00C00000 + WS_CHILD* = 0x40000000 + WS_CHILDWINDOW* = 0x40000000 + WS_CLIPCHILDREN* = 0x02000000 + WS_CLIPSIBLINGS* = 0x04000000 + WS_DISABLED* = 0x08000000 + WS_DLGFRAME* = 0x00400000 + WS_GROUP* = 0x00020000 + WS_HSCROLL* = 0x00100000 + WS_ICONIC* = 0x20000000 + WS_MAXIMIZE* = 0x01000000 + WS_MAXIMIZEBOX* = 0x00010000 + WS_MINIMIZE* = 0x20000000 + WS_MINIMIZEBOX* = 0x00020000 + WS_OVERLAPPED* = 0 + WS_OVERLAPPEDWINDOW* = 0x00CF0000 + WS_POPUP* = LONG(0x80000000) + WS_POPUPWINDOW* = LONG(0x80880000) + WS_SIZEBOX* = 0x00040000 + WS_SYSMENU* = 0x00080000 + WS_TABSTOP* = 0x00010000 + WS_THICKFRAME* = 0x00040000 + WS_TILED* = 0 + WS_TILEDWINDOW* = 0x00CF0000 + WS_VISIBLE* = 0x10000000 + WS_VSCROLL* = 0x00200000 + MDIS_ALLCHILDSTYLES* = 0x00000001 + BS_3STATE* = 0x00000005 + BS_AUTO3STATE* = 0x00000006 + BS_AUTOCHECKBOX* = 0x00000003 + BS_AUTORADIOBUTTON* = 0x00000009 + BS_BITMAP* = 0x00000080 + BS_BOTTOM* = 0x00000800 + BS_CENTER* = 0x00000300 + BS_CHECKBOX* = 0x00000002 + BS_DEFPUSHBUTTON* = 0x00000001 + BS_GROUPBOX* = 0x00000007 + BS_ICON* = 0x00000040 + BS_LEFT* = 0x00000100 + BS_LEFTTEXT* = 0x00000020 + BS_MULTILINE* = 0x00002000 + BS_NOTIFY* = 0x00004000 + BS_OWNERDRAW* = 0x0000000B + BS_PUSHBUTTON* = 0 + BS_PUSHLIKE* = 0x00001000 + BS_RADIOBUTTON* = 0x00000004 + BS_RIGHT* = 0x00000200 + BS_RIGHTBUTTON* = 0x00000020 + BS_TEXT* = 0 + BS_TOP* = 0x00000400 + BS_USERBUTTON* = 0x00000008 + BS_VCENTER* = 0x00000C00 + BS_FLAT* = 0x00008000 + CBS_AUTOHSCROLL* = 0x00000040 + CBS_DISABLENOSCROLL* = 0x00000800 + CBS_DROPDOWN* = 0x00000002 + CBS_DROPDOWNLIST* = 0x00000003 + CBS_HASSTRINGS* = 0x00000200 + CBS_LOWERCASE* = 0x00004000 + CBS_NOINTEGRALHEIGHT* = 0x00000400 + CBS_OEMCONVERT* = 0x00000080 + CBS_OWNERDRAWFIXED* = 0x00000010 + CBS_OWNERDRAWVARIABLE* = 0x00000020 + CBS_SIMPLE* = 0x00000001 + CBS_SORT* = 0x00000100 + CBS_UPPERCASE* = 0x00002000 + ES_AUTOHSCROLL* = 0x00000080 + ES_AUTOVSCROLL* = 0x00000040 + ES_CENTER* = 0x00000001 + ES_LEFT* = 0 + ES_LOWERCASE* = 0x00000010 + ES_MULTILINE* = 0x00000004 + ES_NOHIDESEL* = 0x00000100 + ES_NUMBER* = 0x00002000 + ES_OEMCONVERT* = 0x00000400 + ES_PASSWORD* = 0x00000020 + ES_READONLY* = 0x00000800 + ES_RIGHT* = 0x00000002 + ES_UPPERCASE* = 0x00000008 + ES_WANTRETURN* = 0x00001000 + LBS_DISABLENOSCROLL* = 0x00001000 + LBS_EXTENDEDSEL* = 0x00000800 + LBS_HASSTRINGS* = 0x00000040 + LBS_MULTICOLUMN* = 0x00000200 + LBS_MULTIPLESEL* = 0x00000008 + LBS_NODATA* = 0x00002000 + LBS_NOINTEGRALHEIGHT* = 0x00000100 + LBS_NOREDRAW* = 0x00000004 + LBS_NOSEL* = 0x00004000 + LBS_NOTIFY* = 0x00000001 + LBS_OWNERDRAWFIXED* = 0x00000010 + LBS_OWNERDRAWVARIABLE* = 0x00000020 + LBS_SORT* = 0x00000002 + LBS_STANDARD* = 0x00A00003 + LBS_USETABSTOPS* = 0x00000080 + LBS_WANTKEYBOARDINPUT* = 0x00000400 + SBS_BOTTOMALIGN* = 0x00000004 + SBS_HORZ* = 0 + SBS_LEFTALIGN* = 0x00000002 + SBS_RIGHTALIGN* = 0x00000004 + SBS_SIZEBOX* = 0x00000008 + SBS_SIZEBOXBOTTOMRIGHTALIGN* = 0x00000004 + SBS_SIZEBOXTOPLEFTALIGN* = 0x00000002 + SBS_SIZEGRIP* = 0x00000010 + SBS_TOPALIGN* = 0x00000002 + SBS_VERT* = 0x00000001 + SS_BITMAP* = 0x0000000E + SS_BLACKFRAME* = 0x00000007 + SS_BLACKRECT* = 0x00000004 + SS_CENTER* = 0x00000001 + SS_CENTERIMAGE* = 0x00000200 + SS_ENHMETAFILE* = 0x0000000F + SS_ETCHEDFRAME* = 0x00000012 + SS_ETCHEDHORZ* = 0x00000010 + SS_ETCHEDVERT* = 0x00000011 + SS_GRAYFRAME* = 0x00000008 + SS_GRAYRECT* = 0x00000005 + SS_ICON* = 0x00000003 + SS_LEFT* = 0 + SS_LEFTNOWORDWRAP* = 0x0000000C + SS_NOPREFIX* = 0x00000080 + SS_NOTIFY* = 0x00000100 + SS_OWNERDRAW* = 0x0000000D + SS_REALSIZEIMAGE* = 0x00000800 + SS_RIGHT* = 0x00000002 + SS_RIGHTJUST* = 0x00000400 + SS_SIMPLE* = 0x0000000B + SS_SUNKEN* = 0x00001000 + SS_USERITEM* = 0x0000000A + SS_WHITEFRAME* = 0x00000009 + SS_WHITERECT* = 0x00000006 + DS_3DLOOK* = 0x00000004 + DS_ABSALIGN* = 0x00000001 + DS_CENTER* = 0x00000800 + DS_CENTERMOUSE* = 0x00001000 + DS_CONTEXTHELP* = 0x00002000 + DS_CONTROL* = 0x00000400 + DS_FIXEDSYS* = 0x00000008 + DS_LOCALEDIT* = 0x00000020 + DS_MODALFRAME* = 0x00000080 + DS_NOFAILCREATE* = 0x00000010 + DS_NOIDLEMSG* = 0x00000100 + DS_SETFONT* = 0x00000040 + DS_SETFOREGROUND* = 0x00000200 + DS_SYSMODAL* = 0x00000002 # CreateWindowEx + WS_EX_ACCEPTFILES* = 0x00000010 + WS_EX_APPWINDOW* = 0x00040000 + WS_EX_CLIENTEDGE* = 0x00000200 + WS_EX_CONTEXTHELP* = 0x00000400 + WS_EX_CONTROLPARENT* = 0x00010000 + WS_EX_DLGMODALFRAME* = 0x00000001 + WS_EX_LEFT* = 0 + WS_EX_LEFTSCROLLBAR* = 0x00004000 + WS_EX_LTRREADING* = 0 + WS_EX_MDICHILD* = 0x00000040 + WS_EX_NOPARENTNOTIFY* = 0x00000004 + WS_EX_OVERLAPPEDWINDOW* = 0x00000300 + WS_EX_PALETTEWINDOW* = 0x00000188 + WS_EX_RIGHT* = 0x00001000 + WS_EX_RIGHTSCROLLBAR* = 0 + WS_EX_RTLREADING* = 0x00002000 + WS_EX_STATICEDGE* = 0x00020000 + WS_EX_TOOLWINDOW* = 0x00000080 + WS_EX_TOPMOST* = 0x00000008 + WS_EX_TRANSPARENT* = 0x00000020 + WS_EX_WINDOWEDGE* = 0x00000100 # CreateWindowStation + WINSTA_ACCESSCLIPBOARD* = 0x00000004 + WINSTA_ACCESSGLOBALATOMS* = 0x00000020 + WINSTA_CREATEDESKTOP* = 0x00000008 + WINSTA_ENUMDESKTOPS* = 0x00000001 + WINSTA_ENUMERATE* = 0x00000100 + WINSTA_EXITWINDOWS* = 0x00000040 + WINSTA_READATTRIBUTES* = 0x00000002 + WINSTA_READSCREEN* = 0x00000200 + WINSTA_WRITEATTRIBUTES* = 0x00000010 # DdeCallback + # DdeClientTransaction + # DdeEnableCallback + # DdeGetLastError + # DdeInitialize + # DdeNameService + # DebugProc + WH_CALLWNDPROC* = 4 + WH_CALLWNDPROCRET* = 12 + WH_CBT* = 5 + WH_DEBUG* = 9 + WH_GETMESSAGE* = 3 + WH_JOURNALPLAYBACK* = 1 + WH_JOURNALRECORD* = 0 + WH_KEYBOARD* = 2 + WH_MOUSE* = 7 + WH_MSGFILTER* = - (1) + WH_SHELL* = 10 + WH_SYSMSGFILTER* = 6 # already defined above !! + # #define WH_MSGFILTER (-1) + WH_FOREGROUNDIDLE* = 11 # DefineDosDevice + DDD_RAW_TARGET_PATH* = 1 + DDD_REMOVE_DEFINITION* = 2 + DDD_EXACT_MATCH_ON_REMOVE* = 4 # DeviceCapbilities + DC_BINNAMES* = 12 + DC_BINS* = 6 + DC_COPIES* = 18 + DC_DRIVER* = 11 + DC_DATATYPE_PRODUCED* = 21 + DC_DUPLEX* = 7 + DC_EMF_COMPLIANT* = 20 + DC_ENUMRESOLUTIONS* = 13 + DC_EXTRA* = 9 + DC_FIELDS* = 1 + DC_FILEDEPENDENCIES* = 14 + DC_MAXEXTENT* = 5 + DC_MINEXTENT* = 4 + DC_ORIENTATION* = 17 + DC_PAPERNAMES* = 16 + DC_PAPERS* = 2 + DC_PAPERSIZE* = 3 + DC_SIZE* = 8 + DC_TRUETYPE* = 15 + DCTT_BITMAP* = 0x00000001 + DCTT_DOWNLOAD* = 0x00000002 + DCTT_SUBDEV* = 0x00000004 + DC_VERSION* = 10 + DC_BINADJUST* = 19 # already defined above !! + # #define DC_DATATYPE_PRODUCED (21) + # + # DeviceIoControl + # DlgDirList + DDL_ARCHIVE* = 32 + DDL_DIRECTORY* = 16 + DDL_DRIVES* = 16384 + DDL_EXCLUSIVE* = 32768 + DDL_HIDDEN* = 2 + DDL_READONLY* = 1 + DDL_READWRITE* = 0 + DDL_SYSTEM* = 4 + DDL_POSTMSGS* = 8192 # DllEntryPoint + DLL_PROCESS_ATTACH* = 1 + DLL_THREAD_ATTACH* = 2 + DLL_PROCESS_DETACH* = 0 + DLL_THREAD_DETACH* = 3 # DocumentProperties + DM_IN_BUFFER* = 8 + DM_MODIFY* = 8 + DM_IN_PROMPT* = 4 + DM_PROMPT* = 4 + DM_OUT_BUFFER* = 2 + DM_COPY* = 2 + DM_UPDATE* = 1 # DrawAnimatedRects + IDANI_OPEN* = 1 + IDANI_CLOSE* = 2 # DrawCaption + DC_ACTIVE* = 1 + DC_SMALLCAP* = 2 # DrawEdge + BDR_RAISEDINNER* = 4 + BDR_SUNKENINNER* = 8 + BDR_RAISEDOUTER* = 1 + BDR_SUNKENOUTER* = 2 + BDR_OUTER* = BDR_RAISEDOUTER or BDR_SUNKENOUTER + BDR_INNER* = BDR_RAISEDINNER or BDR_SUNKENINNER + BDR_RAISED* = BDR_RAISEDOUTER or BDR_RAISEDINNER + BDR_SUNKEN* = BDR_SUNKENOUTER or BDR_SUNKENINNER + EDGE_BUMP* = 9 + EDGE_ETCHED* = 6 + EDGE_RAISED* = 5 + EDGE_SUNKEN* = 10 + BF_ADJUST* = 8192 + BF_BOTTOM* = 8 + BF_BOTTOMLEFT* = 9 + BF_BOTTOMRIGHT* = 12 + BF_DIAGONAL* = 16 + BF_DIAGONAL_ENDBOTTOMLEFT* = 25 + BF_DIAGONAL_ENDBOTTOMRIGHT* = 28 + BF_DIAGONAL_ENDTOPLEFT* = 19 + BF_DIAGONAL_ENDTOPRIGHT* = 22 + BF_FLAT* = 16384 + BF_LEFT* = 1 + BF_MIDDLE* = 2048 + BF_MONO* = 32768 + BF_RECT* = 15 + BF_RIGHT* = 4 + BF_SOFT* = 4096 + BF_TOP* = 2 + BF_TOPLEFT* = 3 + BF_TOPRIGHT* = 6 # DrawFrameControl + DFC_BUTTON* = 4 + DFC_CAPTION* = 1 + DFC_MENU* = 2 + DFC_SCROLL* = 3 + DFCS_BUTTON3STATE* = 8 + DFCS_BUTTONCHECK* = 0 + DFCS_BUTTONPUSH* = 16 + DFCS_BUTTONRADIO* = 4 + DFCS_BUTTONRADIOIMAGE* = 1 + DFCS_BUTTONRADIOMASK* = 2 + DFCS_CAPTIONCLOSE* = 0 + DFCS_CAPTIONHELP* = 4 + DFCS_CAPTIONMAX* = 2 + DFCS_CAPTIONMIN* = 1 + DFCS_CAPTIONRESTORE* = 3 + DFCS_MENUARROW* = 0 + DFCS_MENUBULLET* = 2 + DFCS_MENUCHECK* = 1 + DFCS_SCROLLCOMBOBOX* = 5 + DFCS_SCROLLDOWN* = 1 + DFCS_SCROLLLEFT* = 2 + DFCS_SCROLLRIGHT* = 3 + DFCS_SCROLLSIZEGRIP* = 8 + DFCS_SCROLLUP* = 0 + DFCS_ADJUSTRECT* = 8192 + DFCS_CHECKED* = 1024 + DFCS_FLAT* = 16384 + DFCS_INACTIVE* = 256 + DFCS_MONO* = 32768 + DFCS_PUSHED* = 512 # DrawIconEx + DI_COMPAT* = 4 + DI_DEFAULTSIZE* = 8 + DI_IMAGE* = 2 + DI_MASK* = 1 + DI_NORMAL* = 3 # DrawState + DST_BITMAP* = 4 + DST_COMPLEX* = 0 + DST_ICON* = 3 + DST_PREFIXTEXT* = 2 + DST_TEXT* = 1 + DSS_NORMAL* = 0 + DSS_UNION* = 16 + DSS_DISABLED* = 32 + DSS_MONO* = 128 # DrawStatusText + SBT_NOBORDERS* = 256 + SBT_OWNERDRAW* = 4096 + SBT_POPOUT* = 512 + SBT_RTLREADING* = 1024 # DrawText, DrawTextEx + DT_BOTTOM* = 8 + DT_CALCRECT* = 1024 + DT_CENTER* = 1 + DT_EDITCONTROL* = 8192 + DT_END_ELLIPSIS* = 32768 + DT_PATH_ELLIPSIS* = 16384 + DT_EXPANDTABS* = 64 + DT_EXTERNALLEADING* = 512 + DT_LEFT* = 0 + DT_MODIFYSTRING* = 65536 + DT_NOCLIP* = 256 + DT_NOPREFIX* = 2048 + DT_RIGHT* = 2 + DT_RTLREADING* = 131072 + DT_SINGLELINE* = 32 + DT_TABSTOP* = 128 + DT_TOP* = 0 + DT_VCENTER* = 4 + DT_WORDBREAK* = 16 + DT_INTERNAL* = 4096 + DT_WORD_ELLIPSIS* = 0x00040000 + DT_HIDEPREFIX* = 0x00100000 + DT_PREFIXONLY* = 0x00200000 # DuplicateHandle, MapViewOfFile + DUPLICATE_CLOSE_SOURCE* = 1 + DUPLICATE_SAME_ACCESS* = 2 + FILE_MAP_ALL_ACCESS* = 0x000F001F + FILE_MAP_READ* = 4 + FILE_MAP_WRITE* = 2 + FILE_MAP_COPY* = 1 + MUTEX_ALL_ACCESS* = 0x001F0001 + MUTEX_MODIFY_STATE* = 1 + SYNCHRONIZE* = 0x00100000 + SEMAPHORE_ALL_ACCESS* = 0x001F0003 + SEMAPHORE_MODIFY_STATE* = 2 + EVENT_ALL_ACCESS* = 0x001F0003 + EVENT_MODIFY_STATE* = 2 + KEY_ALL_ACCESS* = 0x000F003F + KEY_CREATE_LINK* = 32 + KEY_CREATE_SUB_KEY* = 4 + KEY_ENUMERATE_SUB_KEYS* = 8 + KEY_EXECUTE* = 0x00020019 + KEY_NOTIFY* = 16 + KEY_QUERY_VALUE* = 1 + KEY_READ* = 0x00020019 + KEY_SET_VALUE* = 2 + KEY_WRITE* = 0x00020006 + PROCESS_ALL_ACCESS* = 0x001F0FFF + PROCESS_CREATE_PROCESS* = 128 + PROCESS_CREATE_THREAD* = 2 + PROCESS_DUP_HANDLE* = 64 + PROCESS_QUERY_INFORMATION* = 1024 + PROCESS_SET_INFORMATION* = 512 + PROCESS_TERMINATE* = 1 + PROCESS_VM_OPERATION* = 8 + PROCESS_VM_READ* = 16 + PROCESS_VM_WRITE* = 32 + THREAD_ALL_ACCESS* = 0x001F03FF + THREAD_DIRECT_IMPERSONATION* = 512 + THREAD_GET_CONTEXT* = 8 + THREAD_IMPERSONATE* = 256 + THREAD_QUERY_INFORMATION* = 64 + THREAD_SET_CONTEXT* = 16 + THREAD_SET_INFORMATION* = 32 + THREAD_SET_THREAD_TOKEN* = 128 + THREAD_SUSPEND_RESUME* = 2 + THREAD_TERMINATE* = 1 # EditWordBreakProc + WB_ISDELIMITER* = 2 + WB_LEFT* = 0 + WB_RIGHT* = 1 # EnableScrollBar + SB_BOTH* = 3 + SB_CTL* = 2 + SB_HORZ* = 0 + SB_VERT* = 1 + ESB_DISABLE_BOTH* = 3 + ESB_DISABLE_DOWN* = 2 + ESB_DISABLE_LEFT* = 1 + ESB_DISABLE_LTUP* = 1 + ESB_DISABLE_RIGHT* = 2 + ESB_DISABLE_RTDN* = 2 + ESB_DISABLE_UP* = 1 + ESB_ENABLE_BOTH* = 0 # Scroll Bar notifications + SB_LINEUP* = 0 + SB_LINEDOWN* = 1 + SB_LINELEFT* = 0 + SB_LINERIGHT* = 1 + SB_PAGEUP* = 2 + SB_PAGEDOWN* = 3 + SB_PAGELEFT* = 2 + SB_PAGERIGHT* = 3 + SB_THUMBPOSITION* = 4 + SB_THUMBTRACK* = 5 + SB_ENDSCROLL* = 8 + SB_LEFT* = 6 + SB_RIGHT* = 7 + SB_BOTTOM* = 7 + SB_TOP* = 6 # EnumCalendarInfo + ENUM_ALL_CALENDARS* = - (1) # EnumDateFormats + DATE_SHORTDATE* = 1 + DATE_LONGDATE* = 2 # EnumDependentServices + SERVICE_ACTIVE* = 1 + SERVICE_INACTIVE* = 2 # EnumFontFamExProc + DEVICE_FONTTYPE* = 2 + RASTER_FONTTYPE* = 1 + TRUETYPE_FONTTYPE* = 4 # EnumObjects, GetCurrentObject, GetObjectType + OBJ_BRUSH* = 2 + OBJ_PEN* = 1 + OBJ_PAL* = 5 + OBJ_FONT* = 6 + OBJ_BITMAP* = 7 + OBJ_EXTPEN* = 11 + OBJ_REGION* = 8 + OBJ_DC* = 3 + OBJ_MEMDC* = 10 + OBJ_METAFILE* = 9 + OBJ_METADC* = 4 + OBJ_ENHMETAFILE* = 13 + OBJ_ENHMETADC* = 12 # EnumPrinters + # EnumProtocols + # EnumResLangProc + # + # Predefined Resource Types + # + +const + RT_CURSOR* = cast[MAKEINTRESOURCE](1) + RT_BITMAP* = cast[MAKEINTRESOURCE](2) + RT_ICON* = cast[MAKEINTRESOURCE](3) + RT_MENU* = cast[MAKEINTRESOURCE](4) + RT_DIALOG* = cast[MAKEINTRESOURCE](5) + RT_STRING* = cast[MAKEINTRESOURCE](6) + RT_FONTDIR* = cast[MAKEINTRESOURCE](7) + RT_FONT* = cast[MAKEINTRESOURCE](8) + RT_ACCELERATOR* = cast[MAKEINTRESOURCE](9) + RT_RCDATA* = cast[MAKEINTRESOURCE](10) + RT_MESSAGETABLE* = cast[MAKEINTRESOURCE](11) + DIFFERENCE* = 11 + RT_GROUP_CURSOR* = cast[MAKEINTRESOURCE](12) + RT_GROUP_ICON* = cast[MAKEINTRESOURCE](14) + RT_VERSION* = cast[MAKEINTRESOURCE](16) + RT_DLGINCLUDE* = cast[MAKEINTRESOURCE](17) + RT_PLUGPLAY* = cast[MAKEINTRESOURCE](19) + RT_VXD* = cast[MAKEINTRESOURCE](20) + RT_ANICURSOR* = cast[MAKEINTRESOURCE](21) + RT_ANIICON* = cast[MAKEINTRESOURCE](22) + RT_HTML* = cast[MAKEINTRESOURCE](23) + RT_MANIFEST* = cast[MAKEINTRESOURCE](24) # EnumServicesStatus + +const + SERVICE_WIN32* = 48 + SERVICE_DRIVER* = 11 # EnumSystemCodePages + CP_INSTALLED* = 1 + CP_SUPPORTED* = 2 # EnumSystemLocales + LCID_INSTALLED* = 1 + LCID_SUPPORTED* = 2 # EraseTape + TAPE_ERASE_LONG* = 0x00000001 + TAPE_ERASE_SHORT* = 0 # Escape + SP_ERROR* = - (1) + SP_OUTOFDISK* = - (4) + SP_OUTOFMEMORY* = - (5) + SP_USERABORT* = - (3) + PHYSICALWIDTH* = 110 + PHYSICALHEIGHT* = 111 + PHYSICALOFFSETX* = 112 + PHYSICALOFFSETY* = 113 + SCALINGFACTORX* = 114 + SCALINGFACTORY* = 115 + QUERYESCSUPPORT* = 8 #ABORTDOC = 2; conflicts with AbortDoc function + cABORTDOC* = 2 #ENDDOC = 11; conflicts with AbortDoc function + cENDDOC* = 11 + GETPHYSPAGESIZE* = 12 + GETPRINTINGOFFSET* = 13 + GETSCALINGFACTOR* = 14 + NEWFRAME* = 1 + NEXTBAND* = 3 + PASSTHROUGH* = 19 #SETABORTPROC = 9; conflicts with AbortDoc function + cSETABORTPROC* = 9 #STARTDOC = 10; conflicts with AbortDoc function + cSTARTDOC* = 10 # EscapeCommFunction + CLRDTR* = 6 + CLRRTS* = 4 + SETDTR* = 5 + SETRTS* = 3 + SETXOFF* = 1 + SETXON* = 2 + SETBREAK* = 8 + CLRBREAK* = 9 # ExitWindowsEx + EWX_FORCE* = 4 + EWX_LOGOFF* = 0 + EWX_POWEROFF* = 8 + EWX_REBOOT* = 2 + EWX_SHUTDOWN* = 1 # ExtFloodFill + FLOODFILLBORDER* = 0 + FLOODFILLSURFACE* = 1 # ExtTextOut + ETO_CLIPPED* = 4 + ETO_GLYPH_INDEX* = 16 + ETO_OPAQUE* = 2 + ETO_RTLREADING* = 128 # FillConsoleOutputAttribute + FOREGROUND_BLUE* = 1 + FOREGROUND_GREEN* = 2 + FOREGROUND_RED* = 4 + FOREGROUND_INTENSITY* = 8 + BACKGROUND_BLUE* = 16 + BACKGROUND_GREEN* = 32 + BACKGROUND_RED* = 64 + BACKGROUND_INTENSITY* = 128 # FindFirstChangeNotification + FILE_NOTIFY_CHANGE_FILE_NAME* = 1 + FILE_NOTIFY_CHANGE_DIR_NAME* = 2 + FILE_NOTIFY_CHANGE_ATTRIBUTES* = 4 + FILE_NOTIFY_CHANGE_SIZE* = 8 + FILE_NOTIFY_CHANGE_LAST_WRITE* = 16 + FILE_NOTIFY_CHANGE_SECURITY* = 256 # FindFirstPrinterChangeNotification + # FindNextPrinterNotification + # FMExtensionProc + # FoldString + MAP_FOLDCZONE* = 16 + MAP_FOLDDIGITS* = 128 + MAP_PRECOMPOSED* = 32 + MAP_COMPOSITE* = 64 # ForegroundIdleProc + HC_ACTION* = 0 # FormatMessage + FORMAT_MESSAGE_ALLOCATE_BUFFER* = 256 + FORMAT_MESSAGE_IGNORE_INSERTS* = 512 + FORMAT_MESSAGE_FROM_STRING* = 1024 + FORMAT_MESSAGE_FROM_HMODULE* = 2048 + FORMAT_MESSAGE_FROM_SYSTEM* = 4096 + FORMAT_MESSAGE_ARGUMENT_ARRAY* = 8192 + FORMAT_MESSAGE_MAX_WIDTH_MASK* = 255 # GdiComment + GDICOMMENT_WINDOWS_METAFILE* = - (2147483647) + GDICOMMENT_BEGINGROUP* = 2 + GDICOMMENT_ENDGROUP* = 3 + GDICOMMENT_MULTIFORMATS* = 1073741828 + GDICOMMENT_IDENTIFIER* = 1128875079 # GenerateConsoleCtrlEvent, HandlerRoutine + CTRL_C_EVENT* = 0 + CTRL_BREAK_EVENT* = 1 + CTRL_CLOSE_EVENT* = 2 + CTRL_LOGOFF_EVENT* = 5 + CTRL_SHUTDOWN_EVENT* = 6 # GetAddressByName + # GetArcDirection + AD_COUNTERCLOCKWISE* = 1 + AD_CLOCKWISE* = 2 # GetBinaryTypes + SCS_32BIT_BINARY* = 0 + SCS_DOS_BINARY* = 1 + SCS_OS216_BINARY* = 5 + SCS_PIF_BINARY* = 3 + SCS_POSIX_BINARY* = 4 + SCS_WOW_BINARY* = 2 # GetBoundsRect, SetBoundsRect + DCB_DISABLE* = 8 + DCB_ENABLE* = 4 + DCB_RESET* = 1 + DCB_SET* = 3 + DCB_ACCUMULATE* = 2 # GetCharacterPlacement, GetFontLanguageInfo + GCP_DBCS* = 1 + GCP_ERROR* = 0x00008000 + GCP_CLASSIN* = 0x00080000 + GCP_DIACRITIC* = 256 + GCP_DISPLAYZWG* = 0x00400000 + GCP_GLYPHSHAPE* = 16 + GCP_JUSTIFY* = 0x00010000 + GCP_JUSTIFYIN* = 0x00200000 + GCP_KASHIDA* = 1024 + GCP_LIGATE* = 32 + GCP_MAXEXTENT* = 0x00100000 + GCP_NEUTRALOVERRIDE* = 0x02000000 + GCP_NUMERICOVERRIDE* = 0x01000000 + GCP_NUMERICSLATIN* = 0x04000000 + GCP_NUMERICSLOCAL* = 0x08000000 + GCP_REORDER* = 2 + GCP_SYMSWAPOFF* = 0x00800000 + GCP_USEKERNING* = 8 + FLI_GLYPHS* = 0x00040000 + FLI_MASK* = 0x0000103B # GetClassLong, GetClassWord + GCW_ATOM* = - (32) + GCL_CBCLSEXTRA* = - (20) + GCL_CBWNDEXTRA* = - (18) + GCL_HBRBACKGROUND* = - (10) + GCL_HCURSOR* = - (12) + GCL_HICON* = - (14) + GCL_HICONSM* = - (34) + GCL_HMODULE* = - (16) + GCL_MENUNAME* = - (8) + GCL_STYLE* = - (26) + GCL_WNDPROC* = - (24) # GetClipboardFormat, SetClipboardData + CF_BITMAP* = 2 + CF_DIB* = 8 + CF_PALETTE* = 9 + CF_ENHMETAFILE* = 14 + CF_METAFILEPICT* = 3 + CF_OEMTEXT* = 7 + CF_TEXT* = 1 + CF_UNICODETEXT* = 13 + CF_DIF* = 5 + CF_DSPBITMAP* = 130 + CF_DSPENHMETAFILE* = 142 + CF_DSPMETAFILEPICT* = 131 + CF_DSPTEXT* = 129 + CF_GDIOBJFIRST* = 768 + CF_GDIOBJLAST* = 1023 + CF_HDROP* = 15 + CF_LOCALE* = 16 + CF_OWNERDISPLAY* = 128 + CF_PENDATA* = 10 + CF_PRIVATEFIRST* = 512 + CF_PRIVATELAST* = 767 + CF_RIFF* = 11 + CF_SYLK* = 4 + CF_WAVE* = 12 + CF_TIFF* = 6 # GetCommMask + EV_BREAK* = 64 + EV_CTS* = 8 + EV_DSR* = 16 + EV_ERR* = 128 + EV_EVENT1* = 2048 + EV_EVENT2* = 4096 + EV_PERR* = 512 + EV_RING* = 256 + EV_RLSD* = 32 + EV_RX80FULL* = 1024 + EV_RXCHAR* = 1 + EV_RXFLAG* = 2 + EV_TXEMPTY* = 4 # GetCommModemStatus + MS_CTS_ON* = 0x00000010 + MS_DSR_ON* = 0x00000020 + MS_RING_ON* = 0x00000040 + MS_RLSD_ON* = 0x00000080 # GetComputerName + MAX_COMPUTERNAME_LENGTH* = 15 # GetConsoleMode + ENABLE_LINE_INPUT* = 2 + ENABLE_ECHO_INPUT* = 4 + ENABLE_PROCESSED_INPUT* = 1 + ENABLE_WINDOW_INPUT* = 8 + ENABLE_MOUSE_INPUT* = 16 + ENABLE_PROCESSED_OUTPUT* = 1 + ENABLE_WRAP_AT_EOL_OUTPUT* = 2 # GetCPInfo + CP_ACP* = 0 + CP_MACCP* = 2 + CP_OEMCP* = 1 # GetDateFormat + # already defined above !! + # #define DATE_SHORTDATE (1) + # #define DATE_LONGDATE (2) + # + DATE_USE_ALT_CALENDAR* = 4 # GetDCEx + DCX_WINDOW* = 0x00000001 + DCX_CACHE* = 0x00000002 + DCX_PARENTCLIP* = 0x00000020 + DCX_CLIPSIBLINGS* = 0x00000010 + DCX_CLIPCHILDREN* = 0x00000008 + DCX_NORESETATTRS* = 0x00000004 + DCX_LOCKWINDOWUPDATE* = 0x00000400 + DCX_EXCLUDERGN* = 0x00000040 + DCX_INTERSECTRGN* = 0x00000080 + DCX_VALIDATE* = 0x00200000 # GetDeviceCaps + DRIVERVERSION* = 0 + TECHNOLOGY* = 2 + DT_PLOTTER* = 0 + DT_RASDISPLAY* = 1 + DT_RASPRINTER* = 2 + DT_RASCAMERA* = 3 + DT_CHARSTREAM* = 4 + DT_METAFILE* = 5 + DT_DISPFILE* = 6 + HORZSIZE* = 4 + VERTSIZE* = 6 + HORZRES* = 8 + VERTRES* = 10 + LOGPIXELSX* = 88 + LOGPIXELSY* = 90 + BITSPIXEL* = 12 + PLANES* = 14 + NUMBRUSHES* = 16 + NUMPENS* = 18 + NUMFONTS* = 22 + NUMCOLORS* = 24 + ASPECTX* = 40 + ASPECTY* = 42 + ASPECTXY* = 44 + PDEVICESIZE* = 26 + CLIPCAPS* = 36 + SIZEPALETTE* = 104 + NUMRESERVED* = 106 + COLORRES* = 108 # already defined above !! + # #define PHYSICALWIDTH (110) + # #define PHYSICALHEIGHT (111) + # #define PHYSICALOFFSETX (112) + # #define PHYSICALOFFSETY (113) + # #define SCALINGFACTORX (114) + # #define SCALINGFACTORY (115) + # + VREFRESH* = 116 + DESKTOPHORZRES* = 118 + DESKTOPVERTRES* = 117 + BLTALIGNMENT* = 119 + RASTERCAPS* = 38 + RC_BANDING* = 2 + RC_BITBLT* = 1 + RC_BITMAP64* = 8 + RC_DI_BITMAP* = 128 + RC_DIBTODEV* = 512 + RC_FLOODFILL* = 4096 + RC_GDI20_OUTPUT* = 16 + RC_PALETTE* = 256 + RC_SCALING* = 4 + RC_STRETCHBLT* = 2048 + RC_STRETCHDIB* = 8192 + CURVECAPS* = 28 + CC_NONE* = 0 + CC_CIRCLES* = 1 + CC_PIE* = 2 + CC_CHORD* = 4 + CC_ELLIPSES* = 8 + CC_WIDE* = 16 + CC_STYLED* = 32 + CC_WIDESTYLED* = 64 + CC_INTERIORS* = 128 + CC_ROUNDRECT* = 256 + LINECAPS* = 30 + LC_NONE* = 0 + LC_POLYLINE* = 2 + LC_MARKER* = 4 + LC_POLYMARKER* = 8 + LC_WIDE* = 16 + LC_STYLED* = 32 + LC_WIDESTYLED* = 64 + LC_INTERIORS* = 128 + POLYGONALCAPS* = 32 + PC_NONE* = 0 + PC_POLYGON* = 1 + PC_RECTANGLE* = 2 + PC_WINDPOLYGON* = 4 + PC_SCANLINE* = 8 + PC_WIDE* = 16 + PC_STYLED* = 32 + PC_WIDESTYLED* = 64 + PC_INTERIORS* = 128 + TEXTCAPS* = 34 + TC_OP_CHARACTER* = 1 + TC_OP_STROKE* = 2 + TC_CP_STROKE* = 4 + TC_CR_90* = 8 + TC_CR_ANY* = 16 + TC_SF_X_YINDEP* = 32 + TC_SA_DOUBLE* = 64 + TC_SA_INTEGER* = 128 + TC_SA_CONTIN* = 256 + TC_EA_DOUBLE* = 512 + TC_IA_ABLE* = 1024 + TC_UA_ABLE* = 2048 + TC_SO_ABLE* = 4096 + TC_RA_ABLE* = 8192 + TC_VA_ABLE* = 16384 + TC_RESERVED* = 32768 + TC_SCROLLBLT* = 65536 + PC_PATHS* = 512 # GetDriveType + DRIVE_REMOVABLE* = 2 + DRIVE_FIXED* = 3 + DRIVE_REMOTE* = 4 + DRIVE_CDROM* = 5 + DRIVE_RAMDISK* = 6 + DRIVE_UNKNOWN* = 0 + DRIVE_NO_ROOT_DIR* = 1 # GetExceptionCode + EXCEPTION_ACCESS_VIOLATION* = 0xC0000005 + EXCEPTION_BREAKPOINT* = 0x80000003 + EXCEPTION_DATATYPE_MISALIGNMENT* = 0x80000002 + EXCEPTION_SINGLE_STEP* = 0x80000004 + EXCEPTION_ARRAY_BOUNDS_EXCEEDED* = 0xC000008C + EXCEPTION_FLT_DENORMAL_OPERAND* = 0xC000008D + EXCEPTION_FLT_DIVIDE_BY_ZERO* = 0xC000008E + EXCEPTION_FLT_INEXACT_RESULT* = 0xC000008F + EXCEPTION_FLT_INVALID_OPERATION* = 0xC0000090 + EXCEPTION_FLT_OVERFLOW* = 0xC0000091 + EXCEPTION_FLT_STACK_CHECK* = 0xC0000092 + EXCEPTION_FLT_UNDERFLOW* = 0xC0000093 + EXCEPTION_INT_DIVIDE_BY_ZERO* = 0xC0000094 + EXCEPTION_INT_OVERFLOW* = 0xC0000095 + EXCEPTION_INVALID_HANDLE* = 0xC0000008 + EXCEPTION_PRIV_INSTRUCTION* = 0xC0000096 + EXCEPTION_NONCONTINUABLE_EXCEPTION* = 0xC0000025 + EXCEPTION_NONCONTINUABLE* = 0x00000001 + EXCEPTION_STACK_OVERFLOW* = 0xC00000FD + EXCEPTION_INVALID_DISPOSITION* = 0xC0000026 + EXCEPTION_IN_PAGE_ERROR* = 0xC0000006 + EXCEPTION_ILLEGAL_INSTRUCTION* = 0xC000001D + EXCEPTION_POSSIBLE_DEADLOCK* = 0xC0000194 # GetFileType + FILE_TYPE_UNKNOWN* = 0 + FILE_TYPE_DISK* = 1 + FILE_TYPE_CHAR* = 2 + FILE_TYPE_PIPE* = 3 # GetGlyphOutline + GGO_BITMAP* = 1 + GGO_NATIVE* = 2 + GGO_METRICS* = 0 + GGO_GRAY2_BITMAP* = 4 + GGO_GRAY4_BITMAP* = 5 + GGO_GRAY8_BITMAP* = 6 + GDI_ERROR* = 0xFFFFFFFF # GetGraphicsMode + GM_COMPATIBLE* = 1 + GM_ADVANCED* = 2 # GetHandleInformation + HANDLE_FLAG_INHERIT* = 1 + HANDLE_FLAG_PROTECT_FROM_CLOSE* = 2 # GetIconInfo + # was #define dname def_expr + +proc IDC_ARROW*(): LPTSTR + # return type might be wrong + # was #define dname def_expr +proc IDC_IBEAM*(): LPTSTR + # return type might be wrong + # was #define dname def_expr +proc IDC_WAIT*(): LPTSTR + # return type might be wrong + # was #define dname def_expr +proc IDC_CROSS*(): LPTSTR + # return type might be wrong + # was #define dname def_expr +proc IDC_UPARROW*(): LPTSTR + # return type might be wrong + # was #define dname def_expr +proc IDC_SIZENWSE*(): LPTSTR + # return type might be wrong + # was #define dname def_expr +proc IDC_SIZENESW*(): LPTSTR + # return type might be wrong + # was #define dname def_expr +proc IDC_SIZEWE*(): LPTSTR + # return type might be wrong + # was #define dname def_expr +proc IDC_SIZENS*(): LPTSTR + # return type might be wrong + # was #define dname def_expr +proc IDC_SIZEALL*(): LPTSTR + # return type might be wrong + # was #define dname def_expr +proc IDC_NO*(): LPTSTR + # return type might be wrong + # was #define dname def_expr +proc IDC_APPSTARTING*(): LPTSTR + # return type might be wrong + # was #define dname def_expr +proc IDC_HELP*(): LPTSTR + # return type might be wrong + # was #define dname def_expr +proc IDI_APPLICATION*(): LPTSTR + # return type might be wrong + # was #define dname def_expr +proc IDI_HAND*(): LPTSTR + # return type might be wrong + # was #define dname def_expr +proc IDI_QUESTION*(): LPTSTR + # return type might be wrong + # was #define dname def_expr +proc IDI_EXCLAMATION*(): LPTSTR + # return type might be wrong + # was #define dname def_expr +proc IDI_ASTERISK*(): LPTSTR + # return type might be wrong + # was #define dname def_expr +proc IDI_WINLOGO*(): LPTSTR + # return type might be wrong + # was #define dname def_expr +proc IDC_SIZE*(): LPTSTR + # return type might be wrong + # was #define dname def_expr +proc IDC_ICON*(): LPTSTR + # return type might be wrong + # was #define dname def_expr +proc IDC_HAND*(): LPTSTR + # return type might be wrong + # GetMapMode +const + MM_ANISOTROPIC* = 8 + MM_HIENGLISH* = 5 + MM_HIMETRIC* = 3 + MM_ISOTROPIC* = 7 + MM_LOENGLISH* = 4 + MM_LOMETRIC* = 2 + MM_TEXT* = 1 + MM_TWIPS* = 6 # GetMenuDefaultItem + GMDI_GOINTOPOPUPS* = 0x00000002 + GMDI_USEDISABLED* = 0x00000001 # PeekMessage + PM_NOREMOVE* = 0 + PM_REMOVE* = 1 + PM_NOYIELD* = 2 # GetNamedPipeHandleState + # PIPE_NOWAIT = 1; already above + # PIPE_READMODE_MESSAGE = 2;already above + # GetNamedPipeInfo + PIPE_CLIENT_END* = 0 + PIPE_SERVER_END* = 1 # PIPE_TYPE_MESSAGE = 4;already above + # GetNextWindow, GetWindow + GW_HWNDNEXT* = 2 + GW_HWNDPREV* = 3 + GW_CHILD* = 5 + GW_HWNDFIRST* = 0 + GW_HWNDLAST* = 1 + GW_OWNER* = 4 # GetPath + PT_MOVETO* = 6 + PT_LINETO* = 2 + PT_BEZIERTO* = 4 + PT_CLOSEFIGURE* = 1 # GetProcessShutdownParameters + SHUTDOWN_NORETRY* = 1 # GetQueueStatus + QS_ALLEVENTS* = 191 + QS_ALLINPUT* = 255 + QS_HOTKEY* = 128 + QS_INPUT* = 7 + QS_KEY* = 1 + QS_MOUSE* = 6 + QS_MOUSEBUTTON* = 4 + QS_MOUSEMOVE* = 2 + QS_PAINT* = 32 + QS_POSTMESSAGE* = 8 + QS_SENDMESSAGE* = 64 + QS_TIMER* = 16 # GetScrollInfo, SetScrollInfo + SIF_ALL* = 23 + SIF_PAGE* = 2 + SIF_POS* = 4 + SIF_RANGE* = 1 + SIF_DISABLENOSCROLL* = 8 # GetStdHandle + # was #define dname def_expr + +proc STD_INPUT_HANDLE*(): DWORD + # was #define dname def_expr +proc STD_OUTPUT_HANDLE*(): DWORD + # was #define dname def_expr +proc STD_ERROR_HANDLE*(): DWORD + # was #define dname def_expr +const + INVALID_HANDLE_VALUE* = HANDLE(- 1) # GetStockObject + +const + BLACK_BRUSH* = 4 + DKGRAY_BRUSH* = 3 + GRAY_BRUSH* = 2 + HOLLOW_BRUSH* = 5 + LTGRAY_BRUSH* = 1 + NULL_BRUSH* = 5 + WHITE_BRUSH* = 0 + BLACK_PEN* = 7 + NULL_PEN* = 8 + WHITE_PEN* = 6 + ANSI_FIXED_FONT* = 11 + ANSI_VAR_FONT* = 12 + DEVICE_DEFAULT_FONT* = 14 + DEFAULT_GUI_FONT* = 17 + OEM_FIXED_FONT* = 10 + SYSTEM_FONT* = 13 + SYSTEM_FIXED_FONT* = 16 + DEFAULT_PALETTE* = 15 # GetStringTypeA + CT_CTYPE1* = 1 + CT_CTYPE2* = 2 + CT_CTYPE3* = 4 + C1_UPPER* = 1 + C1_LOWER* = 2 + C1_DIGIT* = 4 + C1_SPACE* = 8 + C1_PUNCT* = 16 + C1_CNTRL* = 32 + C1_BLANK* = 64 + C1_XDIGIT* = 128 + C1_ALPHA* = 256 + C2_LEFTTORIGHT* = 1 + C2_RIGHTTOLEFT* = 2 + C2_EUROPENUMBER* = 3 + C2_EUROPESEPARATOR* = 4 + C2_EUROPETERMINATOR* = 5 + C2_ARABICNUMBER* = 6 + C2_COMMONSEPARATOR* = 7 + C2_BLOCKSEPARATOR* = 8 + C2_SEGMENTSEPARATOR* = 9 + C2_WHITESPACE* = 10 + C2_OTHERNEUTRAL* = 11 + C2_NOTAPPLICABLE* = 0 + C3_NONSPACING* = 1 + C3_DIACRITIC* = 2 + C3_VOWELMARK* = 4 + C3_SYMBOL* = 8 + C3_KATAKANA* = 16 + C3_HIRAGANA* = 32 + C3_HALFWIDTH* = 64 + C3_FULLWIDTH* = 128 + C3_IDEOGRAPH* = 256 + C3_KASHIDA* = 512 + C3_ALPHA* = 32768 + C3_NOTAPPLICABLE* = 0 # GetSysColor + COLOR_3DDKSHADOW* = 21 + COLOR_3DFACE* = 15 + COLOR_3DHILIGHT* = 20 + COLOR_3DLIGHT* = 22 + COLOR_BTNHILIGHT* = 20 + COLOR_3DSHADOW* = 16 + COLOR_ACTIVEBORDER* = 10 + COLOR_ACTIVECAPTION* = 2 + COLOR_APPWORKSPACE* = 12 + COLOR_BACKGROUND* = 1 + COLOR_DESKTOP* = 1 + COLOR_BTNFACE* = 15 + COLOR_BTNHIGHLIGHT* = 20 + COLOR_BTNSHADOW* = 16 + COLOR_BTNTEXT* = 18 + COLOR_CAPTIONTEXT* = 9 + COLOR_GRAYTEXT* = 17 + COLOR_HIGHLIGHT* = 13 + COLOR_HIGHLIGHTTEXT* = 14 + COLOR_INACTIVEBORDER* = 11 + COLOR_INACTIVECAPTION* = 3 + COLOR_INACTIVECAPTIONTEXT* = 19 + COLOR_INFOBK* = 24 + COLOR_INFOTEXT* = 23 + COLOR_MENU* = 4 + COLOR_MENUTEXT* = 7 + COLOR_SCROLLBAR* = 0 + COLOR_WINDOW* = 5 + COLOR_WINDOWFRAME* = 6 + COLOR_WINDOWTEXT* = 8 # GetSystemMetrics + SM_CYMIN* = 29 + SM_CXMIN* = 28 + SM_ARRANGE* = 56 + SM_CLEANBOOT* = 67 # The right value for SM_CEMETRICS for NT 3.5 is 75. For Windows 95 + # and NT 4.0, it is 76. The meaning is undocumented, anyhow. + SM_CMETRICS* = 76 + SM_CMOUSEBUTTONS* = 43 + SM_CXBORDER* = 5 + SM_CYBORDER* = 6 + SM_CXCURSOR* = 13 + SM_CYCURSOR* = 14 + SM_CXDLGFRAME* = 7 + SM_CYDLGFRAME* = 8 + SM_CXDOUBLECLK* = 36 + SM_CYDOUBLECLK* = 37 + SM_CXDRAG* = 68 + SM_CYDRAG* = 69 + SM_CXEDGE* = 45 + SM_CYEDGE* = 46 + SM_CXFIXEDFRAME* = 7 + SM_CYFIXEDFRAME* = 8 + SM_CXFRAME* = 32 + SM_CYFRAME* = 33 + SM_CXFULLSCREEN* = 16 + SM_CYFULLSCREEN* = 17 + SM_CXHSCROLL* = 21 + SM_CYHSCROLL* = 3 + SM_CXHTHUMB* = 10 + SM_CXICON* = 11 + SM_CYICON* = 12 + SM_CXICONSPACING* = 38 + SM_CYICONSPACING* = 39 + SM_CXMAXIMIZED* = 61 + SM_CYMAXIMIZED* = 62 + SM_CXMAXTRACK* = 59 + SM_CYMAXTRACK* = 60 + SM_CXMENUCHECK* = 71 + SM_CYMENUCHECK* = 72 + SM_CXMENUSIZE* = 54 + SM_CYMENUSIZE* = 55 + SM_CXMINIMIZED* = 57 + SM_CYMINIMIZED* = 58 + SM_CXMINSPACING* = 47 + SM_CYMINSPACING* = 48 + SM_CXMINTRACK* = 34 + SM_CYMINTRACK* = 35 + SM_CXSCREEN* = 0 + SM_CYSCREEN* = 1 + SM_CXSIZE* = 30 + SM_CYSIZE* = 31 + SM_CXSIZEFRAME* = 32 + SM_CYSIZEFRAME* = 33 + SM_CXSMICON* = 49 + SM_CYSMICON* = 50 + SM_CXSMSIZE* = 52 + SM_CYSMSIZE* = 53 + SM_CXVSCROLL* = 2 #SM_CYHSCROLL = 3;already above + #SM_CXHSCROLL = 21;already above + SM_CYVSCROLL* = 20 + SM_CYVTHUMB* = 9 + SM_CYCAPTION* = 4 + SM_CYKANJIWINDOW* = 18 + SM_CYMENU* = 15 + SM_CYSMCAPTION* = 51 + SM_DBCSENABLED* = 42 + SM_DEBUG* = 22 + SM_MENUDROPALIGNMENT* = 40 + SM_MIDEASTENABLED* = 74 + SM_MOUSEPRESENT* = 19 + SM_MOUSEWHEELPRESENT* = 75 + SM_NETWORK* = 63 + SM_PENWINDOWS* = 41 + SM_SECURE* = 44 + SM_SHOWSOUNDS* = 70 + SM_SLOWMACHINE* = 73 + SM_SWAPBUTTON* = 23 + ARW_BOTTOMLEFT* = 0 + ARW_BOTTOMRIGHT* = 0x00000001 + ARW_HIDE* = 0x00000008 + ARW_TOPLEFT* = 0x00000002 + ARW_TOPRIGHT* = 0x00000003 + ARW_DOWN* = 0x00000004 + ARW_LEFT* = 0 + ARW_RIGHT* = 0 + ARW_UP* = 0x00000004 # GetSystemPaletteUse + SYSPAL_NOSTATIC* = 2 + SYSPAL_STATIC* = 1 + SYSPAL_ERROR* = 0 # GetTapeParameters, SetTapeParameters + GET_TAPE_MEDIA_INFORMATION* = 0 + GET_TAPE_DRIVE_INFORMATION* = 1 + SET_TAPE_MEDIA_INFORMATION* = 0 + SET_TAPE_DRIVE_INFORMATION* = 1 # GetTapePosition + TAPE_ABSOLUTE_POSITION* = 0 + TAPE_LOGICAL_POSITION* = 0x00000001 # GetTextAlign + TA_BASELINE* = 24 + TA_BOTTOM* = 8 + TA_TOP* = 0 + TA_CENTER* = 6 + TA_LEFT* = 0 + TA_RIGHT* = 2 + TA_RTLREADING* = 256 + TA_NOUPDATECP* = 0 + TA_UPDATECP* = 1 + VTA_BASELINE* = 24 + VTA_CENTER* = 6 # GetThreadPriority + THREAD_PRIORITY_ABOVE_NORMAL* = 1 + THREAD_PRIORITY_BELOW_NORMAL* = - (1) + THREAD_PRIORITY_HIGHEST* = 2 + THREAD_PRIORITY_IDLE* = - (15) + THREAD_PRIORITY_LOWEST* = - (2) + THREAD_PRIORITY_NORMAL* = 0 + THREAD_PRIORITY_TIME_CRITICAL* = 15 + THREAD_PRIORITY_ERROR_RETURN* = 2147483647 + TLS_MINIMUM_AVAILABLE* = 64 # GetTimeFormat + TIME_NOMINUTESORSECONDS* = 1 + TIME_NOSECONDS* = 2 + TIME_NOTIMEMARKER* = 4 + TIME_FORCE24HOURFORMAT* = 8 # GetTimeZoneInformation + # was #define dname def_expr + +const + TIME_ZONE_ID_INVALID* = DWORD(- 1) + TIME_ZONE_ID_UNKNOWN* = 0 + TIME_ZONE_ID_STANDARD* = 1 + TIME_ZONE_ID_DAYLIGHT* = 2 # GetUserObjectInformation + UOI_FLAGS* = 1 + UOI_NAME* = 2 + UOI_TYPE* = 3 # GetVolumeInformation + FS_CASE_IS_PRESERVED* = 2 + FS_CASE_SENSITIVE* = 1 + FS_UNICODE_STORED_ON_DISK* = 4 + FS_PERSISTENT_ACLS* = 8 + FS_FILE_COMPRESSION* = 16 + FS_VOL_IS_COMPRESSED* = 32768 # GetWindowLong + GWL_EXSTYLE* = - (20) + GWL_STYLE* = - (16) + GWL_WNDPROC* = - (4) + GWL_HINSTANCE* = - (6) + GWL_HWNDPARENT* = - (8) + GWL_ID* = - (12) + GWL_USERDATA* = - (21) + DWL_DLGPROC* = 4 + DWL_MSGRESULT* = 0 + DWL_USER* = 8 # GlobalAlloc, GlobalFlags + GMEM_FIXED* = 0 + GMEM_MOVEABLE* = 2 + GPTR* = 64 + GHND* = 66 + GMEM_DDESHARE* = 8192 + GMEM_DISCARDABLE* = 256 + GMEM_LOWER* = 4096 + GMEM_NOCOMPACT* = 16 + GMEM_NODISCARD* = 32 + GMEM_NOT_BANKED* = 4096 + GMEM_NOTIFY* = 16384 + GMEM_SHARE* = 8192 + GMEM_ZEROINIT* = 64 + GMEM_DISCARDED* = 16384 + GMEM_INVALID_HANDLE* = 32768 + GMEM_LOCKCOUNT* = 255 # HeapAlloc, HeapReAlloc + HEAP_GENERATE_EXCEPTIONS* = 4 + HEAP_NO_SERIALIZE* = 1 + HEAP_ZERO_MEMORY* = 8 + STATUS_NO_MEMORY* = 0xC0000017 + STATUS_ACCESS_VIOLATION* = 0xC0000005 + HEAP_REALLOC_IN_PLACE_ONLY* = 16 # ImageList_Create + ILC_COLOR* = 0 + ILC_COLOR4* = 4 + ILC_COLOR8* = 8 + ILC_COLOR16* = 16 + ILC_COLOR24* = 24 + ILC_COLOR32* = 32 + ILC_COLORDDB* = 254 + ILC_MASK* = 1 + ILC_PALETTE* = 2048 # ImageList_Draw, ImageList_DrawEx + ILD_BLEND25* = 2 + ILD_BLEND50* = 4 + ILD_SELECTED* = 4 + ILD_BLEND* = 4 + ILD_FOCUS* = 2 + ILD_MASK* = 16 + ILD_NORMAL* = 0 + ILD_TRANSPARENT* = 1 + CLR_NONE* = 0xFFFFFFFF + CLR_DEFAULT* = 0xFF000000 + CLR_INVALID* = 0xFFFFFFFF # ImageList_LoadImage + #LR_DEFAULTCOLOR = 0;already above + LR_LOADFROMFILE* = 16 + LR_LOADMAP3DCOLORS* = 4096 + LR_LOADTRANSPARENT* = 32 # ImmConfigureIME + IME_CONFIG_GENERAL* = 1 + IME_CONFIG_REGISTERWORD* = 2 + IME_CONFIG_SELECTDICTIONARY* = 3 # ImmGetConversionList + GCL_CONVERSION* = 1 + GCL_REVERSECONVERSION* = 2 + GCL_REVERSE_LENGTH* = 3 # ImmGetGuideLine + GGL_LEVEL* = 1 + GGL_INDEX* = 2 + GGL_STRING* = 3 + GGL_PRIVATE* = 4 + GL_LEVEL_ERROR* = 2 + GL_LEVEL_FATAL* = 1 + GL_LEVEL_INFORMATION* = 4 + GL_LEVEL_NOGUIDELINE* = 0 + GL_LEVEL_WARNING* = 3 + GL_ID_CANNOTSAVE* = 17 + GL_ID_NOCONVERT* = 32 + GL_ID_NODICTIONARY* = 16 + GL_ID_NOMODULE* = 1 + GL_ID_READINGCONFLICT* = 35 + GL_ID_TOOMANYSTROKE* = 34 + GL_ID_TYPINGERROR* = 33 + GL_ID_UNKNOWN* = 0 + GL_ID_INPUTREADING* = 36 + GL_ID_INPUTRADICAL* = 37 + GL_ID_INPUTCODE* = 38 + GL_ID_CHOOSECANDIDATE* = 40 + GL_ID_REVERSECONVERSION* = 41 # ImmGetProperty + IGP_PROPERTY* = 4 + IGP_CONVERSION* = 8 + IGP_SENTENCE* = 12 + IGP_UI* = 16 + IGP_SETCOMPSTR* = 20 + IGP_SELECT* = 24 + IME_PROP_AT_CARET* = 65536 + IME_PROP_SPECIAL_UI* = 131072 + IME_PROP_CANDLIST_START_FROM_1* = 262144 + IME_PROP_UNICODE* = 524288 + UI_CAP_2700* = 1 + UI_CAP_ROT90* = 2 + UI_CAP_ROTANY* = 4 + SCS_CAP_COMPSTR* = 1 + SCS_CAP_MAKEREAD* = 2 + SELECT_CAP_CONVERSION* = 1 + SELECT_CAP_SENTENCE* = 2 # ImmNotifyIME + NI_CHANGECANDIDATELIST* = 19 + NI_CLOSECANDIDATE* = 17 + NI_COMPOSITIONSTR* = 21 + NI_OPENCANDIDATE* = 16 + NI_SELECTCANDIDATESTR* = 18 + NI_SETCANDIDATE_PAGESIZE* = 23 + NI_SETCANDIDATE_PAGESTART* = 22 + CPS_CANCEL* = 4 + CPS_COMPLETE* = 1 + CPS_CONVERT* = 2 + CPS_REVERT* = 3 # ImmSetCompositionString + SCS_SETSTR* = 9 + SCS_CHANGEATTR* = 18 + SCS_CHANGECLAUSE* = 36 # ImmUnregisterWord + IME_REGWORD_STYLE_EUDC* = 1 + IME_REGWORD_STYLE_USER_FIRST* = 0x80000000 + IME_REGWORD_STYLE_USER_LAST* = - (1) # InitializeSecurityDescriptor + SECURITY_DESCRIPTOR_REVISION* = 1 # IsTextUnicode + IS_TEXT_UNICODE_ASCII16* = 1 + IS_TEXT_UNICODE_REVERSE_ASCII16* = 16 + IS_TEXT_UNICODE_STATISTICS* = 2 + IS_TEXT_UNICODE_REVERSE_STATISTICS* = 32 + IS_TEXT_UNICODE_CONTROLS* = 4 + IS_TEXT_UNICODE_REVERSE_CONTROLS* = 64 + IS_TEXT_UNICODE_SIGNATURE* = 8 + IS_TEXT_UNICODE_REVERSE_SIGNATURE* = 128 + IS_TEXT_UNICODE_ILLEGAL_CHARS* = 256 + IS_TEXT_UNICODE_ODD_LENGTH* = 512 + IS_TEXT_UNICODE_NULL_BYTES* = 4096 + IS_TEXT_UNICODE_UNICODE_MASK* = 15 + IS_TEXT_UNICODE_REVERSE_MASK* = 240 + IS_TEXT_UNICODE_NOT_UNICODE_MASK* = 3840 + IS_TEXT_UNICODE_NOT_ASCII_MASK* = 61440 # JournalPlaybackProc, KeyboardProc + HC_GETNEXT* = 1 + HC_SKIP* = 2 + HC_SYSMODALOFF* = 5 + HC_SYSMODALON* = 4 + HC_NOREMOVE* = 3 # keybd_event + KEYEVENTF_EXTENDEDKEY* = 1 + KEYEVENTF_KEYUP* = 2 # LoadBitmap + OBM_BTNCORNERS* = 32758 + OBM_BTSIZE* = 32761 + OBM_CHECK* = 32760 + OBM_CHECKBOXES* = 32759 + OBM_CLOSE* = 32754 + OBM_COMBO* = 32738 + OBM_DNARROW* = 32752 + OBM_DNARROWD* = 32742 + OBM_DNARROWI* = 32736 + OBM_LFARROW* = 32750 + OBM_LFARROWI* = 32734 + OBM_LFARROWD* = 32740 + OBM_MNARROW* = 32739 + OBM_OLD_CLOSE* = 32767 + OBM_OLD_DNARROW* = 32764 + OBM_OLD_LFARROW* = 32762 + OBM_OLD_REDUCE* = 32757 + OBM_OLD_RESTORE* = 32755 + OBM_OLD_RGARROW* = 32763 + OBM_OLD_UPARROW* = 32765 + OBM_OLD_ZOOM* = 32756 + OBM_REDUCE* = 32749 + OBM_REDUCED* = 32746 + OBM_RESTORE* = 32747 + OBM_RESTORED* = 32744 + OBM_RGARROW* = 32751 + OBM_RGARROWD* = 32741 + OBM_RGARROWI* = 32735 + OBM_SIZE* = 32766 + OBM_UPARROW* = 32753 + OBM_UPARROWD* = 32743 + OBM_UPARROWI* = 32737 + OBM_ZOOM* = 32748 + OBM_ZOOMD* = 32745 # LoadLibraryEx + DONT_RESOLVE_DLL_REFERENCES* = 1 + LOAD_LIBRARY_AS_DATAFILE* = 2 + LOAD_WITH_ALTERED_SEARCH_PATH* = 8 # LocalAlloc, LocalFlags + LPTR* = 64 + LHND* = 66 + NONZEROLHND* = 2 + NONZEROLPTR* = 0 + LMEM_NONZEROLHND* = 2 + LMEM_NONZEROLPTR* = 0 + LMEM_FIXED* = 0 + LMEM_MOVEABLE* = 2 + LMEM_NOCOMPACT* = 16 + LMEM_NODISCARD* = 32 + LMEM_ZEROINIT* = 64 + LMEM_MODIFY* = 128 + LMEM_LOCKCOUNT* = 255 + LMEM_DISCARDABLE* = 3840 + LMEM_DISCARDED* = 16384 + LMEM_INVALID_HANDLE* = 32768 # LockFileEx + LOCKFILE_FAIL_IMMEDIATELY* = 1 + LOCKFILE_EXCLUSIVE_LOCK* = 2 # LogonUser + # LZCopy, LZInit, LZRead + # MessageBeep, MessageBox + MB_USERICON* = 0x00000080 + MB_ICONASTERISK* = 0x00000040 + MB_ICONEXCLAMATION* = 0x00000030 + MB_ICONWARNING* = 0x00000030 + MB_ICONERROR* = 0x00000010 + MB_ICONHAND* = 0x00000010 + MB_ICONQUESTION* = 0x00000020 + MB_OK* = 0 + MB_ABORTRETRYIGNORE* = 0x00000002 + MB_APPLMODAL* = 0 + MB_DEFAULT_DESKTOP_ONLY* = 0x00020000 + MB_HELP* = 0x00004000 + MB_RIGHT* = 0x00080000 + MB_RTLREADING* = 0x00100000 + MB_TOPMOST* = 0x00040000 + MB_DEFBUTTON1* = 0 + MB_DEFBUTTON2* = 0x00000100 + MB_DEFBUTTON3* = 0x00000200 + MB_DEFBUTTON4* = 0x00000300 + MB_ICONINFORMATION* = 0x00000040 + MB_ICONSTOP* = 0x00000010 + MB_OKCANCEL* = 0x00000001 + MB_RETRYCANCEL* = 0x00000005 + MB_SERVICE_NOTIFICATION* = 0x00040000 + MB_SETFOREGROUND* = 0x00010000 + MB_SYSTEMMODAL* = 0x00001000 + MB_TASKMODAL* = 0x00002000 + MB_YESNO* = 0x00000004 + MB_YESNOCANCEL* = 0x00000003 + IDABORT* = 3 + IDCANCEL* = 2 + IDCLOSE* = 8 + IDHELP* = 9 + IDIGNORE* = 5 + IDNO* = 7 + IDOK* = 1 + IDRETRY* = 4 + IDYES* = 6 # MessageProc + MSGF_DIALOGBOX* = 0 + MSGF_MENU* = 2 + MSGF_NEXTWINDOW* = 6 + MSGF_SCROLLBAR* = 5 + MSGF_MAINLOOP* = 8 + MSGF_USER* = 4096 # ModifyWorldTransform + MWT_IDENTITY* = 1 + MWT_LEFTMULTIPLY* = 2 + MWT_RIGHTMULTIPLY* = 3 # mouse_event + MOUSEEVENTF_ABSOLUTE* = 32768 + MOUSEEVENTF_MOVE* = 1 + MOUSEEVENTF_LEFTDOWN* = 2 + MOUSEEVENTF_LEFTUP* = 4 + MOUSEEVENTF_RIGHTDOWN* = 8 + MOUSEEVENTF_RIGHTUP* = 16 + MOUSEEVENTF_MIDDLEDOWN* = 32 + MOUSEEVENTF_MIDDLEUP* = 64 # MoveFileEx + MOVEFILE_REPLACE_EXISTING* = 1 + MOVEFILE_COPY_ALLOWED* = 2 + MOVEFILE_DELAY_UNTIL_REBOOT* = 4 # MsgWaitForMultipleObjects, WaitForMultipleObjectsEx + WAIT_OBJECT_0* = 0 + WAIT_ABANDONED_0* = 0x00000080 + WAIT_TIMEOUT* = 0x00000102 + WAIT_IO_COMPLETION* = 0x000000C0 + WAIT_ABANDONED* = 0x00000080 + WAIT_FAILED* = 0xFFFFFFFF + MAXIMUM_WAIT_OBJECTS* = 0x00000040 + MAXIMUM_SUSPEND_COUNT* = 0x0000007F # MultiByteToWideChar + MB_PRECOMPOSED* = 1 + MB_COMPOSITE* = 2 + MB_ERR_INVALID_CHARS* = 8 + MB_USEGLYPHCHARS* = 4 # NDdeSetTrustedShare + # NetAccessCheck + # NetServerEnum + # NetServiceControl + # NetUserEnum + # OpenProcessToken + TOKEN_ADJUST_DEFAULT* = 128 + TOKEN_ADJUST_GROUPS* = 64 + TOKEN_ADJUST_PRIVILEGES* = 32 + TOKEN_ALL_ACCESS* = 0x000F00FF + TOKEN_ASSIGN_PRIMARY* = 1 + TOKEN_DUPLICATE* = 2 + TOKEN_EXECUTE* = 0x00020000 + TOKEN_IMPERSONATE* = 4 + TOKEN_QUERY* = 8 + TOKEN_QUERY_SOURCE* = 16 + TOKEN_READ* = 0x00020008 + TOKEN_WRITE* = 0x000200E0 # OpenSCManager + SC_MANAGER_ALL_ACCESS* = 0x000F003F + SC_MANAGER_CONNECT* = 1 + SC_MANAGER_CREATE_SERVICE* = 2 + SC_MANAGER_ENUMERATE_SERVICE* = 4 + SC_MANAGER_LOCK* = 8 + SC_MANAGER_QUERY_LOCK_STATUS* = 16 + SC_MANAGER_MODIFY_BOOT_CONFIG* = 32 # PostMessage + # was #define dname def_expr + +proc HWND_BROADCAST*(): HWND + # PrepareTape +const + TAPE_FORMAT* = 0x00000005 + TAPE_LOAD* = 0 + TAPE_LOCK* = 0x00000003 + TAPE_TENSION* = 0x00000002 + TAPE_UNLOAD* = 0x00000001 + TAPE_UNLOCK* = 0x00000004 # PropertySheet + IS_PSREBOOTSYSTEM* = 3 + IS_PSRESTARTWINDOWS* = 2 # PropSheetPageProc + PSPCB_CREATE* = 2 + PSPCB_RELEASE* = 1 # PurgeComm + PURGE_TXABORT* = 1 + PURGE_RXABORT* = 2 + PURGE_TXCLEAR* = 4 + PURGE_RXCLEAR* = 8 # QueryServiceObjectSecurity + OWNER_SECURITY_INFORMATION* = 0x00000001 + GROUP_SECURITY_INFORMATION* = 0x00000002 + DACL_SECURITY_INFORMATION* = 0x00000004 + SACL_SECURITY_INFORMATION* = 0x00000008 # ReadEventLog, ReportEvent + EVENTLOG_FORWARDS_READ* = 4 + EVENTLOG_BACKWARDS_READ* = 8 + EVENTLOG_SEEK_READ* = 2 + EVENTLOG_SEQUENTIAL_READ* = 1 + EVENTLOG_ERROR_TYPE* = 1 + EVENTLOG_WARNING_TYPE* = 2 + EVENTLOG_INFORMATION_TYPE* = 4 + EVENTLOG_AUDIT_SUCCESS* = 8 + EVENTLOG_AUDIT_FAILURE* = 16 # RedrawWindow + RDW_ERASE* = 4 + RDW_FRAME* = 1024 + RDW_INTERNALPAINT* = 2 + RDW_INVALIDATE* = 1 + RDW_NOERASE* = 32 + RDW_NOFRAME* = 2048 + RDW_NOINTERNALPAINT* = 16 + RDW_VALIDATE* = 8 + RDW_ERASENOW* = 512 + RDW_UPDATENOW* = 256 + RDW_ALLCHILDREN* = 128 + RDW_NOCHILDREN* = 64 # RegCreateKey + # was #define dname def_expr + +proc HKEY_CLASSES_ROOT*(): HKEY + # was #define dname def_expr +proc HKEY_CURRENT_USER*(): HKEY + # was #define dname def_expr +proc HKEY_LOCAL_MACHINE*(): HKEY + # was #define dname def_expr +proc HKEY_USERS*(): HKEY + # was #define dname def_expr +proc HKEY_PERFORMANCE_DATA*(): HKEY + # was #define dname def_expr +proc HKEY_CURRENT_CONFIG*(): HKEY + # was #define dname def_expr +proc HKEY_DYN_DATA*(): HKEY + # RegCreateKeyEx +const + REG_OPTION_VOLATILE* = 0x00000001 + REG_OPTION_NON_VOLATILE* = 0 + REG_CREATED_NEW_KEY* = 0x00000001 + REG_OPENED_EXISTING_KEY* = 0x00000002 # RegEnumValue + REG_BINARY* = 3 + REG_DWORD* = 4 + REG_DWORD_LITTLE_ENDIAN* = 4 + REG_DWORD_BIG_ENDIAN* = 5 + REG_EXPAND_SZ* = 2 + REG_FULL_RESOURCE_DESCRIPTOR* = 9 + REG_LINK* = 6 + REG_MULTI_SZ* = 7 + REG_NONE* = 0 + REG_RESOURCE_LIST* = 8 + REG_RESOURCE_REQUIREMENTS_LIST* = 10 + REG_SZ* = 1 # RegisterHotKey + MOD_ALT* = 1 + MOD_CONTROL* = 2 + MOD_SHIFT* = 4 + MOD_WIN* = 8 + IDHOT_SNAPDESKTOP* = - (2) + IDHOT_SNAPWINDOW* = - (1) # RegNotifyChangeKeyValue + REG_NOTIFY_CHANGE_NAME* = 0x00000001 + REG_NOTIFY_CHANGE_ATTRIBUTES* = 0x00000002 + REG_NOTIFY_CHANGE_LAST_SET* = 0x00000004 + REG_NOTIFY_CHANGE_SECURITY* = 0x00000008 # ScrollWindowEx + SW_ERASE* = 4 + SW_INVALIDATE* = 2 + SW_SCROLLCHILDREN* = 1 # SendMessageTimeout + SMTO_ABORTIFHUNG* = 2 + SMTO_BLOCK* = 1 + SMTO_NORMAL* = 0 # SetBkMode + OPAQUE* = 2 + TRANSPARENT* = 1 # SetDebugErrorLevel + SLE_ERROR* = 1 + SLE_MINORERROR* = 2 + SLE_WARNING* = 3 # SetErrorMode + SEM_FAILCRITICALERRORS* = 1 + SEM_NOALIGNMENTFAULTEXCEPT* = 4 + SEM_NOGPFAULTERRORBOX* = 2 + SEM_NOOPENFILEERRORBOX* = 32768 # SetICMMode + ICM_ON* = 2 + ICM_OFF* = 1 + ICM_QUERY* = 3 # SetJob + # Locale Information + LOCALE_ILANGUAGE* = 1 + LOCALE_SLANGUAGE* = 2 + LOCALE_SENGLANGUAGE* = 4097 + LOCALE_SABBREVLANGNAME* = 3 + LOCALE_SNATIVELANGNAME* = 4 + LOCALE_ICOUNTRY* = 5 + LOCALE_SCOUNTRY* = 6 + LOCALE_SENGCOUNTRY* = 4098 + LOCALE_SABBREVCTRYNAME* = 7 + LOCALE_SNATIVECTRYNAME* = 8 + LOCALE_IDEFAULTLANGUAGE* = 9 + LOCALE_IDEFAULTCOUNTRY* = 10 + LOCALE_IDEFAULTANSICODEPAGE* = 4100 + LOCALE_IDEFAULTCODEPAGE* = 11 + LOCALE_SLIST* = 12 + LOCALE_IMEASURE* = 13 + LOCALE_SDECIMAL* = 14 + LOCALE_STHOUSAND* = 15 + LOCALE_SGROUPING* = 16 + LOCALE_IDIGITS* = 17 + LOCALE_ILZERO* = 18 + LOCALE_INEGNUMBER* = 4112 + LOCALE_SCURRENCY* = 20 + LOCALE_SMONDECIMALSEP* = 22 + LOCALE_SMONTHOUSANDSEP* = 23 + LOCALE_SMONGROUPING* = 24 + LOCALE_ICURRDIGITS* = 25 + LOCALE_ICURRENCY* = 27 + LOCALE_INEGCURR* = 28 + LOCALE_SDATE* = 29 + LOCALE_STIME* = 30 + LOCALE_STIMEFORMAT* = 4099 + LOCALE_SSHORTDATE* = 31 + LOCALE_SLONGDATE* = 32 + LOCALE_IDATE* = 33 + LOCALE_ILDATE* = 34 + LOCALE_ITIME* = 35 + LOCALE_ITLZERO* = 37 + LOCALE_IDAYLZERO* = 38 + LOCALE_IMONLZERO* = 39 + LOCALE_S1159* = 40 + LOCALE_S2359* = 41 + LOCALE_ICALENDARTYPE* = 4105 + LOCALE_IOPTIONALCALENDAR* = 4107 + LOCALE_IFIRSTDAYOFWEEK* = 4108 + LOCALE_IFIRSTWEEKOFYEAR* = 4109 + LOCALE_SDAYNAME1* = 42 + LOCALE_SDAYNAME2* = 43 + LOCALE_SDAYNAME3* = 44 + LOCALE_SDAYNAME4* = 45 + LOCALE_SDAYNAME5* = 46 + LOCALE_SDAYNAME6* = 47 + LOCALE_SDAYNAME7* = 48 + LOCALE_SABBREVDAYNAME1* = 49 + LOCALE_SABBREVDAYNAME2* = 50 + LOCALE_SABBREVDAYNAME3* = 51 + LOCALE_SABBREVDAYNAME4* = 52 + LOCALE_SABBREVDAYNAME5* = 53 + LOCALE_SABBREVDAYNAME6* = 54 + LOCALE_SABBREVDAYNAME7* = 55 + LOCALE_SMONTHNAME1* = 56 + LOCALE_SMONTHNAME2* = 57 + LOCALE_SMONTHNAME3* = 58 + LOCALE_SMONTHNAME4* = 59 + LOCALE_SMONTHNAME5* = 60 + LOCALE_SMONTHNAME6* = 61 + LOCALE_SMONTHNAME7* = 62 + LOCALE_SMONTHNAME8* = 63 + LOCALE_SMONTHNAME9* = 64 + LOCALE_SMONTHNAME10* = 65 + LOCALE_SMONTHNAME11* = 66 + LOCALE_SMONTHNAME12* = 67 + LOCALE_SMONTHNAME13* = 4110 + LOCALE_SABBREVMONTHNAME1* = 68 + LOCALE_SABBREVMONTHNAME2* = 69 + LOCALE_SABBREVMONTHNAME3* = 70 + LOCALE_SABBREVMONTHNAME4* = 71 + LOCALE_SABBREVMONTHNAME5* = 72 + LOCALE_SABBREVMONTHNAME6* = 73 + LOCALE_SABBREVMONTHNAME7* = 74 + LOCALE_SABBREVMONTHNAME8* = 75 + LOCALE_SABBREVMONTHNAME9* = 76 + LOCALE_SABBREVMONTHNAME10* = 77 + LOCALE_SABBREVMONTHNAME11* = 78 + LOCALE_SABBREVMONTHNAME12* = 79 + LOCALE_SABBREVMONTHNAME13* = 4111 + LOCALE_SPOSITIVESIGN* = 80 + LOCALE_SNEGATIVESIGN* = 81 + LOCALE_IPOSSIGNPOSN* = 82 + LOCALE_INEGSIGNPOSN* = 83 + LOCALE_IPOSSYMPRECEDES* = 84 + LOCALE_IPOSSEPBYSPACE* = 85 + LOCALE_INEGSYMPRECEDES* = 86 + LOCALE_INEGSEPBYSPACE* = 87 + LOCALE_NOUSEROVERRIDE* = 0x80000000 + LOCALE_USE_CP_ACP* = 0x40000000 # use the system ACP + LOCALE_RETURN_NUMBER* = 0x20000000 # return number instead + LOCALE_SISO639LANGNAME* = 0x00000059 + LOCALE_SISO3166CTRYNAME* = 0x0000005A # Calendar Type Information + CAL_ICALINTVALUE* = 1 + CAL_IYEAROFFSETRANGE* = 3 + CAL_SABBREVDAYNAME1* = 14 + CAL_SABBREVDAYNAME2* = 15 + CAL_SABBREVDAYNAME3* = 16 + CAL_SABBREVDAYNAME4* = 17 + CAL_SABBREVDAYNAME5* = 18 + CAL_SABBREVDAYNAME6* = 19 + CAL_SABBREVDAYNAME7* = 20 + CAL_SABBREVMONTHNAME1* = 34 + CAL_SABBREVMONTHNAME2* = 35 + CAL_SABBREVMONTHNAME3* = 36 + CAL_SABBREVMONTHNAME4* = 37 + CAL_SABBREVMONTHNAME5* = 38 + CAL_SABBREVMONTHNAME6* = 39 + CAL_SABBREVMONTHNAME7* = 40 + CAL_SABBREVMONTHNAME8* = 41 + CAL_SABBREVMONTHNAME9* = 42 + CAL_SABBREVMONTHNAME10* = 43 + CAL_SABBREVMONTHNAME11* = 44 + CAL_SABBREVMONTHNAME12* = 45 + CAL_SABBREVMONTHNAME13* = 46 + CAL_SCALNAME* = 2 + CAL_SDAYNAME1* = 7 + CAL_SDAYNAME2* = 8 + CAL_SDAYNAME3* = 9 + CAL_SDAYNAME4* = 10 + CAL_SDAYNAME5* = 11 + CAL_SDAYNAME6* = 12 + CAL_SDAYNAME7* = 13 + CAL_SERASTRING* = 4 + CAL_SLONGDATE* = 6 + CAL_SMONTHNAME1* = 21 + CAL_SMONTHNAME2* = 22 + CAL_SMONTHNAME3* = 23 + CAL_SMONTHNAME4* = 24 + CAL_SMONTHNAME5* = 25 + CAL_SMONTHNAME6* = 26 + CAL_SMONTHNAME7* = 27 + CAL_SMONTHNAME8* = 28 + CAL_SMONTHNAME9* = 29 + CAL_SMONTHNAME10* = 30 + CAL_SMONTHNAME11* = 31 + CAL_SMONTHNAME12* = 32 + CAL_SMONTHNAME13* = 33 + CAL_SSHORTDATE* = 5 # SetProcessWorkingSetSize + PROCESS_SET_QUOTA* = 256 # SetPrinter + # SetService + # SetStretchBltMode + BLACKONWHITE* = 1 + COLORONCOLOR* = 3 + HALFTONE* = 4 + STRETCH_ANDSCANS* = 1 + STRETCH_DELETESCANS* = 3 + STRETCH_HALFTONE* = 4 + STRETCH_ORSCANS* = 2 + WHITEONBLACK* = 2 # SetSystemCursor + OCR_NORMAL* = 32512 + OCR_IBEAM* = 32513 + OCR_WAIT* = 32514 + OCR_CROSS* = 32515 + OCR_UP* = 32516 + OCR_SIZE* = 32640 + OCR_ICON* = 32641 + OCR_SIZENWSE* = 32642 + OCR_SIZENESW* = 32643 + OCR_SIZEWE* = 32644 + OCR_SIZENS* = 32645 + OCR_SIZEALL* = 32646 + OCR_NO* = 32648 + OCR_APPSTARTING* = 32650 # SetTapePosition + TAPE_ABSOLUTE_BLOCK* = 0x00000001 + TAPE_LOGICAL_BLOCK* = 0x00000002 + TAPE_REWIND* = 0 + TAPE_SPACE_END_OF_DATA* = 0x00000004 + TAPE_SPACE_FILEMARKS* = 0x00000006 + TAPE_SPACE_RELATIVE_BLOCKS* = 0x00000005 + TAPE_SPACE_SEQUENTIAL_FMKS* = 0x00000007 + TAPE_SPACE_SEQUENTIAL_SMKS* = 0x00000009 + TAPE_SPACE_SETMARKS* = 0x00000008 # SetUnhandledExceptionFilter + EXCEPTION_EXECUTE_HANDLER* = 1 + EXCEPTION_CONTINUE_EXECUTION* = - (1) + EXCEPTION_CONTINUE_SEARCH* = 0 # SetWindowPos, DeferWindowPos + # was #define dname def_expr + +proc HWND_BOTTOM*(): HWND + # was #define dname def_expr +proc HWND_NOTOPMOST*(): HWND + # was #define dname def_expr +proc HWND_TOP*(): HWND + # was #define dname def_expr +proc HWND_TOPMOST*(): HWND +const + SWP_DRAWFRAME* = 32 + SWP_FRAMECHANGED* = 32 + SWP_HIDEWINDOW* = 128 + SWP_NOACTIVATE* = 16 + SWP_NOCOPYBITS* = 256 + SWP_NOMOVE* = 2 + SWP_NOSIZE* = 1 + SWP_NOREDRAW* = 8 + SWP_NOZORDER* = 4 + SWP_SHOWWINDOW* = 64 + SWP_NOOWNERZORDER* = 512 + SWP_NOREPOSITION* = 512 + SWP_NOSENDCHANGING* = 1024 # SHAddToRecentDocs + # SHAppBarMessage + # SHChangeNotify + # ShellProc + HSHELL_ACTIVATESHELLWINDOW* = 3 + HSHELL_GETMINRECT* = 5 + HSHELL_LANGUAGE* = 8 + HSHELL_REDRAW* = 6 + HSHELL_TASKMAN* = 7 + HSHELL_WINDOWACTIVATED* = 4 + HSHELL_WINDOWCREATED* = 1 + HSHELL_WINDOWDESTROYED* = 2 # SHGetFileInfo + # SHGetSpecialFolderLocation + # ShowWindow + SW_HIDE* = 0 + SW_MAXIMIZE* = 3 + SW_MINIMIZE* = 6 + SW_NORMAL* = 1 + SW_RESTORE* = 9 + SW_SHOW* = 5 + SW_SHOWDEFAULT* = 10 + SW_SHOWMAXIMIZED* = 3 + SW_SHOWMINIMIZED* = 2 + SW_SHOWMINNOACTIVE* = 7 + SW_SHOWNA* = 8 + SW_SHOWNOACTIVATE* = 4 + SW_SHOWNORMAL* = 1 + WPF_RESTORETOMAXIMIZED* = 2 + WPF_SETMINPOSITION* = 1 # Sleep + INFINITE* = 0xFFFFFFFF # SystemParametersInfo + SPI_GETBEEP* = 1 + SPI_SETBEEP* = 2 + SPI_GETMOUSE* = 3 + SPI_SETMOUSE* = 4 + SPI_GETBORDER* = 5 + SPI_SETBORDER* = 6 + SPI_GETKEYBOARDSPEED* = 10 + SPI_SETKEYBOARDSPEED* = 11 + SPI_LANGDRIVER* = 12 + SPI_ICONHORIZONTALSPACING* = 13 + SPI_GETSCREENSAVETIMEOUT* = 14 + SPI_SETSCREENSAVETIMEOUT* = 15 + SPI_GETSCREENSAVEACTIVE* = 16 + SPI_SETSCREENSAVEACTIVE* = 17 + SPI_GETGRIDGRANULARITY* = 18 + SPI_SETGRIDGRANULARITY* = 19 + SPI_SETDESKWALLPAPER* = 20 + SPI_SETDESKPATTERN* = 21 + SPI_GETKEYBOARDDELAY* = 22 + SPI_SETKEYBOARDDELAY* = 23 + SPI_ICONVERTICALSPACING* = 24 + SPI_GETICONTITLEWRAP* = 25 + SPI_SETICONTITLEWRAP* = 26 + SPI_GETMENUDROPALIGNMENT* = 27 + SPI_SETMENUDROPALIGNMENT* = 28 + SPI_SETDOUBLECLKWIDTH* = 29 + SPI_SETDOUBLECLKHEIGHT* = 30 + SPI_GETICONTITLELOGFONT* = 31 + SPI_SETDOUBLECLICKTIME* = 32 + SPI_SETMOUSEBUTTONSWAP* = 33 + SPI_SETICONTITLELOGFONT* = 34 + SPI_GETFASTTASKSWITCH* = 35 + SPI_SETFASTTASKSWITCH* = 36 + SPI_SETDRAGFULLWINDOWS* = 37 + SPI_GETDRAGFULLWINDOWS* = 38 + SPI_GETNONCLIENTMETRICS* = 41 + SPI_SETNONCLIENTMETRICS* = 42 + SPI_GETMINIMIZEDMETRICS* = 43 + SPI_SETMINIMIZEDMETRICS* = 44 + SPI_GETICONMETRICS* = 45 + SPI_SETICONMETRICS* = 46 + SPI_SETWORKAREA* = 47 + SPI_GETWORKAREA* = 48 + SPI_SETPENWINDOWS* = 49 + SPI_GETFILTERKEYS* = 50 + SPI_SETFILTERKEYS* = 51 + SPI_GETTOGGLEKEYS* = 52 + SPI_SETTOGGLEKEYS* = 53 + SPI_GETMOUSEKEYS* = 54 + SPI_SETMOUSEKEYS* = 55 + SPI_GETSHOWSOUNDS* = 56 + SPI_SETSHOWSOUNDS* = 57 + SPI_GETSTICKYKEYS* = 58 + SPI_SETSTICKYKEYS* = 59 + SPI_GETACCESSTIMEOUT* = 60 + SPI_SETACCESSTIMEOUT* = 61 + SPI_GETSERIALKEYS* = 62 + SPI_SETSERIALKEYS* = 63 + SPI_GETSOUNDSENTRY* = 64 + SPI_SETSOUNDSENTRY* = 65 + SPI_GETHIGHCONTRAST* = 66 + SPI_SETHIGHCONTRAST* = 67 + SPI_GETKEYBOARDPREF* = 68 + SPI_SETKEYBOARDPREF* = 69 + SPI_GETSCREENREADER* = 70 + SPI_SETSCREENREADER* = 71 + SPI_GETANIMATION* = 72 + SPI_SETANIMATION* = 73 + SPI_GETFONTSMOOTHING* = 74 + SPI_SETFONTSMOOTHING* = 75 + SPI_SETDRAGWIDTH* = 76 + SPI_SETDRAGHEIGHT* = 77 + SPI_SETHANDHELD* = 78 + SPI_GETLOWPOWERTIMEOUT* = 79 + SPI_GETPOWEROFFTIMEOUT* = 80 + SPI_SETLOWPOWERTIMEOUT* = 81 + SPI_SETPOWEROFFTIMEOUT* = 82 + SPI_GETLOWPOWERACTIVE* = 83 + SPI_GETPOWEROFFACTIVE* = 84 + SPI_SETLOWPOWERACTIVE* = 85 + SPI_SETPOWEROFFACTIVE* = 86 + SPI_SETCURSORS* = 87 + SPI_SETICONS* = 88 + SPI_GETDEFAULTINPUTLANG* = 89 + SPI_SETDEFAULTINPUTLANG* = 90 + SPI_SETLANGTOGGLE* = 91 + SPI_GETWINDOWSEXTENSION* = 92 + SPI_SETMOUSETRAILS* = 93 + SPI_GETMOUSETRAILS* = 94 + SPI_GETSNAPTODEFBUTTON* = 95 + SPI_SETSNAPTODEFBUTTON* = 96 + SPI_SCREENSAVERRUNNING* = 97 + SPI_SETSCREENSAVERRUNNING* = 97 + SPI_GETMOUSEHOVERWIDTH* = 98 + SPI_SETMOUSEHOVERWIDTH* = 99 + SPI_GETMOUSEHOVERHEIGHT* = 100 + SPI_SETMOUSEHOVERHEIGHT* = 101 + SPI_GETMOUSEHOVERTIME* = 102 + SPI_SETMOUSEHOVERTIME* = 103 + SPI_GETWHEELSCROLLLINES* = 104 + SPI_SETWHEELSCROLLLINES* = 105 + SPI_GETMENUSHOWDELAY* = 106 + SPI_SETMENUSHOWDELAY* = 107 + SPI_GETSHOWIMEUI* = 110 + SPI_SETSHOWIMEUI* = 111 # Windows Me/2000 and higher + SPI_GETMOUSESPEED* = 112 + SPI_SETMOUSESPEED* = 113 + SPI_GETSCREENSAVERRUNNING* = 114 + SPI_GETDESKWALLPAPER* = 115 + SPI_GETACTIVEWINDOWTRACKING* = 4096 + SPI_SETACTIVEWINDOWTRACKING* = 4097 + SPI_GETMENUANIMATION* = 4098 + SPI_SETMENUANIMATION* = 4099 + SPI_GETCOMBOBOXANIMATION* = 4100 + SPI_SETCOMBOBOXANIMATION* = 4101 + SPI_GETLISTBOXSMOOTHSCROLLING* = 4102 + SPI_SETLISTBOXSMOOTHSCROLLING* = 4103 + SPI_GETGRADIENTCAPTIONS* = 4104 + SPI_SETGRADIENTCAPTIONS* = 4105 + SPI_GETKEYBOARDCUES* = 4106 + SPI_SETKEYBOARDCUES* = 4107 + SPI_GETMENUUNDERLINES* = 4106 + SPI_SETMENUUNDERLINES* = 4107 + SPI_GETACTIVEWNDTRKZORDER* = 4108 + SPI_SETACTIVEWNDTRKZORDER* = 4109 + SPI_GETHOTTRACKING* = 4110 + SPI_SETHOTTRACKING* = 4111 + SPI_GETMENUFADE* = 4114 + SPI_SETMENUFADE* = 4115 + SPI_GETSELECTIONFADE* = 4116 + SPI_SETSELECTIONFADE* = 4117 + SPI_GETTOOLTIPANIMATION* = 4118 + SPI_SETTOOLTIPANIMATION* = 4119 + SPI_GETTOOLTIPFADE* = 4120 + SPI_SETTOOLTIPFADE* = 4121 + SPI_GETCURSORSHADOW* = 4122 + SPI_SETCURSORSHADOW* = 4123 + SPI_GETUIEFFECTS* = 4158 + SPI_SETUIEFFECTS* = 4159 + SPI_GETFOREGROUNDLOCKTIMEOUT* = 8192 + SPI_SETFOREGROUNDLOCKTIMEOUT* = 8193 + SPI_GETACTIVEWNDTRKTIMEOUT* = 8194 + SPI_SETACTIVEWNDTRKTIMEOUT* = 8195 + SPI_GETFOREGROUNDFLASHCOUNT* = 8196 + SPI_SETFOREGROUNDFLASHCOUNT* = 8197 + SPI_GETCARETWIDTH* = 8198 + SPI_SETCARETWIDTH* = 8199 # Windows XP and higher + SPI_GETMOUSESONAR* = 4124 + SPI_SETMOUSESONAR* = 4125 + SPI_GETMOUSECLICKLOCK* = 4126 + SPI_SETMOUSECLICKLOCK* = 4127 + SPI_GETMOUSEVANISH* = 4128 + SPI_SETMOUSEVANISH* = 4129 + SPI_GETFLATMENU* = 4130 + SPI_SETFLATMENU* = 4131 + SPI_GETDROPSHADOW* = 4132 + SPI_SETDROPSHADOW* = 4133 + SPI_GETBLOCKSENDINPUTRESETS* = 4134 + SPI_SETBLOCKSENDINPUTRESETS* = 4135 + SPI_GETMOUSECLICKLOCKTIME* = 8200 + SPI_SETMOUSECLICKLOCKTIME* = 8201 + SPI_GETFONTSMOOTHINGTYPE* = 8202 + SPI_SETFONTSMOOTHINGTYPE* = 8203 + SPI_GETFONTSMOOTHINGCONTRAST* = 8204 + SPI_SETFONTSMOOTHINGCONTRAST* = 8205 + SPI_GETFOCUSBORDERWIDTH* = 8206 + SPI_SETFOCUSBORDERWIDTH* = 8207 + SPI_GETFOCUSBORDERHEIGHT* = 8208 + SPI_SETFOCUSBORDERHEIGHT* = 8209 + SPI_GETFONTSMOOTHINGORIENTATION* = 8210 + SPI_SETFONTSMOOTHINGORIENTATION* = 8211 # constants for SPI_GETFONTSMOOTHINGTYPE and SPI_SETFONTSMOOTHINGTYPE: + FE_FONTSMOOTHINGSTANDARD* = 1 + FE_FONTSMOOTHINGCLEARTYPE* = 2 + FE_FONTSMOOTHINGDOCKING* = 32768 # constants for SPI_GETFONTSMOOTHINGORIENTATION and SPI_SETFONTSMOOTHINGORIENTATION: + FE_FONTSMOOTHINGORIENTATIONBGR* = 0 + FE_FONTSMOOTHINGORIENTATIONRGB* = 1 # Flags + SPIF_UPDATEINIFILE* = 1 + SPIF_SENDWININICHANGE* = 2 + SPIF_SENDCHANGE* = 2 # TrackPopupMenu, TrackPopMenuEx + TPM_CENTERALIGN* = 0x00000004 + TPM_LEFTALIGN* = 0 + TPM_RIGHTALIGN* = 0x00000008 + TPM_LEFTBUTTON* = 0 + TPM_RIGHTBUTTON* = 0x00000002 + TPM_HORIZONTAL* = 0 + TPM_VERTICAL* = 0x00000040 # TranslateCharsetInfo + TCI_SRCCHARSET* = 1 + TCI_SRCCODEPAGE* = 2 + TCI_SRCFONTSIG* = 3 # VerFindFile + VFFF_ISSHAREDFILE* = 1 + VFF_CURNEDEST* = 1 + VFF_FILEINUSE* = 2 + VFF_BUFFTOOSMALL* = 4 # VerInstallFile + VIFF_FORCEINSTALL* = 1 + VIFF_DONTDELETEOLD* = 2 + VIF_TEMPFILE* = 0x00000001 + VIF_MISMATCH* = 0x00000002 + VIF_SRCOLD* = 0x00000004 + VIF_DIFFLANG* = 0x00000008 + VIF_DIFFCODEPG* = 0x00000010 + VIF_DIFFTYPE* = 0x00000020 + VIF_WRITEPROT* = 0x00000040 + VIF_FILEINUSE* = 0x00000080 + VIF_OUTOFSPACE* = 0x00000100 + VIF_ACCESSVIOLATION* = 0x00000200 + VIF_SHARINGVIOLATION* = 0x00000400 + VIF_CANNOTCREATE* = 0x00000800 + VIF_CANNOTDELETE* = 0x00001000 + VIF_CANNOTDELETECUR* = 0x00004000 + VIF_CANNOTRENAME* = 0x00002000 + VIF_OUTOFMEMORY* = 0x00008000 + VIF_CANNOTREADSRC* = 0x00010000 + VIF_CANNOTREADDST* = 0x00020000 + VIF_BUFFTOOSMALL* = 0x00040000 # WideCharToMultiByte + WC_COMPOSITECHECK* = 512 + WC_DISCARDNS* = 16 + WC_SEPCHARS* = 32 + WC_DEFAULTCHAR* = 64 # WinHelp + HELP_COMMAND* = 0x00000102 + HELP_CONTENTS* = 0x00000003 + HELP_CONTEXT* = 0x00000001 + HELP_CONTEXTPOPUP* = 0x00000008 + HELP_FORCEFILE* = 0x00000009 + HELP_HELPONHELP* = 0x00000004 + HELP_INDEX* = 0x00000003 + HELP_KEY* = 0x00000101 + HELP_MULTIKEY* = 0x00000201 + HELP_PARTIALKEY* = 0x00000105 + HELP_QUIT* = 0x00000002 + HELP_SETCONTENTS* = 0x00000005 + HELP_SETINDEX* = 0x00000005 + HELP_CONTEXTMENU* = 0x0000000A + HELP_FINDER* = 0x0000000B + HELP_WM_HELP* = 0x0000000C + HELP_TCARD* = 0x00008000 + HELP_TCARD_DATA* = 0x00000010 + HELP_TCARD_OTHER_CALLER* = 0x00000011 # WNetAddConnectino2 + CONNECT_UPDATE_PROFILE* = 1 # WNetConnectionDialog, WNetDisconnectDialog, WNetOpenEnum + RESOURCETYPE_DISK* = 1 + RESOURCETYPE_PRINT* = 2 + RESOURCETYPE_ANY* = 0 + RESOURCE_CONNECTED* = 1 + RESOURCE_GLOBALNET* = 2 + RESOURCE_REMEMBERED* = 3 + RESOURCEUSAGE_CONNECTABLE* = 1 + RESOURCEUSAGE_CONTAINER* = 2 # WNetGetResourceInformation, WNetGetResourceParent + WN_BAD_NETNAME* = 0x00000043 + WN_EXTENDED_ERROR* = 0x000004B8 + WN_MORE_DATA* = 0x000000EA + WN_NO_NETWORK* = 0x000004C6 + WN_SUCCESS* = 0 + WN_ACCESS_DENIED* = 0x00000005 + WN_BAD_PROVIDER* = 0x000004B4 + WN_NOT_AUTHENTICATED* = 0x000004DC # WNetGetUniversalName + UNIVERSAL_NAME_INFO_LEVEL* = 1 + REMOTE_NAME_INFO_LEVEL* = 2 # GetExitCodeThread + STILL_ACTIVE* = 0x00000103 # COMMPROP structure + SP_SERIALCOMM* = 0x00000001 + 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_57600* = 0x00040000 + BAUD_115200* = 0x00020000 + BAUD_128K* = 0x00010000 + BAUD_USER* = 0x10000000 + PST_FAX* = 0x00000021 + PST_LAT* = 0x00000101 + PST_MODEM* = 0x00000006 + PST_NETWORK_BRIDGE* = 0x00000100 + PST_PARALLELPORT* = 0x00000002 + PST_RS232* = 0x00000001 + PST_RS422* = 0x00000003 + PST_RS423* = 0x00000004 + PST_RS449* = 0x00000005 + PST_SCANNER* = 0x00000022 + PST_TCPIP_TELNET* = 0x00000102 + PST_UNSPECIFIED* = 0 + PST_X25* = 0x00000103 + PCF_16BITMODE* = 0x00000200 + PCF_DTRDSR* = 0x00000001 + PCF_INTTIMEOUTS* = 0x00000080 + PCF_PARITY_CHECK* = 0x00000008 + PCF_RLSD* = 0x00000004 + PCF_RTSCTS* = 0x00000002 + PCF_SETXCHAR* = 0x00000020 + PCF_SPECIALCHARS* = 0x00000100 + PCF_TOTALTIMEOUTS* = 0x00000040 + PCF_XONXOFF* = 0x00000010 + SP_BAUD* = 0x00000002 + SP_DATABITS* = 0x00000004 + SP_HANDSHAKING* = 0x00000010 + SP_PARITY* = 0x00000001 + SP_PARITY_CHECK* = 0x00000020 + SP_RLSD* = 0x00000040 + SP_STOPBITS* = 0x00000008 + DATABITS_5* = 1 + DATABITS_6* = 2 + DATABITS_7* = 4 + DATABITS_8* = 8 + DATABITS_16* = 16 + DATABITS_16X* = 32 + STOPBITS_10* = 1 + STOPBITS_15* = 2 + STOPBITS_20* = 4 + PARITY_NONE* = 256 + PARITY_ODD* = 512 + PARITY_EVEN* = 1024 + PARITY_MARK* = 2048 + PARITY_SPACE* = 4096 + COMMPROP_INITIALIZED* = 0xE73CF52E # DCB structure + 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 + DTR_CONTROL_DISABLE* = 0 + DTR_CONTROL_ENABLE* = 1 + DTR_CONTROL_HANDSHAKE* = 2 + RTS_CONTROL_DISABLE* = 0 + RTS_CONTROL_ENABLE* = 1 + RTS_CONTROL_HANDSHAKE* = 2 + RTS_CONTROL_TOGGLE* = 3 + EVENPARITY* = 2 + MARKPARITY* = 3 + NOPARITY* = 0 + ODDPARITY* = 1 + SPACEPARITY* = 4 + ONESTOPBIT* = 0 + ONE5STOPBITS* = 1 + TWOSTOPBITS* = 2 # Debugging events + CREATE_PROCESS_DEBUG_EVENT* = 3 + CREATE_THREAD_DEBUG_EVENT* = 2 + EXCEPTION_DEBUG_EVENT* = 1 + EXIT_PROCESS_DEBUG_EVENT* = 5 + EXIT_THREAD_DEBUG_EVENT* = 4 + LOAD_DLL_DEBUG_EVENT* = 6 + OUTPUT_DEBUG_STRING_EVENT* = 8 + UNLOAD_DLL_DEBUG_EVENT* = 7 + RIP_EVENT* = 9 # PROCESS_HEAP_ENTRY structure + PROCESS_HEAP_REGION* = 1 + PROCESS_HEAP_UNCOMMITTED_RANGE* = 2 + PROCESS_HEAP_ENTRY_BUSY* = 4 + PROCESS_HEAP_ENTRY_MOVEABLE* = 16 + PROCESS_HEAP_ENTRY_DDESHARE* = 32 # Win32s + HINSTANCE_ERROR* = 32 # WIN32_STREAM_ID structure + BACKUP_DATA* = 1 + BACKUP_EA_DATA* = 2 + BACKUP_SECURITY_DATA* = 3 + BACKUP_ALTERNATE_DATA* = 4 + BACKUP_LINK* = 5 + STREAM_MODIFIED_WHEN_READ* = 1 + STREAM_CONTAINS_SECURITY* = 2 # STARTUPINFO structure + STARTF_USESHOWWINDOW* = 1 + STARTF_USEPOSITION* = 4 + STARTF_USESIZE* = 2 + STARTF_USECOUNTCHARS* = 8 + STARTF_USEFILLATTRIBUTE* = 16 + STARTF_RUNFULLSCREEN* = 32 + STARTF_FORCEONFEEDBACK* = 64 + STARTF_FORCEOFFFEEDBACK* = 128 + STARTF_USESTDHANDLES* = 256 + STARTF_USEHOTKEY* = 512 # OSVERSIONINFO structure + VER_PLATFORM_WIN32s* = 0 + VER_PLATFORM_WIN32_WINDOWS* = 1 + VER_PLATFORM_WIN32_NT* = 2 # More versions + VER_SERVER_NT* = 0x80000000 + VER_WORKSTATION_NT* = 0x40000000 + VER_SUITE_SMALLBUSINESS* = 0x00000001 + VER_SUITE_ENTERPRISE* = 0x00000002 + VER_SUITE_BACKOFFICE* = 0x00000004 + VER_SUITE_COMMUNICATIONS* = 0x00000008 + VER_SUITE_TERMINAL* = 0x00000010 + VER_SUITE_SMALLBUSINESS_RESTRICTED* = 0x00000020 + VER_SUITE_EMBEDDEDNT* = 0x00000040 + VER_SUITE_DATACENTER* = 0x00000080 + VER_SUITE_SINGLEUSERTS* = 0x00000100 + VER_SUITE_PERSONAL* = 0x00000200 + VER_SUITE_BLADE* = 0x00000400 + VER_SUITE_EMBEDDED_RESTRICTED* = 0x00000800 # PROPSHEETPAGE structure + MAXPROPPAGES* = 100 + PSP_DEFAULT* = 0 + PSP_DLGINDIRECT* = 1 + PSP_HASHELP* = 32 + PSP_USECALLBACK* = 128 + PSP_USEHICON* = 2 + PSP_USEICONID* = 4 + PSP_USEREFPARENT* = 64 + PSP_USETITLE* = 8 + PSP_RTLREADING* = 16 # PROPSHEETHEADER structure + PSH_DEFAULT* = 0 + PSH_HASHELP* = 512 + PSH_MODELESS* = 1024 + PSH_NOAPPLYNOW* = 128 + PSH_PROPSHEETPAGE* = 8 + PSH_PROPTITLE* = 1 + PSH_USECALLBACK* = 256 + PSH_USEHICON* = 2 + PSH_USEICONID* = 4 + PSH_USEPSTARTPAGE* = 64 + PSH_WIZARD* = 32 + PSH_RTLREADING* = 2048 + PSCB_INITIALIZED* = 1 + PSCB_PRECREATE* = 2 # PSN_APPLY message + PSNRET_NOERROR* = 0 + PSNRET_INVALID_NOCHANGEPAGE* = 2 # Property Sheet + PSBTN_APPLYNOW* = 4 + PSBTN_BACK* = 0 + PSBTN_CANCEL* = 5 + PSBTN_FINISH* = 2 + PSBTN_HELP* = 6 + PSBTN_NEXT* = 1 + PSBTN_OK* = 3 + PSWIZB_BACK* = 1 + PSWIZB_NEXT* = 2 + PSWIZB_FINISH* = 4 + PSWIZB_DISABLEDFINISH* = 8 + ID_PSREBOOTSYSTEM* = 3 + ID_PSRESTARTWINDOWS* = 2 + WIZ_BODYCX* = 184 + WIZ_BODYX* = 92 + WIZ_CXBMP* = 80 + WIZ_CXDLG* = 276 + WIZ_CYDLG* = 140 # VX_FIXEDFILEINFO structure + # was #define dname def_expr + +proc VS_FILE_INFO*(): LPTSTR + # return type might be wrong +const + VS_VERSION_INFO* = 1 + VS_FF_DEBUG* = 0x00000001 + VS_FF_INFOINFERRED* = 0x00000010 + VS_FF_PATCHED* = 0x00000004 + VS_FF_PRERELEASE* = 0x00000002 + VS_FF_PRIVATEBUILD* = 0x00000008 + VS_FF_SPECIALBUILD* = 0x00000020 + VOS_UNKNOWN* = 0 + VOS_DOS* = 0x00010000 + VOS_OS216* = 0x00020000 + VOS_OS232* = 0x00030000 + VOS_NT* = 0x00040000 + VOS_DOS_WINDOWS16* = 0x00010001 + VOS_DOS_WINDOWS32* = 0x00010004 + VOS_OS216_PM16* = 0x00020002 + VOS_OS232_PM32* = 0x00030003 + VOS_NT_WINDOWS32* = 0x00040004 + VFT_UNKNOWN* = 0 + VFT_APP* = 0x00000001 + VFT_DLL* = 0x00000002 + VFT_DRV* = 0x00000003 + VFT_FONT* = 0x00000004 + VFT_VXD* = 0x00000005 + VFT_STATIC_LIB* = 0x00000007 + VFT2_UNKNOWN* = 0 + VFT2_DRV_PRINTER* = 0x00000001 + VFT2_DRV_KEYBOARD* = 0x00000002 + VFT2_DRV_LANGUAGE* = 0x00000003 + VFT2_DRV_DISPLAY* = 0x00000004 + VFT2_DRV_MOUSE* = 0x00000005 + VFT2_DRV_NETWORK* = 0x00000006 + VFT2_DRV_SYSTEM* = 0x00000007 + VFT2_DRV_INSTALLABLE* = 0x00000008 + VFT2_DRV_SOUND* = 0x00000009 + VFT2_FONT_RASTER* = 0x00000001 + VFT2_FONT_VECTOR* = 0x00000002 + VFT2_FONT_TRUETYPE* = 0x00000003 # PANOSE structure + PAN_ANY* = 0 + PAN_NO_FIT* = 1 + PAN_FAMILY_TEXT_DISPLAY* = 2 + PAN_FAMILY_SCRIPT* = 3 + PAN_FAMILY_DECORATIVE* = 4 + PAN_FAMILY_PICTORIAL* = 5 + PAN_SERIF_COVE* = 2 + PAN_SERIF_OBTUSE_COVE* = 3 + PAN_SERIF_SQUARE_COVE* = 4 + PAN_SERIF_OBTUSE_SQUARE_COVE* = 5 + PAN_SERIF_SQUARE* = 6 + PAN_SERIF_THIN* = 7 + PAN_SERIF_BONE* = 8 + PAN_SERIF_EXAGGERATED* = 9 + PAN_SERIF_TRIANGLE* = 10 + PAN_SERIF_NORMAL_SANS* = 11 + PAN_SERIF_OBTUSE_SANS* = 12 + PAN_SERIF_PERP_SANS* = 13 + PAN_SERIF_FLARED* = 14 + PAN_SERIF_ROUNDED* = 15 + PAN_WEIGHT_VERY_LIGHT* = 2 + PAN_WEIGHT_LIGHT* = 3 + PAN_WEIGHT_THIN* = 4 + PAN_WEIGHT_BOOK* = 5 + PAN_WEIGHT_MEDIUM* = 6 + PAN_WEIGHT_DEMI* = 7 + PAN_WEIGHT_BOLD* = 8 + PAN_WEIGHT_HEAVY* = 9 + PAN_WEIGHT_BLACK* = 10 + PAN_WEIGHT_NORD* = 11 + PAN_PROP_OLD_STYLE* = 2 + PAN_PROP_MODERN* = 3 + PAN_PROP_EVEN_WIDTH* = 4 + PAN_PROP_EXPANDED* = 5 + PAN_PROP_CONDENSED* = 6 + PAN_PROP_VERY_EXPANDED* = 7 + PAN_PROP_VERY_CONDENSED* = 8 + PAN_PROP_MONOSPACED* = 9 + PAN_CONTRAST_NONE* = 2 + PAN_CONTRAST_VERY_LOW* = 3 + PAN_CONTRAST_LOW* = 4 + PAN_CONTRAST_MEDIUM_LOW* = 5 + PAN_CONTRAST_MEDIUM* = 6 + PAN_CONTRAST_MEDIUM_HIGH* = 7 + PAN_CONTRAST_HIGH* = 8 + PAN_CONTRAST_VERY_HIGH* = 9 + PAN_STROKE_GRADUAL_DIAG* = 2 + PAN_STROKE_GRADUAL_TRAN* = 3 + PAN_STROKE_GRADUAL_VERT* = 4 + PAN_STROKE_GRADUAL_HORZ* = 5 + PAN_STROKE_RAPID_VERT* = 6 + PAN_STROKE_RAPID_HORZ* = 7 + PAN_STROKE_INSTANT_VERT* = 8 + PAN_STRAIGHT_ARMS_HORZ* = 2 + PAN_STRAIGHT_ARMS_WEDGE* = 3 + PAN_STRAIGHT_ARMS_VERT* = 4 + PAN_STRAIGHT_ARMS_SINGLE_SERIF* = 5 + PAN_STRAIGHT_ARMS_DOUBLE_SERIF* = 6 + PAN_BENT_ARMS_HORZ* = 7 + PAN_BENT_ARMS_VERT* = 9 + PAN_BENT_ARMS_WEDGE* = 8 + PAN_BENT_ARMS_SINGLE_SERIF* = 10 + PAN_BENT_ARMS_DOUBLE_SERIF* = 11 + PAN_LETT_NORMAL_CONTACT* = 2 + PAN_LETT_NORMAL_WEIGHTED* = 3 + PAN_LETT_NORMAL_BOXED* = 4 + PAN_LETT_NORMAL_FLATTENED* = 5 + PAN_LETT_NORMAL_ROUNDED* = 6 + PAN_LETT_NORMAL_OFF_CENTER* = 7 + PAN_LETT_NORMAL_SQUARE* = 8 + PAN_LETT_OBLIQUE_CONTACT* = 9 + PAN_LETT_OBLIQUE_WEIGHTED* = 10 + PAN_LETT_OBLIQUE_BOXED* = 11 + PAN_LETT_OBLIQUE_FLATTENED* = 12 + PAN_LETT_OBLIQUE_ROUNDED* = 13 + PAN_LETT_OBLIQUE_OFF_CENTER* = 14 + PAN_LETT_OBLIQUE_SQUARE* = 15 + PAN_MIDLINE_STANDARD_TRIMMED* = 2 + PAN_MIDLINE_STANDARD_POINTED* = 3 + PAN_MIDLINE_STANDARD_SERIFED* = 4 + PAN_MIDLINE_HIGH_TRIMMED* = 5 + PAN_MIDLINE_HIGH_POINTED* = 6 + PAN_MIDLINE_HIGH_SERIFED* = 7 + PAN_MIDLINE_CONSTANT_TRIMMED* = 8 + PAN_MIDLINE_CONSTANT_POINTED* = 9 + PAN_MIDLINE_CONSTANT_SERIFED* = 10 + PAN_MIDLINE_LOW_TRIMMED* = 11 + PAN_MIDLINE_LOW_POINTED* = 12 + PAN_MIDLINE_LOW_SERIFED* = 13 + PAN_XHEIGHT_CONSTANT_SMALL* = 2 + PAN_XHEIGHT_CONSTANT_STD* = 3 + PAN_XHEIGHT_CONSTANT_LARGE* = 4 + PAN_XHEIGHT_DUCKING_SMALL* = 5 + PAN_XHEIGHT_DUCKING_STD* = 6 + PAN_XHEIGHT_DUCKING_LARGE* = 7 # PALETTENTRY structure + PC_EXPLICIT* = 2 + PC_NOCOLLAPSE* = 4 + PC_RESERVED* = 1 # LOGBRUSH structure + BS_DIBPATTERN* = 5 + BS_DIBPATTERN8X8* = 8 + BS_DIBPATTERNPT* = 6 + BS_HATCHED* = 2 + BS_HOLLOW* = 1 + BS_NULL* = 1 + BS_PATTERN* = 3 + BS_PATTERN8X8* = 7 + BS_SOLID* = 0 # DEVMODE structure + DM_ORIENTATION* = 0x00000001 + DM_PAPERSIZE* = 0x00000002 + DM_PAPERLENGTH* = 0x00000004 + DM_PAPERWIDTH* = 0x00000008 + DM_SCALE* = 0x00000010 + DM_COPIES* = 0x00000100 + DM_DEFAULTSOURCE* = 0x00000200 + DM_PRINTQUALITY* = 0x00000400 + DM_COLOR* = 0x00000800 + DM_DUPLEX* = 0x00001000 + DM_YRESOLUTION* = 0x00002000 + DM_TTOPTION* = 0x00004000 + DM_COLLATE* = 0x00008000 + DM_FORMNAME* = 0x00010000 + DM_LOGPIXELS* = 0x00020000 #DM_BITSPERPEL = $40000; + # DM_PELSWIDTH = $80000; + # DM_PELSHEIGHT = $100000; + # DM_DISPLAYFLAGS = $200000; + # DM_DISPLAYFREQUENCY = $400000;already above + DM_ICMMETHOD* = 0x00800000 + DM_ICMINTENT* = 0x01000000 + DM_MEDIATYPE* = 0x02000000 + DM_DITHERTYPE* = 0x04000000 + DMORIENT_LANDSCAPE* = 2 + DMORIENT_PORTRAIT* = 1 + DMPAPER_LETTER* = 1 + DMPAPER_LEGAL* = 5 + DMPAPER_A4* = 9 + DMPAPER_CSHEET* = 24 + DMPAPER_DSHEET* = 25 + DMPAPER_ESHEET* = 26 + DMPAPER_LETTERSMALL* = 2 + DMPAPER_TABLOID* = 3 + DMPAPER_LEDGER* = 4 + DMPAPER_STATEMENT* = 6 + DMPAPER_EXECUTIVE* = 7 + DMPAPER_A3* = 8 + DMPAPER_A4SMALL* = 10 + DMPAPER_A5* = 11 + DMPAPER_B4* = 12 + DMPAPER_B5* = 13 + DMPAPER_FOLIO* = 14 + DMPAPER_QUARTO* = 15 + DMPAPER_10X14* = 16 + DMPAPER_11X17* = 17 + DMPAPER_NOTE* = 18 + DMPAPER_ENV_9* = 19 + DMPAPER_ENV_10* = 20 + DMPAPER_ENV_11* = 21 + DMPAPER_ENV_12* = 22 + DMPAPER_ENV_14* = 23 + DMPAPER_ENV_DL* = 27 + DMPAPER_ENV_C5* = 28 + DMPAPER_ENV_C3* = 29 + DMPAPER_ENV_C4* = 30 + DMPAPER_ENV_C6* = 31 + DMPAPER_ENV_C65* = 32 + DMPAPER_ENV_B4* = 33 + DMPAPER_ENV_B5* = 34 + DMPAPER_ENV_B6* = 35 + DMPAPER_ENV_ITALY* = 36 + DMPAPER_ENV_MONARCH* = 37 + DMPAPER_ENV_PERSONAL* = 38 + DMPAPER_FANFOLD_US* = 39 + DMPAPER_FANFOLD_STD_GERMAN* = 40 + DMPAPER_FANFOLD_LGL_GERMAN* = 41 + DMRES_HIGH* = - (4) + DMRES_MEDIUM* = - (3) + DMRES_LOW* = - (2) + DMRES_DRAFT* = - (1) + DMCOLOR_COLOR* = 2 + DMCOLOR_MONOCHROME* = 1 + DMDUP_SIMPLEX* = 1 + DMDUP_HORIZONTAL* = 3 + DMDUP_VERTICAL* = 2 + DMTT_BITMAP* = 1 + DMTT_DOWNLOAD* = 2 + DMTT_SUBDEV* = 3 + DMCOLLATE_TRUE* = 1 + DMCOLLATE_FALSE* = 0 + DM_GRAYSCALE* = 1 + DM_INTERLACED* = 2 + DMICMMETHOD_NONE* = 1 + DMICMMETHOD_SYSTEM* = 2 + DMICMMETHOD_DRIVER* = 3 + DMICMMETHOD_DEVICE* = 4 + DMICMMETHOD_USER* = 256 + DMICM_SATURATE* = 1 + DMICM_CONTRAST* = 2 + DMICM_COLORMETRIC* = 3 + DMICM_USER* = 256 + DMMEDIA_STANDARD* = 1 + DMMEDIA_GLOSSY* = 3 + DMMEDIA_TRANSPARENCY* = 2 + DMMEDIA_USER* = 256 + DMDITHER_NONE* = 1 + DMDITHER_COARSE* = 2 + DMDITHER_FINE* = 3 + DMDITHER_LINEART* = 4 + DMDITHER_GRAYSCALE* = 10 + DMDITHER_USER* = 256 # RGNDATAHEADER structure + RDH_RECTANGLES* = 1 # TTPOLYGONHEADER structure + TT_POLYGON_TYPE* = 24 # TTPOLYCURVE structure + TT_PRIM_LINE* = 1 + TT_PRIM_QSPLINE* = 2 # GCP_RESULTS structure + GCPCLASS_ARABIC* = 2 + GCPCLASS_HEBREW* = 2 + GCPCLASS_LATIN* = 1 + GCPCLASS_LATINNUMBER* = 5 + GCPCLASS_LOCALNUMBER* = 4 + GCPCLASS_LATINNUMERICSEPARATOR* = 7 + GCPCLASS_LATINNUMERICTERMINATOR* = 6 + GCPCLASS_NEUTRAL* = 3 + GCPCLASS_NUMERICSEPARATOR* = 8 + GCPCLASS_PREBOUNDLTR* = 128 + GCPCLASS_PREBOUNDRTL* = 64 + GCPCLASS_POSTBOUNDLTR* = 32 + GCPCLASS_POSTBOUNDRTL* = 16 + GCPGLYPH_LINKBEFORE* = 32768 + GCPGLYPH_LINKAFTER* = 16384 # RASTERIZER_STATUS structure + TT_AVAILABLE* = 1 + TT_ENABLED* = 2 # COLORADJUSTMENT structure + CA_NEGATIVE* = 1 + CA_LOG_FILTER* = 2 + ILLUMINANT_DEVICE_DEFAULT* = 0 + ILLUMINANT_A* = 1 + ILLUMINANT_B* = 2 + ILLUMINANT_C* = 3 + ILLUMINANT_D50* = 4 + ILLUMINANT_D55* = 5 + ILLUMINANT_D65* = 6 + ILLUMINANT_D75* = 7 + ILLUMINANT_F2* = 8 + ILLUMINANT_TUNGSTEN* = 1 + ILLUMINANT_DAYLIGHT* = 3 + ILLUMINANT_FLUORESCENT* = 8 + ILLUMINANT_NTSC* = 3 # DOCINFO structure + DI_APPBANDING* = 1 # EMRMETAHEADER structure + EMR_HEADER* = 1 + ENHMETA_SIGNATURE* = 1179469088 # RTF event masks + ENM_CHANGE* = 1 + ENM_CORRECTTEXT* = 4194304 + ENM_DROPFILES* = 1048576 + ENM_KEYEVENTS* = 65536 + ENM_MOUSEEVENTS* = 131072 + ENM_PROTECTED* = 2097152 + ENM_REQUESTRESIZE* = 262144 + ENM_SCROLL* = 4 + ENM_SELCHANGE* = 524288 + ENM_UPDATE* = 2 + ENM_NONE* = 0 # RTF styles + ES_DISABLENOSCROLL* = 8192 + ES_EX_NOCALLOLEINIT* = 16777216 + ES_NOIME* = 524288 + ES_SAVESEL* = 32768 + ES_SELFIME* = 262144 + ES_SUNKEN* = 16384 + ES_VERTICAL* = 4194304 + ES_SELECTIONBAR* = 16777216 # EM_SETOPTIONS message + ECOOP_SET* = 1 + ECOOP_OR* = 2 + ECOOP_AND* = 3 + ECOOP_XOR* = 4 + ECO_AUTOWORDSELECTION* = 1 + ECO_AUTOVSCROLL* = 64 + ECO_AUTOHSCROLL* = 128 + ECO_NOHIDESEL* = 256 + ECO_READONLY* = 2048 + ECO_WANTRETURN* = 4096 + ECO_SAVESEL* = 32768 + ECO_SELECTIONBAR* = 16777216 + ECO_VERTICAL* = 4194304 # EM_SETCHARFORMAT message + SCF_WORD* = 2 + SCF_SELECTION* = 1 # EM_STREAMOUT message + SF_TEXT* = 1 + SF_RTF* = 2 + SF_RTFNOOBJS* = 3 + SF_TEXTIZED* = 4 + SFF_SELECTION* = 32768 + SFF_PLAINRTF* = 16384 # EM_FINDWORDBREAK message + WB_CLASSIFY* = 3 #WB_ISDELIMITER = 2; + # WB_LEFT = 0; already above + WB_LEFTBREAK* = 6 + WB_PREVBREAK* = 6 + WB_MOVEWORDLEFT* = 4 + WB_MOVEWORDPREV* = 4 + WB_MOVEWORDRIGHT* = 5 + WB_MOVEWORDNEXT* = 5 #WB_RIGHT = 1;already above + WB_RIGHTBREAK* = 7 + WB_NEXTBREAK* = 7 # EM_GETPUNCTUATION message + PC_LEADING* = 2 + PC_FOLLOWING* = 1 + PC_DELIMITER* = 4 + PC_OVERFLOW* = 3 # EM_SETWORDWRAPMODE message + WBF_WORDWRAP* = 16 + WBF_WORDBREAK* = 32 + WBF_OVERFLOW* = 64 + WBF_LEVEL1* = 128 + WBF_LEVEL2* = 256 + WBF_CUSTOM* = 512 + WBF_BREAKAFTER* = 64 + WBF_BREAKLINE* = 32 + WBF_ISWHITE* = 16 # CHARFORMAT structure + CFM_BOLD* = 1 + CFM_COLOR* = 1073741824 + CFM_FACE* = 536870912 + CFM_ITALIC* = 2 + CFM_OFFSET* = 268435456 + CFM_PROTECTED* = 16 + CFM_SIZE* = 0x80000000 + CFM_STRIKEOUT* = 8 + CFM_UNDERLINE* = 4 + CFE_AUTOCOLOR* = 1073741824 + CFE_BOLD* = 1 + CFE_ITALIC* = 2 + CFE_STRIKEOUT* = 8 + CFE_UNDERLINE* = 4 + CFE_PROTECTED* = 16 # PARAFORMAT structure + PFM_ALIGNMENT* = 8 + PFM_NUMBERING* = 32 + PFM_OFFSET* = 4 + PFM_OFFSETINDENT* = 0x80000000 + PFM_RIGHTINDENT* = 2 + PFM_STARTINDENT* = 1 + PFM_TABSTOPS* = 16 + PFN_BULLET* = 1 + PFA_LEFT* = 1 + PFA_RIGHT* = 2 + PFA_CENTER* = 3 # SELCHANGE structure + SEL_EMPTY* = 0 + SEL_TEXT* = 1 + SEL_OBJECT* = 2 + SEL_MULTICHAR* = 4 + SEL_MULTIOBJECT* = 8 # RTF clipboard formats + CF_RTF* = "Rich Text Format" + CF_RETEXTOBJ* = "RichEdit Text and Objects" # DRAWITEMSTRUCT structure + ODT_BUTTON* = 4 + ODT_COMBOBOX* = 3 + ODT_LISTBOX* = 2 + ODT_LISTVIEW* = 102 + ODT_MENU* = 1 + ODT_STATIC* = 5 + ODT_TAB* = 101 + ODT_HEADER* = 100 + ODA_DRAWENTIRE* = 1 + ODA_FOCUS* = 4 + ODA_SELECT* = 2 + ODS_SELECTED* = 1 + ODS_GRAYED* = 2 + ODS_DISABLED* = 4 + ODS_CHECKED* = 8 + ODS_FOCUS* = 16 + ODS_DEFAULT* = 32 + ODS_HOTLIGHT* = 0x00000040 + ODS_INACTIVE* = 0x00000080 + ODS_NOACCEL* = 0x00000100 + ODS_NOFOCUSRECT* = 0x00000200 + ODS_COMBOBOXEDIT* = 0x00001000 # Common control window classes + ANIMATE_CLASSW* = "SysAnimate32" + HOTKEY_CLASSW* = "msctls_hotkey32" + PROGRESS_CLASSW* = "msctls_progress32" + STATUSCLASSNAMEW* = "msctls_statusbar32" + TOOLBARCLASSNAMEW* = "ToolbarWindow32" + TOOLTIPS_CLASSW* = "tooltips_class32" + TRACKBAR_CLASSW* = "msctls_trackbar32" + UPDOWN_CLASSW* = "msctls_updown32" + WC_HEADERW* = "SysHeader32" + WC_LISTVIEWW* = "SysListView32" + WC_TABCONTROLW* = "SysTabControl32" + WC_TREEVIEWW* = "SysTreeView32" # Common control styles + CCS_ADJUSTABLE* = 0x00000020 + CCS_BOTTOM* = 0x00000003 + CCS_NODIVIDER* = 0x00000040 + CCS_NOMOVEY* = 0x00000002 + CCS_NOPARENTALIGN* = 0x00000008 + CCS_NORESIZE* = 0x00000004 + CCS_TOP* = 0x00000001 + ANIMATE_CLASSA* = "SysAnimate32" + HOTKEY_CLASSA* = "msctls_hotkey32" + PROGRESS_CLASSA* = "msctls_progress32" + STATUSCLASSNAMEA* = "msctls_statusbar32" + TOOLBARCLASSNAMEA* = "ToolbarWindow32" + TOOLTIPS_CLASSA* = "tooltips_class32" + TRACKBAR_CLASSA* = "msctls_trackbar32" + UPDOWN_CLASSA* = "msctls_updown32" + WC_HEADERA* = "SysHeader32" + WC_LISTVIEWA* = "SysListView32" + WC_TABCONTROLA* = "SysTabControl32" + WC_TREEVIEWA* = "SysTreeView32" + +when defined(winUnicode): + const + ANIMATE_CLASS* = ANIMATE_CLASSW + HOTKEY_CLASS* = HOTKEY_CLASSW + PROGRESS_CLASS* = PROGRESS_CLASSW + STATUSCLASSNAME* = STATUSCLASSNAMEW + TOOLBARCLASSNAME* = TOOLBARCLASSNAMEW + TOOLTIPS_CLASS* = TOOLTIPS_CLASSW + TRACKBAR_CLASS* = TRACKBAR_CLASSW + UPDOWN_CLASS* = UPDOWN_CLASSW + WC_HEADER* = WC_HEADERW + WC_LISTVIEW* = WC_LISTVIEWW + WC_TABCONTROL* = WC_TABCONTROLW + WC_TREEVIEW* = WC_TREEVIEWW +else: + const + ANIMATE_CLASS* = ANIMATE_CLASSA + HOTKEY_CLASS* = HOTKEY_CLASSA + PROGRESS_CLASS* = PROGRESS_CLASSA + STATUSCLASSNAME* = STATUSCLASSNAMEA + TOOLBARCLASSNAME* = TOOLBARCLASSNAMEA + TOOLTIPS_CLASS* = TOOLTIPS_CLASSA + TRACKBAR_CLASS* = TRACKBAR_CLASSA + UPDOWN_CLASS* = UPDOWN_CLASSA + WC_HEADER* = WC_HEADERA + WC_LISTVIEW* = WC_LISTVIEWA + WC_TABCONTROL* = WC_TABCONTROLA + WC_TREEVIEW* = WC_TREEVIEWA +# winUnicode +# Header control styles + +const + HDS_BUTTONS* = 2 + HDS_HIDDEN* = 8 + HDS_HORZ* = 0 # HD_ITEM structure + HDI_BITMAP* = 16 + HDI_FORMAT* = 4 + HDI_HEIGHT* = 1 + HDI_LPARAM* = 8 + HDI_TEXT* = 2 + HDI_WIDTH* = 1 + HDF_CENTER* = 2 + HDF_LEFT* = 0 + HDF_RIGHT* = 1 + HDF_RTLREADING* = 4 + HDF_BITMAP* = 8192 + HDF_OWNERDRAW* = 32768 + HDF_STRING* = 16384 + HDF_JUSTIFYMASK* = 3 # HD_HITTESTINFO structure + HHT_NOWHERE* = 1 + HHT_ONDIVIDER* = 4 + HHT_ONDIVOPEN* = 8 + HHT_ONHEADER* = 2 + HHT_TOLEFT* = 2048 + HHT_TORIGHT* = 1024 # TBADDBITMAP structure + # was #define dname def_expr + +proc HINST_COMMCTRL*(): HINST +const + IDB_STD_LARGE_COLOR* = 1 + IDB_STD_SMALL_COLOR* = 0 + IDB_VIEW_LARGE_COLOR* = 5 + IDB_VIEW_SMALL_COLOR* = 4 + STD_COPY* = 1 + STD_CUT* = 0 + STD_DELETE* = 5 + STD_FILENEW* = 6 + STD_FILEOPEN* = 7 + STD_FILESAVE* = 8 + STD_FIND* = 12 + STD_HELP* = 11 + STD_PASTE* = 2 + STD_PRINT* = 14 + STD_PRINTPRE* = 9 + STD_PROPERTIES* = 10 + STD_REDOW* = 4 + STD_REPLACE* = 13 + STD_UNDO* = 3 + VIEW_LARGEICONS* = 0 + VIEW_SMALLICONS* = 1 + VIEW_LIST* = 2 + VIEW_DETAILS* = 3 + VIEW_SORTNAME* = 4 + VIEW_SORTSIZE* = 5 + VIEW_SORTDATE* = 6 + VIEW_SORTTYPE* = 7 # Toolbar styles + TBSTYLE_ALTDRAG* = 1024 + TBSTYLE_TOOLTIPS* = 256 + TBSTYLE_WRAPABLE* = 512 + TBSTYLE_BUTTON* = 0 + TBSTYLE_CHECK* = 2 + TBSTYLE_CHECKGROUP* = 6 + TBSTYLE_GROUP* = 4 + TBSTYLE_SEP* = 1 # Toolbar states + TBSTATE_CHECKED* = 1 + TBSTATE_ENABLED* = 4 + TBSTATE_HIDDEN* = 8 + TBSTATE_INDETERMINATE* = 16 + TBSTATE_PRESSED* = 2 + TBSTATE_WRAP* = 32 # Tooltip styles + TTS_ALWAYSTIP* = 1 + TTS_NOPREFIX* = 2 # TOOLINFO structure + TTF_IDISHWND* = 1 + TTF_CENTERTIP* = 2 + TTF_RTLREADING* = 4 + TTF_SUBCLASS* = 16 # TTM_SETDELAYTIME message + TTDT_AUTOMATIC* = 0 + TTDT_AUTOPOP* = 2 + TTDT_INITIAL* = 3 + TTDT_RESHOW* = 1 # Status window + SBARS_SIZEGRIP* = 256 #SBARS_SIZEGRIP = 256;already above + # DL_DRAGGING message + DL_MOVECURSOR* = 3 + DL_COPYCURSOR* = 2 + DL_STOPCURSOR* = 1 # Up-down control styles + UDS_ALIGNLEFT* = 8 + UDS_ALIGNRIGHT* = 4 + UDS_ARROWKEYS* = 32 + UDS_AUTOBUDDY* = 16 + UDS_HORZ* = 64 + UDS_NOTHOUSANDS* = 128 + UDS_SETBUDDYINT* = 2 + UDS_WRAP* = 1 # UDM_SETRANGE message + UD_MAXVAL* = 32767 + UD_MINVAL* = - (32767) # HKM_GETHOTKEY message + HOTKEYF_ALT* = 4 + HOTKEYF_CONTROL* = 2 + HOTKEYF_EXT* = 8 + HOTKEYF_SHIFT* = 1 # HKM_SETRULES message + HKCOMB_A* = 8 + HKCOMB_C* = 4 + HKCOMB_CA* = 64 + HKCOMB_NONE* = 1 + HKCOMB_S* = 2 + HKCOMB_SA* = 32 + HKCOMB_SC* = 16 + HKCOMB_SCA* = 128 # Trackbar styles + TBS_HORZ* = 0 + TBS_VERT* = 2 + TBS_AUTOTICKS* = 1 + TBS_NOTICKS* = 16 + TBS_TOP* = 4 + TBS_BOTTOM* = 0 + TBS_LEFT* = 4 + TBS_RIGHT* = 0 + TBS_BOTH* = 8 + TBS_ENABLESELRANGE* = 32 + TBS_FIXEDLENGTH* = 64 + TBS_NOTHUMB* = 128 + TB_BOTTOM* = 7 + TB_ENDTRACK* = 8 + TB_LINEDOWN* = 1 + TB_LINEUP* = 0 + TB_PAGEDOWN* = 3 + TB_PAGEUP* = 2 + TB_THUMBPOSITION* = 4 + TB_THUMBTRACK* = 5 + TB_TOP* = 6 # List view styles + LVS_ALIGNLEFT* = 2048 + LVS_ALIGNTOP* = 0 + LVS_AUTOARRANGE* = 256 + LVS_EDITLABELS* = 512 + LVS_ICON* = 0 + LVS_LIST* = 3 + LVS_NOCOLUMNHEADER* = 16384 + LVS_NOLABELWRAP* = 128 + LVS_NOSCROLL* = 8192 + LVS_NOSORTHEADER* = 32768 + LVS_OWNERDRAWFIXED* = 1024 + LVS_REPORT* = 1 + LVS_SHAREIMAGELISTS* = 64 + LVS_SHOWSELALWAYS* = 8 + LVS_SINGLESEL* = 4 + LVS_SMALLICON* = 2 + LVS_SORTASCENDING* = 16 + LVS_SORTDESCENDING* = 32 + LVS_TYPESTYLEMASK* = 64512 + LVSIL_NORMAL* = 0 + LVSIL_SMALL* = 1 + LVSIL_STATE* = 2 + LVIS_CUT* = 4 + LVIS_DROPHILITED* = 8 + LVIS_FOCUSED* = 1 + LVIS_SELECTED* = 2 + LVIS_OVERLAYMASK* = 3840 + LVIS_STATEIMAGEMASK* = 61440 # was #define dname def_expr + +proc LPSTR_TEXTCALLBACKW*(): LPWSTR + # was #define dname def_expr +proc LPSTR_TEXTCALLBACKA*(): LPSTR +when defined(winUnicode): + proc LPSTR_TEXTCALLBACK*(): LPWSTR +else: + proc LPSTR_TEXTCALLBACK*(): LPSTR +const + LVIF_TEXT* = 1 + LVIF_IMAGE* = 2 + LVIF_PARAM* = 4 + LVIF_STATE* = 8 + LVIF_DI_SETITEM* = 4096 # LVM_GETNEXTITEM structure + LVNI_ABOVE* = 256 + LVNI_ALL* = 0 + LVNI_BELOW* = 512 + LVNI_TOLEFT* = 1024 + LVNI_TORIGHT* = 2048 + LVNI_CUT* = 4 + LVNI_DROPHILITED* = 8 + LVNI_FOCUSED* = 1 + LVNI_SELECTED* = 2 # LV_FINDINFO structure + LVFI_PARAM* = 1 + LVFI_PARTIAL* = 8 + LVFI_STRING* = 2 + LVFI_WRAP* = 32 + LVFI_NEARESTXY* = 64 # LV_HITTESTINFO structure + LVHT_ABOVE* = 8 + LVHT_BELOW* = 16 + LVHT_NOWHERE* = 1 + LVHT_ONITEMICON* = 2 + LVHT_ONITEMLABEL* = 4 + LVHT_ONITEMSTATEICON* = 8 + LVHT_TOLEFT* = 64 + LVHT_TORIGHT* = 32 # LV_COLUMN structure + LVCF_FMT* = 1 + LVCF_SUBITEM* = 8 + LVCF_TEXT* = 4 + LVCF_WIDTH* = 2 + LVCFMT_CENTER* = 2 + LVCFMT_LEFT* = 0 + LVCFMT_RIGHT* = 1 # ListView_GetItemRect + LVIR_BOUNDS* = 0 + LVIR_ICON* = 1 + LVIR_LABEL* = 2 + LVIR_SELECTBOUNDS* = 3 # LVM_ARRANGE message + LVA_ALIGNLEFT* = 1 + LVA_ALIGNTOP* = 2 + LVA_DEFAULT* = 0 + LVA_SNAPTOGRID* = 5 # LVM_SETCOLUMNWIDTH message + LVSCW_AUTOSIZE* = - (1) + LVSCW_AUTOSIZE_USEHEADER* = - (2) # Tree View styles + TVS_DISABLEDRAGDROP* = 16 + TVS_EDITLABELS* = 8 + TVS_HASBUTTONS* = 1 + TVS_HASLINES* = 2 + TVS_LINESATROOT* = 4 + TVS_SHOWSELALWAYS* = 32 # Tree View states + TVIS_BOLD* = 16 + TVIS_CUT* = 4 + TVIS_DROPHILITED* = 8 + TVIS_EXPANDED* = 32 + TVIS_EXPANDEDONCE* = 64 + TVIS_FOCUSED* = 1 + TVIS_OVERLAYMASK* = 3840 + TVIS_SELECTED* = 2 + TVIS_STATEIMAGEMASK* = 61440 + TVIS_USERMASK* = 61440 # TV_ITEM structure + TVIF_CHILDREN* = 64 + TVIF_HANDLE* = 16 + TVIF_IMAGE* = 2 + TVIF_PARAM* = 4 + TVIF_SELECTEDIMAGE* = 32 + TVIF_STATE* = 8 + TVIF_TEXT* = 1 + I_CHILDRENCALLBACK* = - (1) + I_IMAGECALLBACK* = - (1) # TV_INSERTSTRUCT structure + # added manually PM, TREEITEM is not defined in the C headers + +type + TREEITEM* = record + HTREEITEM* = ptr TREEITEM + TTREEITEM* = TREEITEM + PTREEITEM* = ptr TREEITEM # was #define dname def_expr + +proc TVI_ROOT*(): HTREEITEM + # was #define dname def_expr +proc TVI_FIRST*(): HTREEITEM + # was #define dname def_expr +proc TVI_LAST*(): HTREEITEM + # was #define dname def_expr +proc TVI_SORT*(): HTREEITEM + # TV_HITTESTINFO structure +const + TVHT_ABOVE* = 256 + TVHT_BELOW* = 512 + TVHT_NOWHERE* = 1 + TVHT_ONITEM* = 70 + TVHT_ONITEMBUTTON* = 16 + TVHT_ONITEMICON* = 2 + TVHT_ONITEMINDENT* = 8 + TVHT_ONITEMLABEL* = 4 + TVHT_ONITEMRIGHT* = 32 + TVHT_ONITEMSTATEICON* = 64 + TVHT_TOLEFT* = 2048 + TVHT_TORIGHT* = 1024 # TVM_EXPAND message + TVE_COLLAPSE* = 1 + TVE_COLLAPSERESET* = 32768 + TVE_EXPAND* = 2 + TVE_TOGGLE* = 3 # TVM_GETIMAGELIST message + TVSIL_NORMAL* = 0 + TVSIL_STATE* = 2 # TVM_GETNEXTITEM message + TVGN_CARET* = 9 + TVGN_CHILD* = 4 + TVGN_DROPHILITE* = 8 + TVGN_FIRSTVISIBLE* = 5 + TVGN_NEXT* = 1 + TVGN_NEXTVISIBLE* = 6 + TVGN_PARENT* = 3 + TVGN_PREVIOUS* = 2 + TVGN_PREVIOUSVISIBLE* = 7 + TVGN_ROOT* = 0 # TVN_SELCHANGED message + TVC_BYKEYBOARD* = 2 + TVC_BYMOUSE* = 1 + TVC_UNKNOWN* = 0 # Tab control styles + TCS_BUTTONS* = 256 + TCS_FIXEDWIDTH* = 1024 + TCS_FOCUSNEVER* = 32768 + TCS_FOCUSONBUTTONDOWN* = 4096 + TCS_FORCEICONLEFT* = 16 + TCS_FORCELABELLEFT* = 32 + TCS_MULTILINE* = 512 + TCS_OWNERDRAWFIXED* = 8192 + TCS_RAGGEDRIGHT* = 2048 + TCS_RIGHTJUSTIFY* = 0 + TCS_SINGLELINE* = 0 + TCS_TABS* = 0 + TCS_TOOLTIPS* = 16384 # TC_ITEM structure + TCIF_TEXT* = 1 + TCIF_IMAGE* = 2 + TCIF_PARAM* = 8 + TCIF_RTLREADING* = 4 # TC_HITTESTINFO structure + TCHT_NOWHERE* = 1 + TCHT_ONITEM* = 6 + TCHT_ONITEMICON* = 2 + TCHT_ONITEMLABEL* = 4 # Animation control styles + ACS_AUTOPLAY* = 4 + ACS_CENTER* = 1 + ACS_TRANSPARENT* = 2 # MODEMDEVCAPS structure + DIALOPTION_BILLING* = 64 + DIALOPTION_QUIET* = 128 + DIALOPTION_DIALTONE* = 256 + MDMVOLFLAG_LOW* = 1 + MDMVOLFLAG_MEDIUM* = 2 + MDMVOLFLAG_HIGH* = 4 + MDMVOL_LOW* = 0 + MDMVOL_MEDIUM* = 1 + MDMVOL_HIGH* = 2 + MDMSPKRFLAG_OFF* = 1 + MDMSPKRFLAG_DIAL* = 2 + MDMSPKRFLAG_ON* = 4 + MDMSPKRFLAG_CALLSETUP* = 8 + MDMSPKR_OFF* = 0 + MDMSPKR_DIAL* = 1 + MDMSPKR_ON* = 2 + MDMSPKR_CALLSETUP* = 3 + MDM_BLIND_DIAL* = 512 + MDM_CCITT_OVERRIDE* = 64 + MDM_CELLULAR* = 8 + MDM_COMPRESSION* = 1 + MDM_ERROR_CONTROL* = 2 + MDM_FLOWCONTROL_HARD* = 16 + MDM_FLOWCONTROL_SOFT* = 32 + MDM_FORCED_EC* = 4 + MDM_SPEED_ADJUST* = 128 + MDM_TONE_DIAL* = 256 + MDM_V23_OVERRIDE* = 1024 # Languages + # + # Language IDs. + # + # The following two combinations of primary language ID and + # sublanguage ID have special semantics: + # + # Primary Language ID Sublanguage ID Result + # ------------------- --------------- ------------------------ + # LANG_NEUTRAL SUBLANG_NEUTRAL Language neutral + # LANG_NEUTRAL SUBLANG_DEFAULT User default language + # LANG_NEUTRAL SUBLANG_SYS_DEFAULT System default language + # LANG_INVARIANT SUBLANG_NEUTRAL Invariant locale + # + # + # Primary language IDs. + # + LANG_NEUTRAL* = 0x00000000 + LANG_INVARIANT* = 0x0000007F + LANG_AFRIKAANS* = 0x00000036 + LANG_ALBANIAN* = 0x0000001C + LANG_ARABIC* = 0x00000001 + LANG_ARMENIAN* = 0x0000002B + LANG_ASSAMESE* = 0x0000004D + LANG_AZERI* = 0x0000002C + LANG_BASQUE* = 0x0000002D + LANG_BELARUSIAN* = 0x00000023 + LANG_BENGALI* = 0x00000045 + LANG_BULGARIAN* = 0x00000002 + LANG_CATALAN* = 0x00000003 + LANG_CHINESE* = 0x00000004 + LANG_CROATIAN* = 0x0000001A + LANG_CZECH* = 0x00000005 + LANG_DANISH* = 0x00000006 + LANG_DIVEHI* = 0x00000065 + LANG_DUTCH* = 0x00000013 + LANG_ENGLISH* = 0x00000009 + LANG_ESTONIAN* = 0x00000025 + LANG_FAEROESE* = 0x00000038 + LANG_FARSI* = 0x00000029 + LANG_FINNISH* = 0x0000000B + LANG_FRENCH* = 0x0000000C + LANG_GALICIAN* = 0x00000056 + LANG_GEORGIAN* = 0x00000037 + LANG_GERMAN* = 0x00000007 + LANG_GREEK* = 0x00000008 + LANG_GUJARATI* = 0x00000047 + LANG_HEBREW* = 0x0000000D + LANG_HINDI* = 0x00000039 + LANG_HUNGARIAN* = 0x0000000E + LANG_ICELANDIC* = 0x0000000F + LANG_INDONESIAN* = 0x00000021 + LANG_ITALIAN* = 0x00000010 + LANG_JAPANESE* = 0x00000011 + LANG_KANNADA* = 0x0000004B + LANG_KASHMIRI* = 0x00000060 + LANG_KAZAK* = 0x0000003F + LANG_KONKANI* = 0x00000057 + LANG_KOREAN* = 0x00000012 + LANG_KYRGYZ* = 0x00000040 + LANG_LATVIAN* = 0x00000026 + LANG_LITHUANIAN* = 0x00000027 + LANG_MACEDONIAN* = 0x0000002F # the Former Yugoslav Republic of Macedonia + LANG_MALAY* = 0x0000003E + LANG_MALAYALAM* = 0x0000004C + LANG_MANIPURI* = 0x00000058 + LANG_MARATHI* = 0x0000004E + LANG_MONGOLIAN* = 0x00000050 + LANG_NEPALI* = 0x00000061 + LANG_NORWEGIAN* = 0x00000014 + LANG_ORIYA* = 0x00000048 + LANG_POLISH* = 0x00000015 + LANG_PORTUGUESE* = 0x00000016 + LANG_PUNJABI* = 0x00000046 + LANG_ROMANIAN* = 0x00000018 + LANG_RUSSIAN* = 0x00000019 + LANG_SANSKRIT* = 0x0000004F + LANG_SERBIAN* = 0x0000001A + LANG_SINDHI* = 0x00000059 + LANG_SLOVAK* = 0x0000001B + LANG_SLOVENIAN* = 0x00000024 + LANG_SPANISH* = 0x0000000A + LANG_SWAHILI* = 0x00000041 + LANG_SWEDISH* = 0x0000001D + LANG_SYRIAC* = 0x0000005A + LANG_TAMIL* = 0x00000049 + LANG_TATAR* = 0x00000044 + LANG_TELUGU* = 0x0000004A + LANG_THAI* = 0x0000001E + LANG_TURKISH* = 0x0000001F + LANG_UKRAINIAN* = 0x00000022 + LANG_URDU* = 0x00000020 + LANG_UZBEK* = 0x00000043 + LANG_VIETNAMESE* = 0x0000002A # + # Sublanguage IDs. + # + # The name immediately following SUBLANG_ dictates which primary + # language ID that sublanguage ID can be combined with to form a + # valid language ID. + # + SUBLANG_NEUTRAL* = 0x00000000 # language neutral + SUBLANG_DEFAULT* = 0x00000001 # user default + SUBLANG_SYS_DEFAULT* = 0x00000002 # system default + SUBLANG_ARABIC_SAUDI_ARABIA* = 0x00000001 # Arabic (Saudi Arabia) + SUBLANG_ARABIC_IRAQ* = 0x00000002 # Arabic (Iraq) + SUBLANG_ARABIC_EGYPT* = 0x00000003 # Arabic (Egypt) + SUBLANG_ARABIC_LIBYA* = 0x00000004 # Arabic (Libya) + SUBLANG_ARABIC_ALGERIA* = 0x00000005 # Arabic (Algeria) + SUBLANG_ARABIC_MOROCCO* = 0x00000006 # Arabic (Morocco) + SUBLANG_ARABIC_TUNISIA* = 0x00000007 # Arabic (Tunisia) + SUBLANG_ARABIC_OMAN* = 0x00000008 # Arabic (Oman) + SUBLANG_ARABIC_YEMEN* = 0x00000009 # Arabic (Yemen) + SUBLANG_ARABIC_SYRIA* = 0x0000000A # Arabic (Syria) + SUBLANG_ARABIC_JORDAN* = 0x0000000B # Arabic (Jordan) + SUBLANG_ARABIC_LEBANON* = 0x0000000C # Arabic (Lebanon) + SUBLANG_ARABIC_KUWAIT* = 0x0000000D # Arabic (Kuwait) + SUBLANG_ARABIC_UAE* = 0x0000000E # Arabic (U.A.E) + SUBLANG_ARABIC_BAHRAIN* = 0x0000000F # Arabic (Bahrain) + SUBLANG_ARABIC_QATAR* = 0x00000010 # Arabic (Qatar) + SUBLANG_AZERI_LATIN* = 0x00000001 # Azeri (Latin) + SUBLANG_AZERI_CYRILLIC* = 0x00000002 # Azeri (Cyrillic) + SUBLANG_CHINESE_TRADITIONAL* = 0x00000001 # Chinese (Taiwan) + SUBLANG_CHINESE_SIMPLIFIED* = 0x00000002 # Chinese (PR China) + SUBLANG_CHINESE_HONGKONG* = 0x00000003 # Chinese (Hong Kong S.A.R., P.R.C.) + SUBLANG_CHINESE_SINGAPORE* = 0x00000004 # Chinese (Singapore) + SUBLANG_CHINESE_MACAU* = 0x00000005 # Chinese (Macau S.A.R.) + SUBLANG_DUTCH* = 0x00000001 # Dutch + SUBLANG_DUTCH_BELGIAN* = 0x00000002 # Dutch (Belgian) + SUBLANG_ENGLISH_US* = 0x00000001 # English (USA) + SUBLANG_ENGLISH_UK* = 0x00000002 # English (UK) + SUBLANG_ENGLISH_AUS* = 0x00000003 # English (Australian) + SUBLANG_ENGLISH_CAN* = 0x00000004 # English (Canadian) + SUBLANG_ENGLISH_NZ* = 0x00000005 # English (New Zealand) + SUBLANG_ENGLISH_EIRE* = 0x00000006 # English (Irish) + SUBLANG_ENGLISH_SOUTH_AFRICA* = 0x00000007 # English (South Africa) + SUBLANG_ENGLISH_JAMAICA* = 0x00000008 # English (Jamaica) + SUBLANG_ENGLISH_CARIBBEAN* = 0x00000009 # English (Caribbean) + SUBLANG_ENGLISH_BELIZE* = 0x0000000A # English (Belize) + SUBLANG_ENGLISH_TRINIDAD* = 0x0000000B # English (Trinidad) + SUBLANG_ENGLISH_ZIMBABWE* = 0x0000000C # English (Zimbabwe) + SUBLANG_ENGLISH_PHILIPPINES* = 0x0000000D # English (Philippines) + SUBLANG_FRENCH* = 0x00000001 # French + SUBLANG_FRENCH_BELGIAN* = 0x00000002 # French (Belgian) + SUBLANG_FRENCH_CANADIAN* = 0x00000003 # French (Canadian) + SUBLANG_FRENCH_SWISS* = 0x00000004 # French (Swiss) + SUBLANG_FRENCH_LUXEMBOURG* = 0x00000005 # French (Luxembourg) + SUBLANG_FRENCH_MONACO* = 0x00000006 # French (Monaco) + SUBLANG_GERMAN* = 0x00000001 # German + SUBLANG_GERMAN_SWISS* = 0x00000002 # German (Swiss) + SUBLANG_GERMAN_AUSTRIAN* = 0x00000003 # German (Austrian) + SUBLANG_GERMAN_LUXEMBOURG* = 0x00000004 # German (Luxembourg) + SUBLANG_GERMAN_LIECHTENSTEIN* = 0x00000005 # German (Liechtenstein) + SUBLANG_ITALIAN* = 0x00000001 # Italian + SUBLANG_ITALIAN_SWISS* = 0x00000002 # Italian (Swiss) + SUBLANG_KASHMIRI_SASIA* = 0x00000002 # Kashmiri (South Asia) + SUBLANG_KASHMIRI_INDIA* = 0x00000002 # For app compatibility only + SUBLANG_KOREAN* = 0x00000001 # Korean (Extended Wansung) + SUBLANG_LITHUANIAN* = 0x00000001 # Lithuanian + SUBLANG_MALAY_MALAYSIA* = 0x00000001 # Malay (Malaysia) + SUBLANG_MALAY_BRUNEI_DARUSSALAM* = 0x00000002 # Malay (Brunei Darussalam) + SUBLANG_NEPALI_INDIA* = 0x00000002 # Nepali (India) + SUBLANG_NORWEGIAN_BOKMAL* = 0x00000001 # Norwegian (Bokmal) + SUBLANG_NORWEGIAN_NYNORSK* = 0x00000002 # Norwegian (Nynorsk) + SUBLANG_PORTUGUESE* = 0x00000002 # Portuguese + SUBLANG_PORTUGUESE_BRAZILIAN* = 0x00000001 # Portuguese (Brazilian) + SUBLANG_SERBIAN_LATIN* = 0x00000002 # Serbian (Latin) + SUBLANG_SERBIAN_CYRILLIC* = 0x00000003 # Serbian (Cyrillic) + SUBLANG_SPANISH* = 0x00000001 # Spanish (Castilian) + SUBLANG_SPANISH_MEXICAN* = 0x00000002 # Spanish (Mexican) + SUBLANG_SPANISH_MODERN* = 0x00000003 # Spanish (Spain) + SUBLANG_SPANISH_GUATEMALA* = 0x00000004 # Spanish (Guatemala) + SUBLANG_SPANISH_COSTA_RICA* = 0x00000005 # Spanish (Costa Rica) + SUBLANG_SPANISH_PANAMA* = 0x00000006 # Spanish (Panama) + SUBLANG_SPANISH_DOMINICAN_REPUBLIC* = 0x00000007 # Spanish (Dominican Republic) + SUBLANG_SPANISH_VENEZUELA* = 0x00000008 # Spanish (Venezuela) + SUBLANG_SPANISH_COLOMBIA* = 0x00000009 # Spanish (Colombia) + SUBLANG_SPANISH_PERU* = 0x0000000A # Spanish (Peru) + SUBLANG_SPANISH_ARGENTINA* = 0x0000000B # Spanish (Argentina) + SUBLANG_SPANISH_ECUADOR* = 0x0000000C # Spanish (Ecuador) + SUBLANG_SPANISH_CHILE* = 0x0000000D # Spanish (Chile) + SUBLANG_SPANISH_URUGUAY* = 0x0000000E # Spanish (Uruguay) + SUBLANG_SPANISH_PARAGUAY* = 0x0000000F # Spanish (Paraguay) + SUBLANG_SPANISH_BOLIVIA* = 0x00000010 # Spanish (Bolivia) + SUBLANG_SPANISH_EL_SALVADOR* = 0x00000011 # Spanish (El Salvador) + SUBLANG_SPANISH_HONDURAS* = 0x00000012 # Spanish (Honduras) + SUBLANG_SPANISH_NICARAGUA* = 0x00000013 # Spanish (Nicaragua) + SUBLANG_SPANISH_PUERTO_RICO* = 0x00000014 # Spanish (Puerto Rico) + SUBLANG_SWEDISH* = 0x00000001 # Swedish + SUBLANG_SWEDISH_FINLAND* = 0x00000002 # Swedish (Finland) + SUBLANG_URDU_PAKISTAN* = 0x00000001 # Urdu (Pakistan) + SUBLANG_URDU_INDIA* = 0x00000002 # Urdu (India) + SUBLANG_UZBEK_LATIN* = 0x00000001 # Uzbek (Latin) + SUBLANG_UZBEK_CYRILLIC* = 0x00000002 # Uzbek (Cyrillic) + # + # Sorting IDs. + # + SORT_DEFAULT* = 0x00000000 # sorting default + SORT_JAPANESE_XJIS* = 0x00000000 # Japanese XJIS order + SORT_JAPANESE_UNICODE* = 0x00000001 # Japanese Unicode order + SORT_CHINESE_BIG5* = 0x00000000 # Chinese BIG5 order + SORT_CHINESE_PRCP* = 0x00000000 # PRC Chinese Phonetic order + SORT_CHINESE_UNICODE* = 0x00000001 # Chinese Unicode order + SORT_CHINESE_PRC* = 0x00000002 # PRC Chinese Stroke Count order + SORT_CHINESE_BOPOMOFO* = 0x00000003 # Traditional Chinese Bopomofo order + SORT_KOREAN_KSC* = 0x00000000 # Korean KSC order + SORT_KOREAN_UNICODE* = 0x00000001 # Korean Unicode order + SORT_GERMAN_PHONE_BOOK* = 0x00000001 # German Phone Book order + SORT_HUNGARIAN_DEFAULT* = 0x00000000 # Hungarian Default order + SORT_HUNGARIAN_TECHNICAL* = 0x00000001 # Hungarian Technical order + SORT_GEORGIAN_TRADITIONAL* = 0x00000000 # Georgian Traditional order + SORT_GEORGIAN_MODERN* = 0x00000001 # Georgian Modern order + # SYSTEM_INFO structure + PROCESSOR_INTEL_386* = 386 + PROCESSOR_INTEL_486* = 486 + PROCESSOR_INTEL_PENTIUM* = 586 + PROCESSOR_MIPS_R4000* = 4000 + PROCESSOR_ALPHA_21064* = 21064 # FSCTL_SET_COMPRESSION + COMPRESSION_FORMAT_NONE* = 0 + COMPRESSION_FORMAT_DEFAULT* = 1 + COMPRESSION_FORMAT_LZNT1* = 2 # TAPE_GET_DRIVE_PARAMETERS structure + TAPE_DRIVE_COMPRESSION* = 131072 + TAPE_DRIVE_ECC* = 65536 + TAPE_DRIVE_ERASE_BOP_ONLY* = 64 + TAPE_DRIVE_ERASE_LONG* = 32 + TAPE_DRIVE_ERASE_IMMEDIATE* = 128 + TAPE_DRIVE_ERASE_SHORT* = 16 + TAPE_DRIVE_FIXED* = 1 + TAPE_DRIVE_FIXED_BLOCK* = 1024 + TAPE_DRIVE_INITIATOR* = 4 + TAPE_DRIVE_PADDING* = 262144 + TAPE_DRIVE_GET_ABSOLUTE_BLK* = 1048576 + TAPE_DRIVE_GET_LOGICAL_BLK* = 2097152 + TAPE_DRIVE_REPORT_SMKS* = 524288 + TAPE_DRIVE_SELECT* = 2 + TAPE_DRIVE_SET_EOT_WZ_SIZE* = 4194304 + TAPE_DRIVE_TAPE_CAPACITY* = 256 + TAPE_DRIVE_TAPE_REMAINING* = 512 + TAPE_DRIVE_VARIABLE_BLOCK* = 2048 + TAPE_DRIVE_WRITE_PROTECT* = 4096 + TAPE_DRIVE_ABS_BLK_IMMED* = - (2147475456) + TAPE_DRIVE_ABSOLUTE_BLK* = - (2147479552) + TAPE_DRIVE_END_OF_DATA* = - (2147418112) + TAPE_DRIVE_FILEMARKS* = - (2147221504) + TAPE_DRIVE_LOAD_UNLOAD* = - (2147483647) + TAPE_DRIVE_LOAD_UNLD_IMMED* = - (2147483616) + TAPE_DRIVE_LOCK_UNLOCK* = - (2147483644) + TAPE_DRIVE_LOCK_UNLK_IMMED* = - (2147483520) + TAPE_DRIVE_LOG_BLK_IMMED* = - (2147450880) + TAPE_DRIVE_LOGICAL_BLK* = - (2147467264) + TAPE_DRIVE_RELATIVE_BLKS* = - (2147352576) + TAPE_DRIVE_REVERSE_POSITION* = - (2143289344) + TAPE_DRIVE_REWIND_IMMEDIATE* = - (2147483640) + TAPE_DRIVE_SEQUENTIAL_FMKS* = - (2146959360) + TAPE_DRIVE_SEQUENTIAL_SMKS* = - (2145386496) + TAPE_DRIVE_SET_BLOCK_SIZE* = - (2147483632) + TAPE_DRIVE_SET_COMPRESSION* = - (2147483136) + TAPE_DRIVE_SET_ECC* = - (2147483392) + TAPE_DRIVE_SET_PADDING* = - (2147482624) + TAPE_DRIVE_SET_REPORT_SMKS* = - (2147481600) + TAPE_DRIVE_SETMARKS* = - (2146435072) + TAPE_DRIVE_SPACE_IMMEDIATE* = - (2139095040) + TAPE_DRIVE_TENSION* = - (2147483646) + TAPE_DRIVE_TENSION_IMMED* = - (2147483584) + TAPE_DRIVE_WRITE_FILEMARKS* = - (2113929216) + TAPE_DRIVE_WRITE_LONG_FMKS* = - (2013265920) + TAPE_DRIVE_WRITE_MARK_IMMED* = - (1879048192) + TAPE_DRIVE_WRITE_SETMARKS* = - (2130706432) + TAPE_DRIVE_WRITE_SHORT_FMKS* = - (2080374784) # Standard rights + STANDARD_RIGHTS_REQUIRED* = 0x000F0000 + STANDARD_RIGHTS_WRITE* = 0x00020000 + STANDARD_RIGHTS_READ* = 0x00020000 + STANDARD_RIGHTS_EXECUTE* = 0x00020000 + STANDARD_RIGHTS_ALL* = 0x001F0000 + SPECIFIC_RIGHTS_ALL* = 0x0000FFFF # ACCESS_MASK + MAXIMUM_ALLOWED* = 0x02000000 + GENERIC_ALL* = 0x10000000 # SID + SECURITY_NULL_RID* = 0 + SECURITY_WORLD_RID* = 0 + SECURITY_LOCAL_RID* = 0 + SECURITY_CREATOR_OWNER_RID* = 0 + SECURITY_CREATOR_GROUP_RID* = 0x00000001 + SECURITY_DIALUP_RID* = 0x00000001 + SECURITY_NETWORK_RID* = 0x00000002 + SECURITY_BATCH_RID* = 0x00000003 + SECURITY_INTERACTIVE_RID* = 0x00000004 + SECURITY_LOGON_IDS_RID* = 0x00000005 + SECURITY_LOGON_IDS_RID_COUNT* = 0x00000003 + SECURITY_SERVICE_RID* = 0x00000006 + SECURITY_LOCAL_SYSTEM_RID* = 0x00000012 + SECURITY_BUILTIN_DOMAIN_RID* = 0x00000020 + DOMAIN_USER_RID_ADMIN* = 0x000001F4 + DOMAIN_USER_RID_GUEST* = 0x000001F5 + DOMAIN_GROUP_RID_ADMINS* = 0x00000200 + DOMAIN_GROUP_RID_USERS* = 0x00000201 + DOMAIN_ALIAS_RID_ADMINS* = 0x00000220 + DOMAIN_ALIAS_RID_USERS* = 0x00000221 + DOMAIN_ALIAS_RID_GUESTS* = 0x00000222 + DOMAIN_ALIAS_RID_POWER_USERS* = 0x00000223 + DOMAIN_ALIAS_RID_ACCOUNT_OPS* = 0x00000224 + DOMAIN_ALIAS_RID_SYSTEM_OPS* = 0x00000225 + DOMAIN_ALIAS_RID_PRINT_OPS* = 0x00000226 + DOMAIN_ALIAS_RID_BACKUP_OPS* = 0x00000227 + DOMAIN_ALIAS_RID_REPLICATOR* = 0x00000228 # TOKEN_GROUPS structure + SE_GROUP_MANDATORY* = 0x00000001 + SE_GROUP_ENABLED_BY_DEFAULT* = 0x00000002 + SE_GROUP_ENABLED* = 0x00000004 + SE_GROUP_OWNER* = 0x00000008 + SE_GROUP_LOGON_ID* = 0xC0000000 # ACL Defines + ACL_REVISION* = 2 # ACE_HEADER structure + ACCESS_ALLOWED_ACE_TYPE* = 0x00000000 + ACCESS_DENIED_ACE_TYPE* = 0x00000001 + SYSTEM_AUDIT_ACE_TYPE* = 0x00000002 + SYSTEM_ALARM_ACE_TYPE* = 0x00000003 # ACE flags in the ACE_HEADER structure + OBJECT_INHERIT_ACE* = 0x00000001 + CONTAINER_INHERIT_ACE* = 0x00000002 + NO_PROPAGATE_INHERIT_ACE* = 0x00000004 + INHERIT_ONLY_ACE* = 0x00000008 + SUCCESSFUL_ACCESS_ACE_FLAG* = 0x00000040 + FAILED_ACCESS_ACE_FLAG* = 0x00000080 # SECURITY_DESCRIPTOR_CONTROL + #SECURITY_DESCRIPTOR_REVISION = 1;already defined above + SECURITY_DESCRIPTOR_MIN_LENGTH* = 20 + SE_OWNER_DEFAULTED* = 1 + SE_GROUP_DEFAULTED* = 2 + SE_DACL_PRESENT* = 4 + SE_DACL_DEFAULTED* = 8 + SE_SACL_PRESENT* = 16 + SE_SACL_DEFAULTED* = 32 + SE_SELF_RELATIVE* = 32768 # PRIVILEGE_SET + SE_PRIVILEGE_ENABLED_BY_DEFAULT* = 0x00000001 + SE_PRIVILEGE_ENABLED* = 0x00000002 + SE_PRIVILEGE_USED_FOR_ACCESS* = 0x80000000 + PRIVILEGE_SET_ALL_NECESSARY* = 0x00000001 # OPENFILENAME structure + OFN_ALLOWMULTISELECT* = 0x00000200 + OFN_CREATEPROMPT* = 0x00002000 + OFN_ENABLEHOOK* = 0x00000020 + OFN_ENABLETEMPLATE* = 0x00000040 + OFN_ENABLETEMPLATEHANDLE* = 0x00000080 + OFN_EXPLORER* = 0x00080000 + OFN_EXTENSIONDIFFERENT* = 0x00000400 + OFN_FILEMUSTEXIST* = 0x00001000 + OFN_HIDEREADONLY* = 0x00000004 + OFN_LONGNAMES* = 0x00200000 + OFN_NOCHANGEDIR* = 0x00000008 + OFN_NODEREFERENCELINKS* = 0x00100000 + OFN_NOLONGNAMES* = 0x00040000 + OFN_NONETWORKBUTTON* = 0x00020000 + OFN_NOREADONLYRETURN* = 0x00008000 + OFN_NOTESTFILECREATE* = 0x00010000 + OFN_NOVALIDATE* = 0x00000100 + OFN_OVERWRITEPROMPT* = 0x00000002 + OFN_PATHMUSTEXIST* = 0x00000800 + OFN_READONLY* = 0x00000001 + OFN_SHAREAWARE* = 0x00004000 + OFN_SHOWHELP* = 0x00000010 # SHAREVISTRING message + OFN_SHAREFALLTHROUGH* = 0x00000002 + OFN_SHARENOWARN* = 0x00000001 + OFN_SHAREWARN* = 0 # Open/Save notifications + CDN_INITDONE* = 0xFFFFFDA7 + CDN_SELCHANGE* = 0xFFFFFDA6 + CDN_FOLDERCHANGE* = 0xFFFFFDA5 + CDN_SHAREVIOLATION* = 0xFFFFFDA4 + CDN_HELP* = 0xFFFFFDA3 + CDN_FILEOK* = 0xFFFFFDA2 + CDN_TYPECHANGE* = 0xFFFFFDA1 # Open/Save messages + CDM_GETFILEPATH* = 0x00000465 + CDM_GETFOLDERIDLIST* = 0x00000467 + CDM_GETFOLDERPATH* = 0x00000466 + CDM_GETSPEC* = 0x00000464 + CDM_HIDECONTROL* = 0x00000469 + CDM_SETCONTROLTEXT* = 0x00000468 + CDM_SETDEFEXT* = 0x0000046A # CHOOSECOLOR structure + CC_ENABLEHOOK* = 0x00000010 + CC_ENABLETEMPLATE* = 0x00000020 + CC_ENABLETEMPLATEHANDLE* = 0x00000040 + CC_FULLOPEN* = 0x00000002 + CC_PREVENTFULLOPEN* = 0x00000004 + CC_RGBINIT* = 0x00000001 + CC_SHOWHELP* = 0x00000008 + CC_SOLIDCOLOR* = 0x00000080 # FINDREPLACE structure + FR_DIALOGTERM* = 0x00000040 + FR_DOWN* = 0x00000001 + FR_ENABLEHOOK* = 0x00000100 + FR_ENABLETEMPLATE* = 0x00000200 + FR_ENABLETEMPLATEHANDLE* = 0x00002000 + FR_FINDNEXT* = 0x00000008 + FR_HIDEUPDOWN* = 0x00004000 + FR_HIDEMATCHCASE* = 0x00008000 + FR_HIDEWHOLEWORD* = 0x00010000 + FR_MATCHCASE* = 0x00000004 + FR_NOMATCHCASE* = 0x00000800 + FR_NOUPDOWN* = 0x00000400 + FR_NOWHOLEWORD* = 0x00001000 + FR_REPLACE* = 0x00000010 + FR_REPLACEALL* = 0x00000020 + FR_SHOWHELP* = 0x00000080 + FR_WHOLEWORD* = 0x00000002 # CHOOSEFONT structure + CF_APPLY* = 0x00000200 + CF_ANSIONLY* = 0x00000400 + CF_BOTH* = 0x00000003 + CF_TTONLY* = 0x00040000 + CF_EFFECTS* = 0x00000100 + CF_ENABLEHOOK* = 0x00000008 + CF_ENABLETEMPLATE* = 0x00000010 + CF_ENABLETEMPLATEHANDLE* = 0x00000020 + CF_FIXEDPITCHONLY* = 0x00004000 + CF_FORCEFONTEXIST* = 0x00010000 + CF_INITTOLOGFONTSTRUCT* = 0x00000040 + CF_LIMITSIZE* = 0x00002000 + CF_NOOEMFONTS* = 0x00000800 + CF_NOFACESEL* = 0x00080000 + CF_NOSCRIPTSEL* = 0x00800000 + CF_NOSTYLESEL* = 0x00100000 + CF_NOSIZESEL* = 0x00200000 + CF_NOSIMULATIONS* = 0x00001000 + CF_NOVECTORFONTS* = 0x00000800 + CF_NOVERTFONTS* = 0x01000000 + CF_PRINTERFONTS* = 0x00000002 + CF_SCALABLEONLY* = 0x00020000 + CF_SCREENFONTS* = 0x00000001 + CF_SCRIPTSONLY* = 0x00000400 + CF_SELECTSCRIPT* = 0x00400000 + CF_SHOWHELP* = 0x00000004 + CF_USESTYLE* = 0x00000080 + CF_WYSIWYG* = 0x00008000 + BOLD_FONTTYPE* = 0x00000100 + ITALIC_FONTTYPE* = 0x00000200 + PRINTER_FONTTYPE* = 0x00004000 + REGULAR_FONTTYPE* = 0x00000400 + SCREEN_FONTTYPE* = 0x00002000 + SIMULATED_FONTTYPE* = 0x00008000 # Common dialog messages + COLOROKSTRINGW* = "commdlg_ColorOK" + FILEOKSTRINGW* = "commdlg_FileNameOK" + FINDMSGSTRINGW* = "commdlg_FindReplace" + HELPMSGSTRINGW* = "commdlg_help" + LBSELCHSTRINGW* = "commdlg_LBSelChangedNotify" + SETRGBSTRINGW* = "commdlg_SetRGBColor" + SHAREVISTRINGW* = "commdlg_ShareViolation" + COLOROKSTRINGA* = "commdlg_ColorOK" + FILEOKSTRINGA* = "commdlg_FileNameOK" + FINDMSGSTRINGA* = "commdlg_FindReplace" + HELPMSGSTRINGA* = "commdlg_help" + LBSELCHSTRINGA* = "commdlg_LBSelChangedNotify" + SETRGBSTRINGA* = "commdlg_SetRGBColor" + SHAREVISTRINGA* = "commdlg_ShareViolation" + +when defined(winUnicode): + const + COLOROKSTRING* = COLOROKSTRINGW + FILEOKSTRING* = FILEOKSTRINGW + FINDMSGSTRING* = FINDMSGSTRINGW + HELPMSGSTRING* = HELPMSGSTRINGW + LBSELCHSTRING* = LBSELCHSTRINGW + SETRGBSTRING* = SETRGBSTRINGW + SHAREVISTRING* = SHAREVISTRINGW +else: + const + COLOROKSTRING* = COLOROKSTRINGA + FILEOKSTRING* = FILEOKSTRINGA + FINDMSGSTRING* = FINDMSGSTRINGA + HELPMSGSTRING* = HELPMSGSTRINGA + LBSELCHSTRING* = LBSELCHSTRINGA + SETRGBSTRING* = SETRGBSTRINGA + SHAREVISTRING* = SHAREVISTRINGA +# LBSELCHSTRING message + +const + CD_LBSELCHANGE* = 0 + CD_LBSELADD* = 2 + CD_LBSELSUB* = 1 + CD_LBSELNOITEMS* = - (1) # DEVNAMES structure + DN_DEFAULTPRN* = 1 # PRINTDLG structure + PD_ALLPAGES* = 0 + PD_COLLATE* = 16 + PD_DISABLEPRINTTOFILE* = 524288 + PD_ENABLEPRINTHOOK* = 4096 + PD_ENABLEPRINTTEMPLATE* = 16384 + PD_ENABLEPRINTTEMPLATEHANDLE* = 65536 + PD_ENABLESETUPHOOK* = 8192 + PD_ENABLESETUPTEMPLATE* = 32768 + PD_ENABLESETUPTEMPLATEHANDLE* = 131072 + PD_HIDEPRINTTOFILE* = 1048576 + PD_NOPAGENUMS* = 8 + PD_NOSELECTION* = 4 + PD_NOWARNING* = 128 + PD_PAGENUMS* = 2 + PD_PRINTSETUP* = 64 + PD_PRINTTOFILE* = 32 + PD_RETURNDC* = 256 + PD_RETURNDEFAULT* = 1024 + PD_RETURNIC* = 512 + PD_SELECTION* = 1 + PD_SHOWHELP* = 2048 + PD_USEDEVMODECOPIES* = 262144 + PD_USEDEVMODECOPIESANDCOLLATE* = 262144 # PAGESETUPDLG structure + PSD_DEFAULTMINMARGINS* = 0 + PSD_DISABLEMARGINS* = 16 + PSD_DISABLEORIENTATION* = 256 + PSD_DISABLEPAGEPAINTING* = 524288 + PSD_DISABLEPAPER* = 512 + PSD_DISABLEPRINTER* = 32 + PSD_ENABLEPAGEPAINTHOOK* = 262144 + PSD_ENABLEPAGESETUPHOOK* = 8192 + PSD_ENABLEPAGESETUPTEMPLATE* = 32768 + PSD_ENABLEPAGESETUPTEMPLATEHANDLE* = 131072 + PSD_INHUNDREDTHSOFMILLIMETERS* = 8 + PSD_INTHOUSANDTHSOFINCHES* = 4 + PSD_INWININIINTLMEASURE* = 0 + PSD_MARGINS* = 2 + PSD_MINMARGINS* = 1 + PSD_NOWARNING* = 128 + PSD_RETURNDEFAULT* = 1024 + PSD_SHOWHELP* = 2048 # WM_SHOWWINDOW message + SW_OTHERUNZOOM* = 4 + SW_OTHERZOOM* = 2 + SW_PARENTCLOSING* = 1 + SW_PARENTOPENING* = 3 # Virtual Key codes + VK_LBUTTON* = 1 + VK_RBUTTON* = 2 + VK_CANCEL* = 3 + VK_MBUTTON* = 4 + VK_BACK* = 8 + VK_TAB* = 9 + VK_CLEAR* = 12 + VK_RETURN* = 13 + VK_SHIFT* = 16 + VK_CONTROL* = 17 + VK_MENU* = 18 + VK_PAUSE* = 19 + VK_CAPITAL* = 20 + VK_ESCAPE* = 27 + VK_SPACE* = 32 + VK_PRIOR* = 33 + VK_NEXT* = 34 + VK_END* = 35 + VK_HOME* = 36 + VK_LEFT* = 37 + VK_UP* = 38 + VK_RIGHT* = 39 + VK_DOWN* = 40 + VK_SELECT* = 41 + VK_PRINT* = 42 + VK_EXECUTE* = 43 + VK_SNAPSHOT* = 44 + VK_INSERT* = 45 + VK_DELETE* = 46 + VK_HELP* = 47 + VK_0* = 48 + VK_1* = 49 + VK_2* = 50 + VK_3* = 51 + VK_4* = 52 + VK_5* = 53 + VK_6* = 54 + VK_7* = 55 + VK_8* = 56 + VK_9* = 57 + VK_A* = 65 + VK_B* = 66 + VK_C* = 67 + VK_D* = 68 + VK_E* = 69 + VK_F* = 70 + VK_G* = 71 + VK_H* = 72 + VK_I* = 73 + VK_J* = 74 + VK_K* = 75 + VK_L* = 76 + VK_M* = 77 + VK_N* = 78 + VK_O* = 79 + VK_P* = 80 + VK_Q* = 81 + VK_R* = 82 + VK_S* = 83 + VK_T* = 84 + VK_U* = 85 + VK_V* = 86 + VK_W* = 87 + VK_X* = 88 + VK_Y* = 89 + VK_Z* = 90 + VK_LWIN* = 91 + VK_RWIN* = 92 + VK_APPS* = 93 + VK_NUMPAD0* = 96 + VK_NUMPAD1* = 97 + VK_NUMPAD2* = 98 + VK_NUMPAD3* = 99 + VK_NUMPAD4* = 100 + VK_NUMPAD5* = 101 + VK_NUMPAD6* = 102 + VK_NUMPAD7* = 103 + VK_NUMPAD8* = 104 + VK_NUMPAD9* = 105 + VK_MULTIPLY* = 106 + VK_ADD* = 107 + VK_SEPARATOR* = 108 + VK_SUBTRACT* = 109 + VK_DECIMAL* = 110 + VK_DIVIDE* = 111 + VK_F1* = 112 + VK_F2* = 113 + VK_F3* = 114 + VK_F4* = 115 + VK_F5* = 116 + VK_F6* = 117 + VK_F7* = 118 + VK_F8* = 119 + VK_F9* = 120 + VK_F10* = 121 + VK_F11* = 122 + VK_F12* = 123 + VK_F13* = 124 + VK_F14* = 125 + VK_F15* = 126 + VK_F16* = 127 + VK_F17* = 128 + VK_F18* = 129 + VK_F19* = 130 + VK_F20* = 131 + VK_F21* = 132 + VK_F22* = 133 + VK_F23* = 134 + VK_F24* = 135 # GetAsyncKeyState + VK_NUMLOCK* = 144 + VK_SCROLL* = 145 + VK_LSHIFT* = 160 + VK_LCONTROL* = 162 + VK_LMENU* = 164 + VK_RSHIFT* = 161 + VK_RCONTROL* = 163 + VK_RMENU* = 165 # ImmGetVirtualKey + VK_PROCESSKEY* = 229 # Keystroke Message Flags + KF_ALTDOWN* = 8192 + KF_DLGMODE* = 2048 + KF_EXTENDED* = 256 + KF_MENUMODE* = 4096 + KF_REPEAT* = 16384 + KF_UP* = 32768 # GetKeyboardLayoutName + KL_NAMELENGTH* = 9 # WM_ACTIVATE message + WA_ACTIVE* = 1 + WA_CLICKACTIVE* = 2 + WA_INACTIVE* = 0 # WM_ACTIVATE message + PWR_CRITICALRESUME* = 3 + PWR_SUSPENDREQUEST* = 1 + PWR_SUSPENDRESUME* = 2 + PWR_FAIL* = - (1) + PWR_OK* = 1 # WM_NOTIFYFORMAT message + NF_QUERY* = 3 + NF_REQUERY* = 4 + NFR_ANSI* = 1 + NFR_UNICODE* = 2 # WM_SIZING message + WMSZ_BOTTOM* = 6 + WMSZ_BOTTOMLEFT* = 7 + WMSZ_BOTTOMRIGHT* = 8 + WMSZ_LEFT* = 1 + WMSZ_RIGHT* = 2 + WMSZ_TOP* = 3 + WMSZ_TOPLEFT* = 4 + WMSZ_TOPRIGHT* = 5 # WM_MOUSEACTIVATE message + MA_ACTIVATE* = 1 + MA_ACTIVATEANDEAT* = 2 + MA_NOACTIVATE* = 3 + MA_NOACTIVATEANDEAT* = 4 # WM_SIZE message + SIZE_MAXHIDE* = 4 + SIZE_MAXIMIZED* = 2 + SIZE_MAXSHOW* = 3 + SIZE_MINIMIZED* = 1 + SIZE_RESTORED* = 0 # WM_NCCALCSIZE message + WVR_ALIGNTOP* = 16 + WVR_ALIGNLEFT* = 32 + WVR_ALIGNBOTTOM* = 64 + WVR_ALIGNRIGHT* = 128 + WVR_HREDRAW* = 256 + WVR_VREDRAW* = 512 + WVR_REDRAW* = 768 + WVR_VALIDRECTS* = 1024 # WM_NCHITTEST message + HTBOTTOM* = 15 + HTBOTTOMLEFT* = 16 + HTBOTTOMRIGHT* = 17 + HTCAPTION* = 2 + HTCLIENT* = 1 + HTERROR* = - (2) + HTGROWBOX* = 4 + HTHSCROLL* = 6 + HTLEFT* = 10 + HTMENU* = 5 + HTNOWHERE* = 0 + HTREDUCE* = 8 + HTRIGHT* = 11 + HTSIZE* = 4 + HTSYSMENU* = 3 + HTTOP* = 12 + HTTOPLEFT* = 13 + HTTOPRIGHT* = 14 + HTTRANSPARENT* = - (1) + HTVSCROLL* = 7 + HTZOOM* = 9 # Mouse messages + MK_CONTROL* = 8 + MK_LBUTTON* = 1 + MK_MBUTTON* = 16 + MK_RBUTTON* = 2 + MK_SHIFT* = 4 # WNDCLASS structure + CS_BYTEALIGNCLIENT* = 4096 + CS_BYTEALIGNWINDOW* = 8192 + CS_CLASSDC* = 64 + CS_DBLCLKS* = 8 + CS_GLOBALCLASS* = 16384 + CS_HREDRAW* = 2 + CS_KEYCVTWINDOW* = 4 + CS_NOCLOSE* = 512 + CS_NOKEYCVT* = 256 + CS_OWNDC* = 32 + CS_PARENTDC* = 128 + CS_SAVEBITS* = 2048 + CS_VREDRAW* = 1 + DLGWINDOWEXTRA* = 30 # ACCEL structure + FALT* = 16 + FCONTROL* = 8 + FNOINVERT* = 2 + FSHIFT* = 4 + FVIRTKEY* = 1 # WM_MENUCHAR return constants + MNC_IGNORE* = 0 + MNC_CLOSE* = 1 + MNC_EXECUTE* = 2 + MNC_SELECT* = 3 # MENUINFO structure + MIM_MAXHEIGHT* = 1 + MIM_BACKGROUND* = 2 + MIM_HELPID* = 4 + MIM_MENUDATA* = 8 + MIM_STYLE* = 16 + MIM_APPLYTOSUBMENUS* = 0x80000000 + MNS_CHECKORBMP* = 0x04000000 + MNS_NOTIFYBYPOS* = 0x08000000 + MNS_AUTODISMISS* = 0x10000000 + MNS_DRAGDROP* = 0x20000000 + MNS_MODELESS* = 0x40000000 + MNS_NOCHECK* = 0x80000000 # MENUITEMINFO structure + MIIM_CHECKMARKS* = 8 + MIIM_DATA* = 32 + MIIM_ID* = 2 + MIIM_STATE* = 1 + MIIM_SUBMENU* = 4 + MIIM_TYPE* = 16 + MIIM_STRING* = 64 + MIIM_BITMAP* = 128 + MIIM_FTYPE* = 256 + MFT_BITMAP* = 0x00000004 + MFT_MENUBARBREAK* = 0x00000020 + MFT_MENUBREAK* = 0x00000040 + MFT_OWNERDRAW* = 0x00000100 + MFT_RADIOCHECK* = 0x00000200 + MFT_RIGHTJUSTIFY* = 0x00004000 + MFT_SEPARATOR* = 0x00000800 + MFT_RIGHTORDER* = 0x00002000 + MFT_STRING* = 0 + MFS_CHECKED* = 0x00000008 + MFS_DEFAULT* = 0x00001000 + MFS_DISABLED* = 0x00000003 + MFS_ENABLED* = 0 + MFS_GRAYED* = 0x00000003 + MFS_HILITE* = 0x00000080 + MFS_UNCHECKED* = 0 + MFS_UNHILITE* = 0 + HBMMENU_CALLBACK* = - 1 + HBMMENU_SYSTEM* = 1 + HBMMENU_MBAR_RESTORE* = 2 + HBMMENU_MBAR_MINIMIZE* = 3 + HBMMENU_MBAR_CLOSE* = 5 + HBMMENU_MBAR_CLOSE_D* = 6 + HBMMENU_MBAR_MINIMIZE_D* = 7 + HBMMENU_POPUP_CLOSE* = 8 + HBMMENU_POPUP_RESTORE* = 9 + HBMMENU_POPUP_MAXIMIZE* = 10 + HBMMENU_POPUP_MINIMIZE* = 11 # SERIALKEYS structure + SERKF_AVAILABLE* = 2 + SERKF_INDICATOR* = 4 + SERKF_SERIALKEYSON* = 1 # FILTERKEYS structure + FKF_AVAILABLE* = 2 + FKF_CLICKON* = 64 + FKF_FILTERKEYSON* = 1 + FKF_HOTKEYACTIVE* = 4 + FKF_HOTKEYSOUND* = 16 + FKF_CONFIRMHOTKEY* = 8 + FKF_INDICATOR* = 32 # HELPINFO structure + HELPINFO_MENUITEM* = 2 + HELPINFO_WINDOW* = 1 # WM_PRINT message + PRF_CHECKVISIBLE* = 0x00000001 + PRF_CHILDREN* = 0x00000010 + PRF_CLIENT* = 0x00000004 + PRF_ERASEBKGND* = 0x00000008 + PRF_NONCLIENT* = 0x00000002 + PRF_OWNED* = 0x00000020 # MapWindowPoints + # was #define dname def_expr + +proc HWND_DESKTOP*(): HWND + # WM_SYSCOMMAND message +const + SC_CLOSE* = 61536 + SC_CONTEXTHELP* = 61824 + SC_DEFAULT* = 61792 + SC_HOTKEY* = 61776 + SC_HSCROLL* = 61568 + SC_KEYMENU* = 61696 + SC_MAXIMIZE* = 61488 + SC_ZOOM* = 61488 + SC_MINIMIZE* = 61472 + SC_ICON* = 61472 + SC_MONITORPOWER* = 61808 + SC_MOUSEMENU* = 61584 + SC_MOVE* = 61456 + SC_NEXTWINDOW* = 61504 + SC_PREVWINDOW* = 61520 + SC_RESTORE* = 61728 + SC_SCREENSAVE* = 61760 + SC_SIZE* = 61440 + SC_TASKLIST* = 61744 + SC_VSCROLL* = 61552 # DM_GETDEFID message + DC_HASDEFID* = 21323 # WM_GETDLGCODE message + DLGC_BUTTON* = 8192 + DLGC_DEFPUSHBUTTON* = 16 + DLGC_HASSETSEL* = 8 + DLGC_RADIOBUTTON* = 64 + DLGC_STATIC* = 256 + DLGC_UNDEFPUSHBUTTON* = 32 + DLGC_WANTALLKEYS* = 4 + DLGC_WANTARROWS* = 1 + DLGC_WANTCHARS* = 128 + DLGC_WANTMESSAGE* = 4 + DLGC_WANTTAB* = 2 # EM_SETMARGINS message + EC_LEFTMARGIN* = 1 + EC_RIGHTMARGIN* = 2 + EC_USEFONTINFO* = 65535 # LB_SETCOUNT message + LB_ERR* = - (1) + LB_ERRSPACE* = - (2) + LB_OKAY* = 0 # CB_DIR message + CB_ERR* = - (1) + CB_ERRSPACE* = - (2) # WM_IME_CONTROL message + IMC_GETCANDIDATEPOS* = 7 + IMC_GETCOMPOSITIONFONT* = 9 + IMC_GETCOMPOSITIONWINDOW* = 11 + IMC_GETSTATUSWINDOWPOS* = 15 + IMC_CLOSESTATUSWINDOW* = 33 + IMC_OPENSTATUSWINDOW* = 34 + IMC_SETCANDIDATEPOS* = 8 + IMC_SETCOMPOSITIONFONT* = 10 + IMC_SETCOMPOSITIONWINDOW* = 12 + IMC_SETSTATUSWINDOWPOS* = 16 # WM_IME_CONTROL message + IMN_CHANGECANDIDATE* = 3 + IMN_CLOSECANDIDATE* = 4 + IMN_CLOSESTATUSWINDOW* = 1 + IMN_GUIDELINE* = 13 + IMN_OPENCANDIDATE* = 5 + IMN_OPENSTATUSWINDOW* = 2 + IMN_SETCANDIDATEPOS* = 9 + IMN_SETCOMPOSITIONFONT* = 10 + IMN_SETCOMPOSITIONWINDOW* = 11 + IMN_SETCONVERSIONMODE* = 6 + IMN_SETOPENSTATUS* = 8 + IMN_SETSENTENCEMODE* = 7 + IMN_SETSTATUSWINDOWPOS* = 12 + IMN_PRIVATE* = 14 # STICKYKEYS structure + SKF_AUDIBLEFEEDBACK* = 64 + SKF_AVAILABLE* = 2 + SKF_CONFIRMHOTKEY* = 8 + SKF_HOTKEYACTIVE* = 4 + SKF_HOTKEYSOUND* = 16 + SKF_INDICATOR* = 32 + SKF_STICKYKEYSON* = 1 + SKF_TRISTATE* = 128 + SKF_TWOKEYSOFF* = 256 # MOUSEKEYS structure + MKF_AVAILABLE* = 2 + MKF_CONFIRMHOTKEY* = 8 + MKF_HOTKEYACTIVE* = 4 + MKF_HOTKEYSOUND* = 16 + MKF_INDICATOR* = 32 + MKF_MOUSEKEYSON* = 1 + MKF_MODIFIERS* = 64 + MKF_REPLACENUMBERS* = 128 # SOUNDSENTRY structure + SSF_AVAILABLE* = 2 + SSF_SOUNDSENTRYON* = 1 + SSTF_BORDER* = 2 + SSTF_CHARS* = 1 + SSTF_DISPLAY* = 3 + SSTF_NONE* = 0 + SSGF_DISPLAY* = 3 + SSGF_NONE* = 0 + SSWF_CUSTOM* = 4 + SSWF_DISPLAY* = 3 + SSWF_NONE* = 0 + SSWF_TITLE* = 1 + SSWF_WINDOW* = 2 # ACCESSTIMEOUT structure + ATF_ONOFFFEEDBACK* = 2 + ATF_TIMEOUTON* = 1 # HIGHCONTRAST structure + HCF_AVAILABLE* = 2 + HCF_CONFIRMHOTKEY* = 8 + HCF_HIGHCONTRASTON* = 1 + HCF_HOTKEYACTIVE* = 4 + HCF_HOTKEYAVAILABLE* = 64 + HCF_HOTKEYSOUND* = 16 + HCF_INDICATOR* = 32 # TOGGLEKEYS structure + TKF_AVAILABLE* = 2 + TKF_CONFIRMHOTKEY* = 8 + TKF_HOTKEYACTIVE* = 4 + TKF_HOTKEYSOUND* = 16 + TKF_TOGGLEKEYSON* = 1 # Installable Policy + PP_DISPLAYERRORS* = 1 # SERVICE_INFO structure + RESOURCEDISPLAYTYPE_DOMAIN* = 1 + RESOURCEDISPLAYTYPE_FILE* = 4 + RESOURCEDISPLAYTYPE_GENERIC* = 0 + RESOURCEDISPLAYTYPE_GROUP* = 5 + RESOURCEDISPLAYTYPE_SERVER* = 2 + RESOURCEDISPLAYTYPE_SHARE* = 3 # KEY_EVENT_RECORD structure + CAPSLOCK_ON* = 128 + ENHANCED_KEY* = 256 + LEFT_ALT_PRESSED* = 2 + LEFT_CTRL_PRESSED* = 8 + NUMLOCK_ON* = 32 + RIGHT_ALT_PRESSED* = 1 + RIGHT_CTRL_PRESSED* = 4 + SCROLLLOCK_ON* = 64 + SHIFT_PRESSED* = 16 # MOUSE_EVENT_RECORD structure + FROM_LEFT_1ST_BUTTON_PRESSED* = 1 + RIGHTMOST_BUTTON_PRESSED* = 2 + FROM_LEFT_2ND_BUTTON_PRESSED* = 4 + FROM_LEFT_3RD_BUTTON_PRESSED* = 8 + FROM_LEFT_4TH_BUTTON_PRESSED* = 16 + DOUBLE_CLICK* = 2 + MOUSE_MOVED* = 1 # INPUT_RECORD structure + KEY_EVENT* = 1 + cMOUSE_EVENT* = 2 + WINDOW_BUFFER_SIZE_EVENT* = 4 + MENU_EVENT* = 8 + FOCUS_EVENT* = 16 # BITMAPINFOHEADER structure + BI_RGB* = 0 + BI_RLE8* = 1 + BI_RLE4* = 2 + BI_BITFIELDS* = 3 # Extensions to OpenGL + # ChoosePixelFormat + PFD_DOUBLEBUFFER* = 0x00000001 + PFD_STEREO* = 0x00000002 + PFD_DRAW_TO_WINDOW* = 0x00000004 + PFD_DRAW_TO_BITMAP* = 0x00000008 + PFD_SUPPORT_GDI* = 0x00000010 + PFD_SUPPORT_OPENGL* = 0x00000020 + PFD_DEPTH_DONTCARE* = 0x20000000 + PFD_DOUBLEBUFFER_DONTCARE* = 0x40000000 + PFD_STEREO_DONTCARE* = 0x80000000 + PFD_TYPE_RGBA* = 0 + PFD_TYPE_COLORINDEX* = 1 + PFD_MAIN_PLANE* = 0 + PFD_OVERLAY_PLANE* = 1 + PFD_UNDERLAY_PLANE* = - (1) # wglUseFontOutlines + WGL_FONT_LINES* = 0 + WGL_FONT_POLYGONS* = 1 # LAYERPLANEDESCRIPTOR structure + # PIXELFORMATDESCRIPTOR structure + PFD_GENERIC_FORMAT* = 0x00000040 + PFD_NEED_PALETTE* = 0x00000080 + PFD_NEED_SYSTEM_PALETTE* = 0x00000100 + PFD_SWAP_EXCHANGE* = 0x00000200 + PFD_SWAP_COPY* = 0x00000400 + PFD_SWAP_LAYER_BUFFERS* = 0x00000800 + PFD_GENERIC_ACCELERATED* = 0x00001000 + PFD_SUPPORT_DIRECTDRAW* = 0x00002000 # TEXTMETRIC structure + TMPF_FIXED_PITCH* = 0x00000001 + TMPF_VECTOR* = 0x00000002 + TMPF_TRUETYPE* = 0x00000004 + TMPF_DEVICE* = 0x00000008 + WM_CTLCOLOR* = 25 + LWA_COLORKEY* = 0x00000001 + LWA_ALPHA* = 0x00000002 + ULW_COLORKEY* = 0x00000001 + ULW_ALPHA* = 0x00000002 + ULW_OPAQUE* = 0x00000004 + WS_EX_LAYERED* = 0x00080000 + WS_EX_NOINHERITLAYOUT* = 0x00100000 + WS_EX_LAYOUTRTL* = 0x00400000 + WS_EX_COMPOSITED* = 0x02000000 + WS_EX_NOACTIVATE* = 0x08000000 + C3_LEXICAL* = 1024 # --------------------- old stuff, need to organize! --------------- + # BEGINNING of windowsx.h stuff from old headers: + # Not convertable by H2PAS + # #define CRACK_VOID_F(fn,args) (void)(fn args) + # #define CRACK_BOOL_F(fn,args) (WINBOOL)(fn args) + # #define CRACK_HMENU_F(fn,args) (HMENU)(fn args) + # #define CRACK_HWND_F(fn,args) (HWND)(fn args) + # #define CRACK_LONG_F(fn, args) (LRESULT)(fn args) + # #define CRACK_ZERO_F(fn, args) (fn args,0) + # + # was #define dname(params) def_expr + +proc GetFirstChild*(h: HWND): HWND + # was #define dname(params) def_expr +proc GetNextSibling*(h: HWND): HWND + # was #define dname(params) def_expr +proc GetWindowID*(h: HWND): int32 + # was #define dname(params) def_expr +proc SubclassWindow*(h: HWND, p: LONG): LONG + # was #define dname(params) def_expr + # argument types are unknown + # return type might be wrong +proc GET_WM_COMMAND_CMD*(w, L: int32): int32 + # return type might be wrong + # was #define dname(params) def_expr + # argument types are unknown + # return type might be wrong +proc GET_WM_COMMAND_ID*(w, L: int32): int32 + # return type might be wrong + # was #define dname(params) def_expr + # argument types are unknown +proc GET_WM_CTLCOLOR_HDC*(w, L, msg: int32): HDC + # was #define dname(params) def_expr + # argument types are unknown +proc GET_WM_CTLCOLOR_HWND*(w, L, msg: int32): HWND + # was #define dname(params) def_expr + # argument types are unknown + # return type might be wrong +proc GET_WM_HSCROLL_CODE*(w, L: int32): int32 + # return type might be wrong + # was #define dname(params) def_expr + # argument types are unknown +proc GET_WM_HSCROLL_HWND*(w, L: int32): HWND + # was #define dname(params) def_expr + # argument types are unknown + # return type might be wrong +proc GET_WM_HSCROLL_POS*(w, L: int32): int32 + # return type might be wrong + # was #define dname(params) def_expr + # argument types are unknown + # return type might be wrong +proc GET_WM_MDIACTIVATE_FACTIVATE*(h, a, b: int32): int32 + # return type might be wrong + # was #define dname(params) def_expr + # argument types are unknown +proc GET_WM_MDIACTIVATE_HWNDACTIVATE*(a, b: int32): HWND + # was #define dname(params) def_expr + # argument types are unknown +proc GET_WM_MDIACTIVATE_HWNDDEACT*(a, b: int32): HWND + # was #define dname(params) def_expr + # argument types are unknown + # return type might be wrong +proc GET_WM_VSCROLL_CODE*(w, L: int32): int32 + # return type might be wrong + # was #define dname(params) def_expr + # argument types are unknown +proc GET_WM_VSCROLL_HWND*(w, L: int32): HWND + # was #define dname(params) def_expr + # argument types are unknown + # return type might be wrong +proc GET_WM_VSCROLL_POS*(w, L: int32): int32 + # return type might be wrong + # Not convertable by H2PAS + # #define FORWARD_WM_CLOSE(h, fn) CRACK_VOID_F(fn,(h, WM_CLOSE, 0, 0)) + # #define FORWARD_WM_COMMAND(h, id, c, n, fn) CRACK_VOID_F(fn,(h, WM_COMMAND, MAKEWPARAM(id,n), (LPARAM)c)) + # #define FORWARD_WM_CREATE(h, p, fn) CRACK_BOOL_F(fn,(h, WM_CREATE, 0, (LPARAM)p)) + # #define FORWARD_WM_DESTROY(h, fn) CRACK_VOID_F(fn,(h, WM_DESTROY, 0, 0)) + # #define FORWARD_WM_ENABLE(h, e, fn) CRACK_VOID_F(fn,(h, WM_ENABLE, (WPARAM)e, 0)) + # #define FORWARD_WM_INITDIALOG(h, c, L, fn) CRACK_BOOL_F(fn,(h, WM_INITDIALOG, (WPARAM)c, L)) + # #define FORWARD_WM_MDICASCADE(h, c, fn) CRACK_BOOL_F(fn,(h, WM_MDICASCADE, (WPARAM)c, 0)) + # #define FORWARD_WM_MDIDESTROY(h, d, fn) CRACK_VOID_F(fn,(h, WM_MDIDESTROY, (WPARAM)d, 0)) + # #define FORWARD_WM_MDIGETACTIVE(h, fn) CRACK_HWND_F(fn,(h, WM_MDIGETACTIVE, 0, 0)) + # #define FORWARD_WM_MDIICONARRANGE(h, fn) CRACK_VOID_F(fn,(h, WM_MDIICONARRANGE, 0, 0)) + # #define FORWARD_WM_MDISETMENU(h, fr, hf, hw, fn) CRACK_HMENU_F(fn,(h, WM_MDISETMENU, (WPARAM)((fr) ? (hf) : 0), (LPARAM)(hw))) + # #define FORWARD_WM_MDITILE(h, c, fn) CRACK_BOOL_F(fn,(h, WM_MDITILE, (WPARAM)(c), 0)) + # #define FORWARD_WM_PAINT(h, fn) CRACK_VOID_F(fn,(h, WM_PAINT, 0, 0)) + # #define FORWARD_WM_QUERYENDSESSION(h, fn) CRACK_BOOL_F(fn,(h, WM_QUERYENDSESSION, 0, 0)) + # #define FORWARD_WM_SIZE(h, state, cx, cy, fn) CRACK_VOID_F(fn,(h, WM_SIZE, (WPARAM)state, MAKELPARAM(cx, cy))) + # #define FORWARD_WM_SYSCOMMAND(h, c, x, y, fn) CRACK_VOID_F(fn,(h, WM_SYSCOMMAND, (WPARAM)c, MAKELPARAM(x, y))) + # + # #define HANDLE_WM_CLOSE(h, w, L, fn) CRACK_ZERO_F(fn,(h)); + # #define HANDLE_WM_COMMAND(h, w, L, fn) CRACK_ZERO_F(fn,(h, SEXT_LOWORD(w), (HWND)L, HIWORD(w))) + # #define HANDLE_WM_CREATE(h, w, L, fn) (LRESULT)((fn(h, (CREATESTRUCT )L)) ? 0 : -1) + # #define HANDLE_WM_DESTROY(h, w, L, fn) CRACK_ZERO_F(fn,(h)) + # #define HANDLE_WM_ENABLE(h, w, L, fn) CRACK_ZERO_F(fn,(h, (WINBOOL)w)) + # #define HANDLE_WM_INITDIALOG(h, w, L, fn) CRACK_LONG_F(fn,(h, (HWND)w, L)) + # #define HANDLE_WM_MDICASCADE(h, w, L, fn) CRACK_LONG_F(fn, (h, (UINT)w) + # #define HANDLE_WM_MDIDESTROY(h, w, L, fn) CRACK_ZERO_F(fn,(h, (HWND)w)) + # #define HANDLE_WM_MDIGETACTIVE(h, w, L, fn) CRACK_LONG_F(fn,(h)) + # #define HANDLE_WM_MDIICONARRANGE(h, w, L, fn) CRACK_ZERO_F(fn,(h)) + # #define HANDLE_WM_MDISETMENU(h, w, L, fn) CRACK_LONG_F(fn,(h, (WINBOOL)w, (HMENU)w, (HMENU)L) + # #define HANDLE_WM_MDITILE(h, w, L, fn) CRACK_LONG_F(fn,(h, (UINT)w)) + # #define HANDLE_WM_PAINT(h, w, L, fn) CRACK_ZERO_F(fn,(h)) + # #define HANDLE_WM_QUERYENDSESSION(h, w, L, fn) MAKELRESULT(fn(h), 0) + # #define HANDLE_WM_SIZE(h, w, L, fn) CRACK_ZERO_F(fn,(h, (UINT)w, SEXT_LOWORD(L), SEXT_HIWORD(L))) + # #define HANDLE_WM_SYSCOMMAND(h, w, L, fn) CRACK_ZERO_F(fn,(h, (UINT)w, SEXT_LOWORD(L), SEXT_HIWORD(L))) + # + # Totally disgusting! get wParam and lParam from the environment ! + # Not convertable by H2PAS + # #define HANDLE_MSG(h, message, fn) case message: return HANDLE_##message(h, wParam, lParam, fn) + # + # END OF windowsx.h stuff from old headers + # ------------------------------------------------------------------ + # BEGINNING of shellapi.h stuff from old headers +const + SE_ERR_SHARE* = 26 + SE_ERR_ASSOCINCOMPLETE* = 27 + SE_ERR_DDETIMEOUT* = 28 + SE_ERR_DDEFAIL* = 29 + SE_ERR_DDEBUSY* = 30 + SE_ERR_NOASSOC* = 31 # END OF shellapi.h stuff from old headers + # + # ------------------------------------------------------------------ + # From ddeml.h in old Cygnus headers + XCLASS_BOOL* = 0x00001000 + XCLASS_DATA* = 0x00002000 + XCLASS_FLAGS* = 0x00004000 + XCLASS_MASK* = 0x0000FC00 + XCLASS_NOTIFICATION* = 0x00008000 + XTYPF_NOBLOCK* = 0x00000002 + XTYP_ADVDATA* = 0x00004010 + XTYP_ADVREQ* = 0x00002022 + XTYP_ADVSTART* = 0x00001030 + XTYP_ADVSTOP* = 0x00008040 + XTYP_CONNECT* = 0x00001062 + XTYP_CONNECT_CONFIRM* = 0x00008072 + XTYP_DISCONNECT* = 0x000080C2 + XTYP_EXECUTE* = 0x00004050 + XTYP_POKE* = 0x00004090 + XTYP_REQUEST* = 0x000020B0 + XTYP_WILDCONNECT* = 0x000020E2 + XTYP_REGISTER* = 0x000080A2 + XTYP_ERROR* = 0x00008002 + XTYP_XACT_COMPLETE* = 0x00008080 + XTYP_UNREGISTER* = 0x000080D2 + DMLERR_DLL_USAGE* = 0x00004004 + DMLERR_INVALIDPARAMETER* = 0x00004006 + DMLERR_NOTPROCESSED* = 0x00004009 + DMLERR_POSTMSG_FAILED* = 0x0000400C + DMLERR_SERVER_DIED* = 0x0000400E + DMLERR_SYS_ERROR* = 0x0000400F + DMLERR_BUSY* = 0x00004001 + DMLERR_DATAACKTIMEOUT* = 0x00004002 + DMLERR_ADVACKTIMEOUT* = 0x00004000 + DMLERR_DLL_NOT_INITIALIZED* = 0x00004003 + DMLERR_LOW_MEMORY* = 0x00004007 + DMLERR_MEMORY_ERROR* = 0x00004008 + DMLERR_POKEACKTIMEOUT* = 0x0000400B + DMLERR_NO_CONV_ESTABLISHED* = 0x0000400A + DMLERR_REENTRANCY* = 0x0000400D + DMLERR_UNFOUND_QUEUE_ID* = 0x00004011 + DMLERR_UNADVACKTIMEOUT* = 0x00004010 + DMLERR_EXECACKTIMEOUT* = 0x00004005 + DDE_FACK* = 0x00008000 + DDE_FNOTPROCESSED* = 0x00000000 + DNS_REGISTER* = 0x00000001 + DNS_UNREGISTER* = 0x00000002 + CP_WINANSI* = 1004 + CP_WINUNICODE* = 1200 # Not convertable by H2PAS + # #define EXPENTRY CALLBACK + # + APPCLASS_STANDARD* = 0x00000000 # End of stuff from ddeml.h in old Cygnus headers + # + # ----------------------------------------------- + BKMODE_LAST* = 2 + CTLCOLOR_MSGBOX* = 0 + CTLCOLOR_EDIT* = 1 + CTLCOLOR_LISTBOX* = 2 + CTLCOLOR_BTN* = 3 + CTLCOLOR_DLG* = 4 + CTLCOLOR_SCROLLBAR* = 5 + CTLCOLOR_STATIC* = 6 + CTLCOLOR_MAX* = 7 + META_SETMAPMODE* = 0x00000103 + META_SETWINDOWORG* = 0x0000020B + META_SETWINDOWEXT* = 0x0000020C + POLYFILL_LAST* = 2 + STATUS_WAIT_0* = 0x00000000 + STATUS_ABANDONED_WAIT_0* = 0x00000080 + STATUS_USER_APC* = 0x000000C0 + STATUS_TIMEOUT* = 0x00000102 + STATUS_PENDING* = 0x00000103 + STATUS_GUARD_PAGE_VIOLATION* = 0x80000001 + STATUS_DATATYPE_MISALIGNMENT* = 0x80000002 + STATUS_BREAKPOINT* = 0x80000003 + STATUS_SINGLE_STEP* = 0x80000004 + STATUS_IN_PAGE_ERROR* = 0xC0000006 + STATUS_INVALID_HANDLE* = 0xC0000008 + 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 + PROCESSOR_ARCHITECTURE_INTEL* = 0 + PROCESSOR_ARCHITECTURE_MIPS* = 1 + PROCESSOR_ARCHITECTURE_ALPHA* = 2 + PROCESSOR_ARCHITECTURE_PPC* = 3 + +# was #define dname(params) def_expr + +proc FreeModule*(h: HINST): WINBOOL + # was #define dname(params) def_expr + # argument types are unknown + # return type might be wrong +proc MakeProcInstance*(p, i: int32): int32 + # return type might be wrong + # was #define dname(params) def_expr + # argument types are unknown + # return type might be wrong +proc FreeProcInstance*(p: int32): int32 + # return type might be wrong +const # _fmemcpy = memcpy; these are functions + # Used by wxwindows. + SIZEFULLSCREEN* = SIZE_MAXIMIZED + SIZENORMAL* = SIZE_RESTORED + SIZEICONIC* = SIZE_MINIMIZED # NPLOGPALETTE = PLOGPALETTE; probably a type + # In the old winnt.h + # Not convertable by H2PAS anyhow with if 0 + # #if 0 + # #ifdef ANAL + # #define DECLARE_HANDLE(h) struct h## { int dummy; }; typedef struct h## h + # #else + # #define DECLARE_HANDLE(h) typedef void h + # #endif + # DECLARE_HANDLE(HANDLE); + # #endif + # + +const + EXCEPTION_READ_FAULT* = 0 # Access violation was caused by a read + EXCEPTION_WRITE_FAULT* = 1 # Access violation was caused by a write + +when defined(cpuia64): + const + EXCEPTION_EXECUTE_FAULT* = 2 # Access violation was caused by an instruction fetch +else: + const + EXCEPTION_EXECUTE_FAULT* = 8 +when defined(cpupowerpc32): + # ppc + const + CONTEXT_CONTROL* = 1 + CONTEXT_FLOATING_POINT* = 2 + CONTEXT_INTEGER* = 4 + CONTEXT_DEBUG_REGISTERS* = 8 + CONTEXT_FULL* = (CONTEXT_CONTROL or CONTEXT_FLOATING_POINT) or + CONTEXT_INTEGER + CONTEXT_DEBUGGER* = CONTEXT_FULL +when defined(cpui386): + # x86 + # The doc refered me to winnt.h, so I had to look... + const + SIZE_OF_80387_REGISTERS* = 80 # Values for contextflags + CONTEXT_i386* = 0x00010000 # this assumes that i386 and + CONTEXT_i486* = 0x00010000 # i486 have identical context records + CONTEXT_CONTROL* = CONTEXT_i386 or 1 # SS:SP, CS:IP, FLAGS, BP + CONTEXT_INTEGER* = CONTEXT_i386 or 2 # AX, BX, CX, DX, SI, DI + CONTEXT_SEGMENTS* = CONTEXT_i386 or 4 # DS, ES, FS, GS + CONTEXT_FLOATING_POINT* = CONTEXT_i386 or 8 # 387 state + CONTEXT_DEBUG_REGISTERS* = CONTEXT_i386 or 0x00000010 # DB 0-3,6,7 + CONTEXT_EXTENDED_REGISTERS* = CONTEXT_i386 or 0x00000020 # cpu specific extensions + CONTEXT_FULL* = (CONTEXT_CONTROL or CONTEXT_INTEGER) or CONTEXT_SEGMENTS + CONTEXT_ALL* = CONTEXT_FULL or CONTEXT_FLOATING_POINT or + CONTEXT_DEBUG_REGISTERS or CONTEXT_EXTENDED_REGISTERS # our own invention + FLAG_TRACE_BIT* = 0x00000100 + CONTEXT_DEBUGGER* = CONTEXT_FULL or CONTEXT_FLOATING_POINT +when defined(cpux86_64): + const + INITIAL_MXCSR* = 0x00001F80 # initial MXCSR value + INITIAL_FPCSR* = 0x0000027F # initial FPCSR value + CONTEXT_AMD64* = 0x00100000 + CONTEXT_CONTROL* = (CONTEXT_AMD64 or 0x00000001) + CONTEXT_INTEGER* = (CONTEXT_AMD64 or 0x00000002) + CONTEXT_SEGMENTS* = (CONTEXT_AMD64 or 0x00000004) + CONTEXT_FLOATING_POINT* = (CONTEXT_AMD64 or 0x00000008) + CONTEXT_DEBUG_REGISTERS* = (CONTEXT_AMD64 or 0x00000010) + CONTEXT_FULL* = ( + CONTEXT_CONTROL or CONTEXT_INTEGER or CONTEXT_FLOATING_POINT) + CONTEXT_ALL* = (CONTEXT_CONTROL or CONTEXT_INTEGER or CONTEXT_SEGMENTS or + CONTEXT_FLOATING_POINT or CONTEXT_DEBUG_REGISTERS) + CONTEXT_EXCEPTION_ACTIVE* = 0x08000000 + CONTEXT_SERVICE_ACTIVE* = 0x10000000 + CONTEXT_EXCEPTION_REQUEST* = 0x40000000 + CONTEXT_EXCEPTION_REPORTING* = 0x80000000 +const + FILTER_TEMP_DUPLICATE_ACCOUNT* = 0x00000001 + FILTER_NORMAL_ACCOUNT* = 0x00000002 + FILTER_INTERDOMAIN_TRUST_ACCOUNT* = 0x00000008 + FILTER_WORKSTATION_TRUST_ACCOUNT* = 0x00000010 + FILTER_SERVER_TRUST_ACCOUNT* = 0x00000020 + LOGON32_LOGON_INTERACTIVE* = 0x00000002 + LOGON32_LOGON_BATCH* = 0x00000004 + LOGON32_LOGON_SERVICE* = 0x00000005 + LOGON32_PROVIDER_DEFAULT* = 0x00000000 + LOGON32_PROVIDER_WINNT35* = 0x00000001 + QID_SYNC* = 0xFFFFFFFF # Magic numbers in PE executable header. + # e_magic field + IMAGE_DOS_SIGNATURE* = 0x00005A4D # nt_signature field + IMAGE_NT_SIGNATURE* = 0x00004550 # Severity values + SEVERITY_SUCCESS* = 0 + SEVERITY_ERROR* = 1 # Variant type codes (wtypes.h). + # Some, not all though + VT_EMPTY* = 0 + VT_NULL* = 1 + VT_I2* = 2 + VT_I4* = 3 + VT_R4* = 4 + VT_R8* = 5 + VT_BSTR* = 8 + VT_ERROR* = 10 + VT_BOOL* = 11 + VT_UI1* = 17 + VT_BYREF* = 0x00004000 + VT_RESERVED* = 0x00008000 # Define the facility codes + +const + FACILITY_WINDOWS* = 8 + FACILITY_STORAGE* = 3 + FACILITY_RPC* = 1 + FACILITY_SSPI* = 9 + FACILITY_WIN32* = 7 + FACILITY_CONTROL* = 10 + FACILITY_NULL* = 0 + FACILITY_INTERNET* = 12 + FACILITY_ITF* = 4 + FACILITY_DISPATCH* = 2 + FACILITY_CERT* = 11 # Manually added, bug 2672 + ICON_SMALL* = 0 + ICON_BIG* = 1 # For the TRackMouseEvent + TME_HOVER* = 0x00000001 + TME_LEAVE* = 0x00000002 + TME_QUERY* = 0x40000000 + TME_CANCEL* = DWORD(0x80000000) + HOVER_DEFAULT* = DWORD(0xFFFFFFFF) # Manually added, bug 3270 + COLOR_HOTLIGHT* = 26 + COLOR_GRADIENTACTIVECAPTION* = 27 + COLOR_GRADIENTINACTIVECAPTION* = 28 + COLOR_MENUHILIGHT* = 29 + COLOR_MENUBAR* = 30 + WM_APP* = 0x00008000 + SYSRGN* = 4 + UIS_SET* = 1 + UIS_CLEAR* = 2 + UIS_INITIALIZE* = 3 + UISF_HIDEFOCUS* = 0x00000001 + UISF_HIDEACCEL* = 0x00000002 + UISF_ACTIVE* = 0x00000004 + +type # WARNING + # the variable argument list + # is not implemented for FPC + # va_list is just a dummy record + # MvdV: Nevertheless it should be a pointer type, not a record + va_list* = cstring + ABC* = record + abcA*: int32 + abcB*: UINT + abcC*: int32 + + LPABC* = ptr ABC + TABC* = ABC + PABC* = ptr ABC + ABCFLOAT* = record + abcfA*: float32 + abcfB*: float32 + abcfC*: float32 + + LPABCFLOAT* = ptr ABCFLOAT + TABCFLOAT* = ABCFLOAT + PABCFLOAT* = ptr ABCFLOAT + ACCEL* = record + fVirt*: int8 + key*: int16 + cmd*: int16 + + LPACCEL* = ptr ACCEL + TACCEL* = ACCEL + PACCEL* = ptr ACCEL + ACE_HEADER* = record + AceType*: int8 + AceFlags*: int8 + AceSize*: int16 + + TACE_HEADER* = ACE_HEADER + PACE_HEADER* = ptr ACE_HEADER + ACCESS_MASK* = DWORD + REGSAM* = ACCESS_MASK + ACCESS_ALLOWED_ACE* = record + Header*: ACE_HEADER + Mask*: ACCESS_MASK + SidStart*: DWORD + + TACCESS_ALLOWED_ACE* = ACCESS_ALLOWED_ACE + PACCESS_ALLOWED_ACE* = ptr ACCESS_ALLOWED_ACE + ACCESS_DENIED_ACE* = record + Header*: ACE_HEADER + Mask*: ACCESS_MASK + SidStart*: DWORD + + TACCESS_DENIED_ACE* = ACCESS_DENIED_ACE + ACCESSTIMEOUT* = record + cbSize*: UINT + dwFlags*: DWORD + iTimeOutMSec*: DWORD + + TACCESSTIMEOUT* = ACCESSTIMEOUT + PACCESSTIMEOUT* = ptr ACCESSTIMEOUT + ACL* = record + AclRevision*: int8 + Sbz1*: int8 + AclSize*: int16 + AceCount*: int16 + Sbz2*: int16 + + PACL* = ptr ACL + TACL* = ACL + TACL_REVISION_INFORMATION* = record + AclRevision*: DWORD + PACLREVISIONINFORMATION* = ptr TACL_REVISION_INFORMATION + + TACL_SIZE_INFORMATION* = record + AceCount*: DWORD + AclBytesInUse*: DWORD + AclBytesFree*: DWORD + PACLSIZEINFORMATION* = ptr TACL_SIZE_INFORMATION + ACTION_HEADER* = record + transport_id*: ULONG + action_code*: USHORT + reserved*: USHORT + + TACTIONHEADER* = ACTION_HEADER + PACTIONHEADER* = ptr ACTION_HEADER + ADAPTER_STATUS* = record + adapter_address*: array[0..5, UCHAR] + rev_major*: UCHAR + reserved0*: UCHAR + adapter_type*: UCHAR + rev_minor*: UCHAR + duration*: int16 + frmr_recv*: int16 + frmr_xmit*: int16 + iframe_recv_err*: int16 + xmit_aborts*: int16 + xmit_success*: DWORD + recv_success*: DWORD + iframe_xmit_err*: int16 + recv_buff_unavail*: int16 + t1_timeouts*: int16 + ti_timeouts*: int16 + reserved1*: DWORD + free_ncbs*: int16 + max_cfg_ncbs*: int16 + max_ncbs*: int16 + xmit_buf_unavail*: int16 + max_dgram_size*: int16 + pending_sess*: int16 + max_cfg_sess*: int16 + max_sess*: int16 + max_sess_pkt_size*: int16 + name_count*: int16 + + TADAPTERSTATUS* = ADAPTER_STATUS + PADAPTERSTATUS* = ptr ADAPTER_STATUS + ADDJOB_INFO_1* = record + Path*: LPTSTR + JobId*: DWORD + + TADDJOB_INFO_1* = ADDJOB_INFO_1 + PADDJOB_INFO_1* = ptr ADDJOB_INFO_1 + ANIMATIONINFO* = record + cbSize*: UINT + iMinAnimate*: int32 + + LPANIMATIONINFO* = ptr ANIMATIONINFO + TANIMATIONINFO* = ANIMATIONINFO + PANIMATIONINFO* = ptr ANIMATIONINFO + POINT* = record + x*: LONG + y*: LONG + + LPPOINT* = ptr POINT + TPOINT* = POINT + PPOINT* = ptr POINT + RECT* = record + TopLeft*, BottomRight*: TPoint + + LPRECT* = ptr RECT + TRECT* = RECT + PRECT* = ptr RECT + RECTL* = record + left*: LONG + top*: LONG + right*: LONG + bottom*: LONG + + TRECTL* = RECTL + PRECTL* = ptr RECTL + APPBARDATA* = record + cbSize*: DWORD + hWnd*: HWND + uCallbackMessage*: UINT + uEdge*: UINT + rc*: RECT + lParam*: LPARAM + + TAppBarData* = APPBARDATA + PAppBarData* = ptr APPBARDATA + BITMAP* = record + bmType*: LONG + bmWidth*: LONG + bmHeight*: LONG + bmWidthBytes*: LONG + bmPlanes*: int16 + bmBitsPixel*: int16 + bmBits*: LPVOID + + PBITMAP* = ptr BITMAP + NPBITMAP* = ptr BITMAP + LPBITMAP* = ptr BITMAP + tagBITMAP* = BITMAP + TBITMAP* = BITMAP + BITMAPCOREHEADER* = record + bcSize*: DWORD + bcWidth*: int16 + bcHeight*: int16 + bcPlanes*: int16 + bcBitCount*: int16 + + TBITMAPCOREHEADER* = BITMAPCOREHEADER + PBITMAPCOREHEADER* = ptr BITMAPCOREHEADER + RGBTRIPLE* = record + rgbtBlue*: int8 + rgbtGreen*: int8 + rgbtRed*: int8 + + TRGBTRIPLE* = RGBTRIPLE + PRGBTRIPLE* = ptr RGBTRIPLE + BITMAPCOREINFO* = record + bmciHeader*: BITMAPCOREHEADER + bmciColors*: array[0..0, RGBTRIPLE] + + PBITMAPCOREINFO* = ptr BITMAPCOREINFO + LPBITMAPCOREINFO* = ptr BITMAPCOREINFO + TBITMAPCOREINFO* = BITMAPCOREINFO # error + # WORD bfReserved1; + # WORD bfReserved2; + # in declarator_list + BITMAPINFOHEADER* = record + biSize*: DWORD + biWidth*: LONG + biHeight*: LONG + biPlanes*: int16 + biBitCount*: int16 + biCompression*: DWORD + biSizeImage*: DWORD + biXPelsPerMeter*: LONG + biYPelsPerMeter*: LONG + biClrUsed*: DWORD + biClrImportant*: DWORD + + LPBITMAPINFOHEADER* = ptr BITMAPINFOHEADER + TBITMAPINFOHEADER* = BITMAPINFOHEADER + PBITMAPINFOHEADER* = ptr BITMAPINFOHEADER + RGBQUAD* = record + rgbBlue*: int8 + rgbGreen*: int8 + rgbRed*: int8 + rgbReserved*: int8 + + tagRGBQUAD* = RGBQUAD + TRGBQUAD* = RGBQUAD + PRGBQUAD* = ptr RGBQUAD + BITMAPINFO* = record + bmiHeader*: BITMAPINFOHEADER + bmiColors*: array[0..0, RGBQUAD] + + LPBITMAPINFO* = ptr BITMAPINFO + PBITMAPINFO* = ptr BITMAPINFO + TBITMAPINFO* = BITMAPINFO + FXPT2DOT30* = int32 + LPFXPT2DOT30* = ptr FXPT2DOT30 + TPFXPT2DOT30* = FXPT2DOT30 + PPFXPT2DOT30* = ptr FXPT2DOT30 + CIEXYZ* = record + ciexyzX*: FXPT2DOT30 + ciexyzY*: FXPT2DOT30 + ciexyzZ*: FXPT2DOT30 + + tagCIEXYZ* = CIEXYZ + LPCIEXYZ* = ptr CIEXYZ + TPCIEXYZ* = CIEXYZ + PCIEXYZ* = ptr CIEXYZ + CIEXYZTRIPLE* = record + ciexyzRed*: CIEXYZ + ciexyzGreen*: CIEXYZ + ciexyzBlue*: CIEXYZ + + tagCIEXYZTRIPLE* = CIEXYZTRIPLE + LPCIEXYZTRIPLE* = ptr CIEXYZTRIPLE + TCIEXYZTRIPLE* = CIEXYZTRIPLE + PCIEXYZTRIPLE* = ptr CIEXYZTRIPLE + BITMAPV4HEADER* = record + bV4Size*: DWORD + bV4Width*: LONG + bV4Height*: LONG + bV4Planes*: int16 + bV4BitCount*: int16 + bV4V4Compression*: DWORD + bV4SizeImage*: DWORD + bV4XPelsPerMeter*: LONG + bV4YPelsPerMeter*: LONG + bV4ClrUsed*: DWORD + bV4ClrImportant*: DWORD + bV4RedMask*: DWORD + bV4GreenMask*: DWORD + bV4BlueMask*: DWORD + bV4AlphaMask*: DWORD + bV4CSType*: DWORD + bV4Endpoints*: CIEXYZTRIPLE + bV4GammaRed*: DWORD + bV4GammaGreen*: DWORD + bV4GammaBlue*: DWORD + + LPBITMAPV4HEADER* = ptr BITMAPV4HEADER + TBITMAPV4HEADER* = BITMAPV4HEADER + PBITMAPV4HEADER* = ptr BITMAPV4HEADER + BITMAPFILEHEADER* = record + bfType*: int16 + bfSize*: DWord + bfReserved1*: int16 + bfReserved2*: int16 + bfOffBits*: DWord + + BLOB* = record + cbSize*: ULONG + pBlobData*: ptr int8 + + TBLOB* = BLOB + PBLOB* = ptr BLOB + SHITEMID* = record + cb*: USHORT + abID*: array[0..0, int8] + + LPSHITEMID* = ptr SHITEMID + LPCSHITEMID* = ptr SHITEMID + TSHITEMID* = SHITEMID + PSHITEMID* = ptr SHITEMID + ITEMIDLIST* = record + mkid*: SHITEMID + + LPITEMIDLIST* = ptr ITEMIDLIST + LPCITEMIDLIST* = ptr ITEMIDLIST + TITEMIDLIST* = ITEMIDLIST + PITEMIDLIST* = ptr ITEMIDLIST + BROWSEINFO* = record + hwndOwner*: HWND + pidlRoot*: LPCITEMIDLIST + pszDisplayName*: LPSTR + lpszTitle*: LPCSTR + ulFlags*: UINT + lpfn*: BFFCALLBACK + lParam*: LPARAM + iImage*: int32 + + LPBROWSEINFO* = ptr BROWSEINFO + Tbrowseinfo* = BROWSEINFO + PBROWSEINFO* = ptr BROWSEINFO + FILETIME* = record + dwLowDateTime*: DWORD + dwHighDateTime*: DWORD + + LPFILETIME* = ptr FILETIME + TFILETIME* = FILETIME + PFILETIME* = ptr FILETIME + BY_HANDLE_FILE_INFORMATION* = record + dwFileAttributes*: DWORD + ftCreationTime*: FILETIME + ftLastAccessTime*: FILETIME + ftLastWriteTime*: FILETIME + dwVolumeSerialNumber*: DWORD + nFileSizeHigh*: DWORD + nFileSizeLow*: DWORD + nNumberOfLinks*: DWORD + nFileIndexHigh*: DWORD + nFileIndexLow*: DWORD + + LPBY_HANDLE_FILE_INFORMATION* = ptr BY_HANDLE_FILE_INFORMATION + TBYHANDLEFILEINFORMATION* = BY_HANDLE_FILE_INFORMATION + PBYHANDLEFILEINFORMATION* = ptr BY_HANDLE_FILE_INFORMATION + FIXED* = record + fract*: int16 + value*: SHORT + + TFIXED* = FIXED + PFIXED* = ptr FIXED + POINTFX* = record + x*: FIXED + y*: FIXED + + TPOINTFX* = POINTFX + PPOINTFX* = ptr POINTFX + POINTL* = record + x*: LONG + y*: LONG + + TPOINTL* = POINTL + PPOINTL* = ptr POINTL + TSmallPoint* = record + X*, Y*: SHORT + + POINTS* = record + x*: SHORT + y*: SHORT + + TPOINTS* = POINTS + PPOINTS* = ptr POINTS + CANDIDATEFORM* = record + dwIndex*: DWORD + dwStyle*: DWORD + ptCurrentPos*: POINT + rcArea*: RECT + + LPCANDIDATEFORM* = ptr CANDIDATEFORM + TCANDIDATEFORM* = CANDIDATEFORM + PCANDIDATEFORM* = ptr CANDIDATEFORM + CANDIDATELIST* = record + dwSize*: DWORD + dwStyle*: DWORD + dwCount*: DWORD + dwSelection*: DWORD + dwPageStart*: DWORD + dwPageSize*: DWORD + dwOffset*: array[0..0, DWORD] + + LPCANDIDATELIST* = ptr CANDIDATELIST + TCANDIDATELIST* = CANDIDATELIST + PCANDIDATELIST* = ptr CANDIDATELIST + CREATESTRUCT* = record + lpCreateParams*: LPVOID + hInstance*: HINST + hMenu*: HMENU + hwndParent*: HWND + cy*: int32 + cx*: int32 + y*: int32 + x*: int32 + style*: LONG + lpszName*: LPCTSTR + lpszClass*: LPCTSTR + dwExStyle*: DWORD + + LPCREATESTRUCT* = ptr CREATESTRUCT + TCREATESTRUCT* = CREATESTRUCT + PCREATESTRUCT* = ptr CREATESTRUCT + CBT_CREATEWND* = record + lpcs*: LPCREATESTRUCT + hwndInsertAfter*: HWND + + TCBT_CREATEWND* = CBT_CREATEWND + PCBT_CREATEWND* = ptr CBT_CREATEWND + CBTACTIVATESTRUCT* = record + fMouse*: WINBOOL + hWndActive*: HWND + + TCBTACTIVATESTRUCT* = CBTACTIVATESTRUCT + PCBTACTIVATESTRUCT* = ptr CBTACTIVATESTRUCT + CHAR_INFO* = record + UnicodeChar*: WCHAR + Attributes*: int16 # other union part: AsciiChar : CHAR + + TCHAR_INFO* = CHAR_INFO + PCHAR_INFO* = ptr CHAR_INFO + CHARFORMAT* = record + cbSize*: UINT + dwMask*: DWORD + dwEffects*: DWORD + yHeight*: LONG + yOffset*: LONG + crTextColor*: COLORREF + bCharSet*: int8 + bPitchAndFamily*: int8 + szFaceName*: array[0..(LF_FACESIZE) - 1, TCHAR] + + Tcharformat* = CHARFORMAT + Pcharformat* = ptr CHARFORMAT + CHARRANGE* = record + cpMin*: LONG + cpMax*: LONG + + Tcharrange* = CHARRANGE + Pcharrange* = ptr CHARRANGE + CHARSET* = record + aflBlock*: array[0..2, DWORD] + flLang*: DWORD + + TCHARSET* = CHARSET + PCHARSET* = ptr CHARSET + FONTSIGNATURE* = record + fsUsb*: array[0..3, DWORD] + fsCsb*: array[0..1, DWORD] + + LPFONTSIGNATURE* = ptr FONTSIGNATURE + tagFONTSIGNATURE* = FONTSIGNATURE + TFONTSIGNATURE* = FONTSIGNATURE + PFONTSIGNATURE* = ptr FONTSIGNATURE + CHARSETINFO* = record + ciCharset*: UINT + ciACP*: UINT + fs*: FONTSIGNATURE + + LPCHARSETINFO* = ptr CHARSETINFO + TCHARSETINFO* = CHARSETINFO + PCHARSETINFO* = ptr CHARSETINFO #CHOOSECOLOR = record confilcts with function ChooseColor + TCHOOSECOLOR* = record + lStructSize*: DWORD + hwndOwner*: HWND + hInstance*: HWND + rgbResult*: COLORREF + lpCustColors*: ptr COLORREF + Flags*: DWORD + lCustData*: LPARAM + lpfnHook*: LPCCHOOKPROC + lpTemplateName*: LPCTSTR + + LPCHOOSECOLOR* = ptr TCHOOSECOLOR + PCHOOSECOLOR* = ptr TCHOOSECOLOR + LOGFONT* = record + lfHeight*: LONG + lfWidth*: LONG + lfEscapement*: LONG + lfOrientation*: LONG + lfWeight*: LONG + lfItalic*: int8 + lfUnderline*: int8 + lfStrikeOut*: int8 + lfCharSet*: int8 + lfOutPrecision*: int8 + lfClipPrecision*: int8 + lfQuality*: int8 + lfPitchAndFamily*: int8 + lfFaceName*: array[0..(LF_FACESIZE) - 1, TCHAR] + + LPLOGFONT* = ptr LOGFONT + TLOGFONT* = LOGFONT + TLOGFONTA* = LOGFONT + PLOGFONT* = ptr LOGFONT + PLOGFONTA* = PLOGFONT + LOGFONTW* = record + lfHeight*: LONG + lfWidth*: LONG + lfEscapement*: LONG + lfOrientation*: LONG + lfWeight*: LONG + lfItalic*: int8 + lfUnderline*: int8 + lfStrikeOut*: int8 + lfCharSet*: int8 + lfOutPrecision*: int8 + lfClipPrecision*: int8 + lfQuality*: int8 + lfPitchAndFamily*: int8 + lfFaceName*: array[0..LF_FACESIZE - 1, WCHAR] + + LPLOGFONTW* = ptr LOGFONTW + NPLOGFONTW* = ptr LOGFONTW + TLogFontW* = LOGFONTW + PLogFontW* = ptr TLogFontW + TCHOOSEFONT* = record + lStructSize*: DWORD + hwndOwner*: HWND + hDC*: HDC + lpLogFont*: LPLOGFONT + iPointSize*: WINT + Flags*: DWORD + rgbColors*: DWORD + lCustData*: LPARAM + lpfnHook*: LPCFHOOKPROC + lpTemplateName*: LPCTSTR + hInstance*: HINST + lpszStyle*: LPTSTR + nFontType*: int16 + MISSING_ALIGNMENT*: int16 + nSizeMin*: WINT + nSizeMax*: WINT + + LPCHOOSEFONT* = ptr TCHOOSEFONT + PCHOOSEFONT* = ptr TCHOOSEFONT + CIDA* = record + cidl*: UINT + aoffset*: array[0..0, UINT] + + LPIDA* = ptr CIDA + TIDA* = CIDA + PIDA* = ptr CIDA + CLIENTCREATESTRUCT* = record + hWindowMenu*: HANDLE + idFirstChild*: UINT + + LPCLIENTCREATESTRUCT* = ptr CLIENTCREATESTRUCT + tagCLIENTCREATESTRUCT* = CLIENTCREATESTRUCT + TCLIENTCREATESTRUCT* = CLIENTCREATESTRUCT + PCLIENTCREATESTRUCT* = ptr CLIENTCREATESTRUCT + CMINVOKECOMMANDINFO* = record + cbSize*: DWORD + fMask*: DWORD + hwnd*: HWND + lpVerb*: LPCSTR + lpParameters*: LPCSTR + lpDirectory*: LPCSTR + nShow*: int32 + dwHotKey*: DWORD + hIcon*: HANDLE + + LPCMINVOKECOMMANDINFO* = ptr CMINVOKECOMMANDINFO + TCMInvokeCommandInfo* = CMINVOKECOMMANDINFO + PCMInvokeCommandInfo* = ptr CMINVOKECOMMANDINFO + COLORADJUSTMENT* = record + caSize*: int16 + caFlags*: int16 + caIlluminantIndex*: int16 + caRedGamma*: int16 + caGreenGamma*: int16 + caBlueGamma*: int16 + caReferenceBlack*: int16 + caReferenceWhite*: int16 + caContrast*: SHORT + caBrightness*: SHORT + caColorfulness*: SHORT + caRedGreenTint*: SHORT + + LPCOLORADJUSTMENT* = ptr COLORADJUSTMENT + tagCOLORADJUSTMENT* = COLORADJUSTMENT + TCOLORADJUSTMENT* = COLORADJUSTMENT + PCOLORADJUSTMENT* = ptr COLORADJUSTMENT + COLORMAP* = record + `from`*: COLORREF + `to`*: COLORREF # XXX! + + LPCOLORMAP* = ptr COLORMAP + TCOLORMAP* = COLORMAP + PCOLORMAP* = ptr COLORMAP + DCB* = record + DCBlength*: DWORD + BaudRate*: DWORD + flags*: DWORD + wReserved*: int16 + XonLim*: int16 + XoffLim*: int16 + ByteSize*: int8 + Parity*: int8 + StopBits*: int8 + XonChar*: char + XoffChar*: char + ErrorChar*: char + EofChar*: char + EvtChar*: char + wReserved1*: int16 + + LPDCB* = ptr DCB + TDCB* = DCB + PDCB* = ptr DCB + +const + bm_DCB_fBinary* = 0x00000001 + bp_DCB_fBinary* = 0 + bm_DCB_fParity* = 0x00000002 + bp_DCB_fParity* = 1 + bm_DCB_fOutxCtsFlow* = 0x00000004 + bp_DCB_fOutxCtsFlow* = 2 + bm_DCB_fOutxDsrFlow* = 0x00000008 + bp_DCB_fOutxDsrFlow* = 3 + bm_DCB_fDtrControl* = 0x00000030 + bp_DCB_fDtrControl* = 4 + bm_DCB_fDsrSensitivity* = 0x00000040 + bp_DCB_fDsrSensitivity* = 6 + bm_DCB_fTXContinueOnXoff* = 0x00000080 + bp_DCB_fTXContinueOnXoff* = 7 + bm_DCB_fOutX* = 0x00000100 + bp_DCB_fOutX* = 8 + bm_DCB_fInX* = 0x00000200 + bp_DCB_fInX* = 9 + bm_DCB_fErrorChar* = 0x00000400 + bp_DCB_fErrorChar* = 10 + bm_DCB_fNull* = 0x00000800 + bp_DCB_fNull* = 11 + bm_DCB_fRtsControl* = 0x00003000 + bp_DCB_fRtsControl* = 12 + bm_DCB_fAbortOnError* = 0x00004000 + bp_DCB_fAbortOnError* = 14 + bm_DCB_fDummy2* = 0xFFFF8000 + bp_DCB_fDummy2* = 15 + +proc fBinary*(a: var DCB): DWORD +proc set_fBinary*(a: var DCB, fBinary: DWORD) +proc fParity*(a: var DCB): DWORD +proc set_fParity*(a: var DCB, fParity: DWORD) +proc fOutxCtsFlow*(a: var DCB): DWORD +proc set_fOutxCtsFlow*(a: var DCB, fOutxCtsFlow: DWORD) +proc fOutxDsrFlow*(a: var DCB): DWORD +proc set_fOutxDsrFlow*(a: var DCB, fOutxDsrFlow: DWORD) +proc fDtrControl*(a: var DCB): DWORD +proc set_fDtrControl*(a: var DCB, fDtrControl: DWORD) +proc fDsrSensitivity*(a: var DCB): DWORD +proc set_fDsrSensitivity*(a: var DCB, fDsrSensitivity: DWORD) +proc fTXContinueOnXoff*(a: var DCB): DWORD +proc set_fTXContinueOnXoff*(a: var DCB, fTXContinueOnXoff: DWORD) +proc fOutX*(a: var DCB): DWORD +proc set_fOutX*(a: var DCB, fOutX: DWORD) +proc fInX*(a: var DCB): DWORD +proc set_fInX*(a: var DCB, fInX: DWORD) +proc fErrorChar*(a: var DCB): DWORD +proc set_fErrorChar*(a: var DCB, fErrorChar: DWORD) +proc fNull*(a: var DCB): DWORD +proc set_fNull*(a: var DCB, fNull: DWORD) +proc fRtsControl*(a: var DCB): DWORD +proc set_fRtsControl*(a: var DCB, fRtsControl: DWORD) +proc fAbortOnError*(a: var DCB): DWORD +proc set_fAbortOnError*(a: var DCB, fAbortOnError: DWORD) +proc fDummy2*(a: var DCB): DWORD +proc set_fDummy2*(a: var DCB, fDummy2: DWORD) +type + COMMCONFIG* = record + dwSize*: DWORD + wVersion*: int16 + wReserved*: int16 + dcb*: DCB + dwProviderSubType*: DWORD + dwProviderOffset*: DWORD + dwProviderSize*: DWORD + wcProviderData*: array[0..0, WCHAR] + + LPCOMMCONFIG* = ptr COMMCONFIG + TCOMMCONFIG* = COMMCONFIG + PCOMMCONFIG* = ptr COMMCONFIG + COMMPROP* = record + wPacketLength*: int16 + wPacketVersion*: int16 + dwServiceMask*: DWORD + dwReserved1*: DWORD + dwMaxTxQueue*: DWORD + dwMaxRxQueue*: DWORD + dwMaxBaud*: DWORD + dwProvSubType*: DWORD + dwProvCapabilities*: DWORD + dwSettableParams*: DWORD + dwSettableBaud*: DWORD + wSettableData*: int16 + wSettableStopParity*: int16 + dwCurrentTxQueue*: DWORD + dwCurrentRxQueue*: DWORD + dwProvSpec1*: DWORD + dwProvSpec2*: DWORD + wcProvChar*: array[0..0, WCHAR] + + LPCOMMPROP* = ptr COMMPROP + TCOMMPROP* = COMMPROP + PCOMMPROP* = ptr COMMPROP + COMMTIMEOUTS* = record + ReadIntervalTimeout*: DWORD + ReadTotalTimeoutMultiplier*: DWORD + ReadTotalTimeoutConstant*: DWORD + WriteTotalTimeoutMultiplier*: DWORD + WriteTotalTimeoutConstant*: DWORD + + LPCOMMTIMEOUTS* = ptr COMMTIMEOUTS + TCOMMTIMEOUTS* = COMMTIMEOUTS + PCOMMTIMEOUTS* = ptr COMMTIMEOUTS + COMPAREITEMSTRUCT* = record + CtlType*: UINT + CtlID*: UINT + hwndItem*: HWND + itemID1*: UINT + itemData1*: ULONG_PTR + itemID2*: UINT + itemData2*: ULONG_PTR + + tagCOMPAREITEMSTRUCT* = COMPAREITEMSTRUCT + TCOMPAREITEMSTRUCT* = COMPAREITEMSTRUCT + PCOMPAREITEMSTRUCT* = ptr COMPAREITEMSTRUCT + COMPCOLOR* = record + crText*: COLORREF + crBackground*: COLORREF + dwEffects*: DWORD + + TCOMPCOLOR* = COMPCOLOR + PCOMPCOLOR* = ptr COMPCOLOR + COMPOSITIONFORM* = record + dwStyle*: DWORD + ptCurrentPos*: POINT + rcArea*: RECT + + LPCOMPOSITIONFORM* = ptr COMPOSITIONFORM + TCOMPOSITIONFORM* = COMPOSITIONFORM + PCOMPOSITIONFORM* = ptr COMPOSITIONFORM # TComStatFlags = set of (fCtsHold, fDsrHold, fRlsdHold , fXoffHold , + # fXoffSent , fEof , fTxim , fReserved); + COMSTAT* = record + flag0*: DWORD # can't use tcomstatflags, set packing issues + # and conflicts with macro's + cbInQue*: DWORD + cbOutQue*: DWORD + + LPCOMSTAT* = ptr COMSTAT + TCOMSTAT* = COMSTAT + PCOMSTAT* = ptr COMSTAT + +const + bm_COMSTAT_fCtsHold* = 0x00000001 + bp_COMSTAT_fCtsHold* = 0 + bm_COMSTAT_fDsrHold* = 0x00000002 + bp_COMSTAT_fDsrHold* = 1 + bm_COMSTAT_fRlsdHold* = 0x00000004 + bp_COMSTAT_fRlsdHold* = 2 + bm_COMSTAT_fXoffHold* = 0x00000008 + bp_COMSTAT_fXoffHold* = 3 + bm_COMSTAT_fXoffSent* = 0x00000010 + bp_COMSTAT_fXoffSent* = 4 + bm_COMSTAT_fEof* = 0x00000020 + bp_COMSTAT_fEof* = 5 + bm_COMSTAT_fTxim* = 0x00000040 + bp_COMSTAT_fTxim* = 6 + bm_COMSTAT_fReserved* = 0xFFFFFF80 + bp_COMSTAT_fReserved* = 7 + +proc fCtsHold*(a: var COMSTAT): DWORD + # should be renamed to get_<x>? +proc set_fCtsHold*(a: var COMSTAT, fCtsHold: DWORD) +proc fDsrHold*(a: var COMSTAT): DWORD +proc set_fDsrHold*(a: var COMSTAT, fDsrHold: DWORD) +proc fRlsdHold*(a: var COMSTAT): DWORD +proc set_fRlsdHold*(a: var COMSTAT, fRlsdHold: DWORD) +proc fXoffHold*(a: var COMSTAT): DWORD +proc set_fXoffHold*(a: var COMSTAT, fXoffHold: DWORD) +proc fXoffSent*(a: var COMSTAT): DWORD +proc set_fXoffSent*(a: var COMSTAT, fXoffSent: DWORD) +proc fEof*(a: var COMSTAT): DWORD +proc set_fEof*(a: var COMSTAT, fEof: DWORD) +proc fTxim*(a: var COMSTAT): DWORD +proc set_fTxim*(a: var COMSTAT, fTxim: DWORD) +proc fReserved*(a: var COMSTAT): DWORD +proc set_fReserved*(a: var COMSTAT, fReserved: DWORD) +type + CONSOLE_CURSOR_INFO* = record + dwSize*: DWORD + bVisible*: WINBOOL + + PCONSOLE_CURSOR_INFO* = ptr CONSOLE_CURSOR_INFO + TCONSOLECURSORINFO* = CONSOLE_CURSOR_INFO + TCURSORINFO* = CONSOLE_CURSOR_INFO + COORD* = record + X*: SHORT + Y*: SHORT + + TCOORD* = COORD + PCOORD* = ptr COORD + SMALL_RECT* = record + Left*: SHORT + Top*: SHORT + Right*: SHORT + Bottom*: SHORT + + TSMALL_RECT* = SMALL_RECT + PSMALL_RECT* = ptr SMALL_RECT + CONSOLE_SCREEN_BUFFER_INFO* = record + dwSize*: COORD + dwCursorPosition*: COORD + wAttributes*: int16 + srWindow*: SMALL_RECT + dwMaximumWindowSize*: COORD + + PCONSOLE_SCREEN_BUFFER_INFO* = ptr CONSOLE_SCREEN_BUFFER_INFO + TCONSOLESCREENBUFFERINFO* = CONSOLE_SCREEN_BUFFER_INFO + +when defined(i386): + type + FLOATING_SAVE_AREA* = record + ControlWord*: DWORD + StatusWord*: DWORD + TagWord*: DWORD + ErrorOffset*: DWORD + ErrorSelector*: DWORD + DataOffset*: DWORD + DataSelector*: DWORD + RegisterArea*: array[0..79, int8] + Cr0NpxState*: DWORD + + TFLOATINGSAVEAREA* = FLOATING_SAVE_AREA + PFLOATINGSAVEAREA* = ptr FLOATING_SAVE_AREA + CONTEXT* = record + ContextFlags*: DWORD + Dr0*: DWORD + Dr1*: DWORD + Dr2*: DWORD + Dr3*: DWORD + Dr6*: DWORD + Dr7*: DWORD + FloatSave*: FLOATING_SAVE_AREA + SegGs*: DWORD + SegFs*: DWORD + SegEs*: DWORD + SegDs*: DWORD + Edi*: DWORD + Esi*: DWORD + Ebx*: DWORD + Edx*: DWORD + Ecx*: DWORD + Eax*: DWORD + Ebp*: DWORD + Eip*: DWORD + SegCs*: DWORD + EFlags*: DWORD + Esp*: DWORD + SegSs*: DWORD + +when defined(x86_64): + # + # Define 128-bit 16-byte aligned xmm register type. + # + type + M128A* = record + Low*: ULONGLONG + High*: LONGLONG + + TM128A* = M128A + PM128A* = TM128A # + # Format of data for 32-bit fxsave/fxrstor instructions. + # + #typedef struct _XMM_SAVE_AREA32 { + type + XMM_SAVE_AREA32* = record + ControlWord*: int16 + StatusWord*: int16 + TagWord*: int8 + Reserved1*: int8 + ErrorOpcode*: int16 + ErrorOffset*: DWORD + ErrorSelector*: int16 + Reserved2*: int16 + DataOffset*: DWORD + DataSelector*: int16 + Reserved3*: int16 + MxCsr*: DWORD + MxCsr_Mask*: DWORD + FloatRegisters*: array[0..7, M128A] + XmmRegisters*: array[0..16, M128A] + Reserved4*: array[0..95, int8] + + TXmmSaveArea* = XMM_SAVE_AREA32 + PXmmSaveArea* = ptr TXmmSaveArea + const + LEGACY_SAVE_AREA_LENGTH* = sizeof(XMM_SAVE_AREA32) + type + CONTEXT* = record + P1Home*: DWORD64 + P2Home*: DWORD64 + P3Home*: DWORD64 + P4Home*: DWORD64 + P5Home*: DWORD64 + P6Home*: DWORD64 # + # Control flags. + # + ContextFlags*: DWORD + MxCsr*: DWORD # + # Segment Registers and processor flags. + # + SegCs*: int16 + SegDs*: int16 + SegEs*: int16 + SegFs*: int16 + SegGs*: int16 + SegSs*: int16 + EFlags*: DWORD # + # Debug registers + # + Dr0*: DWORD64 + Dr1*: DWORD64 + Dr2*: DWORD64 + Dr3*: DWORD64 + Dr6*: DWORD64 + Dr7*: DWORD64 # + # Integer registers. + # + Rax*: DWORD64 + Rcx*: DWORD64 + Rdx*: DWORD64 + Rbx*: DWORD64 + Rsp*: DWORD64 + Rbp*: DWORD64 + Rsi*: DWORD64 + Rdi*: DWORD64 + R8*: DWORD64 + R9*: DWORD64 + R10*: DWORD64 + R11*: DWORD64 + R12*: DWORD64 + R13*: DWORD64 + R14*: DWORD64 + R15*: DWORD64 # + # Program counter. + # + Rip*: DWORD64 # + # Floating point state. + # + FltSave*: XMM_SAVE_AREA32 # MWE: only translated the FltSave part of the union + # + # Vector registers. + # + VectorRegister*: array[0..25, M128A] + VectorControl*: DWORD64 # + # Special debug control registers. + # + DebugControl*: DWORD64 + LastBranchToRip*: DWORD64 + LastBranchFromRip*: DWORD64 + LastExceptionToRip*: DWORD64 + LastExceptionFromRip*: DWORD64 + +when defined(powerpc32): + # ppc + # Floating point registers returned when CONTEXT_FLOATING_POINT is set + # Integer registers returned when CONTEXT_INTEGER is set. + # Condition register + # Fixed point exception register + # The following are set when CONTEXT_CONTROL is set. + # Machine status register + # Instruction address register + # Link register + # Control register + # Control which context values are returned + # Registers returned if CONTEXT_DEBUG_REGISTERS is set. + # Breakpoint Register 1 + # Breakpoint Register 2 + # Breakpoint Register 3 + # Breakpoint Register 4 + # Breakpoint Register 5 + # Breakpoint Register 6 + # Debug Status Register + # Debug Control Register + type + CONTEXT* = record + Fpr0*: float64 + Fpr1*: float64 + Fpr2*: float64 + Fpr3*: float64 + Fpr4*: float64 + Fpr5*: float64 + Fpr6*: float64 + Fpr7*: float64 + Fpr8*: float64 + Fpr9*: float64 + Fpr10*: float64 + Fpr11*: float64 + Fpr12*: float64 + Fpr13*: float64 + Fpr14*: float64 + Fpr15*: float64 + Fpr16*: float64 + Fpr17*: float64 + Fpr18*: float64 + Fpr19*: float64 + Fpr20*: float64 + Fpr21*: float64 + Fpr22*: float64 + Fpr23*: float64 + Fpr24*: float64 + Fpr25*: float64 + Fpr26*: float64 + Fpr27*: float64 + Fpr28*: float64 + Fpr29*: float64 + Fpr30*: float64 + Fpr31*: float64 + Fpscr*: float64 + Gpr0*: DWORD + Gpr1*: DWORD + Gpr2*: DWORD + Gpr3*: DWORD + Gpr4*: DWORD + Gpr5*: DWORD + Gpr6*: DWORD + Gpr7*: DWORD + Gpr8*: DWORD + Gpr9*: DWORD + Gpr10*: DWORD + Gpr11*: DWORD + Gpr12*: DWORD + Gpr13*: DWORD + Gpr14*: DWORD + Gpr15*: DWORD + Gpr16*: DWORD + Gpr17*: DWORD + Gpr18*: DWORD + Gpr19*: DWORD + Gpr20*: DWORD + Gpr21*: DWORD + Gpr22*: DWORD + Gpr23*: DWORD + Gpr24*: DWORD + Gpr25*: DWORD + Gpr26*: DWORD + Gpr27*: DWORD + Gpr28*: DWORD + Gpr29*: DWORD + Gpr30*: DWORD + Gpr31*: DWORD + Cr*: DWORD + Xer*: DWORD + Msr*: DWORD + Iar*: DWORD + Lr*: DWORD + Ctr*: DWORD + ContextFlags*: DWORD + Fill*: array[0..2, DWORD] + Dr0*: DWORD + Dr1*: DWORD + Dr2*: DWORD + Dr3*: DWORD + Dr4*: DWORD + Dr5*: DWORD + Dr6*: DWORD + Dr7*: DWORD + +type + LPCONTEXT* = ptr CONTEXT + TCONTEXT* = CONTEXT + PCONTEXT* = ptr CONTEXT + +type + LIST_ENTRY* = record + Flink*: ptr LIST_ENTRY + Blink*: ptr LIST_ENTRY + + TLISTENTRY* = LIST_ENTRY + PLISTENTRY* = ptr LIST_ENTRY + CRITICAL_SECTION_DEBUG* = record + `type`*: int16 + CreatorBackTraceIndex*: int16 + CriticalSection*: ptr TCRITICAL_SECTION + ProcessLocksList*: LIST_ENTRY + EntryCount*: DWORD + ContentionCount*: DWORD + Depth*: DWORD + OwnerBackTrace*: array[0..4, PVOID] + + TRTL_CRITICAL_SECTION* = record + DebugInfo*: ptr CRITICAL_SECTION_DEBUG + LockCount*: int32 + RecursionCount*: int32 + OwningThread*: Handle + LockSemaphore*: Handle + Reserved*: DWORD + + PRTLCriticalSection* = ptr TRTLCriticalSection + + LPCRITICAL_SECTION_DEBUG* = ptr CRITICAL_SECTION_DEBUG + PCRITICAL_SECTION_DEBUG* = ptr CRITICAL_SECTION_DEBUG + TCRITICALSECTIONDEBUG* = CRITICAL_SECTION_DEBUG + TCRITICAL_SECTION* = TRTLCriticalSection + PCRITICAL_SECTION* = PRTLCriticalSection + LPCRITICAL_SECTION* = PRTLCriticalSection + SECURITY_QUALITY_OF_SERVICE* = record + len*: DWORD + ImpersonationLevel*: SECURITY_IMPERSONATION_LEVEL + ContextTrackingMode*: WINBOOL + EffectiveOnly*: bool + + PSECURITY_QUALITY_OF_SERVICE* = ptr SECURITY_QUALITY_OF_SERVICE + TSECURITYQUALITYOFSERVICE* = SECURITY_QUALITY_OF_SERVICE + CONVCONTEXT* = record + cb*: UINT + wFlags*: UINT + wCountryID*: UINT + iCodePage*: int32 + dwLangID*: DWORD + dwSecurity*: DWORD + qos*: SECURITY_QUALITY_OF_SERVICE + + TCONVCONTEXT* = CONVCONTEXT + PCONVCONTEXT* = ptr CONVCONTEXT + CONVINFO* = record + cb*: DWORD + hUser*: DWORD + hConvPartner*: HCONV + hszSvcPartner*: HSZ + hszServiceReq*: HSZ + hszTopic*: HSZ + hszItem*: HSZ + wFmt*: UINT + wType*: UINT + wStatus*: UINT + wConvst*: UINT + wLastError*: UINT + hConvList*: HCONVLIST + ConvCtxt*: CONVCONTEXT + hwnd*: HWND + hwndPartner*: HWND + + tagCONVINFO* = CONVINFO + TCONVINFO* = CONVINFO + PCONVINFO* = ptr CONVINFO + COPYDATASTRUCT* = record + dwData*: DWORD + cbData*: DWORD + lpData*: PVOID + + tagCOPYDATASTRUCT* = COPYDATASTRUCT + TCOPYDATASTRUCT* = COPYDATASTRUCT + PCOPYDATASTRUCT* = ptr COPYDATASTRUCT + CPINFO* = record + MaxCharSize*: UINT + DefaultChar*: array[0..(MAX_DEFAULTCHAR) - 1, int8] + LeadByte*: array[0..(MAX_LEADBYTES) - 1, int8] + + LPCPINFO* = ptr CPINFO + Tcpinfo* = CPINFO + Pcpinfo* = ptr CPINFO + CPLINFO* = record + idIcon*: int32 + idName*: int32 + idInfo*: int32 + lData*: LONG + + tagCPLINFO* = CPLINFO + TCPLINFO* = CPLINFO + PCPLINFO* = ptr CPLINFO + CREATE_PROCESS_DEBUG_INFO* = record + hFile*: HANDLE + hProcess*: HANDLE + hThread*: HANDLE + lpBaseOfImage*: LPVOID + dwDebugInfoFileOffset*: DWORD + nDebugInfoSize*: DWORD + lpThreadLocalBase*: LPVOID + lpStartAddress*: LPTHREAD_START_ROUTINE + lpImageName*: LPVOID + fUnicode*: int16 + + TCREATEPROCESSDEBUGINFO* = CREATE_PROCESS_DEBUG_INFO + PCREATEPROCESSDEBUGINFO* = ptr CREATE_PROCESS_DEBUG_INFO + CREATE_THREAD_DEBUG_INFO* = record + hThread*: HANDLE + lpThreadLocalBase*: LPVOID + lpStartAddress*: LPTHREAD_START_ROUTINE + + TCREATETHREADDEBUGINFO* = CREATE_THREAD_DEBUG_INFO + PCREATETHREADDEBUGINFO* = ptr CREATE_THREAD_DEBUG_INFO # + # TODO: sockets + # typedef struct _SOCKET_ADDRESS { + # LPSOCKADDR lpSockaddr ; + # INT iSockaddrLength ; + # } SOCKET_ADDRESS, PSOCKET_ADDRESS, LPSOCKET_ADDRESS; + # } + # { + # typedef struct _CSADDR_INFO { + # SOCKET_ADDRESS LocalAddr; + # SOCKET_ADDRESS RemoteAddr; + # INT iSocketType; + # INT iProtocol; + # } CSADDR_INFO; + # + CURRENCYFMT* = record + NumDigits*: UINT + LeadingZero*: UINT + Grouping*: UINT + lpDecimalSep*: LPTSTR + lpThousandSep*: LPTSTR + NegativeOrder*: UINT + PositiveOrder*: UINT + lpCurrencySymbol*: LPTSTR + + Tcurrencyfmt* = CURRENCYFMT + Pcurrencyfmt* = ptr CURRENCYFMT + CURSORSHAPE* = record + xHotSpot*: int32 + yHotSpot*: int32 + cx*: int32 + cy*: int32 + cbWidth*: int32 + Planes*: int8 + BitsPixel*: int8 + + LPCURSORSHAPE* = ptr CURSORSHAPE + TCURSORSHAPE* = CURSORSHAPE + PCURSORSHAPE* = ptr CURSORSHAPE + CWPRETSTRUCT* = record + lResult*: LRESULT + lParam*: LPARAM + wParam*: WPARAM + message*: DWORD + hwnd*: HWND + + TCWPRETSTRUCT* = CWPRETSTRUCT + PCWPRETSTRUCT* = ptr CWPRETSTRUCT + CWPSTRUCT* = record + lParam*: LPARAM + wParam*: WPARAM + message*: UINT + hwnd*: HWND + + TCWPSTRUCT* = CWPSTRUCT + PCWPSTRUCT* = ptr CWPSTRUCT + DATATYPES_INFO_1* = record + pName*: LPTSTR + + TDATATYPESINFO1* = DATATYPES_INFO_1 + PDATATYPESINFO1* = ptr DATATYPES_INFO_1 + DDEACK* = record + flag0*: int16 + + TDDEACK* = DDEACK + PDDEACK* = ptr DDEACK + +const + bm_DDEACK_bAppReturnCode* = 0x000000FF + bp_DDEACK_bAppReturnCode* = 0 + bm_DDEACK_reserved* = 0x00003F00 + bp_DDEACK_reserved* = 8 + bm_DDEACK_fBusy* = 0x00004000 + bp_DDEACK_fBusy* = 14 + bm_DDEACK_fAck* = 0x00008000 + bp_DDEACK_fAck* = 15 + +proc bAppReturnCode*(a: var DDEACK): int16 +proc set_bAppReturnCode*(a: var DDEACK, bAppReturnCode: int16) +proc reserved*(a: var DDEACK): int16 +proc set_reserved*(a: var DDEACK, reserved: int16) +proc fBusy*(a: var DDEACK): int16 +proc set_fBusy*(a: var DDEACK, fBusy: int16) +proc fAck*(a: var DDEACK): int16 +proc set_fAck*(a: var DDEACK, fAck: int16) +type + DDEADVISE* = record + flag0*: int16 + cfFormat*: SHORT + + TDDEADVISE* = DDEADVISE + PDDEADVISE* = ptr DDEADVISE + +const + bm_DDEADVISE_reserved* = 0x00003FFF + bp_DDEADVISE_reserved* = 0 + bm_DDEADVISE_fDeferUpd* = 0x00004000 + bp_DDEADVISE_fDeferUpd* = 14 + bm_DDEADVISE_fAckReq* = 0x00008000 + bp_DDEADVISE_fAckReq* = 15 + +proc reserved*(a: var DDEADVISE): int16 +proc set_reserved*(a: var DDEADVISE, reserved: int16) +proc fDeferUpd*(a: var DDEADVISE): int16 +proc set_fDeferUpd*(a: var DDEADVISE, fDeferUpd: int16) +proc fAckReq*(a: var DDEADVISE): int16 +proc set_fAckReq*(a: var DDEADVISE, fAckReq: int16) +type + DDEDATA* = record + flag0*: int16 + cfFormat*: SHORT + Value*: array[0..0, int8] + + PDDEDATA* = ptr DDEDATA + +const + bm_DDEDATA_unused* = 0x00000FFF + bp_DDEDATA_unused* = 0 + bm_DDEDATA_fResponse* = 0x00001000 + bp_DDEDATA_fResponse* = 12 + bm_DDEDATA_fRelease* = 0x00002000 + bp_DDEDATA_fRelease* = 13 + bm_DDEDATA_reserved* = 0x00004000 + bp_DDEDATA_reserved* = 14 + bm_DDEDATA_fAckReq* = 0x00008000 + bp_DDEDATA_fAckReq* = 15 + +proc unused*(a: var DDEDATA): int16 +proc set_unused*(a: var DDEDATA, unused: int16) +proc fResponse*(a: var DDEDATA): int16 +proc set_fResponse*(a: var DDEDATA, fResponse: int16) +proc fRelease*(a: var DDEDATA): int16 +proc set_fRelease*(a: var DDEDATA, fRelease: int16) +proc reserved*(a: var DDEDATA): int16 +proc set_reserved*(a: var DDEDATA, reserved: int16) +proc fAckReq*(a: var DDEDATA): int16 +proc set_fAckReq*(a: var DDEDATA, fAckReq: int16) +type + DDELN* = record + flag0*: int16 + cfFormat*: SHORT + + TDDELN* = DDELN + PDDELN* = ptr DDELN + +const + bm_DDELN_unused* = 0x00001FFF + bp_DDELN_unused* = 0 + bm_DDELN_fRelease* = 0x00002000 + bp_DDELN_fRelease* = 13 + bm_DDELN_fDeferUpd* = 0x00004000 + bp_DDELN_fDeferUpd* = 14 + bm_DDELN_fAckReq* = 0x00008000 + bp_DDELN_fAckReq* = 15 + +proc unused*(a: var DDELN): int16 +proc set_unused*(a: var DDELN, unused: int16) +proc fRelease*(a: var DDELN): int16 +proc set_fRelease*(a: var DDELN, fRelease: int16) +proc fDeferUpd*(a: var DDELN): int16 +proc set_fDeferUpd*(a: var DDELN, fDeferUpd: int16) +proc fAckReq*(a: var DDELN): int16 +proc set_fAckReq*(a: var DDELN, fAckReq: int16) +type + DDEML_MSG_HOOK_DATA* = record + uiLo*: UINT + uiHi*: UINT + cbData*: DWORD + Data*: array[0..7, DWORD] + + TDDEMLMSGHOOKDATA* = DDEML_MSG_HOOK_DATA + PDDEMLMSGHOOKDATA* = ptr DDEML_MSG_HOOK_DATA + DDEPOKE* = record + flag0*: int16 + cfFormat*: SHORT + Value*: array[0..0, int8] + + TDDEPOKE* = DDEPOKE + PDDEPOKE* = ptr DDEPOKE + +const + bm_DDEPOKE_unused* = 0x00001FFF + bp_DDEPOKE_unused* = 0 + bm_DDEPOKE_fRelease* = 0x00002000 + bp_DDEPOKE_fRelease* = 13 + bm_DDEPOKE_fReserved* = 0x0000C000 + bp_DDEPOKE_fReserved* = 14 + +proc unused*(a: var DDEPOKE): int16 +proc set_unused*(a: var DDEPOKE, unused: int16) +proc fRelease*(a: var DDEPOKE): int16 +proc set_fRelease*(a: var DDEPOKE, fRelease: int16) +proc fReserved*(a: var DDEPOKE): int16 +proc set_fReserved*(a: var DDEPOKE, fReserved: int16) +type + DDEUP* = record + flag0*: int16 + cfFormat*: SHORT + rgb*: array[0..0, int8] + + TDDEUP* = DDEUP + PDDEUP* = ptr DDEUP + +const + bm_DDEUP_unused* = 0x00000FFF + bp_DDEUP_unused* = 0 + bm_DDEUP_fAck* = 0x00001000 + bp_DDEUP_fAck* = 12 + bm_DDEUP_fRelease* = 0x00002000 + bp_DDEUP_fRelease* = 13 + bm_DDEUP_fReserved* = 0x00004000 + bp_DDEUP_fReserved* = 14 + bm_DDEUP_fAckReq* = 0x00008000 + bp_DDEUP_fAckReq* = 15 + +proc unused*(a: var DDEUP): int16 +proc set_unused*(a: var DDEUP, unused: int16) +proc fAck*(a: var DDEUP): int16 +proc set_fAck*(a: var DDEUP, fAck: int16) +proc fRelease*(a: var DDEUP): int16 +proc set_fRelease*(a: var DDEUP, fRelease: int16) +proc fReserved*(a: var DDEUP): int16 +proc set_fReserved*(a: var DDEUP, fReserved: int16) +proc fAckReq*(a: var DDEUP): int16 +proc set_fAckReq*(a: var DDEUP, fAckReq: int16) +type + EXCEPTION_RECORD* = record + ExceptionCode*: DWORD + ExceptionFlags*: DWORD + ExceptionRecord*: ptr EXCEPTION_RECORD + ExceptionAddress*: PVOID + NumberParameters*: DWORD + ExceptionInformation*: array[0..(EXCEPTION_MAXIMUM_PARAMETERS) - 1, + ULONG_PTR] + + PEXCEPTION_RECORD* = ptr EXCEPTION_RECORD + TEXCEPTIONRECORD* = EXCEPTION_RECORD + EXCEPTION_DEBUG_INFO* = record + ExceptionRecord*: EXCEPTION_RECORD + dwFirstChance*: DWORD + + PEXCEPTION_DEBUG_INFO* = ptr EXCEPTION_DEBUG_INFO + TEXCEPTIONDEBUGINFO* = EXCEPTION_DEBUG_INFO + EXCEPTION_RECORD32* = record + ExceptionCode*: DWORD + ExceptionFlags*: DWORD + ExceptionRecord*: DWORD + ExceptionAddress*: DWORD + NumberParameters*: DWORD + ExceptionInformation*: array[0..(EXCEPTION_MAXIMUM_PARAMETERS) - 1, DWORD] + + PEXCEPTION_RECORD32* = ptr EXCEPTION_RECORD32 + TExceptionRecord32* = EXCEPTION_RECORD32 + EXCEPTION_DEBUG_INFO32* = record + ExceptionRecord*: EXCEPTION_RECORD32 + dwFirstChance*: DWORD + + PEXCEPTION_DEBUG_INFO32* = ptr EXCEPTION_DEBUG_INFO32 + TExceptionDebugInfo32* = EXCEPTION_DEBUG_INFO32 + EXCEPTION_RECORD64* = record + ExceptionCode*: DWORD + ExceptionFlags*: DWORD + ExceptionRecord*: DWORD64 + ExceptionAddress*: DWORD64 + NumberParameters*: DWORD + unusedAlignment*: DWORD + ExceptionInformation*: array[0..(EXCEPTION_MAXIMUM_PARAMETERS) - 1, DWORD64] + + PEXCEPTION_RECORD64* = ptr EXCEPTION_RECORD64 + TExceptionRecord64* = EXCEPTION_RECORD64 + EXCEPTION_DEBUG_INFO64* = record + ExceptionRecord*: EXCEPTION_RECORD64 + dwFirstChance*: DWORD + + PEXCEPTION_DEBUG_INFO64* = ptr EXCEPTION_DEBUG_INFO64 + TExceptionDebugInfo64* = EXCEPTION_DEBUG_INFO64 + EXIT_PROCESS_DEBUG_INFO* = record + dwExitCode*: DWORD + + TEXITPROCESSDEBUGINFO* = EXIT_PROCESS_DEBUG_INFO + PEXITPROCESSDEBUGINFO* = ptr EXIT_PROCESS_DEBUG_INFO + EXIT_THREAD_DEBUG_INFO* = record + dwExitCode*: DWORD + + TEXITTHREADDEBUGINFO* = EXIT_THREAD_DEBUG_INFO + PEXITTHREADDEBUGINFO* = ptr EXIT_THREAD_DEBUG_INFO + LOAD_DLL_DEBUG_INFO* = record + hFile*: HANDLE + lpBaseOfDll*: LPVOID + dwDebugInfoFileOffset*: DWORD + nDebugInfoSize*: DWORD + lpImageName*: LPVOID + fUnicode*: int16 + + TLOADDLLDEBUGINFO* = LOAD_DLL_DEBUG_INFO + PLOADDLLDEBUGINFO* = ptr LOAD_DLL_DEBUG_INFO + UNLOAD_DLL_DEBUG_INFO* = record + lpBaseOfDll*: LPVOID + + TUNLOADDLLDEBUGINFO* = UNLOAD_DLL_DEBUG_INFO + PUNLOADDLLDEBUGINFO* = ptr UNLOAD_DLL_DEBUG_INFO + OUTPUT_DEBUG_STRING_INFO* = record + lpDebugStringData*: LPSTR + fUnicode*: int16 + nDebugStringLength*: int16 + + TOUTPUTDEBUGSTRINGINFO* = OUTPUT_DEBUG_STRING_INFO + POUTPUTDEBUGSTRINGINFO* = ptr OUTPUT_DEBUG_STRING_INFO + RIP_INFO* = record + dwError*: DWORD + dwType*: DWORD + + TRIPINFO* = RIP_INFO + PRIPINFO* = ptr RIP_INFO + DEBUG_EVENT* = record + dwDebugEventCode*: DWORD + dwProcessId*: DWORD + dwThreadId*: DWORD + data*: array[0..15, DWORD] # + # case longint of + # 0 : ( Exception : EXCEPTION_DEBUG_INFO ); + # 1 : ( CreateThread : CREATE_THREAD_DEBUG_INFO ); + # 2 : ( CreateProcessInfo : CREATE_PROCESS_DEBUG_INFO ); + # 3 : ( ExitThread : EXIT_THREAD_DEBUG_INFO ); + # 4 : ( ExitProcess : EXIT_PROCESS_DEBUG_INFO ); + # 5 : ( LoadDll : LOAD_DLL_DEBUG_INFO ); + # 6 : ( UnloadDll : UNLOAD_DLL_DEBUG_INFO ); + # 7 : ( DebugString : OUTPUT_DEBUG_STRING_INFO ); + # 8 : ( RipInfo : RIP_INFO ); + + LPDEBUG_EVENT* = ptr DEBUG_EVENT + TDEBUGEVENT* = DEBUG_EVENT + PDEBUGEVENT* = ptr DEBUG_EVENT + DEBUGHOOKINFO* = record + idThread*: DWORD + idThreadInstaller*: DWORD + lParam*: LPARAM + wParam*: WPARAM + code*: int32 + + TDEBUGHOOKINFO* = DEBUGHOOKINFO + PDEBUGHOOKINFO* = ptr DEBUGHOOKINFO + DELETEITEMSTRUCT* = record + CtlType*: UINT + CtlID*: UINT + itemID*: UINT + hwndItem*: HWND + itemData*: ULONG_PTR + + TDELETEITEMSTRUCT* = DELETEITEMSTRUCT + PDELETEITEMSTRUCT* = ptr DELETEITEMSTRUCT + DEV_BROADCAST_HDR* = record + dbch_size*: ULONG + dbch_devicetype*: ULONG + dbch_reserved*: ULONG + + PDEV_BROADCAST_HDR* = ptr DEV_BROADCAST_HDR + TDEVBROADCASTHDR* = DEV_BROADCAST_HDR + DEV_BROADCAST_OEM* = record + dbco_size*: ULONG + dbco_devicetype*: ULONG + dbco_reserved*: ULONG + dbco_identifier*: ULONG + dbco_suppfunc*: ULONG + + PDEV_BROADCAST_OEM* = ptr DEV_BROADCAST_OEM + TDEVBROADCASTOEM* = DEV_BROADCAST_OEM + DEV_BROADCAST_PORT* = record + dbcp_size*: ULONG + dbcp_devicetype*: ULONG + dbcp_reserved*: ULONG + dbcp_name*: array[0..0, char] + + PDEV_BROADCAST_PORT* = ptr DEV_BROADCAST_PORT + TDEVBROADCASTPORT* = DEV_BROADCAST_PORT + DEV_BROADCAST_USERDEFINED* = record + dbud_dbh*: DEV_BROADCAST_HDR + dbud_szName*: array[0..0, char] + dbud_rgbUserDefined*: array[0..0, int8] + + TDEVBROADCASTUSERDEFINED* = DEV_BROADCAST_USERDEFINED + PDEVBROADCASTUSERDEFINED* = ptr DEV_BROADCAST_USERDEFINED + DEV_BROADCAST_VOLUME* = record + dbcv_size*: ULONG + dbcv_devicetype*: ULONG + dbcv_reserved*: ULONG + dbcv_unitmask*: ULONG + dbcv_flags*: USHORT + + PDEV_BROADCAST_VOLUME* = ptr DEV_BROADCAST_VOLUME + TDEVBROADCASTVOLUME* = DEV_BROADCAST_VOLUME + DEVMODE* = record + dmDeviceName*: array[0..(CCHDEVICENAME) - 1, BCHAR] + dmSpecVersion*: int16 + dmDriverVersion*: int16 + dmSize*: int16 + dmDriverExtra*: int16 + dmFields*: DWORD + dmOrientation*: int16 + dmPaperSize*: int16 + dmPaperLength*: int16 + dmPaperWidth*: int16 + dmScale*: int16 + dmCopies*: int16 + dmDefaultSource*: int16 + dmPrintQuality*: int16 + dmColor*: int16 + dmDuplex*: int16 + dmYResolution*: int16 + dmTTOption*: int16 + dmCollate*: int16 + dmFormName*: array[0..(CCHFORMNAME) - 1, BCHAR] + dmLogPixels*: int16 + dmBitsPerPel*: DWORD + dmPelsWidth*: DWORD + dmPelsHeight*: DWORD + dmDisplayFlags*: DWORD + dmDisplayFrequency*: DWORD + dmICMMethod*: DWORD + dmICMIntent*: DWORD + dmMediaType*: DWORD + dmDitherType*: DWORD + dmICCManufacturer*: DWORD + dmICCModel*: DWORD # other union part: + # dmPosition: POINTL; + # dmDisplayOrientation: DWORD; + # dmDisplayFixedOutput: DWORD; + + LPDEVMODE* = ptr DEVMODE + devicemode* = DEVMODE + tdevicemode* = DEVMODE + tdevicemodeA* = DEVMODE + PDeviceModeA* = LPDEVMODE + PDeviceMode* = LPDEVMODE + TDEVMODE* = DEVMODE + PDEVMODE* = LPDEVMODE + devmodeW* = record + dmDeviceName*: array[0..CCHDEVICENAME - 1, WCHAR] + dmSpecVersion*: int16 + dmDriverVersion*: int16 + dmSize*: int16 + dmDriverExtra*: int16 + dmFields*: DWORD + dmOrientation*: short + dmPaperSize*: short + dmPaperLength*: short + dmPaperWidth*: short + dmScale*: short + dmCopies*: short + dmDefaultSource*: short + dmPrintQuality*: short + dmColor*: short + dmDuplex*: short + dmYResolution*: short + dmTTOption*: short + dmCollate*: short + dmFormName*: array[0..CCHFORMNAME - 1, wchar] + dmLogPixels*: int16 + dmBitsPerPel*: DWORD + dmPelsWidth*: DWORD + dmPelsHeight*: DWORD + dmDisplayFlags*: DWORD + dmDisplayFrequency*: DWORD + dmICMMethod*: DWORD + dmICMIntent*: DWORD + dmMediaType*: DWORD + dmDitherType*: DWORD + dmReserved1*: DWORD + dmReserved2*: DWORD + dmPanningWidth*: DWORD + dmPanningHeight*: DWORD + + LPDEVMODEW* = ptr DEVMODEW + devicemodeW* = DEVMODEW + TDeviceModeW* = DEVMODEW + PDeviceModeW* = LPDEVMODEW + TDEVMODEW* = DEVMODEW + PDEVMODEW* = LPDEVMODEW + DEVNAMES* = record + wDriverOffset*: int16 + wDeviceOffset*: int16 + wOutputOffset*: int16 + wDefault*: int16 + + LPDEVNAMES* = ptr DEVNAMES + tagDEVNAMES* = DEVNAMES + TDEVNAMES* = DEVNAMES + PDEVNAMES* = ptr DEVNAMES + DIBSECTION* = record + dsBm*: BITMAP + dsBmih*: BITMAPINFOHEADER + dsBitfields*: array[0..2, DWORD] + dshSection*: HANDLE + dsOffset*: DWORD + + tagDIBSECTION* = DIBSECTION + TDIBSECTION* = DIBSECTION + PDIBSECTION* = ptr DIBSECTION # + # LARGE_INTEGER = record + # case byte of + # 0: (LowPart : DWORD; + # HighPart : LONG); + # 1: (QuadPart : LONGLONG); + # end; ULARGE_INTEGER = record + # case byte of + # 0: (LowPart : DWORD; + # HighPart : DWORD); + # 1: (QuadPart : LONGLONG); + # end; + # + LARGE_INTEGER* = int64 + ULARGE_INTEGER* = int64 + PLARGE_INTEGER* = ptr LARGE_INTEGER + TLargeInteger* = Int64 + PULARGE_INTEGER* = ptr ULARGE_INTEGER + TULargeInteger* = int64 + DISK_GEOMETRY* = record + Cylinders*: LARGE_INTEGER + MediaType*: MEDIA_TYPE + TracksPerCylinder*: DWORD + SectorsPerTrack*: DWORD + BytesPerSector*: DWORD + + TDISKGEOMETRY* = DISK_GEOMETRY + PDISKGEOMETRY* = ptr DISK_GEOMETRY + DISK_PERFORMANCE* = record + BytesRead*: LARGE_INTEGER + BytesWritten*: LARGE_INTEGER + ReadTime*: LARGE_INTEGER + WriteTime*: LARGE_INTEGER + ReadCount*: DWORD + WriteCount*: DWORD + QueueDepth*: DWORD + + TDISKPERFORMANCE* = DISK_PERFORMANCE + PDISKPERFORMANCE* = ptr DISK_PERFORMANCE + DLGITEMTEMPLATE* = record + style*: DWORD + dwExtendedStyle*: DWORD + x*: int16 + y*: int16 + cx*: int16 + cy*: int16 + id*: int16 + + LPDLGITEMTEMPLATE* = ptr DLGITEMTEMPLATE + TDLGITEMTEMPLATE* = DLGITEMTEMPLATE + PDLGITEMTEMPLATE* = ptr DLGITEMTEMPLATE + DLGTEMPLATE* = record + style*: DWORD + dwExtendedStyle*: DWORD + cdit*: int16 + x*: int16 + y*: int16 + cx*: int16 + cy*: int16 + + LPDLGTEMPLATE* = ptr DLGTEMPLATE + LPCDLGTEMPLATE* = ptr DLGTEMPLATE + TDLGTEMPLATE* = DLGTEMPLATE + PDLGTEMPLATE* = ptr DLGTEMPLATE + DOC_INFO_1* = record + pDocName*: LPTSTR + pOutputFile*: LPTSTR + pDatatype*: LPTSTR + + TDOCINFO1* = DOC_INFO_1 + PDOCINFO1* = ptr DOC_INFO_1 + DOC_INFO_2* = record + pDocName*: LPTSTR + pOutputFile*: LPTSTR + pDatatype*: LPTSTR + dwMode*: DWORD + JobId*: DWORD + + TDOCINFO2* = DOC_INFO_2 + PDOCINFO2* = ptr DOC_INFO_2 + DOCINFO* = record + cbSize*: int32 + lpszDocName*: LPCTSTR + lpszOutput*: LPCTSTR + lpszDatatype*: LPCTSTR + fwType*: DWORD + + TDOCINFO* = DOCINFO + TDOCINFOA* = DOCINFO + PDOCINFO* = ptr DOCINFO + DRAGLISTINFO* = record + uNotification*: UINT + hWnd*: HWND + ptCursor*: POINT + + LPDRAGLISTINFO* = ptr DRAGLISTINFO + TDRAGLISTINFO* = DRAGLISTINFO + PDRAGLISTINFO* = ptr DRAGLISTINFO + DRAWITEMSTRUCT* = record + CtlType*: UINT + CtlID*: UINT + itemID*: UINT + itemAction*: UINT + itemState*: UINT + hwndItem*: HWND + hDC*: HDC + rcItem*: RECT + itemData*: ULONG_PTR + + LPDRAWITEMSTRUCT* = ptr DRAWITEMSTRUCT + tagDRAWITEMSTRUCT* = DRAWITEMSTRUCT + TDRAWITEMSTRUCT* = DRAWITEMSTRUCT + PDRAWITEMSTRUCT* = ptr DRAWITEMSTRUCT + DRAWTEXTPARAMS* = record + cbSize*: UINT + iTabLength*: int32 + iLeftMargin*: int32 + iRightMargin*: int32 + uiLengthDrawn*: UINT + + LPDRAWTEXTPARAMS* = ptr DRAWTEXTPARAMS + TDRAWTEXTPARAMS* = DRAWTEXTPARAMS + PDRAWTEXTPARAMS* = ptr DRAWTEXTPARAMS + PARTITION_INFORMATION* = record + PartitionType*: int8 + BootIndicator*: bool + RecognizedPartition*: bool + RewritePartition*: bool + StartingOffset*: LARGE_INTEGER + PartitionLength*: LARGE_INTEGER + HiddenSectors*: LARGE_INTEGER + + TPARTITIONINFORMATION* = PARTITION_INFORMATION + PPARTITIONINFORMATION* = ptr PARTITION_INFORMATION + DRIVE_LAYOUT_INFORMATION* = record + PartitionCount*: DWORD + Signature*: DWORD + PartitionEntry*: array[0..0, PARTITION_INFORMATION] + + TDRIVELAYOUTINFORMATION* = DRIVE_LAYOUT_INFORMATION + PDRIVELAYOUTINFORMATION* = ptr DRIVE_LAYOUT_INFORMATION + DRIVER_INFO_1* = record + pName*: LPTSTR + + TDRIVERINFO1* = DRIVER_INFO_1 + PDRIVERINFO1* = ptr DRIVER_INFO_1 + DRIVER_INFO_2* = record + cVersion*: DWORD + pName*: LPTSTR + pEnvironment*: LPTSTR + pDriverPath*: LPTSTR + pDataFile*: LPTSTR + pConfigFile*: LPTSTR + + TDRIVERINFO2* = DRIVER_INFO_2 + PDRIVERINFO2* = ptr DRIVER_INFO_2 + DRIVER_INFO_3* = record + cVersion*: DWORD + pName*: LPTSTR + pEnvironment*: LPTSTR + pDriverPath*: LPTSTR + pDataFile*: LPTSTR + pConfigFile*: LPTSTR + pHelpFile*: LPTSTR + pDependentFiles*: LPTSTR + pMonitorName*: LPTSTR + pDefaultDataType*: LPTSTR + + TDRIVERINFO3* = DRIVER_INFO_3 + PDRIVERINFO3* = ptr DRIVER_INFO_3 + EDITSTREAM* = record + dwCookie*: DWORD + dwError*: DWORD + pfnCallback*: EDITSTREAMCALLBACK + + Teditstream* = EDITSTREAM + Peditstream* = ptr EDITSTREAM + EMR* = record + iType*: DWORD + nSize*: DWORD + + tagEMR* = EMR + TEMR* = EMR + PEMR* = ptr EMR + EMRANGLEARC* = record + emr*: EMR + ptlCenter*: POINTL + nRadius*: DWORD + eStartAngle*: float32 + eSweepAngle*: float32 + + tagEMRANGLEARC* = EMRANGLEARC + TEMRANGLEARC* = EMRANGLEARC + PEMRANGLEARC* = ptr EMRANGLEARC + EMRARC* = record + emr*: EMR + rclBox*: RECTL + ptlStart*: POINTL + ptlEnd*: POINTL + + tagEMRARC* = EMRARC + TEMRARC* = EMRARC + PEMRARC* = ptr EMRARC + EMRARCTO* = EMRARC + TEMRARCTO* = EMRARC + PEMRARCTO* = ptr EMRARC + EMRCHORD* = EMRARC + TEMRCHORD* = EMRARC + PEMRCHORD* = ptr EMRARC + EMRPIE* = EMRARC + TEMRPIE* = EMRARC + PEMRPIE* = ptr EMRARC + XFORM* = record + eM11*: float32 + eM12*: float32 + eM21*: float32 + eM22*: float32 + eDx*: float32 + eDy*: float32 + + LPXFORM* = ptr XFORM + TXFORM* = XFORM + PXFORM* = ptr XFORM + EMRBITBLT* = record + emr*: EMR + rclBounds*: RECTL + xDest*: LONG + yDest*: LONG + cxDest*: LONG + cyDest*: LONG + dwRop*: DWORD + xSrc*: LONG + ySrc*: LONG + xformSrc*: XFORM + crBkColorSrc*: COLORREF + iUsageSrc*: DWORD + offBmiSrc*: DWORD + offBitsSrc*: DWORD + cbBitsSrc*: DWORD + + tagEMRBITBLT* = EMRBITBLT + TEMRBITBLT* = EMRBITBLT + PEMRBITBLT* = ptr EMRBITBLT + LOGBRUSH* = record + lbStyle*: UINT + lbColor*: COLORREF + lbHatch*: LONG + + tagLOGBRUSH* = LOGBRUSH + TLOGBRUSH* = LOGBRUSH + PLOGBRUSH* = ptr LOGBRUSH + EMRCREATEBRUSHINDIRECT* = record + emr*: EMR + ihBrush*: DWORD + lb*: LOGBRUSH + + tagEMRCREATEBRUSHINDIRECT* = EMRCREATEBRUSHINDIRECT + TEMRCREATEBRUSHINDIRECT* = EMRCREATEBRUSHINDIRECT + PEMRCREATEBRUSHINDIRECT* = ptr EMRCREATEBRUSHINDIRECT + LCSCSTYPE* = LONG + LCSGAMUTMATCH* = LONG + LOGCOLORSPACE* = record + lcsSignature*: DWORD + lcsVersion*: DWORD + lcsSize*: DWORD + lcsCSType*: LCSCSTYPE + lcsIntent*: LCSGAMUTMATCH + lcsEndpoints*: CIEXYZTRIPLE + lcsGammaRed*: DWORD + lcsGammaGreen*: DWORD + lcsGammaBlue*: DWORD + lcsFilename*: array[0..(MAX_PATH) - 1, TCHAR] + + LPLOGCOLORSPACE* = ptr LOGCOLORSPACE + tagLOGCOLORSPACE* = LOGCOLORSPACE + TLOGCOLORSPACE* = LOGCOLORSPACE + TLOGCOLORSPACEA* = LOGCOLORSPACE + PLOGCOLORSPACE* = ptr LOGCOLORSPACE + EMRCREATECOLORSPACE* = record + emr*: EMR + ihCS*: DWORD + lcs*: LOGCOLORSPACE + + tagEMRCREATECOLORSPACE* = EMRCREATECOLORSPACE + TEMRCREATECOLORSPACE* = EMRCREATECOLORSPACE + PEMRCREATECOLORSPACE* = ptr EMRCREATECOLORSPACE + EMRCREATEDIBPATTERNBRUSHPT* = record + emr*: EMR + ihBrush*: DWORD + iUsage*: DWORD + offBmi*: DWORD + cbBmi*: DWORD + offBits*: DWORD + cbBits*: DWORD + + tagEMRCREATEDIBPATTERNBRUSHPT* = EMRCREATEDIBPATTERNBRUSHPT + TEMRCREATEDIBPATTERNBRUSHPT* = EMRCREATEDIBPATTERNBRUSHPT + PEMRCREATEDIBPATTERNBRUSHPT* = EMRCREATEDIBPATTERNBRUSHPT + EMRCREATEMONOBRUSH* = record + emr*: EMR + ihBrush*: DWORD + iUsage*: DWORD + offBmi*: DWORD + cbBmi*: DWORD + offBits*: DWORD + cbBits*: DWORD + + tagEMRCREATEMONOBRUSH* = EMRCREATEMONOBRUSH + TEMRCREATEMONOBRUSH* = EMRCREATEMONOBRUSH + PEMRCREATEMONOBRUSH* = ptr EMRCREATEMONOBRUSH + PALETTEENTRY* = record + peRed*: int8 + peGreen*: int8 + peBlue*: int8 + peFlags*: int8 + + LPPALETTEENTRY* = ptr PALETTEENTRY + tagPALETTEENTRY* = PALETTEENTRY + TPALETTEENTRY* = PALETTEENTRY + PPALETTEENTRY* = ptr PALETTEENTRY + LOGPALETTE* = record + palVersion*: int16 + palNumEntries*: int16 + palPalEntry*: array[0..0, PALETTEENTRY] + + LPLOGPALETTE* = ptr LOGPALETTE + tagLOGPALETTE* = LOGPALETTE + TLOGPALETTE* = LOGPALETTE + PLOGPALETTE* = ptr LOGPALETTE + EMRCREATEPALETTE* = record + emr*: EMR + ihPal*: DWORD + lgpl*: LOGPALETTE + + tagEMRCREATEPALETTE* = EMRCREATEPALETTE + TEMRCREATEPALETTE* = EMRCREATEPALETTE + PEMRCREATEPALETTE* = ptr EMRCREATEPALETTE + LOGPEN* = record + lopnStyle*: UINT + lopnWidth*: POINT + lopnColor*: COLORREF + + tagLOGPEN* = LOGPEN + TLOGPEN* = LOGPEN + PLOGPEN* = ptr LOGPEN + EMRCREATEPEN* = record + emr*: EMR + ihPen*: DWORD + lopn*: LOGPEN + + tagEMRCREATEPEN* = EMRCREATEPEN + TEMRCREATEPEN* = EMRCREATEPEN + PEMRCREATEPEN* = ptr EMRCREATEPEN + EMRELLIPSE* = record + emr*: EMR + rclBox*: RECTL + + tagEMRELLIPSE* = EMRELLIPSE + TEMRELLIPSE* = EMRELLIPSE + PEMRELLIPSE* = ptr EMRELLIPSE + EMRRECTANGLE* = EMRELLIPSE + TEMRRECTANGLE* = EMRELLIPSE + PEMRRECTANGLE* = ptr EMRELLIPSE + EMREOF* = record + emr*: EMR + nPalEntries*: DWORD + offPalEntries*: DWORD + nSizeLast*: DWORD + + tagEMREOF* = EMREOF + TEMREOF* = EMREOF + PEMREOF* = ptr EMREOF + EMREXCLUDECLIPRECT* = record + emr*: EMR + rclClip*: RECTL + + tagEMREXCLUDECLIPRECT* = EMREXCLUDECLIPRECT + TEMREXCLUDECLIPRECT* = EMREXCLUDECLIPRECT + PEMREXCLUDECLIPRECT* = ptr EMREXCLUDECLIPRECT + EMRINTERSECTCLIPRECT* = EMREXCLUDECLIPRECT + TEMRINTERSECTCLIPRECT* = EMREXCLUDECLIPRECT + PEMRINTERSECTCLIPRECT* = ptr EMREXCLUDECLIPRECT + PANOSE* = record + bFamilyType*: int8 + bSerifStyle*: int8 + bWeight*: int8 + bProportion*: int8 + bContrast*: int8 + bStrokeVariation*: int8 + bArmStyle*: int8 + bLetterform*: int8 + bMidline*: int8 + bXHeight*: int8 + + tagPANOSE* = PANOSE + TPANOSE* = PANOSE + PPANOSE* = ptr PANOSE + EXTLOGFONT* = record + elfLogFont*: LOGFONT + elfFullName*: array[0..(LF_FULLFACESIZE) - 1, BCHAR] + elfStyle*: array[0..(LF_FACESIZE) - 1, BCHAR] + elfVersion*: DWORD + elfStyleSize*: DWORD + elfMatch*: DWORD + elfReserved*: DWORD + elfVendorId*: array[0..(ELF_VENDOR_SIZE) - 1, int8] + elfCulture*: DWORD + elfPanose*: PANOSE + + tagEXTLOGFONT* = EXTLOGFONT + TEXTLOGFONT* = EXTLOGFONT + PEXTLOGFONT* = ptr EXTLOGFONT + EMREXTCREATEFONTINDIRECTW* = record + emr*: EMR + ihFont*: DWORD + elfw*: EXTLOGFONT + + tagEMREXTCREATEFONTINDIRECTW* = EMREXTCREATEFONTINDIRECTW + TEMREXTCREATEFONTINDIRECTW* = EMREXTCREATEFONTINDIRECTW + PEMREXTCREATEFONTINDIRECTW* = ptr EMREXTCREATEFONTINDIRECTW + EXTLOGPEN* = record + elpPenStyle*: UINT + elpWidth*: UINT + elpBrushStyle*: UINT + elpColor*: COLORREF + elpHatch*: LONG + elpNumEntries*: DWORD + elpStyleEntry*: array[0..0, DWORD] + + tagEXTLOGPEN* = EXTLOGPEN + TEXTLOGPEN* = EXTLOGPEN + PEXTLOGPEN* = ptr EXTLOGPEN + EMREXTCREATEPEN* = record + emr*: EMR + ihPen*: DWORD + offBmi*: DWORD + cbBmi*: DWORD + offBits*: DWORD + cbBits*: DWORD + elp*: EXTLOGPEN + + tagEMREXTCREATEPEN* = EMREXTCREATEPEN + TEMREXTCREATEPEN* = EMREXTCREATEPEN + PEMREXTCREATEPEN* = ptr EMREXTCREATEPEN + EMREXTFLOODFILL* = record + emr*: EMR + ptlStart*: POINTL + crColor*: COLORREF + iMode*: DWORD + + tagEMREXTFLOODFILL* = EMREXTFLOODFILL + TEMREXTFLOODFILL* = EMREXTFLOODFILL + PEMREXTFLOODFILL* = ptr EMREXTFLOODFILL + EMREXTSELECTCLIPRGN* = record + emr*: EMR + cbRgnData*: DWORD + iMode*: DWORD + RgnData*: array[0..0, int8] + + tagEMREXTSELECTCLIPRGN* = EMREXTSELECTCLIPRGN + TEMREXTSELECTCLIPRGN* = EMREXTSELECTCLIPRGN + PEMREXTSELECTCLIPRGN* = ptr EMREXTSELECTCLIPRGN + EMRTEXT* = record + ptlReference*: POINTL + nChars*: DWORD + offString*: DWORD + fOptions*: DWORD + rcl*: RECTL + offDx*: DWORD + + tagEMRTEXT* = EMRTEXT + TEMRTEXT* = EMRTEXT + PEMRTEXT* = ptr EMRTEXT + EMREXTTEXTOUTA* = record + emr*: EMR + rclBounds*: RECTL + iGraphicsMode*: DWORD + exScale*: float32 + eyScale*: float32 + emrtext*: EMRTEXT + + tagEMREXTTEXTOUTA* = EMREXTTEXTOUTA + TEMREXTTEXTOUTA* = EMREXTTEXTOUTA + PEMREXTTEXTOUTA* = ptr EMREXTTEXTOUTA + EMREXTTEXTOUTW* = EMREXTTEXTOUTA + TEMREXTTEXTOUTW* = EMREXTTEXTOUTA + PEMREXTTEXTOUTW* = ptr EMREXTTEXTOUTA + EMRFILLPATH* = record + emr*: EMR + rclBounds*: RECTL + + tagEMRFILLPATH* = EMRFILLPATH + TEMRFILLPATH* = EMRFILLPATH + PEMRFILLPATH* = ptr EMRFILLPATH + EMRSTROKEANDFILLPATH* = EMRFILLPATH + TEMRSTROKEANDFILLPATH* = EMRFILLPATH + PEMRSTROKEANDFILLPATH* = ptr EMRFILLPATH + EMRSTROKEPATH* = EMRFILLPATH + TEMRSTROKEPATH* = EMRFILLPATH + PEMRSTROKEPATH* = ptr EMRFILLPATH + EMRFILLRGN* = record + emr*: EMR + rclBounds*: RECTL + cbRgnData*: DWORD + ihBrush*: DWORD + RgnData*: array[0..0, int8] + + tagEMRFILLRGN* = EMRFILLRGN + TEMRFILLRGN* = EMRFILLRGN + PEMRFILLRGN* = ptr EMRFILLRGN + EMRFORMAT* = record + dSignature*: DWORD + nVersion*: DWORD + cbData*: DWORD + offData*: DWORD + + tagEMRFORMAT* = EMRFORMAT + TEMRFORMAT* = EMRFORMAT + PEMRFORMAT* = ptr EMRFORMAT + SIZE* = record + cx*: LONG + cy*: LONG + + LPSIZE* = ptr SIZE + tagSIZE* = SIZE + TSIZE* = SIZE + PSIZE* = ptr SIZE + SIZEL* = SIZE + TSIZEL* = SIZE + PSIZEL* = ptr SIZE + LPSIZEL* = ptr SIZE + EMRFRAMERGN* = record + emr*: EMR + rclBounds*: RECTL + cbRgnData*: DWORD + ihBrush*: DWORD + szlStroke*: SIZEL + RgnData*: array[0..0, int8] + + tagEMRFRAMERGN* = EMRFRAMERGN + TEMRFRAMERGN* = EMRFRAMERGN + PEMRFRAMERGN* = ptr EMRFRAMERGN + EMRGDICOMMENT* = record + emr*: EMR + cbData*: DWORD + Data*: array[0..0, int8] + + tagEMRGDICOMMENT* = EMRGDICOMMENT + TEMRGDICOMMENT* = EMRGDICOMMENT + PEMRGDICOMMENT* = ptr EMRGDICOMMENT + EMRINVERTRGN* = record + emr*: EMR + rclBounds*: RECTL + cbRgnData*: DWORD + RgnData*: array[0..0, int8] + + tagEMRINVERTRGN* = EMRINVERTRGN + TEMRINVERTRGN* = EMRINVERTRGN + PEMRINVERTRGN* = ptr EMRINVERTRGN + EMRPAINTRGN* = EMRINVERTRGN + TEMRPAINTRGN* = EMRINVERTRGN + PEMRPAINTRGN* = ptr EMRINVERTRGN + EMRLINETO* = record + emr*: EMR + ptl*: POINTL + + tagEMRLINETO* = EMRLINETO + TEMRLINETO* = EMRLINETO + PEMRLINETO* = ptr EMRLINETO + EMRMOVETOEX* = EMRLINETO + TEMRMOVETOEX* = EMRLINETO + PEMRMOVETOEX* = ptr EMRLINETO + EMRMASKBLT* = record + emr*: EMR + rclBounds*: RECTL + xDest*: LONG + yDest*: LONG + cxDest*: LONG + cyDest*: LONG + dwRop*: DWORD + xSrc*: LONG + ySrc*: LONG + xformSrc*: XFORM + crBkColorSrc*: COLORREF + iUsageSrc*: DWORD + offBmiSrc*: DWORD + cbBmiSrc*: DWORD + offBitsSrc*: DWORD + cbBitsSrc*: DWORD + xMask*: LONG + yMask*: LONG + iUsageMask*: DWORD + offBmiMask*: DWORD + cbBmiMask*: DWORD + offBitsMask*: DWORD + cbBitsMask*: DWORD + + tagEMRMASKBLT* = EMRMASKBLT + TEMRMASKBLT* = EMRMASKBLT + PEMRMASKBLT* = ptr EMRMASKBLT + EMRMODIFYWORLDTRANSFORM* = record + emr*: EMR + xform*: XFORM + iMode*: DWORD + + tagEMRMODIFYWORLDTRANSFORM* = EMRMODIFYWORLDTRANSFORM + TEMRMODIFYWORLDTRANSFORM* = EMRMODIFYWORLDTRANSFORM + PEMRMODIFYWORLDTRANSFORM* = EMRMODIFYWORLDTRANSFORM + EMROFFSETCLIPRGN* = record + emr*: EMR + ptlOffset*: POINTL + + tagEMROFFSETCLIPRGN* = EMROFFSETCLIPRGN + TEMROFFSETCLIPRGN* = EMROFFSETCLIPRGN + PEMROFFSETCLIPRGN* = ptr EMROFFSETCLIPRGN + EMRPLGBLT* = record + emr*: EMR + rclBounds*: RECTL + aptlDest*: array[0..2, POINTL] + xSrc*: LONG + ySrc*: LONG + cxSrc*: LONG + cySrc*: LONG + xformSrc*: XFORM + crBkColorSrc*: COLORREF + iUsageSrc*: DWORD + offBmiSrc*: DWORD + cbBmiSrc*: DWORD + offBitsSrc*: DWORD + cbBitsSrc*: DWORD + xMask*: LONG + yMask*: LONG + iUsageMask*: DWORD + offBmiMask*: DWORD + cbBmiMask*: DWORD + offBitsMask*: DWORD + cbBitsMask*: DWORD + + tagEMRPLGBLT* = EMRPLGBLT + TEMRPLGBLT* = EMRPLGBLT + PEMRPLGBLT* = ptr EMRPLGBLT + EMRPOLYDRAW* = record + emr*: EMR + rclBounds*: RECTL + cptl*: DWORD + aptl*: array[0..0, POINTL] + abTypes*: array[0..0, int8] + + tagEMRPOLYDRAW* = EMRPOLYDRAW + TEMRPOLYDRAW* = EMRPOLYDRAW + PEMRPOLYDRAW* = ptr EMRPOLYDRAW + EMRPOLYDRAW16* = record + emr*: EMR + rclBounds*: RECTL + cpts*: DWORD + apts*: array[0..0, POINTS] + abTypes*: array[0..0, int8] + + tagEMRPOLYDRAW16* = EMRPOLYDRAW16 + TEMRPOLYDRAW16* = EMRPOLYDRAW16 + PEMRPOLYDRAW16* = ptr EMRPOLYDRAW16 + EMRPOLYLINE* = record + emr*: EMR + rclBounds*: RECTL + cptl*: DWORD + aptl*: array[0..0, POINTL] + + tagEMRPOLYLINE* = EMRPOLYLINE + TEMRPOLYLINE* = EMRPOLYLINE + PEMRPOLYLINE* = ptr EMRPOLYLINE + EMRPOLYBEZIER* = EMRPOLYLINE + TEMRPOLYBEZIER* = EMRPOLYLINE + PEMRPOLYBEZIER* = ptr EMRPOLYLINE + EMRPOLYGON* = EMRPOLYLINE + TEMRPOLYGON* = EMRPOLYLINE + PEMRPOLYGON* = ptr EMRPOLYLINE + EMRPOLYBEZIERTO* = EMRPOLYLINE + TEMRPOLYBEZIERTO* = EMRPOLYLINE + PEMRPOLYBEZIERTO* = ptr EMRPOLYLINE + EMRPOLYLINETO* = EMRPOLYLINE + TEMRPOLYLINETO* = EMRPOLYLINE + PEMRPOLYLINETO* = ptr EMRPOLYLINE + EMRPOLYLINE16* = record + emr*: EMR + rclBounds*: RECTL + cpts*: DWORD + apts*: array[0..0, POINTL] + + tagEMRPOLYLINE16* = EMRPOLYLINE16 + TEMRPOLYLINE16* = EMRPOLYLINE16 + PEMRPOLYLINE16* = ptr EMRPOLYLINE16 + EMRPOLYBEZIER16* = EMRPOLYLINE16 + TEMRPOLYBEZIER16* = EMRPOLYLINE16 + PEMRPOLYBEZIER16* = ptr EMRPOLYLINE16 + EMRPOLYGON16* = EMRPOLYLINE16 + TEMRPOLYGON16* = EMRPOLYLINE16 + PEMRPOLYGON16* = ptr EMRPOLYLINE16 + EMRPOLYBEZIERTO16* = EMRPOLYLINE16 + TEMRPOLYBEZIERTO16* = EMRPOLYLINE16 + PEMRPOLYBEZIERTO16* = ptr EMRPOLYLINE16 + EMRPOLYLINETO16* = EMRPOLYLINE16 + TEMRPOLYLINETO16* = EMRPOLYLINE16 + PEMRPOLYLINETO16* = ptr EMRPOLYLINE16 + EMRPOLYPOLYLINE* = record + emr*: EMR + rclBounds*: RECTL + nPolys*: DWORD + cptl*: DWORD + aPolyCounts*: array[0..0, DWORD] + aptl*: array[0..0, POINTL] + + tagEMRPOLYPOLYLINE* = EMRPOLYPOLYLINE + TEMRPOLYPOLYLINE* = EMRPOLYPOLYLINE + PEMRPOLYPOLYLINE* = ptr EMRPOLYPOLYLINE + EMRPOLYPOLYGON* = EMRPOLYPOLYLINE + TEMRPOLYPOLYGON* = EMRPOLYPOLYLINE + PEMRPOLYPOLYGON* = ptr EMRPOLYPOLYLINE + EMRPOLYPOLYLINE16* = record + emr*: EMR + rclBounds*: RECTL + nPolys*: DWORD + cpts*: DWORD + aPolyCounts*: array[0..0, DWORD] + apts*: array[0..0, POINTS] + + tagEMRPOLYPOLYLINE16* = EMRPOLYPOLYLINE16 + TEMRPOLYPOLYLINE16* = EMRPOLYPOLYLINE16 + PEMRPOLYPOLYLINE16* = ptr EMRPOLYPOLYLINE16 + EMRPOLYPOLYGON16* = EMRPOLYPOLYLINE16 + TEMRPOLYPOLYGON16* = EMRPOLYPOLYLINE16 + PEMRPOLYPOLYGON16* = ptr EMRPOLYPOLYLINE16 + EMRPOLYTEXTOUTA* = record + emr*: EMR + rclBounds*: RECTL + iGraphicsMode*: DWORD + exScale*: float32 + eyScale*: float32 + cStrings*: LONG + aemrtext*: array[0..0, EMRTEXT] + + tagEMRPOLYTEXTOUTA* = EMRPOLYTEXTOUTA + TEMRPOLYTEXTOUTA* = EMRPOLYTEXTOUTA + PEMRPOLYTEXTOUTA* = ptr EMRPOLYTEXTOUTA + EMRPOLYTEXTOUTW* = EMRPOLYTEXTOUTA + TEMRPOLYTEXTOUTW* = EMRPOLYTEXTOUTA + PEMRPOLYTEXTOUTW* = ptr EMRPOLYTEXTOUTA + EMRRESIZEPALETTE* = record + emr*: EMR + ihPal*: DWORD + cEntries*: DWORD + + tagEMRRESIZEPALETTE* = EMRRESIZEPALETTE + TEMRRESIZEPALETTE* = EMRRESIZEPALETTE + PEMRRESIZEPALETTE* = ptr EMRRESIZEPALETTE + EMRRESTOREDC* = record + emr*: EMR + iRelative*: LONG + + tagEMRRESTOREDC* = EMRRESTOREDC + TEMRRESTOREDC* = EMRRESTOREDC + PEMRRESTOREDC* = ptr EMRRESTOREDC + EMRROUNDRECT* = record + emr*: EMR + rclBox*: RECTL + szlCorner*: SIZEL + + tagEMRROUNDRECT* = EMRROUNDRECT + TEMRROUNDRECT* = EMRROUNDRECT + PEMRROUNDRECT* = ptr EMRROUNDRECT + EMRSCALEVIEWPORTEXTEX* = record + emr*: EMR + xNum*: LONG + xDenom*: LONG + yNum*: LONG + yDenom*: LONG + + tagEMRSCALEVIEWPORTEXTEX* = EMRSCALEVIEWPORTEXTEX + TEMRSCALEVIEWPORTEXTEX* = EMRSCALEVIEWPORTEXTEX + PEMRSCALEVIEWPORTEXTEX* = ptr EMRSCALEVIEWPORTEXTEX + EMRSCALEWINDOWEXTEX* = EMRSCALEVIEWPORTEXTEX + TEMRSCALEWINDOWEXTEX* = EMRSCALEVIEWPORTEXTEX + PEMRSCALEWINDOWEXTEX* = ptr EMRSCALEVIEWPORTEXTEX + EMRSELECTCOLORSPACE* = record + emr*: EMR + ihCS*: DWORD + + tagEMRSELECTCOLORSPACE* = EMRSELECTCOLORSPACE + TEMRSELECTCOLORSPACE* = EMRSELECTCOLORSPACE + PEMRSELECTCOLORSPACE* = ptr EMRSELECTCOLORSPACE + EMRDELETECOLORSPACE* = EMRSELECTCOLORSPACE + TEMRDELETECOLORSPACE* = EMRSELECTCOLORSPACE + PEMRDELETECOLORSPACE* = ptr EMRSELECTCOLORSPACE + EMRSELECTOBJECT* = record + emr*: EMR + ihObject*: DWORD + + tagEMRSELECTOBJECT* = EMRSELECTOBJECT + TEMRSELECTOBJECT* = EMRSELECTOBJECT + PEMRSELECTOBJECT* = ptr EMRSELECTOBJECT + EMRDELETEOBJECT* = EMRSELECTOBJECT + TEMRDELETEOBJECT* = EMRSELECTOBJECT + PEMRDELETEOBJECT* = ptr EMRSELECTOBJECT + EMRSELECTPALETTE* = record + emr*: EMR + ihPal*: DWORD + + tagEMRSELECTPALETTE* = EMRSELECTPALETTE + TEMRSELECTPALETTE* = EMRSELECTPALETTE + PEMRSELECTPALETTE* = ptr EMRSELECTPALETTE + EMRSETARCDIRECTION* = record + emr*: EMR + iArcDirection*: DWORD + + tagEMRSETARCDIRECTION* = EMRSETARCDIRECTION + TEMRSETARCDIRECTION* = EMRSETARCDIRECTION + PEMRSETARCDIRECTION* = ptr EMRSETARCDIRECTION + EMRSETBKCOLOR* = record + emr*: EMR + crColor*: COLORREF + + tagEMRSETTEXTCOLOR* = EMRSETBKCOLOR + TEMRSETBKCOLOR* = EMRSETBKCOLOR + PEMRSETBKCOLOR* = ptr EMRSETBKCOLOR + EMRSETTEXTCOLOR* = EMRSETBKCOLOR + TEMRSETTEXTCOLOR* = EMRSETBKCOLOR + PEMRSETTEXTCOLOR* = ptr EMRSETBKCOLOR + EMRSETCOLORADJUSTMENT* = record + emr*: EMR + ColorAdjustment*: COLORADJUSTMENT + + tagEMRSETCOLORADJUSTMENT* = EMRSETCOLORADJUSTMENT + TEMRSETCOLORADJUSTMENT* = EMRSETCOLORADJUSTMENT + PEMRSETCOLORADJUSTMENT* = ptr EMRSETCOLORADJUSTMENT + EMRSETDIBITSTODEVICE* = record + emr*: EMR + rclBounds*: RECTL + xDest*: LONG + yDest*: LONG + xSrc*: LONG + ySrc*: LONG + cxSrc*: LONG + cySrc*: LONG + offBmiSrc*: DWORD + cbBmiSrc*: DWORD + offBitsSrc*: DWORD + cbBitsSrc*: DWORD + iUsageSrc*: DWORD + iStartScan*: DWORD + cScans*: DWORD + + tagEMRSETDIBITSTODEVICE* = EMRSETDIBITSTODEVICE + TEMRSETDIBITSTODEVICE* = EMRSETDIBITSTODEVICE + PEMRSETDIBITSTODEVICE* = ptr EMRSETDIBITSTODEVICE + EMRSETMAPPERFLAGS* = record + emr*: EMR + dwFlags*: DWORD + + tagEMRSETMAPPERFLAGS* = EMRSETMAPPERFLAGS + TEMRSETMAPPERFLAGS* = EMRSETMAPPERFLAGS + PEMRSETMAPPERFLAGS* = ptr EMRSETMAPPERFLAGS + EMRSETMITERLIMIT* = record + emr*: EMR + eMiterLimit*: float32 + + tagEMRSETMITERLIMIT* = EMRSETMITERLIMIT + TEMRSETMITERLIMIT* = EMRSETMITERLIMIT + PEMRSETMITERLIMIT* = ptr EMRSETMITERLIMIT + EMRSETPALETTEENTRIES* = record + emr*: EMR + ihPal*: DWORD + iStart*: DWORD + cEntries*: DWORD + aPalEntries*: array[0..0, PALETTEENTRY] + + tagEMRSETPALETTEENTRIES* = EMRSETPALETTEENTRIES + TEMRSETPALETTEENTRIES* = EMRSETPALETTEENTRIES + PEMRSETPALETTEENTRIES* = ptr EMRSETPALETTEENTRIES + EMRSETPIXELV* = record + emr*: EMR + ptlPixel*: POINTL + crColor*: COLORREF + + tagEMRSETPIXELV* = EMRSETPIXELV + TEMRSETPIXELV* = EMRSETPIXELV + PEMRSETPIXELV* = ptr EMRSETPIXELV + EMRSETVIEWPORTEXTEX* = record + emr*: EMR + szlExtent*: SIZEL + + tagEMRSETVIEWPORTEXTEX* = EMRSETVIEWPORTEXTEX + TEMRSETVIEWPORTEXTEX* = EMRSETVIEWPORTEXTEX + PEMRSETVIEWPORTEXTEX* = ptr EMRSETVIEWPORTEXTEX + EMRSETWINDOWEXTEX* = EMRSETVIEWPORTEXTEX + TEMRSETWINDOWEXTEX* = EMRSETVIEWPORTEXTEX + PEMRSETWINDOWEXTEX* = ptr EMRSETVIEWPORTEXTEX + EMRSETVIEWPORTORGEX* = record + emr*: EMR + ptlOrigin*: POINTL + + tagEMRSETVIEWPORTORGEX* = EMRSETVIEWPORTORGEX + TEMRSETVIEWPORTORGEX* = EMRSETVIEWPORTORGEX + PEMRSETVIEWPORTORGEX* = ptr EMRSETVIEWPORTORGEX + EMRSETWINDOWORGEX* = EMRSETVIEWPORTORGEX + TEMRSETWINDOWORGEX* = EMRSETVIEWPORTORGEX + PEMRSETWINDOWORGEX* = ptr EMRSETVIEWPORTORGEX + EMRSETBRUSHORGEX* = EMRSETVIEWPORTORGEX + TEMRSETBRUSHORGEX* = EMRSETVIEWPORTORGEX + PEMRSETBRUSHORGEX* = ptr EMRSETVIEWPORTORGEX + EMRSETWORLDTRANSFORM* = record + emr*: EMR + xform*: XFORM + + tagEMRSETWORLDTRANSFORM* = EMRSETWORLDTRANSFORM + TEMRSETWORLDTRANSFORM* = EMRSETWORLDTRANSFORM + PEMRSETWORLDTRANSFORM* = ptr EMRSETWORLDTRANSFORM + EMRSTRETCHBLT* = record + emr*: EMR + rclBounds*: RECTL + xDest*: LONG + yDest*: LONG + cxDest*: LONG + cyDest*: LONG + dwRop*: DWORD + xSrc*: LONG + ySrc*: LONG + xformSrc*: XFORM + crBkColorSrc*: COLORREF + iUsageSrc*: DWORD + offBmiSrc*: DWORD + cbBmiSrc*: DWORD + offBitsSrc*: DWORD + cbBitsSrc*: DWORD + cxSrc*: LONG + cySrc*: LONG + + tagEMRSTRETCHBLT* = EMRSTRETCHBLT + TEMRSTRETCHBLT* = EMRSTRETCHBLT + PEMRSTRETCHBLT* = ptr EMRSTRETCHBLT + EMRSTRETCHDIBITS* = record + emr*: EMR + rclBounds*: RECTL + xDest*: LONG + yDest*: LONG + xSrc*: LONG + ySrc*: LONG + cxSrc*: LONG + cySrc*: LONG + offBmiSrc*: DWORD + cbBmiSrc*: DWORD + offBitsSrc*: DWORD + cbBitsSrc*: DWORD + iUsageSrc*: DWORD + dwRop*: DWORD + cxDest*: LONG + cyDest*: LONG + + tagEMRSTRETCHDIBITS* = EMRSTRETCHDIBITS + TEMRSTRETCHDIBITS* = EMRSTRETCHDIBITS + PEMRSTRETCHDIBITS* = ptr EMRSTRETCHDIBITS + EMRABORTPATH* = record + emr*: EMR + + TEMRABORTPATH* = EMRABORTPATH + PEMRABORTPATH* = ptr EMRABORTPATH + tagABORTPATH* = EMRABORTPATH + TABORTPATH* = EMRABORTPATH + EMRBEGINPATH* = EMRABORTPATH + TEMRBEGINPATH* = EMRABORTPATH + PEMRBEGINPATH* = ptr EMRABORTPATH + EMRENDPATH* = EMRABORTPATH + TEMRENDPATH* = EMRABORTPATH + PEMRENDPATH* = ptr EMRABORTPATH + EMRCLOSEFIGURE* = EMRABORTPATH + TEMRCLOSEFIGURE* = EMRABORTPATH + PEMRCLOSEFIGURE* = ptr EMRABORTPATH + EMRFLATTENPATH* = EMRABORTPATH + TEMRFLATTENPATH* = EMRABORTPATH + PEMRFLATTENPATH* = ptr EMRABORTPATH + EMRWIDENPATH* = EMRABORTPATH + TEMRWIDENPATH* = EMRABORTPATH + PEMRWIDENPATH* = ptr EMRABORTPATH + EMRSETMETARGN* = EMRABORTPATH + TEMRSETMETARGN* = EMRABORTPATH + PEMRSETMETARGN* = ptr EMRABORTPATH + EMRSAVEDC* = EMRABORTPATH + TEMRSAVEDC* = EMRABORTPATH + PEMRSAVEDC* = ptr EMRABORTPATH + EMRREALIZEPALETTE* = EMRABORTPATH + TEMRREALIZEPALETTE* = EMRABORTPATH + PEMRREALIZEPALETTE* = ptr EMRABORTPATH + EMRSELECTCLIPPATH* = record + emr*: EMR + iMode*: DWORD + + tagEMRSELECTCLIPPATH* = EMRSELECTCLIPPATH + TEMRSELECTCLIPPATH* = EMRSELECTCLIPPATH + PEMRSELECTCLIPPATH* = ptr EMRSELECTCLIPPATH + EMRSETBKMODE* = EMRSELECTCLIPPATH + TEMRSETBKMODE* = EMRSELECTCLIPPATH + PEMRSETBKMODE* = ptr EMRSELECTCLIPPATH + EMRSETMAPMODE* = EMRSELECTCLIPPATH + TEMRSETMAPMODE* = EMRSELECTCLIPPATH + PEMRSETMAPMODE* = ptr EMRSELECTCLIPPATH + EMRSETPOLYFILLMODE* = EMRSELECTCLIPPATH + TEMRSETPOLYFILLMODE* = EMRSELECTCLIPPATH + PEMRSETPOLYFILLMODE* = ptr EMRSELECTCLIPPATH + EMRSETROP2* = EMRSELECTCLIPPATH + TEMRSETROP2* = EMRSELECTCLIPPATH + PEMRSETROP2* = ptr EMRSELECTCLIPPATH + EMRSETSTRETCHBLTMODE* = EMRSELECTCLIPPATH + TEMRSETSTRETCHBLTMODE* = EMRSELECTCLIPPATH + PEMRSETSTRETCHBLTMODE* = ptr EMRSELECTCLIPPATH + EMRSETTEXTALIGN* = EMRSELECTCLIPPATH + TEMRSETTEXTALIGN* = EMRSELECTCLIPPATH + PEMRSETTEXTALIGN* = ptr EMRSELECTCLIPPATH + EMRENABLEICM* = EMRSELECTCLIPPATH + TEMRENABLEICM* = EMRSELECTCLIPPATH + PEMRENABLEICM* = ptr EMRSELECTCLIPPATH + NMHDR* = record + hwndFrom*: HWND + idFrom*: UINT + code*: UINT + + tagNMHDR* = NMHDR + TNMHDR* = NMHDR + PNMHDR* = ptr NMHDR + TENCORRECTTEXT* = record + nmhdr*: NMHDR + chrg*: CHARRANGE + seltyp*: int16 + + Pencorrecttext* = ptr TENCORRECTTEXT + TENDROPFILES* = record + nmhdr*: NMHDR + hDrop*: HANDLE + cp*: LONG + fProtected*: WINBOOL + + Pendropfiles* = ptr TENDROPFILES + TENSAVECLIPBOARD* = record + nmhdr*: NMHDR + cObjectCount*: LONG + cch*: LONG + + PENSAVECLIPBOARD* = ptr TENSAVECLIPBOARD + TENOLEOPFAILED* = record + nmhdr*: NMHDR + iob*: LONG + lOper*: LONG + hr*: HRESULT + + PENOLEOPFAILED* = ptr TENOLEOPFAILED + TENHMETAHEADER* = record + iType*: DWORD + nSize*: DWORD + rclBounds*: RECTL + rclFrame*: RECTL + dSignature*: DWORD + nVersion*: DWORD + nBytes*: DWORD + nRecords*: DWORD + nHandles*: int16 + sReserved*: int16 + nDescription*: DWORD + offDescription*: DWORD + nPalEntries*: DWORD + szlDevice*: SIZEL + szlMillimeters*: SIZEL + + LPENHMETAHEADER* = ptr TENHMETAHEADER + PENHMETAHEADER* = ptr TENHMETAHEADER + TENHMETARECORD* = record + iType*: DWORD + nSize*: DWORD + dParm*: array[0..0, DWORD] + + LPENHMETARECORD* = ptr TENHMETARECORD + PENHMETARECORD* = ptr TENHMETARECORD + TENPROTECTED* = record + nmhdr*: NMHDR + msg*: UINT + wParam*: WPARAM + lParam*: LPARAM + chrg*: CHARRANGE + + Penprotected* = ptr TENPROTECTED + SERVICE_STATUS* = record + dwServiceType*: DWORD + dwCurrentState*: DWORD + dwControlsAccepted*: DWORD + dwWin32ExitCode*: DWORD + dwServiceSpecificExitCode*: DWORD + dwCheckPoint*: DWORD + dwWaitHint*: DWORD + + LPSERVICE_STATUS* = ptr SERVICE_STATUS + TSERVICESTATUS* = SERVICE_STATUS + PSERVICESTATUS* = ptr SERVICE_STATUS + ENUM_SERVICE_STATUS* = record + lpServiceName*: LPTSTR + lpDisplayName*: LPTSTR + ServiceStatus*: SERVICE_STATUS + + LPENUM_SERVICE_STATUS* = ptr ENUM_SERVICE_STATUS + TENUMSERVICESTATUS* = ENUM_SERVICE_STATUS + PENUMSERVICESTATUS* = ptr ENUM_SERVICE_STATUS + ENUMLOGFONT* = record + elfLogFont*: LOGFONT + elfFullName*: array[0..(LF_FULLFACESIZE) - 1, BCHAR] + elfStyle*: array[0..(LF_FACESIZE) - 1, BCHAR] + + TENUMLOGFONT* = ENUMLOGFONT + PENUMLOGFONT* = ptr ENUMLOGFONT + ENUMLOGFONTEX* = record + elfLogFont*: LOGFONT + elfFullName*: array[0..(LF_FULLFACESIZE) - 1, BCHAR] + elfStyle*: array[0..(LF_FACESIZE) - 1, BCHAR] + elfScript*: array[0..(LF_FACESIZE) - 1, BCHAR] + + tagENUMLOGFONTEX* = ENUMLOGFONTEX + TENUMLOGFONTEX* = ENUMLOGFONTEX + PENUMLOGFONTEX* = ptr ENUMLOGFONTEX # + # Then follow: + # + # TCHAR SourceName[] + # TCHAR Computername[] + # SID UserSid + # TCHAR Strings[] + # BYTE Data[] + # CHAR Pad[] + # DWORD Length; + # + EVENTLOGRECORD* = record + len*: DWORD + Reserved*: DWORD + RecordNumber*: DWORD + TimeGenerated*: DWORD + TimeWritten*: DWORD + EventID*: DWORD + EventType*: int16 + NumStrings*: int16 + EventCategory*: int16 + ReservedFlags*: int16 + ClosingRecordNumber*: DWORD + StringOffset*: DWORD + UserSidLength*: DWORD + UserSidOffset*: DWORD + DataLength*: DWORD + DataOffset*: DWORD + + TEVENTLOGRECORD* = EVENTLOGRECORD + PEVENTLOGRECORD* = ptr EVENTLOGRECORD + EVENTMSG* = record + message*: UINT + paramL*: UINT + paramH*: UINT + time*: DWORD + hwnd*: HWND + + tagEVENTMSG* = EVENTMSG + TEVENTMSG* = EVENTMSG + PEVENTMSG* = ptr EVENTMSG + EXCEPTION_POINTERS* = record + ExceptionRecord*: PEXCEPTION_RECORD + ContextRecord*: PCONTEXT + + LPEXCEPTION_POINTERS* = ptr EXCEPTION_POINTERS + PEXCEPTION_POINTERS* = ptr EXCEPTION_POINTERS + TEXCEPTIONPOINTERS* = EXCEPTION_POINTERS + EXT_BUTTON* = record + idCommand*: int16 + idsHelp*: int16 + fsStyle*: int16 + + LPEXT_BUTTON* = ptr EXT_BUTTON + TEXTBUTTON* = EXT_BUTTON + PEXTBUTTON* = ptr EXT_BUTTON + FILTERKEYS* = record + cbSize*: UINT + dwFlags*: DWORD + iWaitMSec*: DWORD + iDelayMSec*: DWORD + iRepeatMSec*: DWORD + iBounceMSec*: DWORD + + TFILTERKEYS* = FILTERKEYS + PFILTERKEYS* = ptr FILTERKEYS + FIND_NAME_BUFFER* = record + len*: UCHAR + access_control*: UCHAR + frame_control*: UCHAR + destination_addr*: array[0..5, UCHAR] + source_addr*: array[0..5, UCHAR] + routing_info*: array[0..17, UCHAR] + + TFINDNAMEBUFFER* = FIND_NAME_BUFFER + PFINDNAMEBUFFER* = ptr FIND_NAME_BUFFER + FIND_NAME_HEADER* = record + node_count*: int16 + reserved*: UCHAR + unique_group*: UCHAR + + TFINDNAMEHEADER* = FIND_NAME_HEADER + PFINDNAMEHEADER* = ptr FIND_NAME_HEADER + FINDREPLACE* = record + lStructSize*: DWORD + hwndOwner*: HWND + hInstance*: HINST + Flags*: DWORD + lpstrFindWhat*: LPTSTR + lpstrReplaceWith*: LPTSTR + wFindWhatLen*: int16 + wReplaceWithLen*: int16 + lCustData*: LPARAM + lpfnHook*: LPFRHOOKPROC + lpTemplateName*: LPCTSTR + + LPFINDREPLACE* = ptr FINDREPLACE + TFINDREPLACE* = FINDREPLACE + PFINDREPLACE* = ptr FINDREPLACE #FINDTEXT = record conflicts with FindText function + TFINDTEXT* = record + chrg*: CHARRANGE + lpstrText*: LPSTR + + Pfindtext* = ptr TFINDTEXT + FINDTEXTEX* = record + chrg*: CHARRANGE + lpstrText*: LPSTR + chrgText*: CHARRANGE + + Tfindtextex* = FINDTEXTEX + Pfindtextex* = ptr FINDTEXTEX + FMS_GETDRIVEINFO* = record + dwTotalSpace*: DWORD + dwFreeSpace*: DWORD + szPath*: array[0..259, TCHAR] + szVolume*: array[0..13, TCHAR] + szShare*: array[0..127, TCHAR] + + TFMSGETDRIVEINFO* = FMS_GETDRIVEINFO + PFMSGETDRIVEINFO* = ptr FMS_GETDRIVEINFO + FMS_GETFILESEL* = record + ftTime*: FILETIME + dwSize*: DWORD + bAttr*: int8 + szName*: array[0..259, TCHAR] + + TFMSGETFILESEL* = FMS_GETFILESEL + PFMSGETFILESEL* = ptr FMS_GETFILESEL + FMS_LOAD* = record + dwSize*: DWORD + szMenuName*: array[0..(MENU_TEXT_LEN) - 1, TCHAR] + hMenu*: HMENU + wMenuDelta*: UINT + + TFMSLOAD* = FMS_LOAD + PFMSLOAD* = ptr FMS_LOAD + FMS_TOOLBARLOAD* = record + dwSize*: DWORD + lpButtons*: LPEXT_BUTTON + cButtons*: int16 + cBitmaps*: int16 + idBitmap*: int16 + hBitmap*: HBITMAP + + TFMSTOOLBARLOAD* = FMS_TOOLBARLOAD + PFMSTOOLBARLOAD* = ptr FMS_TOOLBARLOAD + FOCUS_EVENT_RECORD* = record + bSetFocus*: WINBOOL + + TFOCUSEVENTRECORD* = FOCUS_EVENT_RECORD + PFOCUSEVENTRECORD* = ptr FOCUS_EVENT_RECORD + FORM_INFO_1* = record + Flags*: DWORD + pName*: LPTSTR + Size*: SIZEL + ImageableArea*: RECTL + + TFORMINFO1* = FORM_INFO_1 + PFORMINFO1* = ptr FORM_INFO_1 + FORMAT_PARAMETERS* = record + MediaType*: MEDIA_TYPE + StartCylinderNumber*: DWORD + EndCylinderNumber*: DWORD + StartHeadNumber*: DWORD + EndHeadNumber*: DWORD + + TFORMATPARAMETERS* = FORMAT_PARAMETERS + PFORMATPARAMETERS* = ptr FORMAT_PARAMETERS + FORMATRANGE* = record + hdc*: HDC + hdcTarget*: HDC + rc*: RECT + rcPage*: RECT + chrg*: CHARRANGE + + Tformatrange* = FORMATRANGE + Pformatrange* = ptr FORMATRANGE + GCP_RESULTS* = record + lStructSize*: DWORD + lpOutString*: LPTSTR + lpOrder*: ptr UINT + lpDx*: ptr WINT + lpCaretPos*: ptr WINT + lpClass*: LPTSTR + lpGlyphs*: ptr UINT + nGlyphs*: UINT + nMaxFit*: UINT + + LPGCP_RESULTS* = ptr GCP_RESULTS + tagGCP_RESULTS* = GCP_RESULTS + TGCPRESULTS* = GCP_RESULTS + PGCPRESULTS* = ptr GCP_RESULTS + GENERIC_MAPPING* = record + GenericRead*: ACCESS_MASK + GenericWrite*: ACCESS_MASK + GenericExecute*: ACCESS_MASK + GenericAll*: ACCESS_MASK + + PGENERIC_MAPPING* = ptr GENERIC_MAPPING + TGENERICMAPPING* = GENERIC_MAPPING + GLYPHMETRICS* = record + gmBlackBoxX*: UINT + gmBlackBoxY*: UINT + gmptGlyphOrigin*: POINT + gmCellIncX*: SHORT + gmCellIncY*: SHORT + + LPGLYPHMETRICS* = ptr GLYPHMETRICS + TGLYPHMETRICS* = GLYPHMETRICS + PGLYPHMETRICS* = ptr GLYPHMETRICS + HANDLETABLE* = record + objectHandle*: array[0..0, HGDIOBJ] + + tagHANDLETABLE* = HANDLETABLE + THANDLETABLE* = HANDLETABLE + LPHANDLETABLE* = ptr HANDLETABLE + HD_HITTESTINFO* = record + pt*: POINT + flags*: UINT + iItem*: int32 + + THDHITTESTINFO* = HD_HITTESTINFO + PHDHITTESTINFO* = ptr HD_HITTESTINFO + HD_ITEM* = record + mask*: UINT + cxy*: int32 + pszText*: LPTSTR + hbm*: HBITMAP + cchTextMax*: int32 + fmt*: int32 + lParam*: LPARAM + + THDITEM* = HD_ITEM + PHDITEM* = ptr HD_ITEM + WINDOWPOS* = record + hwnd*: HWND + hwndInsertAfter*: HWND + x*: int32 + y*: int32 + cx*: int32 + cy*: int32 + flags*: UINT + + LPWINDOWPOS* = ptr WINDOWPOS + TWINDOWPOS* = WINDOWPOS + PWINDOWPOS* = ptr WINDOWPOS + HD_LAYOUT* = record + prc*: ptr RECT + pwpos*: ptr WINDOWPOS + + THDLAYOUT* = HD_LAYOUT + PHDLAYOUT* = ptr HD_LAYOUT + HD_NOTIFY* = record + hdr*: NMHDR + iItem*: int32 + iButton*: int32 + pitem*: ptr HD_ITEM + + THDNOTIFY* = HD_NOTIFY + PHDNOTIFY* = ptr HD_NOTIFY + HELPINFO* = record + cbSize*: UINT + iContextType*: int32 + iCtrlId*: int32 + hItemHandle*: HANDLE + dwContextId*: DWORD + MousePos*: POINT + + LPHELPINFO* = ptr HELPINFO + tagHELPINFO* = HELPINFO + THELPINFO* = HELPINFO + PHELPINFO* = ptr HELPINFO + HELPWININFO* = record + wStructSize*: int32 + x*: int32 + y*: int32 + dx*: int32 + dy*: int32 + wMax*: int32 + rgchMember*: array[0..1, TCHAR] + + THELPWININFO* = HELPWININFO + PHELPWININFO* = ptr HELPWININFO + HIGHCONTRAST* = record + cbSize*: UINT + dwFlags*: DWORD + lpszDefaultScheme*: LPTSTR + + LPHIGHCONTRAST* = ptr HIGHCONTRAST + tagHIGHCONTRAST* = HIGHCONTRAST + THIGHCONTRAST* = HIGHCONTRAST + PHIGHCONTRAST* = ptr HIGHCONTRAST + HSZPAIR* = record + hszSvc*: HSZ + hszTopic*: HSZ + + tagHSZPAIR* = HSZPAIR + THSZPAIR* = HSZPAIR + PHSZPAIR* = ptr HSZPAIR + ICONINFO* = record + fIcon*: WINBOOL + xHotspot*: DWORD + yHotspot*: DWORD + hbmMask*: HBITMAP + hbmColor*: HBITMAP + + TICONINFO* = ICONINFO + PICONINFO* = ptr ICONINFO + ICONMETRICS* = record + cbSize*: UINT + iHorzSpacing*: int32 + iVertSpacing*: int32 + iTitleWrap*: int32 + lfFont*: LOGFONT + + LPICONMETRICS* = ptr ICONMETRICS + tagICONMETRICS* = ICONMETRICS + TICONMETRICS* = ICONMETRICS + PICONMETRICS* = ptr ICONMETRICS + IMAGEINFO* = record + hbmImage*: HBITMAP + hbmMask*: HBITMAP + Unused1*: int32 + Unused2*: int32 + rcImage*: RECT + + TIMAGEINFO* = IMAGEINFO + PIMAGEINFO* = ptr IMAGEINFO + KEY_EVENT_RECORD* = record + bKeyDown*: WINBOOL + wRepeatCount*: int16 + wVirtualKeyCode*: int16 + wVirtualScanCode*: int16 + UnicodeChar*: WCHAR + dwControlKeyState*: DWORD # other union part: AsciiChar: CHAR + + TKEYEVENTRECORD* = KEY_EVENT_RECORD + PKEYEVENTRECORD* = ptr KEY_EVENT_RECORD + MOUSE_EVENT_RECORD* = record + dwMousePosition*: COORD + dwButtonState*: DWORD + dwControlKeyState*: DWORD + dwEventFlags*: DWORD + + TMOUSEEVENTRECORD* = MOUSE_EVENT_RECORD + PMOUSEEVENTRECORD* = ptr MOUSE_EVENT_RECORD + WINDOW_BUFFER_SIZE_RECORD* = record + dwSize*: COORD + + TWINDOWBUFFERSIZERECORD* = WINDOW_BUFFER_SIZE_RECORD + PWINDOWBUFFERSIZERECORD* = ptr WINDOW_BUFFER_SIZE_RECORD + MENU_EVENT_RECORD* = record + dwCommandId*: UINT + + PMENU_EVENT_RECORD* = ptr MENU_EVENT_RECORD + TMENUEVENTRECORD* = MENU_EVENT_RECORD + INPUT_RECORD* = record + EventType*: int16 + Reserved*: int16 + event*: array[0..5, DWORD] #Event : record case longint of + # 0 : ( KeyEvent : KEY_EVENT_RECORD ); + # 1 : ( MouseEvent : MOUSE_EVENT_RECORD ); + # 2 : ( WindowBufferSizeEvent : WINDOW_BUFFER_SIZE_RECORD ); + # 3 : ( MenuEvent : MENU_EVENT_RECORD ); + # 4 : ( FocusEvent : FOCUS_EVENT_RECORD ); + # end; + + PINPUT_RECORD* = ptr INPUT_RECORD + TINPUTRECORD* = INPUT_RECORD + SYSTEMTIME* = record + wYear*: int16 + wMonth*: int16 + wDayOfWeek*: int16 + wDay*: int16 + wHour*: int16 + wMinute*: int16 + wSecond*: int16 + wMilliseconds*: int16 + + LPSYSTEMTIME* = ptr SYSTEMTIME + TSYSTEMTIME* = SYSTEMTIME + PSYSTEMTIME* = ptr SYSTEMTIME + JOB_INFO_1* = record + JobId*: DWORD + pPrinterName*: LPTSTR + pMachineName*: LPTSTR + pUserName*: LPTSTR + pDocument*: LPTSTR + pDatatype*: LPTSTR + pStatus*: LPTSTR + Status*: DWORD + Priority*: DWORD + Position*: DWORD + TotalPages*: DWORD + PagesPrinted*: DWORD + Submitted*: SYSTEMTIME + + TJOBINFO1* = JOB_INFO_1 + PJOBINFO1* = ptr JOB_INFO_1 + SID_IDENTIFIER_AUTHORITY* = record + Value*: array[0..5, int8] + + LPSID_IDENTIFIER_AUTHORITY* = ptr SID_IDENTIFIER_AUTHORITY + PSID_IDENTIFIER_AUTHORITY* = ptr SID_IDENTIFIER_AUTHORITY + TSIDIDENTIFIERAUTHORITY* = SID_IDENTIFIER_AUTHORITY + SID* = record + Revision*: int8 + SubAuthorityCount*: int8 + IdentifierAuthority*: SID_IDENTIFIER_AUTHORITY + SubAuthority*: array[0..(ANYSIZE_ARRAY) - 1, DWORD] + + TSID* = SID + PSID* = ptr SID + SECURITY_DESCRIPTOR_CONTROL* = int16 + PSECURITY_DESCRIPTOR_CONTROL* = ptr SECURITY_DESCRIPTOR_CONTROL + TSECURITYDESCRIPTORCONTROL* = SECURITY_DESCRIPTOR_CONTROL + SECURITY_DESCRIPTOR* = record + Revision*: int8 + Sbz1*: int8 + Control*: SECURITY_DESCRIPTOR_CONTROL + Owner*: PSID + Group*: PSID + Sacl*: PACL + Dacl*: PACL + + PSECURITY_DESCRIPTOR* = ptr SECURITY_DESCRIPTOR + TSECURITYDESCRIPTOR* = SECURITY_DESCRIPTOR + JOB_INFO_2* = record + JobId*: DWORD + pPrinterName*: LPTSTR + pMachineName*: LPTSTR + pUserName*: LPTSTR + pDocument*: LPTSTR + pNotifyName*: LPTSTR + pDatatype*: LPTSTR + pPrintProcessor*: LPTSTR + pParameters*: LPTSTR + pDriverName*: LPTSTR + pDevMode*: LPDEVMODE + pStatus*: LPTSTR + pSecurityDescriptor*: PSECURITY_DESCRIPTOR + Status*: DWORD + Priority*: DWORD + Position*: DWORD + StartTime*: DWORD + UntilTime*: DWORD + TotalPages*: DWORD + Size*: DWORD + Submitted*: SYSTEMTIME + Time*: DWORD + PagesPrinted*: DWORD + + TJOBINFO2* = JOB_INFO_2 + PJOBINFO2* = ptr JOB_INFO_2 + KERNINGPAIR* = record + wFirst*: int16 + wSecond*: int16 + iKernAmount*: int32 + + LPKERNINGPAIR* = ptr KERNINGPAIR + TKERNINGPAIR* = KERNINGPAIR + PKERNINGPAIR* = ptr KERNINGPAIR + LANA_ENUM* = record + len*: UCHAR + lana*: array[0..(MAX_LANA) - 1, UCHAR] + + TLANAENUM* = LANA_ENUM + PLANAENUM* = ptr LANA_ENUM + LDT_ENTRY* = record + LimitLow*: int16 + BaseLow*: int16 + BaseMid*: int8 + Flags1*: int8 + Flags2*: int8 + BaseHi*: int8 + + LPLDT_ENTRY* = ptr LDT_ENTRY + PLDT_ENTRY* = ptr LDT_ENTRY + TLDTENTRY* = LDT_ENTRY + +const + bm_LDT_ENTRY_BaseMid* = 0x000000FF + bp_LDT_ENTRY_BaseMid* = 0 + bm_LDT_ENTRY_Type* = 0x00001F00 + bp_LDT_ENTRY_Type* = 8 + bm_LDT_ENTRY_Dpl* = 0x00006000 + bp_LDT_ENTRY_Dpl* = 13 + bm_LDT_ENTRY_Pres* = 0x00008000 + bp_LDT_ENTRY_Pres* = 15 + bm_LDT_ENTRY_LimitHi* = 0x000F0000 + bp_LDT_ENTRY_LimitHi* = 16 + bm_LDT_ENTRY_Sys* = 0x00100000 + bp_LDT_ENTRY_Sys* = 20 + bm_LDT_ENTRY_Reserved_0* = 0x00200000 + bp_LDT_ENTRY_Reserved_0* = 21 + bm_LDT_ENTRY_Default_Big* = 0x00400000 + bp_LDT_ENTRY_Default_Big* = 22 + bm_LDT_ENTRY_Granularity* = 0x00800000 + bp_LDT_ENTRY_Granularity* = 23 + bm_LDT_ENTRY_BaseHi* = 0xFF000000 + bp_LDT_ENTRY_BaseHi* = 24 + +type + LOCALESIGNATURE* = record + lsUsb*: array[0..3, DWORD] + lsCsbDefault*: array[0..1, DWORD] + lsCsbSupported*: array[0..1, DWORD] + + tagLOCALESIGNATURE* = LOCALESIGNATURE + TLOCALESIGNATURE* = LOCALESIGNATURE + PLOCALESIGNATURE* = ptr LOCALESIGNATURE + LOCALGROUP_MEMBERS_INFO_0* = record + lgrmi0_sid*: PSID + + TLOCALGROUPMEMBERSINFO0* = LOCALGROUP_MEMBERS_INFO_0 + PLOCALGROUPMEMBERSINFO0* = ptr LOCALGROUP_MEMBERS_INFO_0 + LOCALGROUP_MEMBERS_INFO_3* = record + lgrmi3_domainandname*: LPWSTR + + TLOCALGROUPMEMBERSINFO3* = LOCALGROUP_MEMBERS_INFO_3 + PLOCALGROUPMEMBERSINFO3* = ptr LOCALGROUP_MEMBERS_INFO_3 + FXPT16DOT16* = int32 + LPFXPT16DOT16* = ptr FXPT16DOT16 + TFXPT16DOT16* = FXPT16DOT16 + PFXPT16DOT16* = ptr FXPT16DOT16 + LUID* = TlargeInteger + TLUID* = LUID + PLUID* = ptr LUID + LUID_AND_ATTRIBUTES* = record + Luid*: LUID + Attributes*: DWORD + + TLUIDANDATTRIBUTES* = LUID_AND_ATTRIBUTES + PLUIDANDATTRIBUTES* = ptr LUID_AND_ATTRIBUTES + LUID_AND_ATTRIBUTES_ARRAY* = array[0..(ANYSIZE_ARRAY) - 1, LUID_AND_ATTRIBUTES] + PLUID_AND_ATTRIBUTES_ARRAY* = ptr LUID_AND_ATTRIBUTES_ARRAY + TLUIDANDATTRIBUTESARRAY* = LUID_AND_ATTRIBUTES_ARRAY + LV_COLUMN* = record + mask*: UINT + fmt*: int32 + cx*: int32 + pszText*: LPTSTR + cchTextMax*: int32 + iSubItem*: int32 + + TLVCOLUMN* = LV_COLUMN + PLVCOLUMN* = ptr LV_COLUMN + LV_ITEM* = record + mask*: UINT + iItem*: int32 + iSubItem*: int32 + state*: UINT + stateMask*: UINT + pszText*: LPTSTR + cchTextMax*: int32 + iImage*: int32 + lParam*: LPARAM + + TLVITEM* = LV_ITEM + PLVITEM* = ptr LV_ITEM + LV_DISPINFO* = record + hdr*: NMHDR + item*: LV_ITEM + + tagLV_DISPINFO* = LV_DISPINFO + TLVDISPINFO* = LV_DISPINFO + PLVDISPINFO* = ptr LV_DISPINFO + LV_FINDINFO* = record + flags*: UINT + psz*: LPCTSTR + lParam*: LPARAM + pt*: POINT + vkDirection*: UINT + + TLVFINDINFO* = LV_FINDINFO + PLVFINDINFO* = ptr LV_FINDINFO + LV_HITTESTINFO* = record + pt*: POINT + flags*: UINT + iItem*: int32 + + TLVHITTESTINFO* = LV_HITTESTINFO + PLVHITTESTINFO* = ptr LV_HITTESTINFO + LV_KEYDOWN* = record + hdr*: NMHDR + wVKey*: int16 + flags*: UINT + + tagLV_KEYDOWN* = LV_KEYDOWN + TLVKEYDOWN* = LV_KEYDOWN + PLVKEYDOWN* = ptr LV_KEYDOWN + MAT2* = record + eM11*: FIXED + eM12*: FIXED + eM21*: FIXED + eM22*: FIXED + + TMAT2* = MAT2 + PMAT2* = ptr MAT2 + MDICREATESTRUCT* = record + szClass*: LPCTSTR + szTitle*: LPCTSTR + hOwner*: HANDLE + x*: int32 + y*: int32 + cx*: int32 + cy*: int32 + style*: DWORD + lParam*: LPARAM + + LPMDICREATESTRUCT* = ptr MDICREATESTRUCT + tagMDICREATESTRUCT* = MDICREATESTRUCT + TMDICREATESTRUCT* = MDICREATESTRUCT + PMDICREATESTRUCT* = ptr MDICREATESTRUCT + MEASUREITEMSTRUCT* = record + CtlType*: UINT + CtlID*: UINT + itemID*: UINT + itemWidth*: UINT + itemHeight*: UINT + itemData*: ULONG_PTR + + LPMEASUREITEMSTRUCT* = ptr MEASUREITEMSTRUCT + tagMEASUREITEMSTRUCT* = MEASUREITEMSTRUCT + TMEASUREITEMSTRUCT* = MEASUREITEMSTRUCT + PMEASUREITEMSTRUCT* = ptr MEASUREITEMSTRUCT + MEMORY_BASIC_INFORMATION* = record + BaseAddress*: PVOID + AllocationBase*: PVOID + AllocationProtect*: DWORD + RegionSize*: DWORD + State*: DWORD + Protect*: DWORD + `type`*: DWORD + + PMEMORY_BASIC_INFORMATION* = ptr MEMORY_BASIC_INFORMATION + TMEMORYBASICINFORMATION* = MEMORY_BASIC_INFORMATION + MEMORYSTATUS* = record + dwLength*: DWORD + dwMemoryLoad*: DWORD + dwTotalPhys*: int + dwAvailPhys*: int + dwTotalPageFile*: int + dwAvailPageFile*: int + dwTotalVirtual*: int + dwAvailVirtual*: int + + TGUID* = record + D1*: int32 + D2*: int16 + D3*: int16 + D4*: array [0..7, int8] + + LPMEMORYSTATUS* = ptr MEMORYSTATUS + TMEMORYSTATUS* = MEMORYSTATUS + PMEMORYSTATUS* = ptr MEMORYSTATUS + MENUEX_TEMPLATE_HEADER* = record + wVersion*: int16 + wOffset*: int16 + dwHelpId*: DWORD + + TMENUXTEMPLATEHEADER* = MENUEX_TEMPLATE_HEADER + PMENUXTEMPLATEHEADER* = ptr MENUEX_TEMPLATE_HEADER + MENUEX_TEMPLATE_ITEM* = record + dwType*: DWORD + dwState*: DWORD + uId*: UINT + bResInfo*: int8 + szText*: array[0..0, WCHAR] + dwHelpId*: DWORD + + TMENUEXTEMPLATEITEM* = MENUEX_TEMPLATE_ITEM + PMENUEXTEMPLATEITEM* = ptr MENUEX_TEMPLATE_ITEM + MENUINFO* = record + cbSize*: DWORD + fMask*: DWORD + dwStyle*: DWORD + cyMax*: UINT + hbrBack*: HBRUSH + dwContextHelpID*: DWORD + dwMenuData*: ULONG_PTR + + LPMENUINFO* = ptr MENUINFO + LPCMENUINFO* = ptr MENUINFO + tagMENUINFO* = MENUINFO + TMENUINFO* = MENUINFO + PMENUINFO* = ptr MENUINFO + MENUITEMINFO* = record + cbSize*: UINT + fMask*: UINT + fType*: UINT + fState*: UINT + wID*: UINT + hSubMenu*: HMENU + hbmpChecked*: HBITMAP + hbmpUnchecked*: HBITMAP + dwItemData*: ULONG_PTR + dwTypeData*: LPTSTR + cch*: UINT + hbmpItem*: HBITMAP + + LPMENUITEMINFO* = ptr MENUITEMINFO + LPCMENUITEMINFO* = ptr MENUITEMINFO + tagMENUITEMINFO* = MENUITEMINFO + TMENUITEMINFO* = MENUITEMINFO + TMENUITEMINFOA* = MENUITEMINFO + PMENUITEMINFO* = ptr MENUITEMINFO + MENUITEMTEMPLATE* = record + mtOption*: int16 + mtID*: int16 + mtString*: array[0..0, WCHAR] + + TMENUITEMTEMPLATE* = MENUITEMTEMPLATE + PMENUITEMTEMPLATE* = ptr MENUITEMTEMPLATE + MENUITEMTEMPLATEHEADER* = record + versionNumber*: int16 + offset*: int16 + + TMENUITEMTEMPLATEHEADER* = MENUITEMTEMPLATEHEADER + PMENUITEMTEMPLATEHEADER* = ptr MENUITEMTEMPLATEHEADER + MENUTEMPLATE* = record + LPMENUTEMPLATE* = ptr MENUTEMPLATE + TMENUTEMPLATE* = MENUTEMPLATE + PMENUTEMPLATE* = ptr MENUTEMPLATE + METAFILEPICT* = record + mm*: LONG + xExt*: LONG + yExt*: LONG + hMF*: HMETAFILE + + LPMETAFILEPICT* = ptr METAFILEPICT + tagMETAFILEPICT* = METAFILEPICT + TMETAFILEPICT* = METAFILEPICT + PMETAFILEPICT* = ptr METAFILEPICT + METAHEADER* = record + mtType*: int16 + mtHeaderSize*: int16 + mtVersion*: int16 + mtSize*: DWORD + mtNoObjects*: int16 + mtMaxRecord*: DWORD + mtNoParameters*: int16 + + tagMETAHEADER* = METAHEADER + TMETAHEADER* = METAHEADER + PMETAHEADER* = ptr METAHEADER + METARECORD* = record + rdSize*: DWORD + rdFunction*: int16 + rdParm*: array[0..0, int16] + + LPMETARECORD* = ptr METARECORD + tagMETARECORD* = METARECORD + TMETARECORD* = METARECORD + PMETARECORD* = ptr METARECORD + MINIMIZEDMETRICS* = record + cbSize*: UINT + iWidth*: int32 + iHorzGap*: int32 + iVertGap*: int32 + iArrange*: int32 + + LPMINIMIZEDMETRICS* = ptr MINIMIZEDMETRICS + tagMINIMIZEDMETRICS* = MINIMIZEDMETRICS + TMINIMIZEDMETRICS* = MINIMIZEDMETRICS + PMINIMIZEDMETRICS* = ptr MINIMIZEDMETRICS + MINMAXINFO* = record + ptReserved*: POINT + ptMaxSize*: POINT + ptMaxPosition*: POINT + ptMinTrackSize*: POINT + ptMaxTrackSize*: POINT + + tagMINMAXINFO* = MINMAXINFO + TMINMAXINFO* = MINMAXINFO + PMINMAXINFO* = ptr MINMAXINFO + MODEMDEVCAPS* = record + dwActualSize*: DWORD + dwRequiredSize*: DWORD + dwDevSpecificOffset*: DWORD + dwDevSpecificSize*: DWORD + dwModemProviderVersion*: DWORD + dwModemManufacturerOffset*: DWORD + dwModemManufacturerSize*: DWORD + dwModemModelOffset*: DWORD + dwModemModelSize*: DWORD + dwModemVersionOffset*: DWORD + dwModemVersionSize*: DWORD + dwDialOptions*: DWORD + dwCallSetupFailTimer*: DWORD + dwInactivityTimeout*: DWORD + dwSpeakerVolume*: DWORD + dwSpeakerMode*: DWORD + dwModemOptions*: DWORD + dwMaxDTERate*: DWORD + dwMaxDCERate*: DWORD + abVariablePortion*: array[0..0, int8] + + LPMODEMDEVCAPS* = ptr MODEMDEVCAPS + TMODEMDEVCAPS* = MODEMDEVCAPS + PMODEMDEVCAPS* = ptr MODEMDEVCAPS + modemdevcaps_tag* = MODEMDEVCAPS + MODEMSETTINGS* = record + dwActualSize*: DWORD + dwRequiredSize*: DWORD + dwDevSpecificOffset*: DWORD + dwDevSpecificSize*: DWORD + dwCallSetupFailTimer*: DWORD + dwInactivityTimeout*: DWORD + dwSpeakerVolume*: DWORD + dwSpeakerMode*: DWORD + dwPreferredModemOptions*: DWORD + dwNegotiatedModemOptions*: DWORD + dwNegotiatedDCERate*: DWORD + abVariablePortion*: array[0..0, int8] + + LPMODEMSETTINGS* = ptr MODEMSETTINGS + TMODEMSETTINGS* = MODEMSETTINGS + PMODEMSETTINGS* = ptr MODEMSETTINGS + modemsettings_tag* = MODEMSETTINGS + MONCBSTRUCT* = record + cb*: UINT + dwTime*: DWORD + hTask*: HANDLE + dwRet*: DWORD + wType*: UINT + wFmt*: UINT + hConv*: HCONV + hsz1*: HSZ + hsz2*: HSZ + hData*: HDDEDATA + dwData1*: DWORD + dwData2*: DWORD + cc*: CONVCONTEXT + cbData*: DWORD + Data*: array[0..7, DWORD] + + tagMONCBSTRUCT* = MONCBSTRUCT + TMONCBSTRUCT* = MONCBSTRUCT + PMONCBSTRUCT* = ptr MONCBSTRUCT + MONCONVSTRUCT* = record + cb*: UINT + fConnect*: WINBOOL + dwTime*: DWORD + hTask*: HANDLE + hszSvc*: HSZ + hszTopic*: HSZ + hConvClient*: HCONV + hConvServer*: HCONV + + tagMONCONVSTRUCT* = MONCONVSTRUCT + TMONCONVSTRUCT* = MONCONVSTRUCT + PMONCONVSTRUCT* = ptr MONCONVSTRUCT + MONERRSTRUCT* = record + cb*: UINT + wLastError*: UINT + dwTime*: DWORD + hTask*: HANDLE + + tagMONERRSTRUCT* = MONERRSTRUCT + TMONERRSTRUCT* = MONERRSTRUCT + PMONERRSTRUCT* = ptr MONERRSTRUCT + MONHSZSTRUCT* = record + cb*: UINT + fsAction*: WINBOOL + dwTime*: DWORD + hsz*: HSZ + hTask*: HANDLE + str*: array[0..0, TCHAR] + + tagMONHSZSTRUCT* = MONHSZSTRUCT + TMONHSZSTRUCT* = MONHSZSTRUCT + PMONHSZSTRUCT* = ptr MONHSZSTRUCT + MONITOR_INFO_1* = record + pName*: LPTSTR + + TMONITORINFO1* = MONITOR_INFO_1 + PMONITORINFO1* = ptr MONITOR_INFO_1 + MONITOR_INFO_2* = record + pName*: LPTSTR + pEnvironment*: LPTSTR + pDLLName*: LPTSTR + + TMONITORINFO2* = MONITOR_INFO_2 + PMONITORINFO2* = ptr MONITOR_INFO_2 + MONLINKSTRUCT* = record + cb*: UINT + dwTime*: DWORD + hTask*: HANDLE + fEstablished*: WINBOOL + fNoData*: WINBOOL + hszSvc*: HSZ + hszTopic*: HSZ + hszItem*: HSZ + wFmt*: UINT + fServer*: WINBOOL + hConvServer*: HCONV + hConvClient*: HCONV + + tagMONLINKSTRUCT* = MONLINKSTRUCT + TMONLINKSTRUCT* = MONLINKSTRUCT + PMONLINKSTRUCT* = ptr MONLINKSTRUCT + MONMSGSTRUCT* = record + cb*: UINT + hwndTo*: HWND + dwTime*: DWORD + hTask*: HANDLE + wMsg*: UINT + wParam*: WPARAM + lParam*: LPARAM + dmhd*: DDEML_MSG_HOOK_DATA + + tagMONMSGSTRUCT* = MONMSGSTRUCT + TMONMSGSTRUCT* = MONMSGSTRUCT + PMONMSGSTRUCT* = ptr MONMSGSTRUCT + MOUSEHOOKSTRUCT* = record + pt*: POINT + hwnd*: HWND + wHitTestCode*: UINT + dwExtraInfo*: DWORD + + LPMOUSEHOOKSTRUCT* = ptr MOUSEHOOKSTRUCT + tagMOUSEHOOKSTRUCT* = MOUSEHOOKSTRUCT + TMOUSEHOOKSTRUCT* = MOUSEHOOKSTRUCT + PMOUSEHOOKSTRUCT* = ptr MOUSEHOOKSTRUCT + MOUSEKEYS* = record + cbSize*: DWORD + dwFlags*: DWORD + iMaxSpeed*: DWORD + iTimeToMaxSpeed*: DWORD + iCtrlSpeed*: DWORD + dwReserved1*: DWORD + dwReserved2*: DWORD + + TMOUSEKEYS* = MOUSEKEYS + PMOUSEKEYS* = ptr MOUSEKEYS + MSGBOXCALLBACK* = proc (lpHelpInfo: LPHELPINFO){.stdcall.} + TMSGBOXCALLBACK* = MSGBOXCALLBACK + MSGBOXPARAMS* = record + cbSize*: UINT + hwndOwner*: HWND + hInstance*: HINST + lpszText*: LPCSTR + lpszCaption*: LPCSTR + dwStyle*: DWORD + lpszIcon*: LPCSTR + dwContextHelpId*: DWORD + lpfnMsgBoxCallback*: MSGBOXCALLBACK + dwLanguageId*: DWORD + + LPMSGBOXPARAMS* = ptr MSGBOXPARAMS + TMSGBOXPARAMS* = MSGBOXPARAMS + TMSGBOXPARAMSA* = MSGBOXPARAMS + PMSGBOXPARAMS* = ptr MSGBOXPARAMS + MSGFILTER* = record + nmhdr*: NMHDR + msg*: UINT + wParam*: WPARAM + lParam*: LPARAM + + Tmsgfilter* = MSGFILTER + Pmsgfilter* = ptr MSGFILTER + MULTIKEYHELP* = record + mkSize*: DWORD + mkKeylist*: TCHAR + szKeyphrase*: array[0..0, TCHAR] + + tagMULTIKEYHELP* = MULTIKEYHELP + TMULTIKEYHELP* = MULTIKEYHELP + PMULTIKEYHELP* = ptr MULTIKEYHELP + NAME_BUFFER* = record + name*: array[0..(NCBNAMSZ) - 1, UCHAR] + name_num*: UCHAR + name_flags*: UCHAR + + TNAMEBUFFER* = NAME_BUFFER + PNAMEBUFFER* = ptr NAME_BUFFER + p_NCB* = ptr NCB + NCB* = record + ncb_command*: UCHAR + ncb_retcode*: UCHAR + ncb_lsn*: UCHAR + ncb_num*: UCHAR + ncb_buffer*: PUCHAR + ncb_length*: int16 + ncb_callname*: array[0..(NCBNAMSZ) - 1, UCHAR] + ncb_name*: array[0..(NCBNAMSZ) - 1, UCHAR] + ncb_rto*: UCHAR + ncb_sto*: UCHAR + ncb_post*: proc (para1: p_NCB){.CDECL.} + ncb_lana_num*: UCHAR + ncb_cmd_cplt*: UCHAR + ncb_reserve*: array[0..9, UCHAR] + ncb_event*: HANDLE + + TNCB* = NCB + NCCALCSIZE_PARAMS* = record + rgrc*: array[0..2, RECT] + lppos*: PWINDOWPOS + + TNCCALCSIZEPARAMS* = NCCALCSIZE_PARAMS + PNCCALCSIZEPARAMS* = ptr NCCALCSIZE_PARAMS + NDDESHAREINFO* = record + lRevision*: LONG + lpszShareName*: LPTSTR + lShareType*: LONG + lpszAppTopicList*: LPTSTR + fSharedFlag*: LONG + fService*: LONG + fStartAppFlag*: LONG + nCmdShow*: LONG + qModifyId*: array[0..1, LONG] + cNumItems*: LONG + lpszItemList*: LPTSTR + + TNDDESHAREINFO* = NDDESHAREINFO + PNDDESHAREINFO* = ptr NDDESHAREINFO + NETRESOURCE* = record + dwScope*: DWORD + dwType*: DWORD + dwDisplayType*: DWORD + dwUsage*: DWORD + lpLocalName*: LPTSTR + lpRemoteName*: LPTSTR + lpComment*: LPTSTR + lpProvider*: LPTSTR + + LPNETRESOURCE* = ptr NETRESOURCE + TNETRESOURCE* = NETRESOURCE + TNETRESOURCEA* = NETRESOURCE + PNETRESOURCE* = ptr NETRESOURCE + PNETRESOURCEA* = ptr NETRESOURCE + NEWCPLINFO* = record + dwSize*: DWORD + dwFlags*: DWORD + dwHelpContext*: DWORD + lData*: LONG + hIcon*: HICON + szName*: array[0..31, TCHAR] + szInfo*: array[0..63, TCHAR] + szHelpFile*: array[0..127, TCHAR] + + tagNEWCPLINFO* = NEWCPLINFO + TNEWCPLINFO* = NEWCPLINFO + PNEWCPLINFO* = ptr NEWCPLINFO + NEWTEXTMETRIC* = record + tmHeight*: LONG + tmAscent*: LONG + tmDescent*: LONG + tmInternalLeading*: LONG + tmExternalLeading*: LONG + tmAveCharWidth*: LONG + tmMaxCharWidth*: LONG + tmWeight*: LONG + tmOverhang*: LONG + tmDigitizedAspectX*: LONG + tmDigitizedAspectY*: LONG + tmFirstChar*: BCHAR + tmLastChar*: BCHAR + tmDefaultChar*: BCHAR + tmBreakChar*: BCHAR + tmItalic*: int8 + tmUnderlined*: int8 + tmStruckOut*: int8 + tmPitchAndFamily*: int8 + tmCharSet*: int8 + ntmFlags*: DWORD + ntmSizeEM*: UINT + ntmCellHeight*: UINT + ntmAvgWidth*: UINT + + tagNEWTEXTMETRIC* = NEWTEXTMETRIC + TNEWTEXTMETRIC* = NEWTEXTMETRIC + PNEWTEXTMETRIC* = ptr NEWTEXTMETRIC + NEWTEXTMETRICEX* = record + ntmentm*: NEWTEXTMETRIC + ntmeFontSignature*: FONTSIGNATURE + + tagNEWTEXTMETRICEX* = NEWTEXTMETRICEX + TNEWTEXTMETRICEX* = NEWTEXTMETRICEX + PNEWTEXTMETRICEX* = ptr NEWTEXTMETRICEX + NM_LISTVIEW* = record + hdr*: NMHDR + iItem*: int32 + iSubItem*: int32 + uNewState*: UINT + uOldState*: UINT + uChanged*: UINT + ptAction*: POINT + lParam*: LPARAM + + tagNM_LISTVIEW* = NM_LISTVIEW + TNMLISTVIEW* = NM_LISTVIEW + PNMLISTVIEW* = ptr NM_LISTVIEW + TV_ITEM* = record + mask*: UINT + hItem*: HTREEITEM + state*: UINT + stateMask*: UINT + pszText*: LPTSTR + cchTextMax*: int32 + iImage*: int32 + iSelectedImage*: int32 + cChildren*: int32 + lParam*: LPARAM + + LPTV_ITEM* = ptr TV_ITEM + TTVITEM* = TV_ITEM + PTVITEM* = ptr TV_ITEM + NM_TREEVIEW* = record + hdr*: NMHDR + action*: UINT + itemOld*: TV_ITEM + itemNew*: TV_ITEM + ptDrag*: POINT + + LPNM_TREEVIEW* = ptr NM_TREEVIEW + TNMTREEVIEW* = NM_TREEVIEW + PNMTREEVIEW* = ptr NM_TREEVIEW + NM_UPDOWNW* = record + hdr*: NMHDR + iPos*: int32 + iDelta*: int32 + + TNMUPDOWN* = NM_UPDOWNW + PNMUPDOWN* = ptr NM_UPDOWNW + NONCLIENTMETRICS* = record + cbSize*: UINT + iBorderWidth*: int32 + iScrollWidth*: int32 + iScrollHeight*: int32 + iCaptionWidth*: int32 + iCaptionHeight*: int32 + lfCaptionFont*: LOGFONT + iSmCaptionWidth*: int32 + iSmCaptionHeight*: int32 + lfSmCaptionFont*: LOGFONT + iMenuWidth*: int32 + iMenuHeight*: int32 + lfMenuFont*: LOGFONT + lfStatusFont*: LOGFONT + lfMessageFont*: LOGFONT + + LPNONCLIENTMETRICS* = ptr NONCLIENTMETRICS + tagNONCLIENTMETRICS* = NONCLIENTMETRICS + TNONCLIENTMETRICS* = NONCLIENTMETRICS + PNONCLIENTMETRICS* = ptr NONCLIENTMETRICS + SERVICE_ADDRESS* = record + dwAddressType*: DWORD + dwAddressFlags*: DWORD + dwAddressLength*: DWORD + dwPrincipalLength*: DWORD + lpAddress*: ptr int8 + lpPrincipal*: ptr int8 + + TSERVICEADDRESS* = SERVICE_ADDRESS + PSERVICEADDRESS* = ptr SERVICE_ADDRESS + SERVICE_ADDRESSES* = record + dwAddressCount*: DWORD + Addresses*: array[0..0, SERVICE_ADDRESS] + + LPSERVICE_ADDRESSES* = ptr SERVICE_ADDRESSES + TSERVICEADDRESSES* = SERVICE_ADDRESSES + PSERVICEADDRESSES* = ptr SERVICE_ADDRESSES + LPGUID* = ptr TGUID + PGUID* = ptr TGUID + CLSID* = TGUID + LPCLSID* = ptr CLSID + TCLSID* = CLSID + PCLSID* = ptr CLSID + SERVICE_INFO* = record + lpServiceType*: LPGUID + lpServiceName*: LPTSTR + lpComment*: LPTSTR + lpLocale*: LPTSTR + dwDisplayHint*: DWORD + dwVersion*: DWORD + dwTime*: DWORD + lpMachineName*: LPTSTR + lpServiceAddress*: LPSERVICE_ADDRESSES + ServiceSpecificInfo*: BLOB + + TSERVICEINFO* = SERVICE_INFO + PSERVICEINFO* = ptr SERVICE_INFO + NS_SERVICE_INFO* = record + dwNameSpace*: DWORD + ServiceInfo*: SERVICE_INFO + + TNSSERVICEINFO* = NS_SERVICE_INFO + PNSSERVICEINFO* = ptr NS_SERVICE_INFO + NUMBERFMT* = record + NumDigits*: UINT + LeadingZero*: UINT + Grouping*: UINT + lpDecimalSep*: LPTSTR + lpThousandSep*: LPTSTR + NegativeOrder*: UINT + + Tnumberfmt* = NUMBERFMT + Pnumberfmt* = ptr NUMBERFMT + OFSTRUCT* = record + cBytes*: int8 + fFixedDisk*: int8 + nErrCode*: int16 + Reserved1*: int16 + Reserved2*: int16 + szPathName*: array[0..(OFS_MAXPATHNAME) - 1, CHAR] + + LPOFSTRUCT* = ptr OFSTRUCT + TOFSTRUCT* = OFSTRUCT + POFSTRUCT* = ptr OFSTRUCT + OPENFILENAME_NT4* = record + lStructSize*: DWORD + hwndOwner*: HWND + hInstance*: HINST + lpstrFilter*: LPCTSTR + lpstrCustomFilter*: LPTSTR + nMaxCustFilter*: DWORD + nFilterIndex*: DWORD + lpstrFile*: LPTSTR + nMaxFile*: DWORD + lpstrFileTitle*: LPTSTR + nMaxFileTitle*: DWORD + lpstrInitialDir*: LPCTSTR + lpstrTitle*: LPCTSTR + Flags*: DWORD + nFileOffset*: int16 + nFileExtension*: int16 + lpstrDefExt*: LPCTSTR + lCustData*: LPARAM + lpfnHook*: LPOFNHOOKPROC + lpTemplateName*: LPCTSTR + + LPOPENFILENAME_NT4* = ptr OPENFILENAME_NT4 + TOPENFILENAME_NT4* = OPENFILENAME_NT4 + POPENFILENAME_NT4* = ptr OPENFILENAME_NT4 + TOPENFILENAME* = record + lStructSize*: DWORD + hwndOwner*: HWND + hInstance*: HINST + lpstrFilter*: LPCTSTR + lpstrCustomFilter*: LPTSTR + nMaxCustFilter*: DWORD + nFilterIndex*: DWORD + lpstrFile*: LPTSTR + nMaxFile*: DWORD + lpstrFileTitle*: LPTSTR + nMaxFileTitle*: DWORD + lpstrInitialDir*: LPCTSTR + lpstrTitle*: LPCTSTR + Flags*: DWORD + nFileOffset*: int16 + nFileExtension*: int16 + lpstrDefExt*: LPCTSTR + lCustData*: LPARAM + lpfnHook*: LPOFNHOOKPROC + lpTemplateName*: LPCTSTR + pvReserved*: pointer + dwreserved*: dword + FlagsEx*: dword + + LPOPENFILENAME* = ptr TOPENFILENAME + POPENFILENAME* = ptr TOPENFILENAME + OFN* = TOPENFILENAME + POFN* = ptr TOPENFILENAME + OFNOTIFY* = record + hdr*: NMHDR + lpOFN*: LPOPENFILENAME + pszFile*: LPTSTR + + LPOFNOTIFY* = ptr OFNOTIFY + TOFNOTIFY* = OFNOTIFY + POFNOTIFY* = ptr OFNOTIFY + OSVERSIONINFO* = record + dwOSVersionInfoSize*: DWORD + dwMajorVersion*: DWORD + dwMinorVersion*: DWORD + dwBuildNumber*: DWORD + dwPlatformId*: DWORD + szCSDVersion*: array[0..127, TCHAR] + + LPOSVERSIONINFO* = ptr OSVERSIONINFO + TOSVERSIONINFO* = OSVERSIONINFO + POSVERSIONINFO* = ptr OSVERSIONINFO + OSVERSIONINFOW* = record + dwOSVersionInfoSize*: DWORD + dwMajorVersion*: DWORD + dwMinorVersion*: DWORD + dwBuildNumber*: DWORD + dwPlatformId*: DWORD + szCSDVersion*: array[0..127, WCHAR] + + LPOSVERSIONINFOW* = ptr OSVERSIONINFOW + TOSVERSIONINFOW* = OSVERSIONINFOW + POSVERSIONINFOW* = ptr OSVERSIONINFOW + TEXTMETRIC* = record + tmHeight*: LONG + tmAscent*: LONG + tmDescent*: LONG + tmInternalLeading*: LONG + tmExternalLeading*: LONG + tmAveCharWidth*: LONG + tmMaxCharWidth*: LONG + tmWeight*: LONG + tmOverhang*: LONG + tmDigitizedAspectX*: LONG + tmDigitizedAspectY*: LONG + tmFirstChar*: BCHAR + tmLastChar*: BCHAR + tmDefaultChar*: BCHAR + tmBreakChar*: BCHAR + tmItalic*: int8 + tmUnderlined*: int8 + tmStruckOut*: int8 + tmPitchAndFamily*: int8 + tmCharSet*: int8 + + LPTEXTMETRIC* = ptr TEXTMETRIC + tagTEXTMETRIC* = TEXTMETRIC + TTEXTMETRIC* = TEXTMETRIC + PTEXTMETRIC* = ptr TEXTMETRIC + TEXTMETRICW* = record + tmHeight*: LONG + tmAscent*: LONG + tmDescent*: LONG + tmInternalLeading*: LONG + tmExternalLeading*: LONG + tmAveCharWidth*: LONG + tmMaxCharWidth*: LONG + tmWeight*: LONG + tmOverhang*: LONG + tmDigitizedAspectX*: LONG + tmDigitizedAspectY*: LONG + tmFirstChar*: WCHAR + tmLastChar*: WCHAR + tmDefaultChar*: WCHAR + tmBreakChar*: WCHAR + tmItalic*: int8 + tmUnderlined*: int8 + tmStruckOut*: int8 + tmPitchAndFamily*: int8 + tmCharSet*: int8 + + LPTEXTMETRICW* = ptr TEXTMETRICW + tagTEXTMETRICW* = TEXTMETRICW + TTEXTMETRICW* = TEXTMETRICW + PTEXTMETRICW* = ptr TEXTMETRICW + OUTLINETEXTMETRIC* = record + otmSize*: UINT + otmTextMetrics*: TEXTMETRIC + otmFiller*: int8 + otmPanoseNumber*: PANOSE + otmfsSelection*: UINT + otmfsType*: UINT + otmsCharSlopeRise*: int32 + otmsCharSlopeRun*: int32 + otmItalicAngle*: int32 + otmEMSquare*: UINT + otmAscent*: int32 + otmDescent*: int32 + otmLineGap*: UINT + otmsCapEmHeight*: UINT + otmsXHeight*: UINT + otmrcFontBox*: RECT + otmMacAscent*: int32 + otmMacDescent*: int32 + otmMacLineGap*: UINT + otmusMinimumPPEM*: UINT + otmptSubscriptSize*: POINT + otmptSubscriptOffset*: POINT + otmptSuperscriptSize*: POINT + otmptSuperscriptOffset*: POINT + otmsStrikeoutSize*: UINT + otmsStrikeoutPosition*: int32 + otmsUnderscoreSize*: int32 + otmsUnderscorePosition*: int32 + otmpFamilyName*: PSTR + otmpFaceName*: PSTR + otmpStyleName*: PSTR + otmpFullName*: PSTR + + LPOUTLINETEXTMETRIC* = ptr OUTLINETEXTMETRIC + TOUTLINETEXTMETRIC* = OUTLINETEXTMETRIC + POUTLINETEXTMETRIC* = ptr OUTLINETEXTMETRIC + OVERLAPPED* = record + Internal*: DWORD + InternalHigh*: DWORD + Offset*: DWORD + OffsetHigh*: DWORD + hEvent*: HANDLE + + LPOVERLAPPED* = ptr OVERLAPPED + TOVERLAPPED* = OVERLAPPED + POVERLAPPED* = ptr OVERLAPPED #PAGESETUPDLG = record conflicts with function PageSetupDlg + TPAGESETUPDLG* = record + lStructSize*: DWORD + hwndOwner*: HWND + hDevMode*: HGLOBAL + hDevNames*: HGLOBAL + Flags*: DWORD + ptPaperSize*: POINT + rtMinMargin*: RECT + rtMargin*: RECT + hInstance*: HINST + lCustData*: LPARAM + lpfnPageSetupHook*: LPPAGESETUPHOOK + lpfnPagePaintHook*: LPPAGEPAINTHOOK + lpPageSetupTemplateName*: LPCTSTR + hPageSetupTemplate*: HGLOBAL + + LPPAGESETUPDLG* = ptr TPAGESETUPDLG + PPAGESETUPDLG* = ptr TPAGESETUPDLG + tagPSD* = TPAGESETUPDLG + TPSD* = TPAGESETUPDLG + PPSD* = ptr TPAGESETUPDLG + PAINTSTRUCT* = record + hdc*: HDC + fErase*: WINBOOL + rcPaint*: RECT + fRestore*: WINBOOL + fIncUpdate*: WINBOOL + rgbReserved*: array[0..31, int8] + + LPPAINTSTRUCT* = ptr PAINTSTRUCT + tagPAINTSTRUCT* = PAINTSTRUCT + TPAINTSTRUCT* = PAINTSTRUCT + PPAINTSTRUCT* = ptr PAINTSTRUCT + PARAFORMAT* = record + cbSize*: UINT + dwMask*: DWORD + wNumbering*: int16 + wReserved*: int16 + dxStartIndent*: LONG + dxRightIndent*: LONG + dxOffset*: LONG + wAlignment*: int16 + cTabCount*: SHORT + rgxTabs*: array[0..(MAX_TAB_STOPS) - 1, LONG] + + Tparaformat* = PARAFORMAT + Pparaformat* = ptr PARAFORMAT + PERF_COUNTER_BLOCK* = record + ByteLength*: DWORD + + TPERFCOUNTERBLOCK* = PERF_COUNTER_BLOCK + PPERFCOUNTERBLOCK* = ptr PERF_COUNTER_BLOCK + PERF_COUNTER_DEFINITION* = record + ByteLength*: DWORD + CounterNameTitleIndex*: DWORD + CounterNameTitle*: LPWSTR + CounterHelpTitleIndex*: DWORD + CounterHelpTitle*: LPWSTR + DefaultScale*: DWORD + DetailLevel*: DWORD + CounterType*: DWORD + CounterSize*: DWORD + CounterOffset*: DWORD + + TPERFCOUNTERDEFINITION* = PERF_COUNTER_DEFINITION + PPERFCOUNTERDEFINITION* = ptr PERF_COUNTER_DEFINITION + PERF_DATA_BLOCK* = record + Signature*: array[0..3, WCHAR] + LittleEndian*: DWORD + Version*: DWORD + Revision*: DWORD + TotalByteLength*: DWORD + HeaderLength*: DWORD + NumObjectTypes*: DWORD + DefaultObject*: DWORD + SystemTime*: SYSTEMTIME + PerfTime*: LARGE_INTEGER + PerfFreq*: LARGE_INTEGER + PerfTime100nSec*: LARGE_INTEGER + SystemNameLength*: DWORD + SystemNameOffset*: DWORD + + TPERFDATABLOCK* = PERF_DATA_BLOCK + PPERFDATABLOCK* = ptr PERF_DATA_BLOCK + PERF_INSTANCE_DEFINITION* = record + ByteLength*: DWORD + ParentObjectTitleIndex*: DWORD + ParentObjectInstance*: DWORD + UniqueID*: DWORD + NameOffset*: DWORD + NameLength*: DWORD + + TPERFINSTANCEDEFINITION* = PERF_INSTANCE_DEFINITION + PPERFINSTANCEDEFINITION* = PERF_INSTANCE_DEFINITION + PERF_OBJECT_TYPE* = record + TotalByteLength*: DWORD + DefinitionLength*: DWORD + HeaderLength*: DWORD + ObjectNameTitleIndex*: DWORD + ObjectNameTitle*: LPWSTR + ObjectHelpTitleIndex*: DWORD + ObjectHelpTitle*: LPWSTR + DetailLevel*: DWORD + NumCounters*: DWORD + DefaultCounter*: DWORD + NumInstances*: DWORD + CodePage*: DWORD + PerfTime*: LARGE_INTEGER + PerfFreq*: LARGE_INTEGER + + TPERFOBJECTTYPE* = PERF_OBJECT_TYPE + PPERFOBJECTTYPE* = ptr PERF_OBJECT_TYPE + POLYTEXT* = record + x*: int32 + y*: int32 + n*: UINT + lpstr*: LPCTSTR + uiFlags*: UINT + rcl*: RECT + pdx*: ptr int32 + + TPOLYTEXT* = POLYTEXT + PPOLYTEXT* = ptr POLYTEXT + PORT_INFO_1* = record + pName*: LPTSTR + + TPORTINFO1* = PORT_INFO_1 + PPORTINFO1* = ptr PORT_INFO_1 + PORT_INFO_2* = record + pPortName*: LPSTR + pMonitorName*: LPSTR + pDescription*: LPSTR + fPortType*: DWORD + Reserved*: DWORD + + TPORTINFO2* = PORT_INFO_2 + PPORTINFO2* = ptr PORT_INFO_2 + PREVENT_MEDIA_REMOVAL* = record + PreventMediaRemoval*: bool + + TPREVENTMEDIAREMOVAL* = PREVENT_MEDIA_REMOVAL + PPREVENTMEDIAREMOVAL* = ptr PREVENT_MEDIA_REMOVAL #PRINTDLG = record conflicts with PrintDlg function + TPRINTDLG* = record + lStructSize*: DWORD + hwndOwner*: HWND + hDevMode*: HANDLE + hDevNames*: HANDLE + hDC*: HDC + Flags*: DWORD + nFromPage*: int16 + nToPage*: int16 + nMinPage*: int16 + nMaxPage*: int16 + nCopies*: int16 + hInstance*: HINST + lCustData*: DWORD + lpfnPrintHook*: LPPRINTHOOKPROC + lpfnSetupHook*: LPSETUPHOOKPROC + lpPrintTemplateName*: LPCTSTR + lpSetupTemplateName*: LPCTSTR + hPrintTemplate*: HANDLE + hSetupTemplate*: HANDLE + + LPPRINTDLG* = ptr TPRINTDLG + PPRINTDLG* = ptr TPRINTDLG + tagPD* = TPRINTDLG + TPD* = TPRINTDLG + PPD* = ptr TPRINTDLG + PRINTER_DEFAULTS* = record + pDatatype*: LPTSTR + pDevMode*: LPDEVMODE + DesiredAccess*: ACCESS_MASK + + TPRINTERDEFAULTS* = PRINTER_DEFAULTS + PPRINTERDEFAULTS* = ptr PRINTER_DEFAULTS + PRINTER_INFO_1* = record + Flags*: DWORD + pDescription*: LPTSTR + pName*: LPTSTR + pComment*: LPTSTR + + LPPRINTER_INFO_1* = ptr PRINTER_INFO_1 + PPRINTER_INFO_1* = ptr PRINTER_INFO_1 + TPRINTERINFO1* = PRINTER_INFO_1 + PRINTER_INFO_2* = record + pServerName*: LPTSTR + pPrinterName*: LPTSTR + pShareName*: LPTSTR + pPortName*: LPTSTR + pDriverName*: LPTSTR + pComment*: LPTSTR + pLocation*: LPTSTR + pDevMode*: LPDEVMODE + pSepFile*: LPTSTR + pPrintProcessor*: LPTSTR + pDatatype*: LPTSTR + pParameters*: LPTSTR + pSecurityDescriptor*: PSECURITY_DESCRIPTOR + Attributes*: DWORD + Priority*: DWORD + DefaultPriority*: DWORD + StartTime*: DWORD + UntilTime*: DWORD + Status*: DWORD + cJobs*: DWORD + AveragePPM*: DWORD + + TPRINTERINFO2* = PRINTER_INFO_2 + PPRINTERINFO2* = ptr PRINTER_INFO_2 + PRINTER_INFO_3* = record + pSecurityDescriptor*: PSECURITY_DESCRIPTOR + + TPRINTERINFO3* = PRINTER_INFO_3 + PPRINTERINFO3* = ptr PRINTER_INFO_3 + PRINTER_INFO_4* = record + pPrinterName*: LPTSTR + pServerName*: LPTSTR + Attributes*: DWORD + + TPRINTERINFO4* = PRINTER_INFO_4 + PPRINTERINFO4* = ptr PRINTER_INFO_4 + PRINTER_INFO_5* = record + pPrinterName*: LPTSTR + pPortName*: LPTSTR + Attributes*: DWORD + DeviceNotSelectedTimeout*: DWORD + TransmissionRetryTimeout*: DWORD + + TPRINTERINFO5* = PRINTER_INFO_5 + PPRINTERINFO5* = ptr PRINTER_INFO_5 + PRINTER_NOTIFY_INFO_DATA* = record + `type`*: int16 + Field*: int16 + Reserved*: DWORD + Id*: DWORD + cbBuf*: DWORD + pBuf*: LPVOID + + TPRINTERNOTIFYINFODATA* = PRINTER_NOTIFY_INFO_DATA + PPRINTERNOTIFYINFODATA* = ptr PRINTER_NOTIFY_INFO_DATA + PRINTER_NOTIFY_INFO* = record + Version*: DWORD + Flags*: DWORD + Count*: DWORD + aData*: array[0..0, PRINTER_NOTIFY_INFO_DATA] + + TPRINTERNOTIFYINFO* = PRINTER_NOTIFY_INFO + PPRINTERNOTIFYINFO* = ptr PRINTER_NOTIFY_INFO + PRINTER_NOTIFY_OPTIONS_TYPE* = record + `type`*: int16 + Reserved0*: int16 + Reserved1*: DWORD + Reserved2*: DWORD + Count*: DWORD + pFields*: PWORD + + PPRINTER_NOTIFY_OPTIONS_TYPE* = ptr PRINTER_NOTIFY_OPTIONS_TYPE + TPRINTERNOTIFYOPTIONSTYPE* = PRINTER_NOTIFY_OPTIONS_TYPE + PRINTER_NOTIFY_OPTIONS* = record + Version*: DWORD + Flags*: DWORD + Count*: DWORD + pTypes*: PPRINTER_NOTIFY_OPTIONS_TYPE + + TPRINTERNOTIFYOPTIONS* = PRINTER_NOTIFY_OPTIONS + PPRINTERNOTIFYOPTIONS* = ptr PRINTER_NOTIFY_OPTIONS + PRINTPROCESSOR_INFO_1* = record + pName*: LPTSTR + + TPRINTPROCESSORINFO1* = PRINTPROCESSOR_INFO_1 + PPRINTPROCESSORINFO1* = ptr PRINTPROCESSOR_INFO_1 + PRIVILEGE_SET* = record + PrivilegeCount*: DWORD + Control*: DWORD + Privilege*: array[0..(ANYSIZE_ARRAY) - 1, LUID_AND_ATTRIBUTES] + + LPPRIVILEGE_SET* = ptr PRIVILEGE_SET + PPRIVILEGE_SET* = ptr PRIVILEGE_SET + TPRIVILEGESET* = PRIVILEGE_SET + PROCESS_HEAPENTRY* = record + lpData*: PVOID + cbData*: DWORD + cbOverhead*: int8 + iRegionIndex*: int8 + wFlags*: int16 + dwCommittedSize*: DWORD + dwUnCommittedSize*: DWORD + lpFirstBlock*: LPVOID + lpLastBlock*: LPVOID + hMem*: HANDLE + + LPPROCESS_HEAP_ENTRY* = ptr PROCESS_HEAPENTRY + TPROCESSHEAPENTRY* = PROCESS_HEAPENTRY + PPROCESSHEAPENTRY* = ptr PROCESS_HEAPENTRY + PROCESS_INFORMATION* = record + hProcess*: HANDLE + hThread*: HANDLE + dwProcessId*: DWORD + dwThreadId*: DWORD + + LPPROCESS_INFORMATION* = ptr PROCESS_INFORMATION + TPROCESSINFORMATION* = PROCESS_INFORMATION + PPROCESSINFORMATION* = ptr PROCESS_INFORMATION + LPFNPSPCALLBACK* = proc (para1: HWND, para2: UINT, para3: LPVOID): UINT{. + stdcall.} + TFNPSPCALLBACK* = LPFNPSPCALLBACK + PROPSHEETPAGE* = record + dwSize*: DWORD + dwFlags*: DWORD + hInstance*: HINST + pszIcon*: LPCTSTR + pszTitle*: LPCTSTR + pfnDlgProc*: DLGPROC + lParam*: LPARAM + pfnCallback*: LPFNPSPCALLBACK + pcRefParent*: ptr UINT + + LPPROPSHEETPAGE* = ptr PROPSHEETPAGE + LPCPROPSHEETPAGE* = ptr PROPSHEETPAGE + TPROPSHEETPAGE* = PROPSHEETPAGE + PPROPSHEETPAGE* = ptr PROPSHEETPAGE + emptyrecord* = record + lpemptyrecord* = ptr emptyrecord + HPROPSHEETPAGE* = ptr emptyrecord + PROPSHEETHEADER* = record + dwSize*: DWORD + dwFlags*: DWORD + hwndParent*: HWND + hInstance*: HINST + pszIcon*: LPCTSTR + pszCaption*: LPCTSTR + nPages*: UINT + pStartPage*: LPCTSTR + phpage*: ptr HPROPSHEETPAGE + pfnCallback*: PFNPROPSHEETCALLBACK + pszbmWatermark*: LPCTSTR + hplWatermark*: HPALETTE + pszbmHeader*: cstring + + LPPROPSHEETHEADER* = ptr PROPSHEETHEADER + LPCPROPSHEETHEADER* = ptr PROPSHEETHEADER + TPROPSHEETHEADER* = PROPSHEETHEADER + PPROPSHEETHEADER* = ptr PROPSHEETHEADER # PropertySheet callbacks + LPFNADDPROPSHEETPAGE* = proc (para1: HPROPSHEETPAGE, para2: LPARAM): WINBOOL{. + stdcall.} + TFNADDPROPSHEETPAGE* = LPFNADDPROPSHEETPAGE + LPFNADDPROPSHEETPAGES* = proc (para1: LPVOID, para2: LPFNADDPROPSHEETPAGE, + para3: LPARAM): WINBOOL{.stdcall.} + TFNADDPROPSHEETPAGES* = LPFNADDPROPSHEETPAGES + PROTOCOL_INFO* = record + dwServiceFlags*: DWORD + iAddressFamily*: WINT + iMaxSockAddr*: WINT + iMinSockAddr*: WINT + iSocketType*: WINT + iProtocol*: WINT + dwMessageSize*: DWORD + lpProtocol*: LPTSTR + + TPROTOCOLINFO* = PROTOCOL_INFO + PPROTOCOLINFO* = ptr PROTOCOL_INFO + PROVIDOR_INFO_1* = record + pName*: LPTSTR + pEnvironment*: LPTSTR + pDLLName*: LPTSTR + + TPROVIDORINFO1* = PROVIDOR_INFO_1 + PPROVIDORINFO1* = ptr PROVIDOR_INFO_1 + PSHNOTIFY* = record + hdr*: NMHDR + lParam*: LPARAM + + LPPSHNOTIFY* = ptr PSHNOTIFY + TPSHNOTIFY* = PSHNOTIFY + PPSHNOTIFY* = ptr PSHNOTIFY + PUNCTUATION* = record + iSize*: UINT + szPunctuation*: LPSTR + + Tpunctuation* = PUNCTUATION + Ppunctuation* = ptr PUNCTUATION + TQUERY_SERVICE_CONFIG* = record + dwServiceType*: DWORD + dwStartType*: DWORD + dwErrorControl*: DWORD + lpBinaryPathName*: LPTSTR + lpLoadOrderGroup*: LPTSTR + dwTagId*: DWORD + lpDependencies*: LPTSTR + lpServiceStartName*: LPTSTR + lpDisplayName*: LPTSTR + + LPQUERY_SERVICE_CONFIG* = ptr TQUERY_SERVICE_CONFIG + PQUERYSERVICECONFIG* = ptr TQUERY_SERVICE_CONFIG + TQUERY_SERVICE_LOCK_STATUS* = record + fIsLocked*: DWORD + lpLockOwner*: LPTSTR + dwLockDuration*: DWORD + + LPQUERY_SERVICE_LOCK_STATUS* = ptr TQUERY_SERVICE_LOCK_STATUS + PQUERYSERVICELOCKSTATUS* = ptr TQUERY_SERVICE_LOCK_STATUS + RASAMB* = record + dwSize*: DWORD + dwError*: DWORD + szNetBiosError*: array[0..(NETBIOS_NAME_LEN + 1) - 1, TCHAR] + bLana*: int8 + + TRASAMB* = RASAMB + PRASAMB* = ptr RASAMB + RASCONN* = record + dwSize*: DWORD + hrasconn*: HRASCONN + szEntryName*: array[0..(RAS_MaxEntryName + 1) - 1, TCHAR] + szDeviceType*: array[0..(RAS_MaxDeviceType + 1) - 1, CHAR] + szDeviceName*: array[0..(RAS_MaxDeviceName + 1) - 1, CHAR] + + TRASCONN* = RASCONN + PRASCONN* = ptr RASCONN + RASCONNSTATUS* = record + dwSize*: DWORD + rasconnstate*: RASCONNSTATE + dwError*: DWORD + szDeviceType*: array[0..(RAS_MaxDeviceType + 1) - 1, TCHAR] + szDeviceName*: array[0..(RAS_MaxDeviceName + 1) - 1, TCHAR] + + TRASCONNSTATUS* = RASCONNSTATUS + PRASCONNSTATUS* = ptr RASCONNSTATUS + RASDIALEXTENSIONS* = record + dwSize*: DWORD + dwfOptions*: DWORD + hwndParent*: HWND + reserved*: DWORD + + TRASDIALEXTENSIONS* = RASDIALEXTENSIONS + PRASDIALEXTENSIONS* = ptr RASDIALEXTENSIONS + RASDIALPARAMS* = record + dwSize*: DWORD + szEntryName*: array[0..(RAS_MaxEntryName + 1) - 1, TCHAR] + szPhoneNumber*: array[0..(RAS_MaxPhoneNumber + 1) - 1, TCHAR] + szCallbackNumber*: array[0..(RAS_MaxCallbackNumber + 1) - 1, TCHAR] + szUserName*: array[0..(UNLEN + 1) - 1, TCHAR] + szPassword*: array[0..(PWLEN + 1) - 1, TCHAR] + szDomain*: array[0..(DNLEN + 1) - 1, TCHAR] + + TRASDIALPARAMS* = RASDIALPARAMS + PRASDIALPARAMS* = ptr RASDIALPARAMS + RASENTRYNAME* = record + dwSize*: DWORD + szEntryName*: array[0..(RAS_MaxEntryName + 1) - 1, TCHAR] + + TRASENTRYNAME* = RASENTRYNAME + PRASENTRYNAME* = ptr RASENTRYNAME + RASPPPIP* = record + dwSize*: DWORD + dwError*: DWORD + szIpAddress*: array[0..(RAS_MaxIpAddress + 1) - 1, TCHAR] + + TRASPPPIP* = RASPPPIP + PRASPPPIP* = ptr RASPPPIP + RASPPPIPX* = record + dwSize*: DWORD + dwError*: DWORD + szIpxAddress*: array[0..(RAS_MaxIpxAddress + 1) - 1, TCHAR] + + TRASPPPIPX* = RASPPPIPX + PRASPPPIPX* = ptr RASPPPIPX + RASPPPNBF* = record + dwSize*: DWORD + dwError*: DWORD + dwNetBiosError*: DWORD + szNetBiosError*: array[0..(NETBIOS_NAME_LEN + 1) - 1, TCHAR] + szWorkstationName*: array[0..(NETBIOS_NAME_LEN + 1) - 1, TCHAR] + bLana*: int8 + + TRASPPPNBF* = RASPPPNBF + PRASPPPNBF* = ptr RASPPPNBF + RASTERIZER_STATUS* = record + nSize*: short + wFlags*: short + nLanguageID*: short + + LPRASTERIZER_STATUS* = ptr RASTERIZER_STATUS + TRASTERIZERSTATUS* = RASTERIZER_STATUS + PRASTERIZERSTATUS* = ptr RASTERIZER_STATUS + REASSIGN_BLOCKS* = record + Reserved*: int16 + Count*: int16 + BlockNumber*: array[0..0, DWORD] + + TREASSIGNBLOCKS* = REASSIGN_BLOCKS + PREASSIGNBLOCKS* = ptr REASSIGN_BLOCKS + REMOTE_NAME_INFO* = record + lpUniversalName*: LPTSTR + lpConnectionName*: LPTSTR + lpRemainingPath*: LPTSTR + + TREMOTENAMEINFO* = REMOTE_NAME_INFO + PREMOTENAMEINFO* = ptr REMOTE_NAME_INFO # + # TODO: OLE + # typedef struct _reobject { + # DWORD cbStruct; + # LONG cp; + # CLSID clsid; + # LPOLEOBJECT poleobj; + # LPSTORAGE pstg; + # LPOLECLIENTSITE polesite; + # SIZEL sizel; + # DWORD dvaspect; + # DWORD dwFlags; + # DWORD dwUser; + # } REOBJECT; + # + REPASTESPECIAL* = record + dwAspect*: DWORD + dwParam*: DWORD + + Trepastespecial* = REPASTESPECIAL + Prepastespecial* = ptr REPASTESPECIAL + REQRESIZE* = record + nmhdr*: NMHDR + rc*: RECT + + Treqresize* = REQRESIZE + Preqresize* = ptr REQRESIZE + RGNDATAHEADER* = record + dwSize*: DWORD + iType*: DWORD + nCount*: DWORD + nRgnSize*: DWORD + rcBound*: RECT + + TRGNDATAHEADER* = RGNDATAHEADER + PRGNDATAHEADER* = ptr RGNDATAHEADER + RGNDATA* = record + rdh*: RGNDATAHEADER + Buffer*: array[0..0, char] + + LPRGNDATA* = ptr RGNDATA + TRGNDATA* = RGNDATA + PRGNDATA* = ptr RGNDATA + SCROLLINFO* = record + cbSize*: UINT + fMask*: UINT + nMin*: int32 + nMax*: int32 + nPage*: UINT + nPos*: int32 + nTrackPos*: int32 + + LPSCROLLINFO* = ptr SCROLLINFO + LPCSCROLLINFO* = ptr SCROLLINFO + TSCROLLINFO* = SCROLLINFO + PSCROLLINFO* = ptr SCROLLINFO + SECURITY_ATTRIBUTES* = record + nLength*: DWORD + lpSecurityDescriptor*: LPVOID + bInheritHandle*: WINBOOL + + LPSECURITY_ATTRIBUTES* = ptr SECURITY_ATTRIBUTES + TSECURITYATTRIBUTES* = SECURITY_ATTRIBUTES + PSECURITYATTRIBUTES* = ptr SECURITY_ATTRIBUTES + SECURITY_INFORMATION* = DWORD + PSECURITY_INFORMATION* = ptr SECURITY_INFORMATION + TSECURITYINFORMATION* = SECURITY_INFORMATION + SELCHANGE* = record + nmhdr*: NMHDR + chrg*: CHARRANGE + seltyp*: int16 + + Tselchange* = SELCHANGE + Pselchange* = ptr SELCHANGE + SERIALKEYS* = record + cbSize*: DWORD + dwFlags*: DWORD + lpszActivePort*: LPSTR + lpszPort*: LPSTR + iBaudRate*: DWORD + iPortState*: DWORD + + LPSERIALKEYS* = ptr SERIALKEYS + TSERIALKEYS* = SERIALKEYS + PSERIALKEYS* = ptr SERIALKEYS + SERVICE_TABLE_ENTRY* = record + lpServiceName*: LPTSTR + lpServiceProc*: LPSERVICE_MAIN_FUNCTION + + LPSERVICE_TABLE_ENTRY* = ptr SERVICE_TABLE_ENTRY + TSERVICETABLEENTRY* = SERVICE_TABLE_ENTRY + PSERVICETABLEENTRY* = ptr SERVICE_TABLE_ENTRY + SERVICE_TYPE_VALUE_ABS* = record + dwNameSpace*: DWORD + dwValueType*: DWORD + dwValueSize*: DWORD + lpValueName*: LPTSTR + lpValue*: PVOID + + TSERVICETYPEVALUEABS* = SERVICE_TYPE_VALUE_ABS + PSERVICETYPEVALUEABS* = ptr SERVICE_TYPE_VALUE_ABS + SERVICE_TYPE_INFO_ABS* = record + lpTypeName*: LPTSTR + dwValueCount*: DWORD + Values*: array[0..0, SERVICE_TYPE_VALUE_ABS] + + TSERVICETYPEINFOABS* = SERVICE_TYPE_INFO_ABS + PSERVICETYPEINFOABS* = ptr SERVICE_TYPE_INFO_ABS + SESSION_BUFFER* = record + lsn*: UCHAR + state*: UCHAR + local_name*: array[0..(NCBNAMSZ) - 1, UCHAR] + remote_name*: array[0..(NCBNAMSZ) - 1, UCHAR] + rcvs_outstanding*: UCHAR + sends_outstanding*: UCHAR + + TSESSIONBUFFER* = SESSION_BUFFER + PSESSIONBUFFER* = ptr SESSION_BUFFER + SESSION_HEADER* = record + sess_name*: UCHAR + num_sess*: UCHAR + rcv_dg_outstanding*: UCHAR + rcv_any_outstanding*: UCHAR + + TSESSIONHEADER* = SESSION_HEADER + PSESSIONHEADER* = ptr SESSION_HEADER + SET_PARTITION_INFORMATION* = record + PartitionType*: int8 + + TSETPARTITIONINFORMATION* = SET_PARTITION_INFORMATION + PSETPARTITIONINFORMATION* = ptr SET_PARTITION_INFORMATION + SHCONTF* = enum + SHCONTF_FOLDERS = 32, SHCONTF_NONFOLDERS = 64, SHCONTF_INCLUDEHIDDEN = 128 + TSHCONTF* = SHCONTF + SHFILEINFO* = record + hIcon*: HICON + iIcon*: int32 + dwAttributes*: DWORD + szDisplayName*: array[0..(MAX_PATH) - 1, char] + szTypeName*: array[0..79, char] + + TSHFILEINFO* = SHFILEINFO + PSHFILEINFO* = ptr SHFILEINFO + FILEOP_FLAGS* = int16 + TFILEOPFLAGS* = FILEOP_FLAGS + PFILEOPFLAGS* = ptr FILEOP_FLAGS + SHFILEOPSTRUCT* = record + hwnd*: HWND + wFunc*: UINT + pFrom*: LPCSTR + pTo*: LPCSTR + fFlags*: FILEOP_FLAGS + fAnyOperationsAborted*: WINBOOL + hNameMappings*: LPVOID + lpszProgressTitle*: LPCSTR + + LPSHFILEOPSTRUCT* = ptr SHFILEOPSTRUCT + TSHFILEOPSTRUCT* = SHFILEOPSTRUCT + PSHFILEOPSTRUCT* = ptr SHFILEOPSTRUCT + SHGNO* = enum + SHGDN_NORMAL = 0, SHGDN_INFOLDER = 1, SHGDN_FORPARSING = 0x00008000 + tagSHGDN* = SHGNO + TSHGDN* = SHGNO + SHNAMEMAPPING* = record + pszOldPath*: LPSTR + pszNewPath*: LPSTR + cchOldPath*: int32 + cchNewPath*: int32 + + LPSHNAMEMAPPING* = ptr SHNAMEMAPPING + TSHNAMEMAPPING* = SHNAMEMAPPING + PSHNAMEMAPPING* = ptr SHNAMEMAPPING + SID_AND_ATTRIBUTES* = record + Sid*: PSID + Attributes*: DWORD + + TSIDANDATTRIBUTES* = SID_AND_ATTRIBUTES + PSIDANDATTRIBUTES* = ptr SID_AND_ATTRIBUTES + SID_AND_ATTRIBUTES_ARRAY* = array[0..(ANYSIZE_ARRAY) - 1, SID_AND_ATTRIBUTES] + PSID_AND_ATTRIBUTES_ARRAY* = ptr SID_AND_ATTRIBUTES_ARRAY + TSIDANDATTRIBUTESARRAY* = SID_AND_ATTRIBUTES_ARRAY + SINGLE_LIST_ENTRY* = record + Next*: ptr SINGLE_LIST_ENTRY + + TSINGLELISTENTRY* = SINGLE_LIST_ENTRY + PSINGLELISTENTRY* = ptr SINGLE_LIST_ENTRY + SOUNDSENTRY* = record + cbSize*: UINT + dwFlags*: DWORD + iFSTextEffect*: DWORD + iFSTextEffectMSec*: DWORD + iFSTextEffectColorBits*: DWORD + iFSGrafEffect*: DWORD + iFSGrafEffectMSec*: DWORD + iFSGrafEffectColor*: DWORD + iWindowsEffect*: DWORD + iWindowsEffectMSec*: DWORD + lpszWindowsEffectDLL*: LPTSTR + iWindowsEffectOrdinal*: DWORD + + LPSOUNDSENTRY* = ptr SOUNDSENTRY + tagSOUNDSENTRY* = SOUNDSENTRY + TSOUNDSENTRY* = SOUNDSENTRY + PSOUNDSENTRY* = ptr SOUNDSENTRY + STARTUPINFO* = record + cb*: DWORD + lpReserved*: LPTSTR + lpDesktop*: LPTSTR + lpTitle*: LPTSTR + dwX*: DWORD + dwY*: DWORD + dwXSize*: DWORD + dwYSize*: DWORD + dwXCountChars*: DWORD + dwYCountChars*: DWORD + dwFillAttribute*: DWORD + dwFlags*: DWORD + wShowWindow*: int16 + cbReserved2*: int16 + lpReserved2*: LPBYTE + hStdInput*: HANDLE + hStdOutput*: HANDLE + hStdError*: HANDLE + + LPSTARTUPINFO* = ptr STARTUPINFO + TSTARTUPINFO* = STARTUPINFO + PSTARTUPINFO* = ptr STARTUPINFO + STICKYKEYS* = record + cbSize*: DWORD + dwFlags*: DWORD + + LPSTICKYKEYS* = ptr STICKYKEYS + TSTICKYKEYS* = STICKYKEYS + PSTICKYKEYS* = ptr STICKYKEYS + STRRET* = record + uType*: UINT + cStr*: array[0..(MAX_PATH) - 1, char] + + LPSTRRET* = ptr STRRET + TSTRRET* = STRRET + PSTRRET* = ptr STRRET + STYLEBUF* = record + dwStyle*: DWORD + szDescription*: array[0..31, CHAR] + + LPSTYLEBUF* = ptr STYLEBUF + TSTYLEBUF* = STYLEBUF + PSTYLEBUF* = ptr STYLEBUF + STYLESTRUCT* = record + styleOld*: DWORD + styleNew*: DWORD + + LPSTYLESTRUCT* = ptr STYLESTRUCT + TSTYLESTRUCT* = STYLESTRUCT + PSTYLESTRUCT* = ptr STYLESTRUCT + SYSTEM_AUDIT_ACE* = record + Header*: ACE_HEADER + Mask*: ACCESS_MASK + SidStart*: DWORD + + TSYSTEMAUDITACE* = SYSTEM_AUDIT_ACE + PSYSTEMAUDITACE* = ptr SYSTEM_AUDIT_ACE + SYSTEM_INFO* = record + dwOemId*: DWORD + dwPageSize*: DWORD + lpMinimumApplicationAddress*: LPVOID + lpMaximumApplicationAddress*: LPVOID + dwActiveProcessorMask*: DWORD + dwNumberOfProcessors*: DWORD + dwProcessorType*: DWORD + dwAllocationGranularity*: DWORD + wProcessorLevel*: int16 + wProcessorRevision*: int16 + + LPSYSTEM_INFO* = ptr SYSTEM_INFO + TSYSTEMINFO* = SYSTEM_INFO + PSYSTEMINFO* = ptr SYSTEM_INFO + SYSTEM_POWER_STATUS* = record + ACLineStatus*: int8 + BatteryFlag*: int8 + BatteryLifePercent*: int8 + Reserved1*: int8 + BatteryLifeTime*: DWORD + BatteryFullLifeTime*: DWORD + + TSYSTEMPOWERSTATUS* = SYSTEM_POWER_STATUS + PSYSTEMPOWERSTATUS* = ptr SYSTEM_POWER_STATUS + LPSYSTEM_POWER_STATUS* = ptr emptyrecord + TAPE_ERASE* = record + `type`*: ULONG + + TTAPEERASE* = TAPE_ERASE + PTAPEERASE* = ptr TAPE_ERASE + TAPE_GET_DRIVE_PARAMETERS* = record + ECC*: bool + Compression*: bool + DataPadding*: bool + ReportSetmarks*: bool + DefaultBlockSize*: ULONG + MaximumBlockSize*: ULONG + MinimumBlockSize*: ULONG + MaximumPartitionCount*: ULONG + FeaturesLow*: ULONG + FeaturesHigh*: ULONG + EOTWarningZoneSize*: ULONG + + TTAPEGETDRIVEPARAMETERS* = TAPE_GET_DRIVE_PARAMETERS + PTAPEGETDRIVEPARAMETERS* = ptr TAPE_GET_DRIVE_PARAMETERS + TAPE_GET_MEDIA_PARAMETERS* = record + Capacity*: LARGE_INTEGER + Remaining*: LARGE_INTEGER + BlockSize*: DWORD + PartitionCount*: DWORD + WriteProtected*: bool + + TTAPEGETMEDIAPARAMETERS* = TAPE_GET_MEDIA_PARAMETERS + PTAPEGETMEDIAPARAMETERS* = ptr TAPE_GET_MEDIA_PARAMETERS + TAPE_GET_POSITION* = record + `type`*: ULONG + Partition*: ULONG + OffsetLow*: ULONG + OffsetHigh*: ULONG + + TTAPEGETPOSITION* = TAPE_GET_POSITION + PTAPEGETPOSITION* = ptr TAPE_GET_POSITION + TAPE_PREPARE* = record + Operation*: ULONG + + TTAPEPREPARE* = TAPE_PREPARE + PTAPEPREPARE* = ptr TAPE_PREPARE + TAPE_SET_DRIVE_PARAMETERS* = record + ECC*: bool + Compression*: bool + DataPadding*: bool + ReportSetmarks*: bool + EOTWarningZoneSize*: ULONG + + TTAPESETDRIVEPARAMETERS* = TAPE_SET_DRIVE_PARAMETERS + PTAPESETDRIVEPARAMETERS* = ptr TAPE_SET_DRIVE_PARAMETERS + TAPE_SET_MEDIA_PARAMETERS* = record + BlockSize*: ULONG + + TTAPESETMEDIAPARAMETERS* = TAPE_SET_MEDIA_PARAMETERS + PTAPESETMEDIAPARAMETERS* = ptr TAPE_SET_MEDIA_PARAMETERS + TAPE_SET_POSITION* = record + `Method`*: ULONG + Partition*: ULONG + OffsetLow*: ULONG + OffsetHigh*: ULONG + + TTAPESETPOSITION* = TAPE_SET_POSITION + PTAPESETPOSITION* = ptr TAPE_SET_POSITION + TAPE_WRITE_MARKS* = record + `type`*: ULONG + Count*: ULONG + + TTAPEWRITEMARKS* = TAPE_WRITE_MARKS + PTAPEWRITEMARKS* = ptr TAPE_WRITE_MARKS + TTBADDBITMAP* = record + hInst*: HINST + nID*: UINT + + LPTBADDBITMAP* = ptr TTBADDBITMAP + PTBADDBITMAP* = ptr TTBADDBITMAP + TBBUTTON* = record + iBitmap*: int32 + idCommand*: int32 + fsState*: int8 + fsStyle*: int8 + dwData*: DWORD + iString*: int32 + + LPTBBUTTON* = ptr TBBUTTON + LPCTBBUTTON* = ptr TBBUTTON + TTBBUTTON* = TBBUTTON + PTBBUTTON* = ptr TBBUTTON + TBNOTIFY* = record + hdr*: NMHDR + iItem*: int32 + tbButton*: TBBUTTON + cchText*: int32 + pszText*: LPTSTR + + LPTBNOTIFY* = ptr TBNOTIFY + TTBNOTIFY* = TBNOTIFY + PTBNOTIFY* = ptr TBNOTIFY + TBSAVEPARAMS* = record + hkr*: HKEY + pszSubKey*: LPCTSTR + pszValueName*: LPCTSTR + + TTBSAVEPARAMS* = TBSAVEPARAMS + PTBSAVEPARAMS* = ptr TBSAVEPARAMS + TC_HITTESTINFO* = record + pt*: POINT + flags*: UINT + + TTCHITTESTINFO* = TC_HITTESTINFO + PTCHITTESTINFO* = ptr TC_HITTESTINFO + TC_ITEM* = record + mask*: UINT + lpReserved1*: UINT + lpReserved2*: UINT + pszText*: LPTSTR + cchTextMax*: int32 + iImage*: int32 + lParam*: LPARAM + + TTCITEM* = TC_ITEM + PTCITEM* = ptr TC_ITEM + TC_ITEMHEADER* = record + mask*: UINT + lpReserved1*: UINT + lpReserved2*: UINT + pszText*: LPTSTR + cchTextMax*: int32 + iImage*: int32 + + TTCITEMHEADER* = TC_ITEMHEADER + PTCITEMHEADER* = ptr TC_ITEMHEADER + TC_KEYDOWN* = record + hdr*: NMHDR + wVKey*: int16 + flags*: UINT + + TTCKEYDOWN* = TC_KEYDOWN + PTCKEYDOWN* = ptr TC_KEYDOWN + TEXTRANGE* = record + chrg*: CHARRANGE + lpstrText*: LPSTR + + Ttextrange* = TEXTRANGE + Ptextrange* = ptr TEXTRANGE + TIME_ZONE_INFORMATION* = record + Bias*: LONG + StandardName*: array[0..31, WCHAR] + StandardDate*: SYSTEMTIME + StandardBias*: LONG + DaylightName*: array[0..31, WCHAR] + DaylightDate*: SYSTEMTIME + DaylightBias*: LONG + + LPTIME_ZONE_INFORMATION* = ptr TIME_ZONE_INFORMATION + TTIMEZONEINFORMATION* = TIME_ZONE_INFORMATION + PTIMEZONEINFORMATION* = ptr TIME_ZONE_INFORMATION + TOGGLEKEYS* = record + cbSize*: DWORD + dwFlags*: DWORD + + TTOGGLEKEYS* = TOGGLEKEYS + PTOGGLEKEYS* = ptr TOGGLEKEYS + TTOKEN_SOURCE* = record + SourceName*: array[0..7, CHAR] + SourceIdentifier*: LUID + + PTOKENSOURCE* = ptr TTOKEN_SOURCE + TOKEN_CONTROL* = record + TokenId*: LUID + AuthenticationId*: LUID + ModifiedId*: LUID + TokenSource*: TTOKEN_SOURCE + + TTOKENCONTROL* = TOKEN_CONTROL + PTOKENCONTROL* = ptr TOKEN_CONTROL + TTOKEN_DEFAULT_DACL* = record + DefaultDacl*: PACL + + PTOKENDEFAULTDACL* = ptr TTOKEN_DEFAULT_DACL + TTOKEN_GROUPS* = record + GroupCount*: DWORD + Groups*: array[0..(ANYSIZE_ARRAY) - 1, SID_AND_ATTRIBUTES] + + LPTOKEN_GROUPS* = ptr TTOKEN_GROUPS + PTOKENGROUPS* = ptr TTOKEN_GROUPS + TTOKEN_OWNER* = record + Owner*: PSID + + PTOKENOWNER* = ptr TTOKEN_OWNER + TTOKEN_PRIMARY_GROUP* = record + PrimaryGroup*: PSID + + PTOKENPRIMARYGROUP* = ptr TTOKEN_PRIMARY_GROUP + TTOKEN_PRIVILEGES* = record + PrivilegeCount*: DWORD + Privileges*: array[0..(ANYSIZE_ARRAY) - 1, LUID_AND_ATTRIBUTES] + + PTOKEN_PRIVILEGES* = ptr TTOKEN_PRIVILEGES + LPTOKEN_PRIVILEGES* = ptr TTOKEN_PRIVILEGES + TTOKEN_STATISTICS* = record + TokenId*: LUID + AuthenticationId*: LUID + ExpirationTime*: LARGE_INTEGER + TokenType*: TTOKEN_TYPE + ImpersonationLevel*: SECURITY_IMPERSONATION_LEVEL + DynamicCharged*: DWORD + DynamicAvailable*: DWORD + GroupCount*: DWORD + PrivilegeCount*: DWORD + ModifiedId*: LUID + + PTOKENSTATISTICS* = ptr TTOKEN_STATISTICS + TTOKEN_USER* = record + User*: SID_AND_ATTRIBUTES + + PTOKENUSER* = ptr TTOKEN_USER + TOOLINFO* = record + cbSize*: UINT + uFlags*: UINT + hwnd*: HWND + uId*: UINT + rect*: RECT + hinst*: HINST + lpszText*: LPTSTR + + LPTOOLINFO* = ptr TOOLINFO + TTOOLINFO* = TOOLINFO + PTOOLINFO* = ptr TOOLINFO + TOOLTIPTEXT* = record + hdr*: NMHDR + lpszText*: LPTSTR + szText*: array[0..79, char] + hinst*: HINST + uFlags*: UINT + + LPTOOLTIPTEXT* = ptr TOOLTIPTEXT + TTOOLTIPTEXT* = TOOLTIPTEXT + PTOOLTIPTEXT* = ptr TOOLTIPTEXT + TPMPARAMS* = record + cbSize*: UINT + rcExclude*: RECT + + LPTPMPARAMS* = ptr TPMPARAMS + tagTPMPARAMS* = TPMPARAMS + TTPMPARAMS* = TPMPARAMS + PTPMPARAMS* = ptr TPMPARAMS + TRANSMIT_FILE_BUFFERS* = record + Head*: PVOID + HeadLength*: DWORD + Tail*: PVOID + TailLength*: DWORD + + TTRANSMITFILEBUFFERS* = TRANSMIT_FILE_BUFFERS + PTRANSMITFILEBUFFERS* = ptr TRANSMIT_FILE_BUFFERS + TTHITTESTINFO* = record + hwnd*: HWND + pt*: POINT + ti*: TOOLINFO + + LPHITTESTINFO* = ptr TTHITTESTINFO + TTTHITTESTINFO* = TTHITTESTINFO + PTTHITTESTINFO* = ptr TTHITTESTINFO + TTPOLYCURVE* = record + wType*: int16 + cpfx*: int16 + apfx*: array[0..0, POINTFX] + + LPTTPOLYCURVE* = ptr TTPOLYCURVE + TTTPOLYCURVE* = TTPOLYCURVE + PTTPOLYCURVE* = ptr TTPOLYCURVE + TTPOLYGONHEADER* = record + cb*: DWORD + dwType*: DWORD + pfxStart*: POINTFX + + LPTTPOLYGONHEADER* = ptr TTPOLYGONHEADER + TTTPOLYGONHEADER* = TTPOLYGONHEADER + PTTPOLYGONHEADER* = ptr TTPOLYGONHEADER + TV_DISPINFO* = record + hdr*: NMHDR + item*: TV_ITEM + + TTVDISPINFO* = TV_DISPINFO + PTVDISPINFO* = ptr TV_DISPINFO + TV_HITTESTINFO* = record + pt*: POINT + flags*: UINT + hItem*: HTREEITEM + + LPTV_HITTESTINFO* = ptr TV_HITTESTINFO + TTVHITTESTINFO* = TV_HITTESTINFO + PTVHITTESTINFO* = ptr TV_HITTESTINFO + TV_INSERTSTRUCT* = record + hParent*: HTREEITEM + hInsertAfter*: HTREEITEM + item*: TV_ITEM + + LPTV_INSERTSTRUCT* = ptr TV_INSERTSTRUCT + TTVINSERTSTRUCT* = TV_INSERTSTRUCT + PTVINSERTSTRUCT* = ptr TV_INSERTSTRUCT + TV_KEYDOWN* = record + hdr*: NMHDR + wVKey*: int16 + flags*: UINT + + TTVKEYDOWN* = TV_KEYDOWN + PTVKEYDOWN* = ptr TV_KEYDOWN + TV_SORTCB* = record + hParent*: HTREEITEM + lpfnCompare*: PFNTVCOMPARE + lParam*: LPARAM + + LPTV_SORTCB* = ptr TV_SORTCB + TTVSORTCB* = TV_SORTCB + PTVSORTCB* = ptr TV_SORTCB + UDACCEL* = record + nSec*: UINT + nInc*: UINT + + TUDACCEL* = UDACCEL + PUDACCEL* = ptr UDACCEL + UNIVERSAL_NAME_INFO* = record + lpUniversalName*: LPTSTR + + TUNIVERSALNAMEINFO* = UNIVERSAL_NAME_INFO + PUNIVERSALNAMEINFO* = ptr UNIVERSAL_NAME_INFO + USEROBJECTFLAGS* = record + fInherit*: WINBOOL + fReserved*: WINBOOL + dwFlags*: DWORD + + tagUSEROBJECTFLAGS* = USEROBJECTFLAGS + TUSEROBJECTFLAGS* = USEROBJECTFLAGS + PUSEROBJECTFLAGS* = ptr USEROBJECTFLAGS + VALENT* = record + ve_valuename*: LPTSTR + ve_valuelen*: DWORD + ve_valueptr*: DWORD + ve_type*: DWORD + + TVALENT* = VALENT + PVALENT* = ptr VALENT + value_ent* = VALENT + Tvalue_ent* = VALENT + Pvalue_ent* = ptr VALENT + VERIFY_INFORMATION* = record + StartingOffset*: LARGE_INTEGER + len*: DWORD + + TVERIFYINFORMATION* = VERIFY_INFORMATION + PVERIFYINFORMATION* = ptr VERIFY_INFORMATION + VS_FIXEDFILEINFO* = record + dwSignature*: DWORD + dwStrucVersion*: DWORD + dwFileVersionMS*: DWORD + dwFileVersionLS*: DWORD + dwProductVersionMS*: DWORD + dwProductVersionLS*: DWORD + dwFileFlagsMask*: DWORD + dwFileFlags*: DWORD + dwFileOS*: DWORD + dwFileType*: DWORD + dwFileSubtype*: DWORD + dwFileDateMS*: DWORD + dwFileDateLS*: DWORD + + TVSFIXEDFILEINFO* = VS_FIXEDFILEINFO + PVSFIXEDFILEINFO* = ptr VS_FIXEDFILEINFO + WIN32_FIND_DATA* = record + dwFileAttributes*: DWORD + ftCreationTime*: FILETIME + ftLastAccessTime*: FILETIME + ftLastWriteTime*: FILETIME + nFileSizeHigh*: DWORD + nFileSizeLow*: DWORD + dwReserved0*: DWORD + dwReserved1*: DWORD + cFileName*: array[0..(MAX_PATH) - 1, TCHAR] + cAlternateFileName*: array[0..13, TCHAR] + + LPWIN32_FIND_DATA* = ptr WIN32_FIND_DATA + PWIN32_FIND_DATA* = ptr WIN32_FIND_DATA + TWIN32FINDDATA* = WIN32_FIND_DATA + TWIN32FINDDATAA* = WIN32_FIND_DATA + WIN32_FIND_DATAW* = record + dwFileAttributes*: DWORD + ftCreationTime*: FILETIME + ftLastAccessTime*: FILETIME + ftLastWriteTime*: FILETIME + nFileSizeHigh*: DWORD + nFileSizeLow*: DWORD + dwReserved0*: DWORD + dwReserved1*: DWORD + cFileName*: array[0..(MAX_PATH) - 1, WCHAR] + cAlternateFileName*: array[0..13, WCHAR] + + LPWIN32_FIND_DATAW* = ptr WIN32_FIND_DATAW + PWIN32_FIND_DATAW* = ptr WIN32_FIND_DATAW + TWIN32FINDDATAW* = WIN32_FIND_DATAW + WIN32_STREAM_ID* = record + dwStreamId*: DWORD + dwStreamAttributes*: DWORD + Size*: LARGE_INTEGER + dwStreamNameSize*: DWORD + cStreamName*: ptr WCHAR + + TWIN32STREAMID* = WIN32_STREAM_ID + PWIN32STREAMID* = ptr WIN32_STREAM_ID + WINDOWPLACEMENT* = record + len*: UINT + flags*: UINT + showCmd*: UINT + ptMinPosition*: POINT + ptMaxPosition*: POINT + rcNormalPosition*: RECT + + TWINDOWPLACEMENT* = WINDOWPLACEMENT + PWINDOWPLACEMENT* = ptr WINDOWPLACEMENT + WNDCLASS* = record + style*: UINT + lpfnWndProc*: WNDPROC + cbClsExtra*: int32 + cbWndExtra*: int32 + hInstance*: HANDLE + hIcon*: HICON + hCursor*: HCURSOR + hbrBackground*: HBRUSH + lpszMenuName*: LPCTSTR + lpszClassName*: LPCTSTR + + LPWNDCLASS* = ptr WNDCLASS + TWNDCLASS* = WNDCLASS + TWNDCLASSA* = WNDCLASS + PWNDCLASS* = ptr WNDCLASS + WNDCLASSW* = record + style*: UINT + lpfnWndProc*: WNDPROC + cbClsExtra*: int32 + cbWndExtra*: int32 + hInstance*: HANDLE + hIcon*: HICON + hCursor*: HCURSOR + hbrBackground*: HBRUSH + lpszMenuName*: LPCWSTR + lpszClassName*: LPCWSTR + + LPWNDCLASSW* = ptr WNDCLASSW + TWNDCLASSW* = WNDCLASSW + PWNDCLASSW* = ptr WNDCLASSW + WNDCLASSEX* = record + cbSize*: UINT + style*: UINT + lpfnWndProc*: WNDPROC + cbClsExtra*: int32 + cbWndExtra*: int32 + hInstance*: HANDLE + hIcon*: HICON + hCursor*: HCURSOR + hbrBackground*: HBRUSH + lpszMenuName*: LPCTSTR + lpszClassName*: LPCTSTR + hIconSm*: HANDLE + + LPWNDCLASSEX* = ptr WNDCLASSEX + TWNDCLASSEX* = WNDCLASSEX + TWNDCLASSEXA* = WNDCLASSEX + PWNDCLASSEX* = ptr WNDCLASSEX + WNDCLASSEXW* = record + cbSize*: UINT + style*: UINT + lpfnWndProc*: WNDPROC + cbClsExtra*: int32 + cbWndExtra*: int32 + hInstance*: HANDLE + hIcon*: HICON + hCursor*: HCURSOR + hbrBackground*: HBRUSH + lpszMenuName*: LPCWSTR + lpszClassName*: LPCWSTR + hIconSm*: HANDLE + + LPWNDCLASSEXW* = ptr WNDCLASSEXW + TWNDCLASSEXW* = WNDCLASSEXW + PWNDCLASSEXW* = ptr WNDCLASSEXW + CONNECTDLGSTRUCT* = record + cbStructure*: DWORD + hwndOwner*: HWND + lpConnRes*: LPNETRESOURCE + dwFlags*: DWORD + dwDevNum*: DWORD + + LPCONNECTDLGSTRUCT* = ptr CONNECTDLGSTRUCT + TCONNECTDLGSTRUCT* = CONNECTDLGSTRUCT + PCONNECTDLGSTRUCT* = ptr CONNECTDLGSTRUCT + DISCDLGSTRUCT* = record + cbStructure*: DWORD + hwndOwner*: HWND + lpLocalName*: LPTSTR + lpRemoteName*: LPTSTR + dwFlags*: DWORD + + LPDISCDLGSTRUCT* = ptr DISCDLGSTRUCT + TDISCDLGSTRUCT* = DISCDLGSTRUCT + TDISCDLGSTRUCTA* = DISCDLGSTRUCT + PDISCDLGSTRUCT* = ptr DISCDLGSTRUCT + NETINFOSTRUCT* = record + cbStructure*: DWORD + dwProviderVersion*: DWORD + dwStatus*: DWORD + dwCharacteristics*: DWORD + dwHandle*: DWORD + wNetType*: int16 + dwPrinters*: DWORD + dwDrives*: DWORD + + LPNETINFOSTRUCT* = ptr NETINFOSTRUCT + TNETINFOSTRUCT* = NETINFOSTRUCT + PNETINFOSTRUCT* = ptr NETINFOSTRUCT + NETCONNECTINFOSTRUCT* = record + cbStructure*: DWORD + dwFlags*: DWORD + dwSpeed*: DWORD + dwDelay*: DWORD + dwOptDataSize*: DWORD + + LPNETCONNECTINFOSTRUCT* = ptr NETCONNECTINFOSTRUCT + TNETCONNECTINFOSTRUCT* = NETCONNECTINFOSTRUCT + PNETCONNECTINFOSTRUCT* = ptr NETCONNECTINFOSTRUCT + ENUMMETAFILEPROC* = proc (para1: HDC, para2: HANDLETABLE, para3: METARECORD, + para4: int32, para5: LPARAM): int32{.stdcall.} + ENHMETAFILEPROC* = proc (para1: HDC, para2: HANDLETABLE, para3: TENHMETARECORD, + para4: int32, para5: LPARAM): int32{.stdcall.} + ENUMFONTSPROC* = proc (para1: LPLOGFONT, para2: LPTEXTMETRIC, para3: DWORD, + para4: LPARAM): int32{.stdcall.} + FONTENUMPROC* = proc (para1: var ENUMLOGFONT, para2: var NEWTEXTMETRIC, + para3: int32, para4: LPARAM): int32{.stdcall.} + FONTENUMEXPROC* = proc (para1: var ENUMLOGFONTEX, para2: var NEWTEXTMETRICEX, + para3: int32, para4: LPARAM): int32{.stdcall.} + LPOVERLAPPED_COMPLETION_ROUTINE* = proc (para1: DWORD, para2: DWORD, + para3: LPOVERLAPPED){.stdcall.} # Structures for the extensions to OpenGL + POINTFLOAT* = record + x*: float32 + y*: float32 + + TPOINTFLOAT* = POINTFLOAT + PPOINTFLOAT* = ptr POINTFLOAT + GLYPHMETRICSFLOAT* = record + gmfBlackBoxX*: float32 + gmfBlackBoxY*: float32 + gmfptGlyphOrigin*: POINTFLOAT + gmfCellIncX*: float32 + gmfCellIncY*: float32 + + LPGLYPHMETRICSFLOAT* = ptr GLYPHMETRICSFLOAT + TGLYPHMETRICSFLOAT* = GLYPHMETRICSFLOAT + PGLYPHMETRICSFLOAT* = ptr GLYPHMETRICSFLOAT + LAYERPLANEDESCRIPTOR* = record + nSize*: int16 + nVersion*: int16 + dwFlags*: DWORD + iPixelType*: int8 + cColorBits*: int8 + cRedBits*: int8 + cRedShift*: int8 + cGreenBits*: int8 + cGreenShift*: int8 + cBlueBits*: int8 + cBlueShift*: int8 + cAlphaBits*: int8 + cAlphaShift*: int8 + cAccumBits*: int8 + cAccumRedBits*: int8 + cAccumGreenBits*: int8 + cAccumBlueBits*: int8 + cAccumAlphaBits*: int8 + cDepthBits*: int8 + cStencilBits*: int8 + cAuxBuffers*: int8 + iLayerPlane*: int8 + bReserved*: int8 + crTransparent*: COLORREF + + LPLAYERPLANEDESCRIPTOR* = ptr LAYERPLANEDESCRIPTOR + tagLAYERPLANEDESCRIPTOR* = LAYERPLANEDESCRIPTOR + TLAYERPLANEDESCRIPTOR* = LAYERPLANEDESCRIPTOR + PLAYERPLANEDESCRIPTOR* = ptr LAYERPLANEDESCRIPTOR + PIXELFORMATDESCRIPTOR* = record + nSize*: int16 + nVersion*: int16 + dwFlags*: DWORD + iPixelType*: int8 + cColorBits*: int8 + cRedBits*: int8 + cRedShift*: int8 + cGreenBits*: int8 + cGreenShift*: int8 + cBlueBits*: int8 + cBlueShift*: int8 + cAlphaBits*: int8 + cAlphaShift*: int8 + cAccumBits*: int8 + cAccumRedBits*: int8 + cAccumGreenBits*: int8 + cAccumBlueBits*: int8 + cAccumAlphaBits*: int8 + cDepthBits*: int8 + cStencilBits*: int8 + cAuxBuffers*: int8 + iLayerType*: int8 + bReserved*: int8 + dwLayerMask*: DWORD + dwVisibleMask*: DWORD + dwDamageMask*: DWORD + + LPPIXELFORMATDESCRIPTOR* = ptr PIXELFORMATDESCRIPTOR + tagPIXELFORMATDESCRIPTOR* = PIXELFORMATDESCRIPTOR + TPIXELFORMATDESCRIPTOR* = PIXELFORMATDESCRIPTOR + PPIXELFORMATDESCRIPTOR* = ptr PIXELFORMATDESCRIPTOR + USER_INFO_2* = record + usri2_name*: LPWSTR + usri2_password*: LPWSTR + usri2_password_age*: DWORD + usri2_priv*: DWORD + usri2_home_dir*: LPWSTR + usri2_comment*: LPWSTR + usri2_flags*: DWORD + usri2_script_path*: LPWSTR + usri2_auth_flags*: DWORD + usri2_full_name*: LPWSTR + usri2_usr_comment*: LPWSTR + usri2_parms*: LPWSTR + usri2_workstations*: LPWSTR + usri2_last_logon*: DWORD + usri2_last_logoff*: DWORD + usri2_acct_expires*: DWORD + usri2_max_storage*: DWORD + usri2_units_per_week*: DWORD + usri2_logon_hours*: PBYTE + usri2_bad_pw_count*: DWORD + usri2_num_logons*: DWORD + usri2_logon_server*: LPWSTR + usri2_country_code*: DWORD + usri2_code_page*: DWORD + + PUSER_INFO_2* = ptr USER_INFO_2 + LPUSER_INFO_2* = ptr USER_INFO_2 + TUSERINFO2* = USER_INFO_2 + USER_INFO_0* = record + usri0_name*: LPWSTR + + PUSER_INFO_0* = ptr USER_INFO_0 + LPUSER_INFO_0* = ptr USER_INFO_0 + TUSERINFO0* = USER_INFO_0 + USER_INFO_3* = record + usri3_name*: LPWSTR + usri3_password*: LPWSTR + usri3_password_age*: DWORD + usri3_priv*: DWORD + usri3_home_dir*: LPWSTR + usri3_comment*: LPWSTR + usri3_flags*: DWORD + usri3_script_path*: LPWSTR + usri3_auth_flags*: DWORD + usri3_full_name*: LPWSTR + usri3_usr_comment*: LPWSTR + usri3_parms*: LPWSTR + usri3_workstations*: LPWSTR + usri3_last_logon*: DWORD + usri3_last_logoff*: DWORD + usri3_acct_expires*: DWORD + usri3_max_storage*: DWORD + usri3_units_per_week*: DWORD + usri3_logon_hours*: PBYTE + usri3_bad_pw_count*: DWORD + usri3_num_logons*: DWORD + usri3_logon_server*: LPWSTR + usri3_country_code*: DWORD + usri3_code_page*: DWORD + usri3_user_id*: DWORD + usri3_primary_group_id*: DWORD + usri3_profile*: LPWSTR + usri3_home_dir_drive*: LPWSTR + usri3_password_expired*: DWORD + + PUSER_INFO_3* = ptr USER_INFO_3 + LPUSER_INFO_3* = ptr USER_INFO_3 + TUSERINFO3* = USER_INFO_3 + GROUP_INFO_2* = record + grpi2_name*: LPWSTR + grpi2_comment*: LPWSTR + grpi2_group_id*: DWORD + grpi2_attributes*: DWORD + + PGROUP_INFO_2* = ptr GROUP_INFO_2 + TGROUPINFO2* = GROUP_INFO_2 + LOCALGROUP_INFO_0* = record + lgrpi0_name*: LPWSTR + + PLOCALGROUP_INFO_0* = ptr LOCALGROUP_INFO_0 + LPLOCALGROUP_INFO_0* = ptr LOCALGROUP_INFO_0 + TLOCALGROUPINFO0* = LOCALGROUP_INFO_0 + IMAGE_DOS_HEADER* = record + e_magic*: int16 + e_cblp*: int16 + e_cp*: int16 + e_crlc*: int16 + e_cparhdr*: int16 + e_minalloc*: int16 + e_maxalloc*: int16 + e_ss*: int16 + e_sp*: int16 + e_csum*: int16 + e_ip*: int16 + e_cs*: int16 + e_lfarlc*: int16 + e_ovno*: int16 + e_res*: array[0..3, int16] + e_oemid*: int16 + e_oeminfo*: int16 + e_res2*: array[0..9, int16] + e_lfanew*: LONG + + PIMAGE_DOS_HEADER* = ptr IMAGE_DOS_HEADER + TIMAGEDOSHEADER* = IMAGE_DOS_HEADER + NOTIFYICONDATAA* = record + cbSize*: DWORD + Wnd*: HWND + uID*: UINT + uFlags*: UINT + uCallbackMessage*: UINT + hIcon*: HICON + szTip*: array[0..63, Char] + + NOTIFYICONDATA* = NOTIFYICONDATAA + NOTIFYICONDATAW* = record + cbSize*: DWORD + Wnd*: HWND + uID*: UINT + uFlags*: UINT + uCallbackMessage*: UINT + hIcon*: HICON + szTip*: array[0..63, int16] + + TNotifyIconDataA* = NOTIFYICONDATAA + TNotifyIconDataW* = NOTIFYICONDATAW + TNotifyIconData* = TNotifyIconDataA + PNotifyIconDataA* = ptr TNotifyIconDataA + PNotifyIconDataW* = ptr TNotifyIconDataW + PNotifyIconData* = PNotifyIconDataA + TWOHandleArray* = array[0..MAXIMUM_WAIT_OBJECTS - 1, HANDLE] + PWOHandleArray* = ptr TWOHandleArray + MMRESULT* = int32 + +type + PWaveFormatEx* = ptr TWaveFormatEx + TWaveFormatEx* = record + wFormatTag*: int16 # format type + nChannels*: int16 # number of channels (i.e. mono, stereo, etc.) + nSamplesPerSec*: DWORD # sample rate + nAvgBytesPerSec*: DWORD # for buffer estimation + nBlockAlign*: int16 # block size of data + wBitsPerSample*: int16 # number of bits per sample of mono data + cbSize*: int16 # the count in bytes of the size of + + WIN32_FILE_ATTRIBUTE_DATA* = record + dwFileAttributes*: DWORD + ftCreationTime*: FILETIME + ftLastAccessTime*: FILETIME + ftLastWriteTime*: FILETIME + nFileSizeHigh*: DWORD + nFileSizeLow*: DWORD + + LPWIN32_FILE_ATTRIBUTE_DATA* = ptr WIN32_FILE_ATTRIBUTE_DATA + TWIN32FILEATTRIBUTEDATA* = WIN32_FILE_ATTRIBUTE_DATA + PWIN32FILEATTRIBUTEDATA* = ptr WIN32_FILE_ATTRIBUTE_DATA # TrackMouseEvent. NT or higher only. + TTrackMouseEvent* = record + cbSize*: DWORD + dwFlags*: DWORD + hwndTrack*: HWND + dwHoverTime*: DWORD + + PTrackMouseEvent* = ptr TTrackMouseEvent + +const + ACM_OPENW* = 1127 + ACM_OPENA* = 1124 + +when defined(winUnicode): + const + ACM_OPEN* = ACM_OPENW +else: + const + ACM_OPEN* = ACM_OPENA +# UNICODE + +const + ACM_PLAY* = 1125 + ACM_STOP* = 1126 + ACN_START* = 1 + ACN_STOP* = 2 # Buttons + BM_CLICK* = 245 + BM_GETCHECK* = 240 + BM_GETIMAGE* = 246 + BM_GETSTATE* = 242 + BM_SETCHECK* = 241 + BM_SETIMAGE* = 247 + BM_SETSTATE* = 243 + BM_SETSTYLE* = 244 + BN_CLICKED* = 0 + BN_DBLCLK* = 5 + BN_DISABLE* = 4 + BN_DOUBLECLICKED* = 5 + BN_HILITE* = 2 + BN_KILLFOCUS* = 7 + BN_PAINT* = 1 + BN_PUSHED* = 2 + BN_SETFOCUS* = 6 + BN_UNHILITE* = 3 + BN_UNPUSHED* = 3 # Combo Box + CB_ADDSTRING* = 323 + CB_DELETESTRING* = 324 + CB_DIR* = 325 + CB_FINDSTRING* = 332 + CB_FINDSTRINGEXACT* = 344 + CB_GETCOUNT* = 326 + CB_GETCURSEL* = 327 + CB_GETDROPPEDCONTROLRECT* = 338 + CB_GETDROPPEDSTATE* = 343 + CB_GETDROPPEDWIDTH* = 351 + CB_GETEDITSEL* = 320 + CB_GETEXTENDEDUI* = 342 + CB_GETHORIZONTALEXTENT* = 349 + CB_GETITEMDATA* = 336 + CB_GETITEMHEIGHT* = 340 + CB_GETLBTEXT* = 328 + CB_GETLBTEXTLEN* = 329 + CB_GETLOCALE* = 346 + CB_GETTOPINDEX* = 347 + CB_INITSTORAGE* = 353 + CB_INSERTSTRING* = 330 + CB_LIMITTEXT* = 321 + CB_RESETCONTENT* = 331 + CB_SELECTSTRING* = 333 + CB_SETCURSEL* = 334 + CB_SETDROPPEDWIDTH* = 352 + CB_SETEDITSEL* = 322 + CB_SETEXTENDEDUI* = 341 + CB_SETHORIZONTALEXTENT* = 350 + CB_SETITEMDATA* = 337 + CB_SETITEMHEIGHT* = 339 + CB_SETLOCALE* = 345 + CB_SETTOPINDEX* = 348 + CB_SHOWDROPDOWN* = 335 # Combo Box notifications + CBN_CLOSEUP* = 8 + CBN_DBLCLK* = 2 + CBN_DROPDOWN* = 7 + CBN_EDITCHANGE* = 5 + CBN_EDITUPDATE* = 6 + CBN_ERRSPACE* = - (1) + CBN_KILLFOCUS* = 4 + CBN_SELCHANGE* = 1 + CBN_SELENDCANCEL* = 10 + CBN_SELENDOK* = 9 + CBN_SETFOCUS* = 3 # Control Panel + # Device messages + # Drag list box + DL_BEGINDRAG* = 1157 + DL_CANCELDRAG* = 1160 + DL_DRAGGING* = 1158 + DL_DROPPED* = 1159 # Default push button + DM_GETDEFID* = 1024 + DM_REPOSITION* = 1026 + DM_SETDEFID* = 1025 # RTF control + EM_CANPASTE* = 1074 + EM_CANUNDO* = 198 + EM_CHARFROMPOS* = 215 + EM_DISPLAYBAND* = 1075 + EM_EMPTYUNDOBUFFER* = 205 + EM_EXGETSEL* = 1076 + EM_EXLIMITTEXT* = 1077 + EM_EXLINEFROMCHAR* = 1078 + EM_EXSETSEL* = 1079 + EM_FINDTEXT* = 1080 + EM_FINDTEXTEX* = 1103 + EM_FINDWORDBREAK* = 1100 + EM_FMTLINES* = 200 + EM_FORMATRANGE* = 1081 + EM_GETCHARFORMAT* = 1082 + EM_GETEVENTMASK* = 1083 + EM_GETFIRSTVISIBLELINE* = 206 + EM_GETHANDLE* = 189 + EM_GETLIMITTEXT* = 213 + EM_GETLINE* = 196 + EM_GETLINECOUNT* = 186 + EM_GETMARGINS* = 212 + EM_GETMODIFY* = 184 + EM_GETIMECOLOR* = 1129 + EM_GETIMEOPTIONS* = 1131 + EM_GETOPTIONS* = 1102 + EM_GETOLEINTERFACE* = 1084 + EM_GETPARAFORMAT* = 1085 + EM_GETPASSWORDCHAR* = 210 + EM_GETPUNCTUATION* = 1125 + EM_GETRECT* = 178 + EM_GETSEL* = 176 + EM_GETSELTEXT* = 1086 + EM_GETTEXTRANGE* = 1099 + EM_GETTHUMB* = 190 + EM_GETWORDBREAKPROC* = 209 + EM_GETWORDBREAKPROCEX* = 1104 + EM_GETWORDWRAPMODE* = 1127 + EM_HIDESELECTION* = 1087 + EM_LIMITTEXT* = 197 + EM_LINEFROMCHAR* = 201 + EM_LINEINDEX* = 187 + EM_LINELENGTH* = 193 + EM_LINESCROLL* = 182 + EM_PASTESPECIAL* = 1088 + EM_POSFROMCHAR* = 214 + EM_REPLACESEL* = 194 + EM_REQUESTRESIZE* = 1089 + EM_SCROLL* = 181 + EM_SCROLLCARET* = 183 + EM_SELECTIONTYPE* = 1090 + EM_SETBKGNDCOLOR* = 1091 + EM_SETCHARFORMAT* = 1092 + EM_SETEVENTMASK* = 1093 + EM_SETHANDLE* = 188 + EM_SETIMECOLOR* = 1128 + EM_SETIMEOPTIONS* = 1130 + EM_SETLIMITTEXT* = 197 + EM_SETMARGINS* = 211 + EM_SETMODIFY* = 185 + EM_SETOLECALLBACK* = 1094 + EM_SETOPTIONS* = 1101 + EM_SETPARAFORMAT* = 1095 + EM_SETPASSWORDCHAR* = 204 + EM_SETPUNCTUATION* = 1124 + EM_SETREADONLY* = 207 + EM_SETRECT* = 179 + EM_SETRECTNP* = 180 + EM_SETSEL* = 177 + EM_SETTABSTOPS* = 203 + EM_SETTARGETDEVICE* = 1096 + EM_SETWORDBREAKPROC* = 208 + EM_SETWORDBREAKPROCEX* = 1105 + EM_SETWORDWRAPMODE* = 1126 + EM_STREAMIN* = 1097 + EM_STREAMOUT* = 1098 + EM_UNDO* = 199 # Edit control + EN_CHANGE* = 768 + EN_CORRECTTEXT* = 1797 + EN_DROPFILES* = 1795 + EN_ERRSPACE* = 1280 + EN_HSCROLL* = 1537 + EN_IMECHANGE* = 1799 + EN_KILLFOCUS* = 512 + EN_MAXTEXT* = 1281 + EN_MSGFILTER* = 1792 + EN_OLEOPFAILED* = 1801 + EN_PROTECTED* = 1796 + EN_REQUESTRESIZE* = 1793 + EN_SAVECLIPBOARD* = 1800 + EN_SELCHANGE* = 1794 + EN_SETFOCUS* = 256 + EN_STOPNOUNDO* = 1798 + EN_UPDATE* = 1024 + EN_VSCROLL* = 1538 # File Manager extensions + # File Manager extensions DLL events + # Header control + HDM_DELETEITEM* = 4610 + HDM_GETITEMW* = 4619 + HDM_INSERTITEMW* = 4618 + HDM_SETITEMW* = 4620 + HDM_GETITEMA* = 4611 + HDM_INSERTITEMA* = 4609 + HDM_SETITEMA* = 4612 + +when defined(winUnicode): + const + HDM_GETITEM* = HDM_GETITEMW + HDM_INSERTITEM* = HDM_INSERTITEMW + HDM_SETITEM* = HDM_SETITEMW +else: + const + HDM_GETITEM* = HDM_GETITEMA + HDM_INSERTITEM* = HDM_INSERTITEMA + HDM_SETITEM* = HDM_SETITEMA +# UNICODE + +const + HDM_GETITEMCOUNT* = 4608 + HDM_HITTEST* = 4614 + HDM_LAYOUT* = 4613 # Header control notifications + HDN_BEGINTRACKW* = - (326) + HDN_DIVIDERDBLCLICKW* = - (325) + HDN_ENDTRACKW* = - (327) + HDN_ITEMCHANGEDW* = - (321) + HDN_ITEMCHANGINGW* = - (320) + HDN_ITEMCLICKW* = - (322) + HDN_ITEMDBLCLICKW* = - (323) + HDN_TRACKW* = - (328) + HDN_BEGINTRACKA* = - (306) + HDN_DIVIDERDBLCLICKA* = - (305) + HDN_ENDTRACKA* = - (307) + HDN_ITEMCHANGEDA* = - (301) + HDN_ITEMCHANGINGA* = - (300) + HDN_ITEMCLICKA* = - (302) + HDN_ITEMDBLCLICKA* = - (303) + HDN_TRACKA* = - (308) + +when defined(winUnicode): + const + HDN_BEGINTRACK* = HDN_BEGINTRACKW + HDN_DIVIDERDBLCLICK* = HDN_DIVIDERDBLCLICKW + HDN_ENDTRACK* = HDN_ENDTRACKW + HDN_ITEMCHANGED* = HDN_ITEMCHANGEDW + HDN_ITEMCHANGING* = HDN_ITEMCHANGINGW + HDN_ITEMCLICK* = HDN_ITEMCLICKW + HDN_ITEMDBLCLICK* = HDN_ITEMDBLCLICKW + HDN_TRACK* = HDN_TRACKW +else: + const + HDN_BEGINTRACK* = HDN_BEGINTRACKA + HDN_DIVIDERDBLCLICK* = HDN_DIVIDERDBLCLICKA + HDN_ENDTRACK* = HDN_ENDTRACKA + HDN_ITEMCHANGED* = HDN_ITEMCHANGEDA + HDN_ITEMCHANGING* = HDN_ITEMCHANGINGA + HDN_ITEMCLICK* = HDN_ITEMCLICKA + HDN_ITEMDBLCLICK* = HDN_ITEMDBLCLICKA + HDN_TRACK* = HDN_TRACKA +# UNICODE +# Hot key control + +const + HKM_GETHOTKEY* = 1026 + HKM_SETHOTKEY* = 1025 + HKM_SETRULES* = 1027 # List box + LB_ADDFILE* = 406 + LB_ADDSTRING* = 384 + LB_DELETESTRING* = 386 + LB_DIR* = 397 + LB_FINDSTRING* = 399 + LB_FINDSTRINGEXACT* = 418 + LB_GETANCHORINDEX* = 413 + LB_GETCARETINDEX* = 415 + LB_GETCOUNT* = 395 + LB_GETCURSEL* = 392 + LB_GETHORIZONTALEXTENT* = 403 + LB_GETITEMDATA* = 409 + LB_GETITEMHEIGHT* = 417 + LB_GETITEMRECT* = 408 + LB_GETLOCALE* = 422 + LB_GETSEL* = 391 + LB_GETSELCOUNT* = 400 + LB_GETSELITEMS* = 401 + LB_GETTEXT* = 393 + LB_GETTEXTLEN* = 394 + LB_GETTOPINDEX* = 398 + LB_INITSTORAGE* = 424 + LB_INSERTSTRING* = 385 + LB_ITEMFROMPOINT* = 425 + LB_RESETCONTENT* = 388 + LB_SELECTSTRING* = 396 + LB_SELITEMRANGE* = 411 + LB_SELITEMRANGEEX* = 387 + LB_SETANCHORINDEX* = 412 + LB_SETCARETINDEX* = 414 + LB_SETCOLUMNWIDTH* = 405 + LB_SETCOUNT* = 423 + LB_SETCURSEL* = 390 + LB_SETHORIZONTALEXTENT* = 404 + LB_SETITEMDATA* = 410 + LB_SETITEMHEIGHT* = 416 + LB_SETLOCALE* = 421 + LB_SETSEL* = 389 + LB_SETTABSTOPS* = 402 + LB_SETTOPINDEX* = 407 # List box notifications + LBN_DBLCLK* = 2 + LBN_ERRSPACE* = - (2) + LBN_KILLFOCUS* = 5 + LBN_SELCANCEL* = 3 + LBN_SELCHANGE* = 1 + LBN_SETFOCUS* = 4 # List view control + LVM_ARRANGE* = 4118 + LVM_CREATEDRAGIMAGE* = 4129 + LVM_DELETEALLITEMS* = 4105 + LVM_DELETECOLUMN* = 4124 + LVM_DELETEITEM* = 4104 + LVM_ENSUREVISIBLE* = 4115 + LVM_GETBKCOLOR* = 4096 + LVM_GETCALLBACKMASK* = 4106 + LVM_GETCOLUMNWIDTH* = 4125 + LVM_GETCOUNTPERPAGE* = 4136 + LVM_GETEDITCONTROL* = 4120 + LVM_GETIMAGELIST* = 4098 + LVM_EDITLABELW* = 4214 + LVM_FINDITEMW* = 4179 + LVM_GETCOLUMNW* = 4191 + LVM_GETISEARCHSTRINGW* = 4213 + LVM_GETITEMW* = 4171 + LVM_GETITEMTEXTW* = 4211 + LVM_GETSTRINGWIDTHW* = 4183 + LVM_INSERTCOLUMNW* = 4193 + LVM_INSERTITEMW* = 4173 + LVM_SETCOLUMNW* = 4192 + LVM_SETITEMW* = 4172 + LVM_SETITEMTEXTW* = 4212 + LVM_EDITLABELA* = 4119 + LVM_FINDITEMA* = 4109 + LVM_GETCOLUMNA* = 4121 + LVM_GETISEARCHSTRINGA* = 4148 + LVM_GETITEMA* = 4101 + LVM_GETITEMTEXTA* = 4141 + LVM_GETSTRINGWIDTHA* = 4113 + LVM_INSERTCOLUMNA* = 4123 + LVM_INSERTITEMA* = 4103 + LVM_SETCOLUMNA* = 4122 + LVM_SETITEMA* = 4102 + LVM_SETITEMTEXTA* = 4142 + +when defined(winUnicode): + const + LVM_EDITLABEL* = LVM_EDITLABELW + LVM_FINDITEM* = LVM_FINDITEMW + LVM_GETCOLUMN* = LVM_GETCOLUMNW + LVM_GETISEARCHSTRING* = LVM_GETISEARCHSTRINGW + LVM_GETITEM* = LVM_GETITEMW + LVM_GETITEMTEXT* = LVM_GETITEMTEXTW + LVM_GETSTRINGWIDTH* = LVM_GETSTRINGWIDTHW + LVM_INSERTCOLUMN* = LVM_INSERTCOLUMNW + LVM_INSERTITEM* = LVM_INSERTITEMW + LVM_SETCOLUMN* = LVM_SETCOLUMNW + LVM_SETITEM* = LVM_SETITEMW + LVM_SETITEMTEXT* = LVM_SETITEMTEXTW +else: + const + LVM_EDITLABEL* = LVM_EDITLABELA + LVM_FINDITEM* = LVM_FINDITEMA + LVM_GETCOLUMN* = LVM_GETCOLUMNA + LVM_GETISEARCHSTRING* = LVM_GETISEARCHSTRINGA + LVM_GETITEM* = LVM_GETITEMA + LVM_GETITEMTEXT* = LVM_GETITEMTEXTA + LVM_GETSTRINGWIDTH* = LVM_GETSTRINGWIDTHA + LVM_INSERTCOLUMN* = LVM_INSERTCOLUMNA + LVM_INSERTITEM* = LVM_INSERTITEMA + LVM_SETCOLUMN* = LVM_SETCOLUMNA + LVM_SETITEM* = LVM_SETITEMA + LVM_SETITEMTEXT* = LVM_SETITEMTEXTA +# UNICODE + +const + LVM_GETITEMCOUNT* = 4100 + LVM_GETITEMPOSITION* = 4112 + LVM_GETITEMRECT* = 4110 + LVM_GETITEMSPACING* = 4147 + LVM_GETITEMSTATE* = 4140 + LVM_GETNEXTITEM* = 4108 + LVM_GETORIGIN* = 4137 + LVM_GETSELECTEDCOUNT* = 4146 + LVM_GETTEXTBKCOLOR* = 4133 + LVM_GETTEXTCOLOR* = 4131 + LVM_GETTOPINDEX* = 4135 + LVM_GETVIEWRECT* = 4130 + LVM_HITTEST* = 4114 + LVM_REDRAWITEMS* = 4117 + LVM_SCROLL* = 4116 + LVM_SETBKCOLOR* = 4097 + LVM_SETCALLBACKMASK* = 4107 + LVM_SETCOLUMNWIDTH* = 4126 + LVM_SETIMAGELIST* = 4099 + LVM_SETITEMCOUNT* = 4143 + LVM_SETITEMPOSITION* = 4111 + LVM_SETITEMPOSITION32* = 4145 + LVM_SETITEMSTATE* = 4139 + LVM_SETTEXTBKCOLOR* = 4134 + LVM_SETTEXTCOLOR* = 4132 + LVM_SORTITEMS* = 4144 + LVM_UPDATE* = 4138 # List view control notifications + LVN_BEGINDRAG* = - (109) + LVN_BEGINRDRAG* = - (111) + LVN_COLUMNCLICK* = - (108) + LVN_DELETEALLITEMS* = - (104) + LVN_DELETEITEM* = - (103) + LVN_BEGINLABELEDITW* = - (175) + LVN_ENDLABELEDITW* = - (176) + LVN_GETDISPINFOW* = - (177) + LVN_SETDISPINFOW* = - (178) + LVN_BEGINLABELEDITA* = - (105) + LVN_ENDLABELEDITA* = - (106) + LVN_GETDISPINFOA* = - (150) + LVN_SETDISPINFOA* = - (151) + +when defined(winUnicode): + const + LVN_BEGINLABELEDIT* = LVN_BEGINLABELEDITW + LVN_ENDLABELEDIT* = LVN_ENDLABELEDITW + LVN_GETDISPINFO* = LVN_GETDISPINFOW + LVN_SETDISPINFO* = LVN_SETDISPINFOW +else: + const + LVN_BEGINLABELEDIT* = LVN_BEGINLABELEDITA + LVN_ENDLABELEDIT* = LVN_ENDLABELEDITA + LVN_GETDISPINFO* = LVN_GETDISPINFOA + LVN_SETDISPINFO* = LVN_SETDISPINFOA +# UNICODE + +const + LVN_INSERTITEM* = - (102) + LVN_ITEMCHANGED* = - (101) + LVN_ITEMCHANGING* = - (100) + LVN_KEYDOWN* = - (155) # Control notification + NM_CLICK* = - (2) + NM_DBLCLK* = - (3) + NM_KILLFOCUS* = - (8) + NM_OUTOFMEMORY* = - (1) + NM_RCLICK* = - (5) + NM_RDBLCLK* = - (6) + NM_RETURN* = - (4) + NM_SETFOCUS* = - (7) # Power status + # Progress bar control + PBM_DELTAPOS* = 1027 + PBM_SETPOS* = 1026 + PBM_SETRANGE* = 1025 + PBM_SETRANGE32* = 1030 + PBM_SETSTEP* = 1028 + PBM_STEPIT* = 1029 # Property sheets + PSM_ADDPAGE* = 1127 + PSM_APPLY* = 1134 + PSM_CANCELTOCLOSE* = 1131 + PSM_CHANGED* = 1128 + PSM_GETTABCONTROL* = 1140 + PSM_GETCURRENTPAGEHWND* = 1142 + PSM_ISDIALOGMESSAGE* = 1141 + PSM_PRESSBUTTON* = 1137 + PSM_QUERYSIBLINGS* = 1132 + PSM_REBOOTSYSTEM* = 1130 + PSM_REMOVEPAGE* = 1126 + PSM_RESTARTWINDOWS* = 1129 + PSM_SETCURSEL* = 1125 + PSM_SETCURSELID* = 1138 + PSM_SETFINISHTEXTW* = 1145 + PSM_SETTITLEW* = 1144 + PSM_SETFINISHTEXTA* = 1139 + PSM_SETTITLEA* = 1135 + +when defined(winUnicode): + const + PSM_SETFINISHTEXT* = PSM_SETFINISHTEXTW + PSM_SETTITLE* = PSM_SETTITLEW +else: + const + PSM_SETFINISHTEXT* = PSM_SETFINISHTEXTA + PSM_SETTITLE* = PSM_SETTITLEA +# UNICODE + +const + PSM_SETWIZBUTTONS* = 1136 + PSM_UNCHANGED* = 1133 # Property sheet notifications + PSN_APPLY* = - (202) + PSN_HELP* = - (205) + PSN_KILLACTIVE* = - (201) + PSN_QUERYCANCEL* = - (209) + PSN_RESET* = - (203) + PSN_SETACTIVE* = - (200) + PSN_WIZBACK* = - (206) + PSN_WIZFINISH* = - (208) + PSN_WIZNEXT* = - (207) # Status window + SB_GETBORDERS* = 1031 + SB_GETPARTS* = 1030 + SB_GETRECT* = 1034 + SB_GETTEXTW* = 1037 + SB_GETTEXTLENGTHW* = 1036 + SB_SETTEXTW* = 1035 + SB_GETTEXTA* = 1026 + SB_GETTEXTLENGTHA* = 1027 + SB_SETTEXTA* = 1025 + +when defined(winUnicode): + const + SB_GETTEXT* = SB_GETTEXTW + SB_GETTEXTLENGTH* = SB_GETTEXTLENGTHW + SB_SETTEXT* = SB_SETTEXTW +else: + const + SB_GETTEXT* = SB_GETTEXTA + SB_GETTEXTLENGTH* = SB_GETTEXTLENGTHA + SB_SETTEXT* = SB_SETTEXTA +# UNICODE + +const + SB_SETMINHEIGHT* = 1032 + SB_SETPARTS* = 1028 + SB_SIMPLE* = 1033 # Scroll bar control + SBM_ENABLE_ARROWS* = 228 + SBM_GETPOS* = 225 + SBM_GETRANGE* = 227 + SBM_GETSCROLLINFO* = 234 + SBM_SETPOS* = 224 + SBM_SETRANGE* = 226 + SBM_SETRANGEREDRAW* = 230 + SBM_SETSCROLLINFO* = 233 # Static control + STM_GETICON* = 369 + STM_GETIMAGE* = 371 + STM_SETICON* = 368 + STM_SETIMAGE* = 370 # Static control notifications + STN_CLICKED* = 0 + STN_DBLCLK* = 1 + STN_DISABLE* = 3 + STN_ENABLE* = 2 # Toolbar control + TB_ADDBITMAP* = 1043 + TB_ADDBUTTONS* = 1044 + TB_AUTOSIZE* = 1057 + TB_BUTTONCOUNT* = 1048 + TB_BUTTONSTRUCTSIZE* = 1054 + TB_CHANGEBITMAP* = 1067 + TB_CHECKBUTTON* = 1026 + TB_COMMANDTOINDEX* = 1049 + TB_CUSTOMIZE* = 1051 + TB_DELETEBUTTON* = 1046 + TB_ENABLEBUTTON* = 1025 + TB_GETBITMAP* = 1068 + TB_GETBITMAPFLAGS* = 1065 + TB_GETBUTTON* = 1047 + TB_ADDSTRINGW* = 1101 + TB_GETBUTTONTEXTW* = 1099 + TB_SAVERESTOREW* = 1100 + TB_ADDSTRINGA* = 1052 + TB_GETBUTTONTEXTA* = 1069 + TB_SAVERESTOREA* = 1050 + +when defined(winUnicode): + const + TB_ADDSTRING* = TB_ADDSTRINGW + TB_GETBUTTONTEXT* = TB_GETBUTTONTEXTW + TB_SAVERESTORE* = TB_SAVERESTOREW +else: + const + TB_ADDSTRING* = TB_ADDSTRINGA + TB_GETBUTTONTEXT* = TB_GETBUTTONTEXTA + TB_SAVERESTORE* = TB_SAVERESTOREA +# UNICODE + +const + TB_GETITEMRECT* = 1053 + TB_GETROWS* = 1064 + TB_GETSTATE* = 1042 + TB_GETTOOLTIPS* = 1059 + TB_HIDEBUTTON* = 1028 + TB_INDETERMINATE* = 1029 + TB_INSERTBUTTON* = 1045 + TB_ISBUTTONCHECKED* = 1034 + TB_ISBUTTONENABLED* = 1033 + TB_ISBUTTONHIDDEN* = 1036 + TB_ISBUTTONINDETERMINATE* = 1037 + TB_ISBUTTONPRESSED* = 1035 + TB_PRESSBUTTON* = 1027 + TB_SETBITMAPSIZE* = 1056 + TB_SETBUTTONSIZE* = 1055 + TB_SETCMDID* = 1066 + TB_SETPARENT* = 1061 + TB_SETROWS* = 1063 + TB_SETSTATE* = 1041 + TB_SETTOOLTIPS* = 1060 # Track bar control + TBM_CLEARSEL* = 1043 + TBM_CLEARTICS* = 1033 + TBM_GETCHANNELRECT* = 1050 + TBM_GETLINESIZE* = 1048 + TBM_GETNUMTICS* = 1040 + TBM_GETPAGESIZE* = 1046 + TBM_GETPOS* = 1024 + TBM_GETPTICS* = 1038 + TBM_GETRANGEMAX* = 1026 + TBM_GETRANGEMIN* = 1025 + TBM_GETSELEND* = 1042 + TBM_GETSELSTART* = 1041 + TBM_GETTHUMBLENGTH* = 1052 + TBM_GETTHUMBRECT* = 1049 + TBM_GETTIC* = 1027 + TBM_GETTICPOS* = 1039 + TBM_SETLINESIZE* = 1047 + TBM_SETPAGESIZE* = 1045 + TBM_SETPOS* = 1029 + TBM_SETRANGE* = 1030 + TBM_SETRANGEMAX* = 1032 + TBM_SETRANGEMIN* = 1031 + TBM_SETSEL* = 1034 + TBM_SETSELEND* = 1036 + TBM_SETSELSTART* = 1035 + TBM_SETTHUMBLENGTH* = 1051 + TBM_SETTIC* = 1028 + TBM_SETTICFREQ* = 1044 # Tool bar control notifications + TBN_BEGINADJUST* = - (703) + TBN_BEGINDRAG* = - (701) + TBN_CUSTHELP* = - (709) + TBN_ENDADJUST* = - (704) + TBN_ENDDRAG* = - (702) + TBN_GETBUTTONINFOW* = - (720) + TBN_GETBUTTONINFOA* = - (700) + +when defined(winUnicode): + const + TBN_GETBUTTONINFO* = TBN_GETBUTTONINFOW +else: + const + TBN_GETBUTTONINFO* = TBN_GETBUTTONINFOA +# UNICODE + +const + TBN_QUERYDELETE* = - (707) + TBN_QUERYINSERT* = - (706) + TBN_RESET* = - (705) + TBN_TOOLBARCHANGE* = - (708) # Tab control + TCM_ADJUSTRECT* = 4904 + TCM_DELETEALLITEMS* = 4873 + TCM_DELETEITEM* = 4872 + TCM_GETCURFOCUS* = 4911 + TCM_GETCURSEL* = 4875 + TCM_GETIMAGELIST* = 4866 + TCM_GETITEMW* = 4924 + TCM_INSERTITEMW* = 4926 + TCM_SETITEMW* = 4925 + TCM_GETITEMA* = 4869 + TCM_INSERTITEMA* = 4871 + TCM_SETITEMA* = 4870 + +when defined(winUnicode): + const + TCM_GETITEM* = TCM_GETITEM + TCM_INSERTITEM* = TCM_INSERTITEMW + TCM_SETITEM* = TCM_SETITEMW +else: + const + TCM_GETITEM* = TCM_GETITEMA + TCM_INSERTITEM* = TCM_INSERTITEMA + TCM_SETITEM* = TCM_SETITEMA +# UNICODE + +const + TCM_GETITEMCOUNT* = 4868 + TCM_GETITEMRECT* = 4874 + TCM_GETROWCOUNT* = 4908 + TCM_GETTOOLTIPS* = 4909 + TCM_HITTEST* = 4877 + TCM_REMOVEIMAGE* = 4906 + TCM_SETCURFOCUS* = 4912 + TCM_SETCURSEL* = 4876 + TCM_SETIMAGELIST* = 4867 + TCM_SETITEMEXTRA* = 4878 + TCM_SETITEMSIZE* = 4905 + TCM_SETPADDING* = 4907 + TCM_SETTOOLTIPS* = 4910 # Tab control notifications + TCN_KEYDOWN* = - (550) + TCN_SELCHANGE* = - (551) + TCN_SELCHANGING* = - (552) # Tool tip control + TTM_ACTIVATE* = 1025 + TTM_ADDTOOLW* = 1074 + TTM_DELTOOLW* = 1075 + TTM_ENUMTOOLSW* = 1082 + TTM_GETCURRENTTOOLW* = 1083 + TTM_GETTEXTW* = 1080 + TTM_GETTOOLINFOW* = 1077 + TTM_HITTESTW* = 1079 + TTM_NEWTOOLRECTW* = 1076 + TTM_SETTOOLINFOW* = 1078 + TTM_UPDATETIPTEXTW* = 1081 + TTM_ADDTOOLA* = 1028 + TTM_DELTOOLA* = 1029 + TTM_ENUMTOOLSA* = 1038 + TTM_GETCURRENTTOOLA* = 1039 + TTM_GETTEXTA* = 1035 + TTM_GETTOOLINFOA* = 1032 + TTM_HITTESTA* = 1034 + TTM_NEWTOOLRECTA* = 1030 + TTM_SETTOOLINFOA* = 1033 + TTM_UPDATETIPTEXTA* = 1036 + +when defined(winUnicode): + const + TTM_ADDTOOL* = TTM_ADDTOOLW + TTM_DELTOOL* = TTM_DELTOOLW + TTM_ENUMTOOLS* = TTM_ENUMTOOLSW + TTM_GETCURRENTTOOL* = TTM_GETCURRENTTOOLW + TTM_GETTEXT* = TTM_GETTEXTW + TTM_GETTOOLINFO* = TTM_GETTOOLINFOW + TTM_HITTEST* = TTM_HITTESTW + TTM_NEWTOOLRECT* = TTM_NEWTOOLRECTW + TTM_SETTOOLINFO* = TTM_SETTOOLINFOW + TTM_UPDATETIPTEXT* = TTM_UPDATETIPTEXTW +else: + const + TTM_ADDTOOL* = TTM_ADDTOOLA + TTM_DELTOOL* = TTM_DELTOOLA + TTM_ENUMTOOLS* = TTM_ENUMTOOLSA + TTM_GETCURRENTTOOL* = TTM_GETCURRENTTOOLA + TTM_GETTEXT* = TTM_GETTEXTA + TTM_GETTOOLINFO* = TTM_GETTOOLINFOA + TTM_HITTEST* = TTM_HITTESTA + TTM_NEWTOOLRECT* = TTM_NEWTOOLRECTA + TTM_SETTOOLINFO* = TTM_SETTOOLINFOA + TTM_UPDATETIPTEXT* = TTM_UPDATETIPTEXTA +# UNICODE + +const + TTM_GETTOOLCOUNT* = 1037 + TTM_RELAYEVENT* = 1031 + TTM_SETDELAYTIME* = 1027 + TTM_WINDOWFROMPOINT* = 1040 # Tool tip control notification + TTN_NEEDTEXTW* = - (530) + TTN_NEEDTEXTA* = - (520) + +when defined(winUnicode): + const + TTN_NEEDTEXT* = TTN_NEEDTEXTW +else: + const + TTN_NEEDTEXT* = TTN_NEEDTEXTA +# UNICODE + +const + TTN_POP* = - (522) + TTN_SHOW* = - (521) # Tree view control + TVM_CREATEDRAGIMAGE* = 4370 + TVM_DELETEITEM* = 4353 + TVM_ENDEDITLABELNOW* = 4374 + TVM_ENSUREVISIBLE* = 4372 + TVM_EXPAND* = 4354 + TVM_GETCOUNT* = 4357 + TVM_GETEDITCONTROL* = 4367 + TVM_GETIMAGELIST* = 4360 + TVM_GETINDENT* = 4358 + TVM_GETITEMRECT* = 4356 + TVM_GETNEXTITEM* = 4362 + TVM_GETVISIBLECOUNT* = 4368 + TVM_HITTEST* = 4369 + TVM_EDITLABELW* = 4417 + TVM_GETISEARCHSTRINGW* = 4416 + TVM_GETITEMW* = 4414 + TVM_INSERTITEMW* = 4402 + TVM_SETITEMW* = 4415 + TVM_EDITLABELA* = 4366 + TVM_GETISEARCHSTRINGA* = 4375 + TVM_GETITEMA* = 4364 + TVM_INSERTITEMA* = 4352 + TVM_SETITEMA* = 4365 + +when defined(winUnicode): + const + TVM_EDITLABEL* = TVM_EDITLABELW + TVM_GETISEARCHSTRING* = TVM_GETISEARCHSTRINGW + TVM_GETITEM* = TVM_GETITEMW + TVM_INSERTITEM* = TVM_INSERTITEMW + TVM_SETITEM* = TVM_SETITEMW +else: + const + TVM_EDITLABEL* = TVM_EDITLABELA + TVM_GETISEARCHSTRING* = TVM_GETISEARCHSTRINGA + TVM_GETITEM* = TVM_GETITEMA + TVM_INSERTITEM* = TVM_INSERTITEMA + TVM_SETITEM* = TVM_SETITEMA +# UNICODE + +const + TVM_SELECTITEM* = 4363 + TVM_SETIMAGELIST* = 4361 + TVM_SETINDENT* = 4359 + TVM_SORTCHILDREN* = 4371 + TVM_SORTCHILDRENCB* = 4373 # Tree view control notification + TVN_KEYDOWN* = - (412) + TVN_BEGINDRAGW* = - (456) + TVN_BEGINLABELEDITW* = - (459) + TVN_BEGINRDRAGW* = - (457) + TVN_DELETEITEMW* = - (458) + TVN_ENDLABELEDITW* = - (460) + TVN_GETDISPINFOW* = - (452) + TVN_ITEMEXPANDEDW* = - (455) + TVN_ITEMEXPANDINGW* = - (454) + TVN_SELCHANGEDW* = - (451) + TVN_SELCHANGINGW* = - (450) + TVN_SETDISPINFOW* = - (453) + TVN_BEGINDRAGA* = - (407) + TVN_BEGINLABELEDITA* = - (410) + TVN_BEGINRDRAGA* = - (408) + TVN_DELETEITEMA* = - (409) + TVN_ENDLABELEDITA* = - (411) + TVN_GETDISPINFOA* = - (403) + TVN_ITEMEXPANDEDA* = - (406) + TVN_ITEMEXPANDINGA* = - (405) + TVN_SELCHANGEDA* = - (402) + TVN_SELCHANGINGA* = - (401) + TVN_SETDISPINFOA* = - (404) + +when defined(winUnicode): + const + TVN_BEGINDRAG* = TVN_BEGINDRAGW + TVN_BEGINLABELEDIT* = TVN_BEGINLABELEDITW + TVN_BEGINRDRAG* = TVN_BEGINRDRAGW + TVN_DELETEITEM* = TVN_DELETEITEMW + TVN_ENDLABELEDIT* = TVN_ENDLABELEDITW + TVN_GETDISPINFO* = TVN_GETDISPINFOW + TVN_ITEMEXPANDED* = TVN_ITEMEXPANDEDW + TVN_ITEMEXPANDING* = TVN_ITEMEXPANDINGW + TVN_SELCHANGED* = TVN_SELCHANGEDW + TVN_SELCHANGING* = TVN_SELCHANGINGW + TVN_SETDISPINFO* = TVN_SETDISPINFOW +else: + const + TVN_BEGINDRAG* = TVN_BEGINDRAGA + TVN_BEGINLABELEDIT* = TVN_BEGINLABELEDITA + TVN_BEGINRDRAG* = TVN_BEGINRDRAGA + TVN_DELETEITEM* = TVN_DELETEITEMA + TVN_ENDLABELEDIT* = TVN_ENDLABELEDITA + TVN_GETDISPINFO* = TVN_GETDISPINFOA + TVN_ITEMEXPANDED* = TVN_ITEMEXPANDEDA + TVN_ITEMEXPANDING* = TVN_ITEMEXPANDINGA + TVN_SELCHANGED* = TVN_SELCHANGEDA + TVN_SELCHANGING* = TVN_SELCHANGINGA + TVN_SETDISPINFO* = TVN_SETDISPINFOA +# UNICODE +# Up/down control + +const + UDM_GETACCEL* = 1132 + UDM_GETBASE* = 1134 + UDM_GETBUDDY* = 1130 + UDM_GETPOS* = 1128 + UDM_GETPOS32* = 1138 + UDM_GETRANGE* = 1126 + UDM_GETRANGE32* = 1136 + UDM_SETACCEL* = 1131 + UDM_SETBASE* = 1133 + UDM_SETBUDDY* = 1129 + UDM_SETPOS* = 1127 + UDM_SETPOS32* = 1137 + UDM_SETRANGE* = 1125 + UDM_SETRANGE32* = 1135 # Up/down control notification + UDN_DELTAPOS* = - (722) # Window messages + WM_ACTIVATE* = 6 + WM_ACTIVATEAPP* = 28 + WM_ASKCBFORMATNAME* = 780 + WM_CANCELJOURNAL* = 75 + WM_CANCELMODE* = 31 + WM_CAPTURECHANGED* = 533 + WM_CHANGECBCHAIN* = 781 + WM_CHAR* = 258 + WM_CHARTOITEM* = 47 + WM_CHILDACTIVATE* = 34 + WM_CHOOSEFONT_GETLOGFONT* = 1025 + WM_CHOOSEFONT_SETLOGFONT* = 1125 + WM_CHOOSEFONT_SETFLAGS* = 1126 + WM_CLEAR* = 771 + WM_CLOSE* = 16 + WM_COMMAND* = 273 + WM_COMPACTING* = 65 + WM_COMPAREITEM* = 57 + WM_CONTEXTMENU* = 123 + WM_COPY* = 769 + WM_COPYDATA* = 74 + WM_CREATE* = 1 + WM_CTLCOLORBTN* = 309 + WM_CTLCOLORDLG* = 310 + WM_CTLCOLOREDIT* = 307 + WM_CTLCOLORLISTBOX* = 308 + WM_CTLCOLORMSGBOX* = 306 + WM_CTLCOLORSCROLLBAR* = 311 + WM_CTLCOLORSTATIC* = 312 + WM_CUT* = 768 + WM_DEADCHAR* = 259 + WM_DELETEITEM* = 45 + WM_DESTROY* = 2 + WM_DESTROYCLIPBOARD* = 775 + WM_DEVICECHANGE* = 537 + WM_DEVMODECHANGE* = 27 + WM_DISPLAYCHANGE* = 126 + WM_DRAWCLIPBOARD* = 776 + WM_DRAWITEM* = 43 + WM_DROPFILES* = 563 + WM_ENABLE* = 10 + WM_ENDSESSION* = 22 + WM_ENTERIDLE* = 289 + WM_ENTERMENULOOP* = 529 + WM_ENTERSIZEMOVE* = 561 + WM_ERASEBKGND* = 20 + WM_EXITMENULOOP* = 530 + WM_EXITSIZEMOVE* = 562 + WM_FONTCHANGE* = 29 + WM_GETDLGCODE* = 135 + WM_GETFONT* = 49 + WM_GETHOTKEY* = 51 + WM_GETICON* = 127 + WM_GETMINMAXINFO* = 36 + WM_GETTEXT* = 13 + WM_GETTEXTLENGTH* = 14 + WM_HELP* = 83 + WM_HOTKEY* = 786 + WM_HSCROLL* = 276 + WM_HSCROLLCLIPBOARD* = 782 + WM_ICONERASEBKGND* = 39 + WM_IME_CHAR* = 646 + WM_IME_COMPOSITION* = 271 + WM_IME_COMPOSITIONFULL* = 644 + WM_IME_CONTROL* = 643 + WM_IME_ENDCOMPOSITION* = 270 + WM_IME_KEYDOWN* = 656 + WM_IME_KEYUP* = 657 + WM_IME_NOTIFY* = 642 + WM_IME_SELECT* = 645 + WM_IME_SETCONTEXT* = 641 + WM_IME_STARTCOMPOSITION* = 269 + WM_INITDIALOG* = 272 + WM_INITMENU* = 278 + WM_INITMENUPOPUP* = 279 + WM_INPUTLANGCHANGE* = 81 + WM_INPUTLANGCHANGEREQUEST* = 80 + WM_KEYDOWN* = 256 + WM_KEYUP* = 257 + WM_KILLFOCUS* = 8 + WM_LBUTTONDBLCLK* = 515 + WM_LBUTTONDOWN* = 513 + WM_LBUTTONUP* = 514 + WM_MBUTTONDBLCLK* = 521 + WM_MBUTTONDOWN* = 519 + WM_MBUTTONUP* = 520 + WM_MDIACTIVATE* = 546 + WM_MDICASCADE* = 551 + WM_MDICREATE* = 544 + WM_MDIDESTROY* = 545 + WM_MDIGETACTIVE* = 553 + WM_MDIICONARRANGE* = 552 + WM_MDIMAXIMIZE* = 549 + WM_MDINEXT* = 548 + WM_MDIREFRESHMENU* = 564 + WM_MDIRESTORE* = 547 + WM_MDISETMENU* = 560 + WM_MDITILE* = 550 + WM_MEASUREITEM* = 44 + WM_MENUCHAR* = 288 + WM_MENUSELECT* = 287 + WM_MOUSEACTIVATE* = 33 + WM_MOUSEMOVE* = 512 + WM_MOUSEWHEEL* = 522 + WM_MOUSEHOVER* = 673 + WM_MOUSELEAVE* = 675 + WM_MOVE* = 3 + WM_MOVING* = 534 + WM_NCACTIVATE* = 134 + WM_NCCALCSIZE* = 131 + WM_NCCREATE* = 129 + WM_NCDESTROY* = 130 + WM_NCHITTEST* = 132 + WM_NCLBUTTONDBLCLK* = 163 + WM_NCLBUTTONDOWN* = 161 + WM_NCLBUTTONUP* = 162 + WM_NCMBUTTONDBLCLK* = 169 + WM_NCMBUTTONDOWN* = 167 + WM_NCMBUTTONUP* = 168 + WM_NCMOUSEMOVE* = 160 + WM_NCPAINT* = 133 + WM_NCRBUTTONDBLCLK* = 166 + WM_NCRBUTTONDOWN* = 164 + WM_NCRBUTTONUP* = 165 + WM_NEXTDLGCTL* = 40 + WM_NOTIFY* = 78 + WM_NOTIFYFORMAT* = 85 + WM_NULL* = 0 + WM_PAINT* = 15 + WM_PAINTCLIPBOARD* = 777 + WM_PAINTICON* = 38 + WM_PALETTECHANGED* = 785 + WM_PALETTEISCHANGING* = 784 + WM_PARENTNOTIFY* = 528 + WM_PASTE* = 770 + WM_PENWINFIRST* = 896 + WM_PENWINLAST* = 911 + WM_POWER* = 72 + WM_POWERBROADCAST* = 536 + WM_PRINT* = 791 + WM_PRINTCLIENT* = 792 + WM_PSD_ENVSTAMPRECT* = 1029 + WM_PSD_FULLPAGERECT* = 1025 + WM_PSD_GREEKTEXTRECT* = 1028 + WM_PSD_MARGINRECT* = 1027 + WM_PSD_MINMARGINRECT* = 1026 + WM_PSD_PAGESETUPDLG* = 1024 + WM_PSD_YAFULLPAGERECT* = 1030 + WM_QUERYDRAGICON* = 55 + WM_QUERYENDSESSION* = 17 + WM_QUERYNEWPALETTE* = 783 + WM_QUERYOPEN* = 19 + WM_QUEUESYNC* = 35 + WM_QUIT* = 18 + WM_RBUTTONDBLCLK* = 518 + WM_RBUTTONDOWN* = 516 + WM_RBUTTONUP* = 517 + WM_RENDERALLFORMATS* = 774 + WM_RENDERFORMAT* = 773 + WM_SETCURSOR* = 32 + WM_SETFOCUS* = 7 + WM_SETFONT* = 48 + WM_SETHOTKEY* = 50 + WM_SETICON* = 128 + WM_SETREDRAW* = 11 + WM_SETTEXT* = 12 + WM_SETTINGCHANGE* = 26 + WM_SHOWWINDOW* = 24 + WM_SIZE* = 5 + WM_SIZECLIPBOARD* = 779 + WM_SIZING* = 532 + WM_SPOOLERSTATUS* = 42 + WM_STYLECHANGED* = 125 + WM_STYLECHANGING* = 124 + WM_SYSCHAR* = 262 + WM_SYSCOLORCHANGE* = 21 + WM_SYSCOMMAND* = 274 + WM_SYSDEADCHAR* = 263 + WM_SYSKEYDOWN* = 260 + WM_SYSKEYUP* = 261 + WM_TCARD* = 82 + WM_TIMECHANGE* = 30 + WM_TIMER* = 275 + WM_UNDO* = 772 + WM_USER* = 1024 + WM_USERCHANGED* = 84 + WM_VKEYTOITEM* = 46 + WM_VSCROLL* = 277 + WM_VSCROLLCLIPBOARD* = 778 + WM_WINDOWPOSCHANGED* = 71 + WM_WINDOWPOSCHANGING* = 70 + WM_WININICHANGE* = 26 # Window message ranges + WM_KEYFIRST* = 256 + WM_KEYLAST* = 264 + WM_MOUSEFIRST* = 512 + WM_MOUSELAST* = 525 + WM_XBUTTONDOWN* = 523 + WM_XBUTTONUP* = 524 + WM_XBUTTONDBLCLK* = 525 + +when defined(cpu64): + type + HALFLRESULT* = DWORD + HALFPARAM* = DWORD + HALFPARAMBOOL* = WINBOOL +else: + type + HALFLRESULT* = int16 + HALFPARAM* = int16 + HALFPARAMBOOL* = WORDBOOL +type + MSG* = record + hwnd*: HWND + message*: UINT + wParam*: WPARAM + lParam*: LPARAM + time*: DWORD + pt*: POINT + + LPMSG* = ptr MSG + tagMSG* = MSG + TMSG* = MSG + PMSG* = ptr MSG + PMessage* = ptr TMessage + TMessage* = record #fields according to ICS + msg*: UINT + wParam*: WPARAM + lParam*: LPARAM + Result*: LRESULT + + TWMSize* = record + Msg*: UINT + SizeType*: WPARAM + Width*: HALFPARAM + Height*: HALFPARAM + Result*: LRESULT + + TWMNoParams* = record + Msg*: UINT + Unused*: array[0..3, HALFPARAM] + Result*: LRESULT + + TWMCancelMode* = TWMNoParams + TWMNCDestroy* = TWMNoParams + TWMDestroy* = TWMNoParams + TWMClose* = TWMNoParams + TWMQueryUIState* = TWMNoParams + TWMUIState* = record + Msg*: UINT + Action*: int16 + Flags*: int16 + Unused*: HRESULT + + TWMChangeUIState* = TWMUIState + TWMUpdateUIState* = TWMUIState + TWMKey* = record + Msg*: UINT + CharCode*: int16 + Unused*: int16 + KeyData*: int32 + Result*: LRESULT + + TWMKeyDown* = TWMKey + TWMKeyUp* = TWMKey + TWMChar* = TWMKey + TWMSysChar* = TWMKey + TWMSysKeyDown* = TWMKey + TWMSysKeyUp* = TWMKey + TWMMenuChar* = record + Msg*: UINT + User*: Char + MenuFlag*: int16 + Menu*: HMENU + Result*: LRESULT + + TWMGetDlgCode* = TWMNoParams + TWMFontChange* = TWMNoParams + TWMGetFont* = TWMNoParams + TWMSysColorChange* = TWMNoParams + TWMQueryDragIcon* = TWMNoParams + TWMScroll* = record + Msg*: UINT + ScrollCode*: HALFPARAM + Pos*: HALFPARAM + ScrollBar*: HWND + Result*: LRESULT + + TWMHScroll* = TWMScroll + TWMVScroll* = TWMScroll + TWMGetText* = record + Msg*: UINT + TextMax*: LPARAM + Text*: cstring + Result*: LRESULT + + TWMGetTextLength* = TWMNoParams + TWMKillFocus* = record + Msg*: UINT + FocusedWnd*: HWND + UnUsed*: WPARAM + Result*: LRESULT + + TWMSetCursor* = record + Msg*: UINT + CursorWnd*: HWND + HitTest*: HALFPARAM + MouseMsg*: HALFPARAM + Result*: LRESULT + + TWMSetFocus* = record + Msg*: UINT + FocusedWnd*: HWND + Unused*: WPARAM + Result*: LRESULT + + TWMSetFont* = record + Msg*: UINT + Font*: HFONT + Redraw*: HALFPARAMBOOL + Unused*: HALFPARAM + Result*: LRESULT + + TWMShowWindow* = record + Msg*: UINT + Show*: HALFPARAMBOOL + Unused*: HALFPARAM + Status*: WPARAM + Result*: LRESULT + + TWMEraseBkgnd* = record + Msg*: UINT + DC*: HDC + Unused*: LPARAM + Result*: LRESULT + + TWMNCHitTest* = record + Msg*: UINT + Unused*: int32 + Pos*: TSmallPoint + Result*: LRESULT + + TWMMouse* = record + Msg*: UINT + Keys*: int32 + Pos*: TSmallPoint + Result*: LRESULT + + TWMLButtonDblClk* = TWMMouse + TWMLButtonDown* = TWMMouse + TWMLButtonUp* = TWMMouse + TWMMButtonDblClk* = TWMMouse + TWMMButtonDown* = TWMMouse + TWMMButtonUp* = TWMMouse + TWMMouseWheel* = record + Msg*: UINT + Keys*: int16 + WheelDelta*: int16 + Pos*: TSmallPoint + Result*: LRESULT + + TWMNCHitMessage* = record + Msg*: UINT + HitTest*: int32 + XCursor*: int16 + YCursor*: int16 + Result*: LRESULT + + TWMNCLButtonDblClk* = TWMNCHitMessage + TWMNCLButtonDown* = TWMNCHitMessage + TWMNCLButtonUp* = TWMNCHitMessage + TWMNCMButtonDblClk* = TWMNCHitMessage + TWMNCMButtonDown* = TWMNCHitMessage + TWMNCMButtonUp* = TWMNCHitMessage + TWMNCMouseMove* = TWMNCHitMessage + TWMRButtonDblClk* = TWMMouse + TWMRButtonDown* = TWMMouse + TWMRButtonUp* = TWMMouse + TWMMouseMove* = TWMMouse + TWMPaint* = record + Msg*: UINT + DC*: HDC + Unused*: int32 + Result*: LRESULT + + TWMCommand* = record + Msg*: UINT + ItemID*: int16 + NotifyCode*: int16 + Ctl*: HWND + Result*: LRESULT + + TWMNotify* = record + Msg*: UINT + IDCtrl*: int32 + NMHdr*: PNMHdr + Result*: LRESULT + + TWMPrint* = record + Msg*: UINT + DC*: HDC + Flags*: int + Result*: LRESULT + + TWMPrintClient* = TWMPrint + TWMWinIniChange* = record + Msg*: UINT + Unused*: int + Section*: cstring + Result*: LRESULT + + TWMContextMenu* = record + Msg*: UINT + hWnd*: HWND + Pos*: TSmallPoint + Result*: LRESULT + + TWMNCCalcSize* = record + Msg*: UINT + CalcValidRects*: WINBOOL + CalcSize_Params*: PNCCalcSizeParams + Result*: LRESULT + + TWMCharToItem* = record + Msg*: UINT + Key*: int16 + CaretPos*: int16 + ListBox*: HWND + Result*: LRESULT + + TWMVKeyToItem* = TWMCharToItem + TMyEventRange = range[0'i16..16000'i16] + TWMParentNotify* = record + Msg*: UINT + case Event*: TMyEventRange + of TMyEventRange(WM_CREATE), TMyEventRange(WM_DESTROY): + ChildID*: int16 + ChildWnd*: HWnd + + of TMyEventRange(WM_LBUTTONDOWN), + TMyEventRange(WM_MBUTTONDOWN), + TMyEventRange(WM_RBUTTONDOWN): + Value*: int16 + XPos*: int16 + YPos*: int16 + + else: + Value1*: int16 + Value2*: int32 + Result*: LRESULT + + TWMSysCommand* = record + Msg*: UINT + CmdType*: int32 + XPos*: int16 + YPos*: int16 + Result*: LRESULT + # case CmdType*: int32 + # of SC_HOTKEY: + # ActivateWnd*: HWND + # of SC_CLOSE, SC_HSCROLL, SC_MAXIMIZE, SC_MINIMIZE, SC_MOUSEMENU, SC_MOVE, + # SC_NEXTWINDOW, SC_PREVWINDOW, SC_RESTORE, SC_SCREENSAVE, SC_SIZE, + # SC_TASKLIST, SC_VSCROLL: + # XPos*: int16 + # YPos*: int16 + # Result*: LRESULT + # else: # of SC_KEYMENU: + # Key*: int16 + + TWMMove* = record + Msg*: UINT + Unused*: int + Pos*: TSmallPoint + Result*: LRESULT + + TWMWindowPosMsg* = record + Msg*: UINT + Unused*: int + WindowPos*: PWindowPos + Result*: LRESULT + + TWMWindowPosChanged* = TWMWindowPosMsg + TWMWindowPosChanging* = TWMWindowPosMsg + TWMCompareItem* = record + Msg*: UINT + Ctl*: HWnd + CompareItemStruct*: PCompareItemStruct + Result*: LRESULT + + TWMDeleteItem* = record + Msg*: UINT + Ctl*: HWND + DeleteItemStruct*: PDeleteItemStruct + Result*: LRESULT + + TWMDrawItem* = record + Msg*: UINT + Ctl*: HWND + DrawItemStruct*: PDrawItemStruct + Result*: LRESULT + + TWMMeasureItem* = record + Msg*: UINT + IDCtl*: HWnd + MeasureItemStruct*: PMeasureItemStruct + Result*: LRESULT + + TWMNCCreate* = record + Msg*: UINT + Unused*: int + CreateStruct*: PCreateStruct + Result*: LRESULT + + TWMInitMenuPopup* = record + Msg*: UINT + MenuPopup*: HMENU + Pos*: int16 + SystemMenu*: WordBool + Result*: LRESULT + + TWMMenuSelect* = record + Msg*: UINT + IDItem*: int16 + MenuFlag*: int16 + Menu*: HMENU + Result*: LRESULT + + TWMActivate* = record + Msg*: UINT + Active*: int16 + Minimized*: WordBool + ActiveWindow*: HWND + Result*: LRESULT + + TWMQueryEndSession* = record + Msg*: UINT + Source*: int32 + Unused*: int32 + Result*: LRESULT + + TWMMDIActivate* = record + Msg*: UINT + DeactiveWnd*: HWND + ActiveWnd*: HWND + Result*: LRESULT + + TWMNextDlgCtl* = record + Msg*: UINT + CtlFocus*: int32 + Handle*: WordBool + Unused*: int16 + Result*: LRESULT + + TWMHelp* = record + Msg*: UINT + Unused*: int + HelpInfo*: PHelpInfo + Result*: LRESULT + + TWMGetMinMaxInfo* = record + Msg*: UINT + Unused*: int + MinMaxInfo*: PMinMaxInfo + Result*: LRESULT + + TWMSettingChange* = record + Msg*: UINT + Flag*: int + Section*: cstring + Result*: LRESULT + + TWMCreate* = record + Msg*: UINT + Unused*: int + CreateStruct*: PCreateStruct + Result*: LRESULT + + TWMCtlColor* = record + Msg*: UINT + ChildDC*: HDC + ChildWnd*: HWND + Result*: LRESULT + + TWMCtlColorScrollbar* = TWMCtlColor + TWMCtlColorStatic* = TWMCtlColor + TWMCtlColorBtn* = TWMCtlColor + TWMCtlColorListbox* = TWMCtlColor + TWMCtlColorMsgbox* = TWMCtlColor + TWMCtlColorDlg* = TWMCtlColor + TWMCtlColorEdit* = TWMCtlColor + TWMInitDialog* = record + Msg*: UINT + Focus*: HWND + InitParam*: int32 + Result*: LRESULT + + TWMNCPaint* = record + Msg*: UINT + RGN*: HRGN + Unused*: int32 + Result*: LRESULT + + TWMSetText* = record + Msg*: UINT + Unused*: int32 + Text*: cstring + Result*: LRESULT + + TWMSizeClipboard* = record + Msg*: UINT + Viewer*: HWND + RC*: THandle + Result*: LRESULT + + TWMSpoolerStatus* = record + Msg*: UINT + JobStatus*: LPARAM + JobsLeft*: WPARAM + Unused*: WPARAM + Result*: LRESULT + + TWMStyleChange* = record + Msg*: UINT + StyleType*: LPARAM + StyleStruct*: PStyleStruct + Result*: LRESULT + + TWMStyleChanged* = TWMStyleChange + TWMStyleChanging* = TWMStyleChange + TWMSysDeadChar* = record + Msg*: UINT + CharCode*: WPARAM + Unused*: WPARAM + KeyData*: LPARAM + Result*: LRESULT + + TWMSystemError* = record + Msg*: UINT + ErrSpec*: WPARAM + Unused*: LPARAM + Result*: LRESULT + + TWMTimeChange* = TWMNoParams + TWMTimer* = record + Msg*: UINT + TimerID*: LPARAM + TimerProc*: TFarProc + Result*: LRESULT + + TWMUndo* = TWMNoParams + TWMVScrollClipboard* = record + Msg*: UINT + Viewer*: HWND + ScollCode*: WPARAM + ThumbPos*: WPARAM + Result*: LRESULT + + TWMDisplayChange* = record + Msg*: UINT + BitsPerPixel*: int + Width*: WPARAM + Height*: WPARAM + Result*: LRESULT + + TWMDropFiles* = record + Msg*: UINT + Drop*: THANDLE + Unused*: LPARAM + Result*: LRESULT + + TWMEnable* = record + Msg*: int + Enabled*: WINBOOL + Unused*: int32 + Result*: int32 + + TWMMouseActivate* = record + Msg*: int + TopLevel*: HWND + HitTestCode*: int16 + MouseMsg*: int16 + Result*: int32 + + +proc GetBinaryTypeA*(lpApplicationName: LPCSTR, lpBinaryType: LPDWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "GetBinaryTypeA".} + +proc GetShortPathNameA*(lpszLongPath: LPCSTR, lpszShortPath: LPSTR, + cchBuffer: DWORD): DWORD{.stdcall, + dynlib: "kernel32", importc.} +proc GetEnvironmentStringsA*(): LPSTR{.stdcall, dynlib: "kernel32", importc.} +proc FreeEnvironmentStringsA*(para1: LPSTR): WINBOOL{.stdcall, dynlib: "kernel32", importc.} +proc FormatMessageA*(dwFlags: DWORD, lpSource: LPCVOID, dwMessageId: DWORD, + dwLanguageId: DWORD, lpBuffer: LPSTR, nSize: DWORD, + Arguments: va_list): DWORD{.stdcall,dynlib: "kernel32", importc.} +proc CreateMailslotA*(lpName: LPCSTR, nMaxMessageSize: DWORD, + lReadTimeout: DWORD, + lpSecurityAttributes: LPSECURITY_ATTRIBUTES): HANDLE{. + stdcall, dynlib: "kernel32", importc.} +proc lstrcmpA*(lpString1: LPCSTR, lpString2: LPCSTR): int32{.stdcall, + dynlib: "kernel32", importc.} +proc lstrcmpiA*(lpString1: LPCSTR, lpString2: LPCSTR): int32{.stdcall, dynlib: "kernel32", importc.} +proc lstrcpynA*(lpString1: LPSTR, lpString2: LPCSTR, iMaxLength: int32): LPSTR{. + stdcall, dynlib: "kernel32", importc.} +proc CreateMutexA*(lpMutexAttributes: LPSECURITY_ATTRIBUTES, + bInitialOwner: WINBOOL, lpName: LPCSTR): HANDLE{.stdcall, + dynlib: "kernel32", importc.} +proc OpenMutexA*(dwDesiredAccess: DWORD, bInheritHandle: WINBOOL, lpName: LPCSTR): HANDLE{. + stdcall, dynlib: "kernel32", importc.} +proc CreateEventA*(lpEventAttributes: LPSECURITY_ATTRIBUTES, + bManualReset: WINBOOL, bInitialState: WINBOOL, lpName: LPCSTR): HANDLE{. + stdcall, dynlib: "kernel32", importc.} +proc OpenEventA*(dwDesiredAccess: DWORD, bInheritHandle: WINBOOL, lpName: LPCSTR): HANDLE{. + stdcall, dynlib: "kernel32", importc.} +proc CreateSemaphoreA*(lpSemaphoreAttributes: LPSECURITY_ATTRIBUTES, + lInitialCount: LONG, lMaximumCount: LONG, lpName: LPCSTR): HANDLE{. + stdcall, dynlib: "kernel32", importc.} +proc OpenSemaphoreA*(dwDesiredAccess: DWORD, bInheritHandle: WINBOOL, + lpName: LPCSTR): HANDLE{.stdcall, + dynlib: "kernel32", importc.} +proc CreateFileMappingA*(hFile: HANDLE, + lpFileMappingAttributes: LPSECURITY_ATTRIBUTES, + flProtect: DWORD, dwMaximumSizeHigh: DWORD, + dwMaximumSizeLow: DWORD, lpName: LPCSTR): HANDLE{. + stdcall, dynlib: "kernel32", importc.} +proc OpenFileMappingA*(dwDesiredAccess: DWORD, bInheritHandle: WINBOOL, + lpName: LPCSTR): HANDLE{.stdcall, + dynlib: "kernel32", importc.} +proc GetLogicalDriveStringsA*(nBufferLength: DWORD, lpBuffer: LPSTR): DWORD{. + stdcall, dynlib: "kernel32", importc.} +proc LoadLibraryA*(lpLibFileName: LPCSTR): HINST{.stdcall, + dynlib: "kernel32", importc.} +proc LoadLibraryExA*(lpLibFileName: LPCSTR, hFile: HANDLE, dwFlags: DWORD): HINST{. + stdcall, dynlib: "kernel32", importc.} +proc GetModuleFileNameA*(hModule: HINST, lpFilename: LPSTR, nSize: DWORD): DWORD{. + stdcall, dynlib: "kernel32", importc.} +proc GetModuleHandleA*(lpModuleName: LPCSTR): HMODULE{.stdcall, + dynlib: "kernel32", importc.} +proc FatalAppExitA*(uAction: UINT, lpMessageText: LPCSTR){.stdcall, + dynlib: "kernel32", importc.} +proc GetCommandLineA*(): LPSTR{.stdcall, dynlib: "kernel32", importc.} +proc GetEnvironmentVariableA*(lpName: LPCSTR, lpBuffer: LPSTR, nSize: DWORD): DWORD{. + stdcall, dynlib: "kernel32", importc.} +proc SetEnvironmentVariableA*(lpName: LPCSTR, lpValue: LPCSTR): WINBOOL{.stdcall, + dynlib: "kernel32", importc.} +proc ExpandEnvironmentStringsA*(lpSrc: LPCSTR, lpDst: LPSTR, nSize: DWORD): DWORD{. + stdcall, dynlib: "kernel32", importc.} +proc OutputDebugStringA*(lpOutputString: LPCSTR){.stdcall, + dynlib: "kernel32", importc.} +proc FindResourceA*(hModule: HINST, lpName: LPCSTR, lpType: LPCSTR): HRSRC{. + stdcall, dynlib: "kernel32", importc.} +proc FindResourceExA*(hModule: HINST, lpType: LPCSTR, lpName: LPCSTR, + wLanguage: int16): HRSRC{.stdcall, + dynlib: "kernel32", importc.} +proc EnumResourceTypesA*(hModule: HINST, lpEnumFunc: ENUMRESTYPEPROC, + lParam: LONG): WINBOOL{.stdcall, + dynlib: "kernel32", importc.} +proc EnumResourceNamesA*(hModule: HINST, lpType: LPCSTR, + lpEnumFunc: ENUMRESNAMEPROC, lParam: LONG): WINBOOL{. + stdcall, dynlib: "kernel32", importc.} +proc EnumResourceLanguagesA*(hModule: HINST, lpType: LPCSTR, lpName: LPCSTR, + lpEnumFunc: ENUMRESLANGPROC, lParam: LONG): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "EnumResourceLanguagesA".} + +proc BeginUpdateResourceA*(pFileName: LPCSTR, bDeleteExistingResources: WINBOOL): HANDLE{. + stdcall, dynlib: "kernel32", importc: "BeginUpdateResourceA".} + +proc UpdateResourceA*(hUpdate: HANDLE, lpType: LPCSTR, lpName: LPCSTR, + wLanguage: int16, lpData: LPVOID, cbData: DWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "UpdateResourceA".} +proc EndUpdateResourceA*(hUpdate: HANDLE, fDiscard: WINBOOL): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "EndUpdateResourceA".} +proc GlobalAddAtomA*(lpString: LPCSTR): ATOM{.stdcall, dynlib: "kernel32", + importc: "GlobalAddAtomA".} +proc GlobalFindAtomA*(lpString: LPCSTR): ATOM{.stdcall, dynlib: "kernel32", + importc: "GlobalFindAtomA".} +proc GlobalGetAtomNameA*(nAtom: ATOM, lpBuffer: LPSTR, nSize: int32): UINT{. + stdcall, dynlib: "kernel32", importc: "GlobalGetAtomNameA".} +proc AddAtomA*(lpString: LPCSTR): ATOM{.stdcall, dynlib: "kernel32", + importc: "AddAtomA".} +proc FindAtomA*(lpString: LPCSTR): ATOM{.stdcall, dynlib: "kernel32", + importc: "FindAtomA".} +proc GetAtomNameA*(nAtom: ATOM, lpBuffer: LPSTR, nSize: int32): UINT{.stdcall, + dynlib: "kernel32", importc: "GetAtomNameA".} +proc GetProfileIntA*(lpAppName: LPCSTR, lpKeyName: LPCSTR, nDefault: WINT): UINT{. + stdcall, dynlib: "kernel32", importc: "GetProfileIntA".} +proc GetProfileStringA*(lpAppName: LPCSTR, lpKeyName: LPCSTR, lpDefault: LPCSTR, + lpReturnedString: LPSTR, nSize: DWORD): DWORD{.stdcall, + dynlib: "kernel32", importc: "GetProfileStringA".} +proc WriteProfileStringA*(lpAppName: LPCSTR, lpKeyName: LPCSTR, lpString: LPCSTR): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "WriteProfileStringA".} +proc GetProfileSectionA*(lpAppName: LPCSTR, lpReturnedString: LPSTR, + nSize: DWORD): DWORD{.stdcall, dynlib: "kernel32", + importc: "GetProfileSectionA".} +proc WriteProfileSectionA*(lpAppName: LPCSTR, lpString: LPCSTR): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "WriteProfileSectionA".} +proc GetPrivateProfileIntA*(lpAppName: LPCSTR, lpKeyName: LPCSTR, + nDefault: WINT, lpFileName: LPCSTR): UINT{.stdcall, + dynlib: "kernel32", importc: "GetPrivateProfileIntA".} +proc GetPrivateProfileStringA*(lpAppName: LPCSTR, lpKeyName: LPCSTR, + lpDefault: LPCSTR, lpReturnedString: LPSTR, + nSize: DWORD, lpFileName: LPCSTR): DWORD{. + stdcall, dynlib: "kernel32", importc: "GetPrivateProfileStringA".} +proc WritePrivateProfileStringA*(lpAppName: LPCSTR, lpKeyName: LPCSTR, + lpString: LPCSTR, lpFileName: LPCSTR): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "WritePrivateProfileStringA".} +proc GetPrivateProfileSectionA*(lpAppName: LPCSTR, lpReturnedString: LPSTR, + nSize: DWORD, lpFileName: LPCSTR): DWORD{. + stdcall, dynlib: "kernel32", importc: "GetPrivateProfileSectionA".} +proc WritePrivateProfileSectionA*(lpAppName: LPCSTR, lpString: LPCSTR, + lpFileName: LPCSTR): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "WritePrivateProfileSectionA".} +proc GetDriveTypeA*(lpRootPathName: LPCSTR): UINT{.stdcall, dynlib: "kernel32", + importc: "GetDriveTypeA".} +proc GetSystemDirectoryA*(lpBuffer: LPSTR, uSize: UINT): UINT{.stdcall, + dynlib: "kernel32", importc: "GetSystemDirectoryA".} +proc GetTempPathA*(nBufferLength: DWORD, lpBuffer: LPSTR): DWORD{.stdcall, + dynlib: "kernel32", importc: "GetTempPathA".} +proc GetTempFileNameA*(lpPathName: LPCSTR, lpPrefixString: LPCSTR, + uUnique: UINT, lpTempFileName: LPSTR): UINT{.stdcall, + dynlib: "kernel32", importc: "GetTempFileNameA".} +proc GetWindowsDirectoryA*(lpBuffer: LPSTR, uSize: UINT): UINT{.stdcall, + dynlib: "kernel32", importc: "GetWindowsDirectoryA".} +proc SetCurrentDirectoryA*(lpPathName: LPCSTR): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "SetCurrentDirectoryA".} +proc GetCurrentDirectoryA*(nBufferLength: DWORD, lpBuffer: LPSTR): DWORD{. + stdcall, dynlib: "kernel32", importc: "GetCurrentDirectoryA".} +proc GetDiskFreeSpaceA*(lpRootPathName: LPCSTR, lpSectorsPerCluster: LPDWORD, + lpBytesPerSector: LPDWORD, + lpNumberOfFreeClusters: LPDWORD, + lpTotalNumberOfClusters: LPDWORD): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "GetDiskFreeSpaceA".} +proc CreateDirectoryA*(lpPathName: LPCSTR, + lpSecurityAttributes: LPSECURITY_ATTRIBUTES): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "CreateDirectoryA".} +proc CreateDirectoryExA*(lpTemplateDirectory: LPCSTR, lpNewDirectory: LPCSTR, + lpSecurityAttributes: LPSECURITY_ATTRIBUTES): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "CreateDirectoryExA".} +proc RemoveDirectoryA*(lpPathName: LPCSTR): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "RemoveDirectoryA".} +proc GetFullPathNameA*(lpFileName: LPCSTR, nBufferLength: DWORD, + lpBuffer: LPSTR, lpFilePart: var LPSTR): DWORD{.stdcall, + dynlib: "kernel32", importc: "GetFullPathNameA".} +proc DefineDosDeviceA*(dwFlags: DWORD, lpDeviceName: LPCSTR, + lpTargetPath: LPCSTR): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "DefineDosDeviceA".} +proc QueryDosDeviceA*(lpDeviceName: LPCSTR, lpTargetPath: LPSTR, ucchMax: DWORD): DWORD{. + stdcall, dynlib: "kernel32", importc: "QueryDosDeviceA".} +proc CreateFileA*(lpFileName: LPCSTR, dwDesiredAccess: DWORD, + dwShareMode: DWORD, + lpSecurityAttributes: LPSECURITY_ATTRIBUTES, + dwCreationDisposition: DWORD, dwFlagsAndAttributes: DWORD, + hTemplateFile: HANDLE): HANDLE{.stdcall, dynlib: "kernel32", + importc: "CreateFileA".} +proc SetFileAttributesA*(lpFileName: LPCSTR, dwFileAttributes: DWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "SetFileAttributesA".} +proc GetFileAttributesA*(lpFileName: LPCSTR): DWORD{.stdcall, + dynlib: "kernel32", importc: "GetFileAttributesA".} +proc GetCompressedFileSizeA*(lpFileName: LPCSTR, lpFileSizeHigh: LPDWORD): DWORD{. + stdcall, dynlib: "kernel32", importc: "GetCompressedFileSizeA".} +proc DeleteFileA*(lpFileName: LPCSTR): WINBOOL{.stdcall, dynlib: "kernel32", + importc: "DeleteFileA".} +proc SearchPathA*(lpPath: LPCSTR, lpFileName: LPCSTR, lpExtension: LPCSTR, + nBufferLength: DWORD, lpBuffer: LPSTR, lpFilePart: LPSTR): DWORD{. + stdcall, dynlib: "kernel32", importc: "SearchPathA".} +proc CopyFileA*(lpExistingFileName: LPCSTR, lpNewFileName: LPCSTR, + bFailIfExists: WINBOOL): WINBOOL{.stdcall, dynlib: "kernel32", + importc: "CopyFileA".} +proc MoveFileA*(lpExistingFileName: LPCSTR, lpNewFileName: LPCSTR): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "MoveFileA".} +proc MoveFileExA*(lpExistingFileName: LPCSTR, lpNewFileName: LPCSTR, + dwFlags: DWORD): WINBOOL{.stdcall, dynlib: "kernel32", + importc: "MoveFileExA".} +proc CreateNamedPipeA*(lpName: LPCSTR, dwOpenMode: DWORD, dwPipeMode: DWORD, + nMaxInstances: DWORD, nOutBufferSize: DWORD, + nInBufferSize: DWORD, nDefaultTimeOut: DWORD, + lpSecurityAttributes: LPSECURITY_ATTRIBUTES): HANDLE{. + stdcall, dynlib: "kernel32", importc: "CreateNamedPipeA".} +proc GetNamedPipeHandleStateA*(hNamedPipe: HANDLE, lpState: LPDWORD, + lpCurInstances: LPDWORD, + lpMaxCollectionCount: LPDWORD, + lpCollectDataTimeout: LPDWORD, lpUserName: LPSTR, + nMaxUserNameSize: DWORD): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "GetNamedPipeHandleStateA".} +proc CallNamedPipeA*(lpNamedPipeName: LPCSTR, lpInBuffer: LPVOID, + nInBufferSize: DWORD, lpOutBuffer: LPVOID, + nOutBufferSize: DWORD, lpBytesRead: LPDWORD, + nTimeOut: DWORD): WINBOOL{.stdcall, dynlib: "kernel32", + importc: "CallNamedPipeA".} +proc WaitNamedPipeA*(lpNamedPipeName: LPCSTR, nTimeOut: DWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "WaitNamedPipeA".} +proc SetVolumeLabelA*(lpRootPathName: LPCSTR, lpVolumeName: LPCSTR): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "SetVolumeLabelA".} +proc GetVolumeInformationA*(lpRootPathName: LPCSTR, lpVolumeNameBuffer: LPSTR, + nVolumeNameSize: DWORD, + lpVolumeSerialNumber: LPDWORD, + lpMaximumComponentLength: LPDWORD, + lpFileSystemFlags: LPDWORD, + lpFileSystemNameBuffer: LPSTR, + nFileSystemNameSize: DWORD): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "GetVolumeInformationA".} +proc ClearEventLogA*(hEventLog: HANDLE, lpBackupFileName: LPCSTR): WINBOOL{. + stdcall, dynlib: "advapi32", importc: "ClearEventLogA".} +proc BackupEventLogA*(hEventLog: HANDLE, lpBackupFileName: LPCSTR): WINBOOL{. + stdcall, dynlib: "advapi32", importc: "BackupEventLogA".} +proc OpenEventLogA*(lpUNCServerName: LPCSTR, lpSourceName: LPCSTR): HANDLE{. + stdcall, dynlib: "advapi32", importc: "OpenEventLogA".} +proc RegisterEventSourceA*(lpUNCServerName: LPCSTR, lpSourceName: LPCSTR): HANDLE{. + stdcall, dynlib: "advapi32", importc: "RegisterEventSourceA".} +proc OpenBackupEventLogA*(lpUNCServerName: LPCSTR, lpFileName: LPCSTR): HANDLE{. + stdcall, dynlib: "advapi32", importc: "OpenBackupEventLogA".} +proc ReadEventLogA*(hEventLog: HANDLE, dwReadFlags: DWORD, + dwRecordOffset: DWORD, lpBuffer: LPVOID, + nNumberOfBytesToRead: DWORD, pnBytesRead: LPDWORD, + pnMinNumberOfBytesNeeded: LPDWORD): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "ReadEventLogA".} +proc ReportEventA*(hEventLog: HANDLE, wType: int16, wCategory: int16, + dwEventID: DWORD, lpUserSid: PSID, wNumStrings: int16, + dwDataSize: DWORD, lpStrings: LPPCSTR, lpRawData: LPVOID): WINBOOL{. + stdcall, dynlib: "advapi32", importc: "ReportEventA".} +proc AccessCheckAndAuditAlarmA*(SubsystemName: LPCSTR, HandleId: LPVOID, + ObjectTypeName: LPSTR, ObjectName: LPSTR, + SecurityDescriptor: PSECURITY_DESCRIPTOR, + DesiredAccess: DWORD, + GenericMapping: PGENERIC_MAPPING, + ObjectCreation: WINBOOL, GrantedAccess: LPDWORD, + AccessStatus: LPBOOL, pfGenerateOnClose: LPBOOL): WINBOOL{. + stdcall, dynlib: "advapi32", importc: "AccessCheckAndAuditAlarmA".} +proc ObjectOpenAuditAlarmA*(SubsystemName: LPCSTR, HandleId: LPVOID, + ObjectTypeName: LPSTR, ObjectName: LPSTR, + pSecurityDescriptor: PSECURITY_DESCRIPTOR, + ClientToken: HANDLE, DesiredAccess: DWORD, + GrantedAccess: DWORD, Privileges: PPRIVILEGE_SET, + ObjectCreation: WINBOOL, AccessGranted: WINBOOL, + GenerateOnClose: LPBOOL): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "ObjectOpenAuditAlarmA".} +proc ObjectPrivilegeAuditAlarmA*(SubsystemName: LPCSTR, HandleId: LPVOID, + ClientToken: HANDLE, DesiredAccess: DWORD, + Privileges: PPRIVILEGE_SET, + AccessGranted: WINBOOL): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "ObjectPrivilegeAuditAlarmA".} +proc ObjectCloseAuditAlarmA*(SubsystemName: LPCSTR, HandleId: LPVOID, + GenerateOnClose: WINBOOL): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "ObjectCloseAuditAlarmA".} +proc PrivilegedServiceAuditAlarmA*(SubsystemName: LPCSTR, ServiceName: LPCSTR, + ClientToken: HANDLE, + Privileges: PPRIVILEGE_SET, + AccessGranted: WINBOOL): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "PrivilegedServiceAuditAlarmA".} +proc SetFileSecurityA*(lpFileName: LPCSTR, + SecurityInformation: SECURITY_INFORMATION, + pSecurityDescriptor: PSECURITY_DESCRIPTOR): WINBOOL{. + stdcall, dynlib: "advapi32", importc: "SetFileSecurityA".} +proc GetFileSecurityA*(lpFileName: LPCSTR, + RequestedInformation: SECURITY_INFORMATION, + pSecurityDescriptor: PSECURITY_DESCRIPTOR, + nLength: DWORD, lpnLengthNeeded: LPDWORD): WINBOOL{. + stdcall, dynlib: "advapi32", importc: "GetFileSecurityA".} +proc FindFirstChangeNotificationA*(lpPathName: LPCSTR, bWatchSubtree: WINBOOL, + dwNotifyFilter: DWORD): HANDLE{.stdcall, + dynlib: "kernel32", importc: "FindFirstChangeNotificationA".} +proc IsBadStringPtrA*(lpsz: LPCSTR, ucchMax: UINT): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "IsBadStringPtrA".} +proc LookupAccountSidA*(lpSystemName: LPCSTR, Sid: PSID, Name: LPSTR, + cbName: LPDWORD, ReferencedDomainName: LPSTR, + cbReferencedDomainName: LPDWORD, peUse: PSID_NAME_USE): WINBOOL{. + stdcall, dynlib: "advapi32", importc: "LookupAccountSidA".} +proc LookupAccountNameA*(lpSystemName: LPCSTR, lpAccountName: LPCSTR, Sid: PSID, + cbSid: LPDWORD, ReferencedDomainName: LPSTR, + cbReferencedDomainName: LPDWORD, peUse: PSID_NAME_USE): WINBOOL{. + stdcall, dynlib: "advapi32", importc: "LookupAccountNameA".} +proc LookupPrivilegeValueA*(lpSystemName: LPCSTR, lpName: LPCSTR, lpLuid: PLUID): WINBOOL{. + stdcall, dynlib: "advapi32", importc: "LookupPrivilegeValueA".} +proc LookupPrivilegeNameA*(lpSystemName: LPCSTR, lpLuid: PLUID, lpName: LPSTR, + cbName: LPDWORD): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "LookupPrivilegeNameA".} +proc LookupPrivilegeDisplayNameA*(lpSystemName: LPCSTR, lpName: LPCSTR, + lpDisplayName: LPSTR, cbDisplayName: LPDWORD, + lpLanguageId: LPDWORD): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "LookupPrivilegeDisplayNameA".} +proc BuildCommDCBA*(lpDef: LPCSTR, lpDCB: LPDCB): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "BuildCommDCBA".} +proc BuildCommDCBAndTimeoutsA*(lpDef: LPCSTR, lpDCB: LPDCB, + lpCommTimeouts: LPCOMMTIMEOUTS): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "BuildCommDCBAndTimeoutsA".} +proc CommConfigDialogA*(lpszName: LPCSTR, hWnd: HWND, lpCC: LPCOMMCONFIG): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "CommConfigDialogA".} +proc GetDefaultCommConfigA*(lpszName: LPCSTR, lpCC: LPCOMMCONFIG, + lpdwSize: LPDWORD): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "GetDefaultCommConfigA".} +proc SetDefaultCommConfigA*(lpszName: LPCSTR, lpCC: LPCOMMCONFIG, dwSize: DWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "SetDefaultCommConfigA".} +proc GetComputerNameA*(lpBuffer: LPSTR, nSize: LPDWORD): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "GetComputerNameA".} +proc SetComputerNameA*(lpComputerName: LPCSTR): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "SetComputerNameA".} +proc GetUserNameA*(lpBuffer: LPSTR, nSize: LPDWORD): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "GetUserNameA".} +proc LoadKeyboardLayoutA*(pwszKLID: LPCSTR, Flags: UINT): HKL{.stdcall, + dynlib: "user32", importc: "LoadKeyboardLayoutA".} +proc GetKeyboardLayoutNameA*(pwszKLID: LPSTR): WINBOOL{.stdcall, + dynlib: "user32", importc: "GetKeyboardLayoutNameA".} +proc CreateDesktopA*(lpszDesktop: LPSTR, lpszDevice: LPSTR, pDevmode: LPDEVMODE, + dwFlags: DWORD, dwDesiredAccess: DWORD, + lpsa: LPSECURITY_ATTRIBUTES): HDESK{.stdcall, + dynlib: "user32", importc: "CreateDesktopA".} +proc OpenDesktopA*(lpszDesktop: LPSTR, dwFlags: DWORD, fInherit: WINBOOL, + dwDesiredAccess: DWORD): HDESK{.stdcall, dynlib: "user32", + importc: "OpenDesktopA".} +proc EnumDesktopsA*(hwinsta: HWINSTA, lpEnumFunc: DESKTOPENUMPROC, + lParam: LPARAM): WINBOOL{.stdcall, dynlib: "user32", + importc: "EnumDesktopsA".} +proc CreateWindowStationA*(lpwinsta: LPSTR, dwReserved: DWORD, + dwDesiredAccess: DWORD, lpsa: LPSECURITY_ATTRIBUTES): HWINSTA{. + stdcall, dynlib: "user32", importc: "CreateWindowStationA".} +proc OpenWindowStationA*(lpszWinSta: LPSTR, fInherit: WINBOOL, + dwDesiredAccess: DWORD): HWINSTA{.stdcall, + dynlib: "user32", importc: "OpenWindowStationA".} +proc EnumWindowStationsA*(lpEnumFunc: ENUMWINDOWSTATIONPROC, lParam: LPARAM): WINBOOL{. + stdcall, dynlib: "user32", importc: "EnumWindowStationsA".} +proc GetUserObjectInformationA*(hObj: HANDLE, nIndex: int32, pvInfo: PVOID, + nLength: DWORD, lpnLengthNeeded: LPDWORD): WINBOOL{. + stdcall, dynlib: "user32", importc: "GetUserObjectInformationA".} +proc SetUserObjectInformationA*(hObj: HANDLE, nIndex: int32, pvInfo: PVOID, + nLength: DWORD): WINBOOL{.stdcall, + dynlib: "user32", importc: "SetUserObjectInformationA".} +proc RegisterWindowMessageA*(lpString: LPCSTR): UINT{.stdcall, dynlib: "user32", + importc: "RegisterWindowMessageA".} +proc GetMessageA*(lpMsg: LPMSG, hWnd: HWND, wMsgFilterMin: UINT, + wMsgFilterMax: UINT): WINBOOL{.stdcall, dynlib: "user32", + importc: "GetMessageA".} +proc DispatchMessageA*(lpMsg: LPMSG): LONG{.stdcall, dynlib: "user32", + importc: "DispatchMessageA".} +proc PeekMessageA*(lpMsg: LPMSG, hWnd: HWND, wMsgFilterMin: UINT, + wMsgFilterMax: UINT, wRemoveMsg: UINT): WINBOOL{.stdcall, + dynlib: "user32", importc: "PeekMessageA".} +proc SendMessageA*(hWnd: HWND, Msg: UINT, wParam: WPARAM, lParam: LPARAM): LRESULT{. + stdcall, dynlib: "user32", importc: "SendMessageA".} +proc SendMessageTimeoutA*(hWnd: HWND, Msg: UINT, wParam: WPARAM, lParam: LPARAM, + fuFlags: UINT, uTimeout: UINT, lpdwResult: LPDWORD): LRESULT{. + stdcall, dynlib: "user32", importc: "SendMessageTimeoutA".} +proc SendNotifyMessageA*(hWnd: HWND, Msg: UINT, wParam: WPARAM, lParam: LPARAM): WINBOOL{. + stdcall, dynlib: "user32", importc: "SendNotifyMessageA".} +proc SendMessageCallbackA*(hWnd: HWND, Msg: UINT, wParam: WPARAM, + lParam: LPARAM, lpResultCallBack: SENDASYNCPROC, + dwData: DWORD): WINBOOL{.stdcall, dynlib: "user32", + importc: "SendMessageCallbackA".} +proc PostMessageA*(hWnd: HWND, Msg: UINT, wParam: WPARAM, lParam: LPARAM): WINBOOL{. + stdcall, dynlib: "user32", importc: "PostMessageA".} +proc PostThreadMessageA*(idThread: DWORD, Msg: UINT, wParam: WPARAM, + lParam: LPARAM): WINBOOL{.stdcall, dynlib: "user32", + importc: "PostThreadMessageA".} +proc DefWindowProcA*(hWnd: HWND, Msg: UINT, wParam: WPARAM, lParam: LPARAM): LRESULT{. + stdcall, dynlib: "user32", importc: "DefWindowProcA".} +proc CallWindowProcA*(lpPrevWndFunc: WNDPROC, hWnd: HWND, Msg: UINT, + wParam: WPARAM, lParam: LPARAM): LRESULT{.stdcall, + dynlib: "user32", importc: "CallWindowProcA".} +proc RegisterClassA*(lpWndClass: LPWNDCLASS): ATOM{.stdcall, dynlib: "user32", + importc: "RegisterClassA".} +proc UnregisterClassA*(lpClassName: LPCSTR, hInstance: HINST): WINBOOL{.stdcall, + dynlib: "user32", importc: "UnregisterClassA".} +proc GetClassInfoA*(hInstance: HINST, lpClassName: LPCSTR, + lpWndClass: LPWNDCLASS): WINBOOL{.stdcall, dynlib: "user32", + importc: "GetClassInfoA".} +proc RegisterClassExA*(para1: LPWNDCLASSEX): ATOM{.stdcall, dynlib: "user32", + importc: "RegisterClassExA".} +proc GetClassInfoExA*(para1: HINST, para2: LPCSTR, para3: LPWNDCLASSEX): WINBOOL{. + stdcall, dynlib: "user32", importc: "GetClassInfoExA".} +proc CreateWindowExA*(dwExStyle: DWORD, lpClassName: LPCSTR, + lpWindowName: LPCSTR, dwStyle: DWORD, X: int32, Y: int32, + nWidth: int32, nHeight: int32, hWndParent: HWND, + hMenu: HMENU, hInstance: HINST, lpParam: LPVOID): HWND{. + stdcall, dynlib: "user32", importc: "CreateWindowExA".} +proc CreateDialogParamA*(hInstance: HINST, lpTemplateName: LPCSTR, + hWndParent: HWND, lpDialogFunc: DLGPROC, + dwInitParam: LPARAM): HWND{.stdcall, dynlib: "user32", + importc: "CreateDialogParamA".} +proc CreateDialogIndirectParamA*(hInstance: HINST, lpTemplate: LPCDLGTEMPLATE, + hWndParent: HWND, lpDialogFunc: DLGPROC, + dwInitParam: LPARAM): HWND{.stdcall, + dynlib: "user32", importc: "CreateDialogIndirectParamA".} +proc DialogBoxParamA*(hInstance: HINST, lpTemplateName: LPCSTR, + hWndParent: HWND, lpDialogFunc: DLGPROC, + dwInitParam: LPARAM): int32{.stdcall, dynlib: "user32", + importc: "DialogBoxParamA".} +proc DialogBoxIndirectParamA*(hInstance: HINST, hDialogTemplate: LPCDLGTEMPLATE, + hWndParent: HWND, lpDialogFunc: DLGPROC, + dwInitParam: LPARAM): int32{.stdcall, + dynlib: "user32", importc: "DialogBoxIndirectParamA".} +proc SetDlgItemTextA*(hDlg: HWND, nIDDlgItem: int32, lpString: LPCSTR): WINBOOL{. + stdcall, dynlib: "user32", importc: "SetDlgItemTextA".} +proc GetDlgItemTextA*(hDlg: HWND, nIDDlgItem: int32, lpString: LPSTR, + nMaxCount: int32): UINT{.stdcall, dynlib: "user32", + importc: "GetDlgItemTextA".} +proc SendDlgItemMessageA*(hDlg: HWND, nIDDlgItem: int32, Msg: UINT, + wParam: WPARAM, lParam: LPARAM): LONG{.stdcall, + dynlib: "user32", importc: "SendDlgItemMessageA".} +proc DefDlgProcA*(hDlg: HWND, Msg: UINT, wParam: WPARAM, lParam: LPARAM): LRESULT{. + stdcall, dynlib: "user32", importc: "DefDlgProcA".} +proc CallMsgFilterA*(lpMsg: LPMSG, nCode: int32): WINBOOL{.stdcall, + dynlib: "user32", importc: "CallMsgFilterA".} +proc RegisterClipboardFormatA*(lpszFormat: LPCSTR): UINT{.stdcall, + dynlib: "user32", importc: "RegisterClipboardFormatA".} +proc GetClipboardFormatNameA*(format: UINT, lpszFormatName: LPSTR, + cchMaxCount: int32): int32{.stdcall, + dynlib: "user32", importc: "GetClipboardFormatNameA".} +proc CharToOemA*(lpszSrc: LPCSTR, lpszDst: LPSTR): WINBOOL{.stdcall, + dynlib: "user32", importc: "CharToOemA".} +proc OemToCharA*(lpszSrc: LPCSTR, lpszDst: LPSTR): WINBOOL{.stdcall, + dynlib: "user32", importc: "OemToCharA".} +proc CharToOemBuffA*(lpszSrc: LPCSTR, lpszDst: LPSTR, cchDstLength: DWORD): WINBOOL{. + stdcall, dynlib: "user32", importc: "CharToOemBuffA".} +proc OemToCharBuffA*(lpszSrc: LPCSTR, lpszDst: LPSTR, cchDstLength: DWORD): WINBOOL{. + stdcall, dynlib: "user32", importc: "OemToCharBuffA".} +proc CharUpperA*(lpsz: LPSTR): LPSTR{.stdcall, dynlib: "user32", + importc: "CharUpperA".} +proc CharUpperBuffA*(lpsz: LPSTR, cchLength: DWORD): DWORD{.stdcall, + dynlib: "user32", importc: "CharUpperBuffA".} +proc CharLowerA*(lpsz: LPSTR): LPSTR{.stdcall, dynlib: "user32", + importc: "CharLowerA".} +proc CharLowerBuffA*(lpsz: LPSTR, cchLength: DWORD): DWORD{.stdcall, + dynlib: "user32", importc: "CharLowerBuffA".} +proc CharNextA*(lpsz: LPCSTR): LPSTR{.stdcall, dynlib: "user32", + importc: "CharNextA".} +proc CharPrevA*(lpszStart: LPCSTR, lpszCurrent: LPCSTR): LPSTR{.stdcall, + dynlib: "user32", importc: "CharPrevA".} +proc IsCharAlphaA*(ch: CHAR): WINBOOL{.stdcall, dynlib: "user32", + importc: "IsCharAlphaA".} +proc IsCharAlphaNumericA*(ch: CHAR): WINBOOL{.stdcall, dynlib: "user32", + importc: "IsCharAlphaNumericA".} +proc IsCharUpperA*(ch: CHAR): WINBOOL{.stdcall, dynlib: "user32", + importc: "IsCharUpperA".} +proc IsCharLowerA*(ch: CHAR): WINBOOL{.stdcall, dynlib: "user32", + importc: "IsCharLowerA".} +proc GetKeyNameTextA*(lParam: LONG, lpString: LPSTR, nSize: int32): int32{. + stdcall, dynlib: "user32", importc: "GetKeyNameTextA".} +proc VkKeyScanA*(ch: CHAR): SHORT{.stdcall, dynlib: "user32", + importc: "VkKeyScanA".} +proc VkKeyScanExA*(ch: CHAR, dwhkl: HKL): SHORT{.stdcall, dynlib: "user32", + importc: "VkKeyScanExA".} +proc MapVirtualKeyA*(uCode: UINT, uMapType: UINT): UINT{.stdcall, + dynlib: "user32", importc: "MapVirtualKeyA".} +proc MapVirtualKeyExA*(uCode: UINT, uMapType: UINT, dwhkl: HKL): UINT{.stdcall, + dynlib: "user32", importc: "MapVirtualKeyExA".} +proc LoadAcceleratorsA*(hInstance: HINST, lpTableName: LPCSTR): HACCEL{.stdcall, + dynlib: "user32", importc: "LoadAcceleratorsA".} +proc CreateAcceleratorTableA*(para1: LPACCEL, para2: int32): HACCEL{.stdcall, + dynlib: "user32", importc: "CreateAcceleratorTableA".} +proc CopyAcceleratorTableA*(hAccelSrc: HACCEL, lpAccelDst: LPACCEL, + cAccelEntries: int32): int32{.stdcall, + dynlib: "user32", importc: "CopyAcceleratorTableA".} +proc TranslateAcceleratorA*(hWnd: HWND, hAccTable: HACCEL, lpMsg: LPMSG): int32{. + stdcall, dynlib: "user32", importc: "TranslateAcceleratorA".} +proc LoadMenuA*(hInstance: HINST, lpMenuName: LPCSTR): HMENU{.stdcall, + dynlib: "user32", importc: "LoadMenuA".} +proc LoadMenuIndirectA*(lpMenuTemplate: LPMENUTEMPLATE): HMENU{.stdcall, + dynlib: "user32", importc: "LoadMenuIndirectA".} +proc ChangeMenuA*(hMenu: HMENU, cmd: UINT, lpszNewItem: LPCSTR, cmdInsert: UINT, + flags: UINT): WINBOOL{.stdcall, dynlib: "user32", + importc: "ChangeMenuA".} +proc GetMenuStringA*(hMenu: HMENU, uIDItem: UINT, lpString: LPSTR, + nMaxCount: int32, uFlag: UINT): int32{.stdcall, + dynlib: "user32", importc: "GetMenuStringA".} +proc InsertMenuA*(hMenu: HMENU, uPosition: UINT, uFlags: UINT, uIDNewItem: UINT, + lpNewItem: LPCSTR): WINBOOL{.stdcall, dynlib: "user32", + importc: "InsertMenuA".} +proc AppendMenuA*(hMenu: HMENU, uFlags: UINT, uIDNewItem: UINT, + lpNewItem: LPCSTR): WINBOOL{.stdcall, dynlib: "user32", + importc: "AppendMenuA".} +proc ModifyMenuA*(hMnu: HMENU, uPosition: UINT, uFlags: UINT, uIDNewItem: UINT, + lpNewItem: LPCSTR): WINBOOL{.stdcall, dynlib: "user32", + importc: "ModifyMenuA".} +proc InsertMenuItemA*(para1: HMENU, para2: UINT, para3: WINBOOL, + para4: LPCMENUITEMINFO): WINBOOL{.stdcall, + dynlib: "user32", importc: "InsertMenuItemA".} +proc GetMenuItemInfoA*(para1: HMENU, para2: UINT, para3: WINBOOL, + para4: LPMENUITEMINFO): WINBOOL{.stdcall, + dynlib: "user32", importc: "GetMenuItemInfoA".} +proc SetMenuItemInfoA*(para1: HMENU, para2: UINT, para3: WINBOOL, + para4: LPCMENUITEMINFO): WINBOOL{.stdcall, + dynlib: "user32", importc: "SetMenuItemInfoA".} +proc DrawTextA*(hDC: HDC, lpString: LPCSTR, nCount: int32, lpRect: LPRECT, + uFormat: UINT): int32{.stdcall, dynlib: "user32", + importc: "DrawTextA".} +proc DrawTextExA*(para1: HDC, para2: LPSTR, para3: int32, para4: LPRECT, + para5: UINT, para6: LPDRAWTEXTPARAMS): int32{.stdcall, + dynlib: "user32", importc: "DrawTextExA".} +proc GrayStringA*(hDC: HDC, hBrush: HBRUSH, lpOutputFunc: GRAYSTRINGPROC, + lpData: LPARAM, nCount: int32, X: int32, Y: int32, + nWidth: int32, nHeight: int32): WINBOOL{.stdcall, + dynlib: "user32", importc: "GrayStringA".} +proc DrawStateA*(para1: HDC, para2: HBRUSH, para3: DRAWSTATEPROC, para4: LPARAM, + para5: WPARAM, para6: int32, para7: int32, para8: int32, + para9: int32, para10: UINT): WINBOOL{.stdcall, + dynlib: "user32", importc: "DrawStateA".} +proc TabbedTextOutA*(hDC: HDC, X: int32, Y: int32, lpString: LPCSTR, + nCount: int32, nTabPositions: int32, + lpnTabStopPositions: LPINT, nTabOrigin: int32): LONG{. + stdcall, dynlib: "user32", importc: "TabbedTextOutA".} +proc GetTabbedTextExtentA*(hDC: HDC, lpString: LPCSTR, nCount: int32, + nTabPositions: int32, lpnTabStopPositions: LPINT): DWORD{. + stdcall, dynlib: "user32", importc: "GetTabbedTextExtentA".} +proc SetPropA*(hWnd: HWND, lpString: LPCSTR, hData: HANDLE): WINBOOL{.stdcall, + dynlib: "user32", importc: "SetPropA".} +proc GetPropA*(hWnd: HWND, lpString: LPCSTR): HANDLE{.stdcall, dynlib: "user32", + importc: "GetPropA".} +proc RemovePropA*(hWnd: HWND, lpString: LPCSTR): HANDLE{.stdcall, + dynlib: "user32", importc: "RemovePropA".} +proc EnumPropsExA*(hWnd: HWND, lpEnumFunc: PROPENUMPROCEX, lParam: LPARAM): int32{. + stdcall, dynlib: "user32", importc: "EnumPropsExA".} +proc EnumPropsA*(hWnd: HWND, lpEnumFunc: PROPENUMPROC): int32{.stdcall, + dynlib: "user32", importc: "EnumPropsA".} +proc SetWindowTextA*(hWnd: HWND, lpString: LPCSTR): WINBOOL{.stdcall, + dynlib: "user32", importc: "SetWindowTextA".} +proc GetWindowTextA*(hWnd: HWND, lpString: LPSTR, nMaxCount: int32): int32{. + stdcall, dynlib: "user32", importc: "GetWindowTextA".} +proc GetWindowTextLengthA*(hWnd: HWND): int32{.stdcall, dynlib: "user32", + importc: "GetWindowTextLengthA".} +proc MessageBoxA*(hWnd: HWND, lpText: LPCSTR, lpCaption: LPCSTR, uType: UINT): int32{. + stdcall, dynlib: "user32", importc: "MessageBoxA".} +proc MessageBoxExA*(hWnd: HWND, lpText: LPCSTR, lpCaption: LPCSTR, uType: UINT, + wLanguageId: int16): int32{.stdcall, dynlib: "user32", + importc: "MessageBoxExA".} +proc MessageBoxIndirectA*(para1: LPMSGBOXPARAMS): int32{.stdcall, + dynlib: "user32", importc: "MessageBoxIndirectA".} +proc GetWindowLongA*(hWnd: HWND, nIndex: int32): LONG{.stdcall, + dynlib: "user32", importc: "GetWindowLongA".} +proc SetWindowLongA*(hWnd: HWND, nIndex: int32, dwNewLong: LONG): LONG{.stdcall, + dynlib: "user32", importc: "SetWindowLongA".} +proc GetClassLongA*(hWnd: HWND, nIndex: int32): DWORD{.stdcall, + dynlib: "user32", importc: "GetClassLongA".} +proc SetClassLongA*(hWnd: HWND, nIndex: int32, dwNewLong: LONG): DWORD{.stdcall, + dynlib: "user32", importc: "SetClassLongA".} +when defined(cpu64): + proc GetWindowLongPtrA*(hWnd: HWND, nIndex: int32): LONG_PTR{.stdcall, + dynlib: "user32", importc: "GetWindowLongPtrA".} + proc SetWindowLongPtrA*(hWnd: HWND, nIndex: int32, dwNewLong: LONG_PTR): LONG_PTR{. + stdcall, dynlib: "user32", importc: "SetWindowLongPtrA".} + proc GetClassLongPtrA*(hWnd: HWND, nIndex: int32): LONG_PTR{.stdcall, + dynlib: "user32", importc: "GetClassLongPtrA".} + proc SetClassLongPtrA*(hWnd: HWND, nIndex: int32, dwNewLong: LONG_PTR): LONG_PTR{. + stdcall, dynlib: "user32", importc: "SetClassLongPtrA".} +else: + proc GetWindowLongPtrA*(hWnd: HWND, nIndex: int32): LONG_PTR{.stdcall, + dynlib: "user32", importc: "GetWindowLongA".} + proc SetWindowLongPtrA*(hWnd: HWND, nIndex: int32, dwNewLong: LONG_PTR): LONG_PTR{. + stdcall, dynlib: "user32", importc: "SetWindowLongA".} + proc GetClassLongPtrA*(hWnd: HWND, nIndex: int32): LONG_PTR{.stdcall, + dynlib: "user32", importc: "GetClassLongA".} + proc SetClassLongPtrA*(hWnd: HWND, nIndex: int32, dwNewLong: LONG_PTR): LONG_PTR{. + stdcall, dynlib: "user32", importc: "SetClassLongA".} +proc FindWindowA*(lpClassName: LPCSTR, lpWindowName: LPCSTR): HWND{.stdcall, + dynlib: "user32", importc: "FindWindowA".} +proc FindWindowExA*(para1: HWND, para2: HWND, para3: LPCSTR, para4: LPCSTR): HWND{. + stdcall, dynlib: "user32", importc: "FindWindowExA".} +proc GetClassNameA*(hWnd: HWND, lpClassName: LPSTR, nMaxCount: int32): int32{. + stdcall, dynlib: "user32", importc: "GetClassNameA".} +proc SetWindowsHookExA*(idHook: int32, lpfn: HOOKPROC, hmod: HINST, + dwThreadId: DWORD): HHOOK{.stdcall, dynlib: "user32", + importc: "SetWindowsHookExA".} +proc LoadBitmapA*(hInstance: HINST, lpBitmapName: LPCSTR): HBITMAP{.stdcall, + dynlib: "user32", importc: "LoadBitmapA".} +proc LoadCursorA*(hInstance: HINST, lpCursorName: LPCSTR): HCURSOR{.stdcall, + dynlib: "user32", importc: "LoadCursorA".} +proc LoadCursorFromFileA*(lpFileName: LPCSTR): HCURSOR{.stdcall, + dynlib: "user32", importc: "LoadCursorFromFileA".} +proc LoadIconA*(hInstance: HINST, lpIconName: LPCSTR): HICON{.stdcall, + dynlib: "user32", importc: "LoadIconA".} +proc LoadImageA*(para1: HINST, para2: LPCSTR, para3: UINT, para4: int32, + para5: int32, para6: UINT): HANDLE{.stdcall, dynlib: "user32", + importc: "LoadImageA".} +proc LoadStringA*(hInstance: HINST, uID: UINT, lpBuffer: LPSTR, + nBufferMax: int32): int32{.stdcall, dynlib: "user32", + importc: "LoadStringA".} +proc IsDialogMessageA*(hDlg: HWND, lpMsg: LPMSG): WINBOOL{.stdcall, + dynlib: "user32", importc: "IsDialogMessageA".} +proc DlgDirListA*(hDlg: HWND, lpPathSpec: LPSTR, nIDListBox: int32, + nIDStaticPath: int32, uFileType: UINT): int32{.stdcall, + dynlib: "user32", importc: "DlgDirListA".} +proc DlgDirSelectExA*(hDlg: HWND, lpString: LPSTR, nCount: int32, + nIDListBox: int32): WINBOOL{.stdcall, dynlib: "user32", + importc: "DlgDirSelectExA".} +proc DlgDirListComboBoxA*(hDlg: HWND, lpPathSpec: LPSTR, nIDComboBox: int32, + nIDStaticPath: int32, uFiletype: UINT): int32{. + stdcall, dynlib: "user32", importc: "DlgDirListComboBoxA".} +proc DlgDirSelectComboBoxExA*(hDlg: HWND, lpString: LPSTR, nCount: int32, + nIDComboBox: int32): WINBOOL{.stdcall, + dynlib: "user32", importc: "DlgDirSelectComboBoxExA".} +proc DefFrameProcA*(hWnd: HWND, hWndMDIClient: HWND, uMsg: UINT, wParam: WPARAM, + lParam: LPARAM): LRESULT{.stdcall, dynlib: "user32", + importc: "DefFrameProcA".} +proc DefMDIChildProcA*(hWnd: HWND, uMsg: UINT, wParam: WPARAM, lParam: LPARAM): LRESULT{. + stdcall, dynlib: "user32", importc: "DefMDIChildProcA".} +proc CreateMDIWindowA*(lpClassName: LPSTR, lpWindowName: LPSTR, dwStyle: DWORD, + X: int32, Y: int32, nWidth: int32, nHeight: int32, + hWndParent: HWND, hInstance: HINST, lParam: LPARAM): HWND{. + stdcall, dynlib: "user32", importc: "CreateMDIWindowA".} +proc WinHelpA*(hWndMain: HWND, lpszHelp: LPCSTR, uCommand: UINT, dwData: DWORD): WINBOOL{. + stdcall, dynlib: "user32", importc: "WinHelpA".} +proc ChangeDisplaySettingsA*(lpDevMode: LPDEVMODE, dwFlags: DWORD): LONG{. + stdcall, dynlib: "user32", importc: "ChangeDisplaySettingsA".} +proc EnumDisplaySettingsA*(lpszDeviceName: LPCSTR, iModeNum: DWORD, + lpDevMode: LPDEVMODE): WINBOOL{.stdcall, + dynlib: "user32", importc: "EnumDisplaySettingsA".} +proc SystemParametersInfoA*(uiAction: UINT, uiParam: UINT, pvParam: PVOID, + fWinIni: UINT): WINBOOL{.stdcall, dynlib: "user32", + importc: "SystemParametersInfoA".} +proc AddFontResourceA*(para1: LPCSTR): int32{.stdcall, dynlib: "gdi32", + importc: "AddFontResourceA".} +proc CopyMetaFileA*(para1: HMETAFILE, para2: LPCSTR): HMETAFILE{.stdcall, + dynlib: "gdi32", importc: "CopyMetaFileA".} +proc CreateFontA*(para1: int32, para2: int32, para3: int32, para4: int32, + para5: int32, para6: DWORD, para7: DWORD, para8: DWORD, + para9: DWORD, para10: DWORD, para11: DWORD, para12: DWORD, + para13: DWORD, para14: LPCSTR): HFONT{.stdcall, + dynlib: "gdi32", importc: "CreateFontA".} +proc CreateFontIndirectA*(para1: LPLOGFONT): HFONT{.stdcall, dynlib: "gdi32", + importc: "CreateFontIndirectA".} +proc CreateFontIndirectA*(para1: var LOGFONT): HFONT{.stdcall, dynlib: "gdi32", + importc: "CreateFontIndirectA".} +proc CreateICA*(para1: LPCSTR, para2: LPCSTR, para3: LPCSTR, para4: LPDEVMODE): HDC{. + stdcall, dynlib: "gdi32", importc: "CreateICA".} +proc CreateMetaFileA*(para1: LPCSTR): HDC{.stdcall, dynlib: "gdi32", + importc: "CreateMetaFileA".} +proc CreateScalableFontResourceA*(para1: DWORD, para2: LPCSTR, para3: LPCSTR, + para4: LPCSTR): WINBOOL{.stdcall, + dynlib: "gdi32", importc: "CreateScalableFontResourceA".} +proc EnumFontFamiliesExA*(para1: HDC, para2: LPLOGFONT, para3: FONTENUMEXPROC, + para4: LPARAM, para5: DWORD): int32{.stdcall, + dynlib: "gdi32", importc: "EnumFontFamiliesExA".} +proc EnumFontFamiliesA*(para1: HDC, para2: LPCSTR, para3: FONTENUMPROC, + para4: LPARAM): int32{.stdcall, dynlib: "gdi32", + importc: "EnumFontFamiliesA".} +proc EnumFontsA*(para1: HDC, para2: LPCSTR, para3: ENUMFONTSPROC, para4: LPARAM): int32{. + stdcall, dynlib: "gdi32", importc: "EnumFontsA".} +proc EnumFontsA*(para1: HDC, para2: LPCSTR, para3: ENUMFONTSPROC, para4: pointer): int32{. + stdcall, dynlib: "gdi32", importc: "EnumFontsA".} +proc GetCharWidthA*(para1: HDC, para2: UINT, para3: UINT, para4: LPINT): WINBOOL{. + stdcall, dynlib: "gdi32", importc: "GetCharWidthA".} +proc GetCharWidth32A*(para1: HDC, para2: UINT, para3: UINT, para4: LPINT): WINBOOL{. + stdcall, dynlib: "gdi32", importc: "GetCharWidth32A".} +proc GetCharWidthFloatA*(para1: HDC, para2: UINT, para3: UINT, para4: ptr float32): WINBOOL{. + stdcall, dynlib: "gdi32", importc: "GetCharWidthFloatA".} +proc GetCharABCWidthsA*(para1: HDC, para2: UINT, para3: UINT, para4: LPABC): WINBOOL{. + stdcall, dynlib: "gdi32", importc: "GetCharABCWidthsA".} +proc GetCharABCWidthsFloatA*(para1: HDC, para2: UINT, para3: UINT, + para4: LPABCFLOAT): WINBOOL{.stdcall, + dynlib: "gdi32", importc: "GetCharABCWidthsFloatA".} +proc GetGlyphOutlineA*(para1: HDC, para2: UINT, para3: UINT, + para4: LPGLYPHMETRICS, para5: DWORD, para6: LPVOID, + para7: PMAT2): DWORD{.stdcall, dynlib: "gdi32", + importc: "GetGlyphOutlineA".} +proc GetMetaFileA*(para1: LPCSTR): HMETAFILE{.stdcall, dynlib: "gdi32", + importc: "GetMetaFileA".} +proc GetOutlineTextMetricsA*(para1: HDC, para2: UINT, para3: LPOUTLINETEXTMETRIC): UINT{. + stdcall, dynlib: "gdi32", importc: "GetOutlineTextMetricsA".} +proc GetTextExtentPointA*(para1: HDC, para2: LPCSTR, para3: int32, para4: LPSIZE): WINBOOL{. + stdcall, dynlib: "gdi32", importc: "GetTextExtentPointA".} +proc GetTextExtentPoint32A*(para1: HDC, para2: LPCSTR, para3: int32, + para4: LPSIZE): WINBOOL{.stdcall, dynlib: "gdi32", + importc: "GetTextExtentPoint32A".} +proc GetTextExtentExPointA*(para1: HDC, para2: LPCSTR, para3: int32, + para4: int32, para5: LPINT, para6: LPINT, + para7: LPSIZE): WINBOOL{.stdcall, dynlib: "gdi32", + importc: "GetTextExtentExPointA".} +proc GetCharacterPlacementA*(para1: HDC, para2: LPCSTR, para3: int32, + para4: int32, para5: LPGCP_RESULTS, para6: DWORD): DWORD{. + stdcall, dynlib: "gdi32", importc: "GetCharacterPlacementA".} +proc ResetDCA*(para1: HDC, para2: LPDEVMODE): HDC{.stdcall, dynlib: "gdi32", + importc: "ResetDCA".} +proc RemoveFontResourceA*(para1: LPCSTR): WINBOOL{.stdcall, dynlib: "gdi32", + importc: "RemoveFontResourceA".} +proc CopyEnhMetaFileA*(para1: HENHMETAFILE, para2: LPCSTR): HENHMETAFILE{. + stdcall, dynlib: "gdi32", importc: "CopyEnhMetaFileA".} +proc CreateEnhMetaFileA*(para1: HDC, para2: LPCSTR, para3: LPRECT, para4: LPCSTR): HDC{. + stdcall, dynlib: "gdi32", importc: "CreateEnhMetaFileA".} +proc GetEnhMetaFileA*(para1: LPCSTR): HENHMETAFILE{.stdcall, dynlib: "gdi32", + importc: "GetEnhMetaFileA".} +proc GetEnhMetaFileDescriptionA*(para1: HENHMETAFILE, para2: UINT, para3: LPSTR): UINT{. + stdcall, dynlib: "gdi32", importc: "GetEnhMetaFileDescriptionA".} +proc GetTextMetricsA*(para1: HDC, para2: LPTEXTMETRIC): WINBOOL{.stdcall, + dynlib: "gdi32", importc: "GetTextMetricsA".} +proc StartDocA*(para1: HDC, para2: PDOCINFO): int32{.stdcall, dynlib: "gdi32", + importc: "StartDocA".} +proc GetObjectA*(para1: HGDIOBJ, para2: int32, para3: LPVOID): int32{.stdcall, + dynlib: "gdi32", importc: "GetObjectA".} +proc TextOutA*(para1: HDC, para2: int32, para3: int32, para4: LPCSTR, + para5: int32): WINBOOL{.stdcall, dynlib: "gdi32", + importc: "TextOutA".} +proc ExtTextOutA*(para1: HDC, para2: int32, para3: int32, para4: UINT, + para5: LPRECT, para6: LPCSTR, para7: UINT, para8: LPINT): WINBOOL{. + stdcall, dynlib: "gdi32", importc: "ExtTextOutA".} +proc PolyTextOutA*(para1: HDC, para2: PPOLYTEXT, para3: int32): WINBOOL{. + stdcall, dynlib: "gdi32", importc: "PolyTextOutA".} +proc GetTextFaceA*(para1: HDC, para2: int32, para3: LPSTR): int32{.stdcall, + dynlib: "gdi32", importc: "GetTextFaceA".} +proc GetKerningPairsA*(para1: HDC, para2: DWORD, para3: LPKERNINGPAIR): DWORD{. + stdcall, dynlib: "gdi32", importc: "GetKerningPairsA".} +proc CreateColorSpaceA*(para1: LPLOGCOLORSPACE): HCOLORSPACE{.stdcall, + dynlib: "gdi32", importc: "CreateColorSpaceA".} +proc GetLogColorSpaceA*(para1: HCOLORSPACE, para2: LPLOGCOLORSPACE, para3: DWORD): WINBOOL{. + stdcall, dynlib: "gdi32", importc: "GetLogColorSpaceA".} +proc GetICMProfileA*(para1: HDC, para2: DWORD, para3: LPSTR): WINBOOL{.stdcall, + dynlib: "gdi32", importc: "GetICMProfileA".} +proc SetICMProfileA*(para1: HDC, para2: LPSTR): WINBOOL{.stdcall, + dynlib: "gdi32", importc: "SetICMProfileA".} +proc UpdateICMRegKeyA*(para1: DWORD, para2: DWORD, para3: LPSTR, para4: UINT): WINBOOL{. + stdcall, dynlib: "gdi32", importc: "UpdateICMRegKeyA".} +proc EnumICMProfilesA*(para1: HDC, para2: ICMENUMPROC, para3: LPARAM): int32{. + stdcall, dynlib: "gdi32", importc: "EnumICMProfilesA".} +proc PropertySheetA*(lppsph: LPCPROPSHEETHEADER): int32{.stdcall, + dynlib: "comctl32", importc: "PropertySheetA".} +proc ImageList_LoadImageA*(hi: HINST, lpbmp: LPCSTR, cx: int32, cGrow: int32, + crMask: COLORREF, uType: UINT, uFlags: UINT): HIMAGELIST{. + stdcall, dynlib: "comctl32", importc: "ImageList_LoadImageA".} +proc CreateStatusWindowA*(style: LONG, lpszText: LPCSTR, hwndParent: HWND, + wID: UINT): HWND{.stdcall, dynlib: "comctl32", + importc: "CreateStatusWindowA".} +proc DrawStatusTextA*(hDC: HDC, lprc: LPRECT, pszText: LPCSTR, uFlags: UINT){. + stdcall, dynlib: "comctl32", importc: "DrawStatusTextA".} +proc GetOpenFileNameA*(para1: LPOPENFILENAME): WINBOOL{.stdcall, + dynlib: "comdlg32", importc: "GetOpenFileNameA".} +proc GetSaveFileNameA*(para1: LPOPENFILENAME): WINBOOL{.stdcall, + dynlib: "comdlg32", importc: "GetSaveFileNameA".} +proc GetFileTitleA*(para1: LPCSTR, para2: LPSTR, para3: int16): int{.stdcall, + dynlib: "comdlg32", importc: "GetFileTitleA".} +proc ChooseColorA*(para1: LPCHOOSECOLOR): WINBOOL{.stdcall, dynlib: "comdlg32", + importc: "ChooseColorA".} +proc FindTextA*(para1: LPFINDREPLACE): HWND{.stdcall, dynlib: "comdlg32", + importc: "FindTextA".} +proc ReplaceTextA*(para1: LPFINDREPLACE): HWND{.stdcall, dynlib: "comdlg32", + importc: "ReplaceTextA".} +proc ChooseFontA*(para1: LPCHOOSEFONT): WINBOOL{.stdcall, dynlib: "comdlg32", + importc: "ChooseFontA".} +proc PrintDlgA*(para1: LPPRINTDLG): WINBOOL{.stdcall, dynlib: "comdlg32", + importc: "PrintDlgA".} +proc PageSetupDlgA*(para1: LPPAGESETUPDLG): WINBOOL{.stdcall, + dynlib: "comdlg32", importc: "PageSetupDlgA".} +proc CreateProcessA*(lpApplicationName: LPCSTR, lpCommandLine: LPSTR, + lpProcessAttributes: LPSECURITY_ATTRIBUTES, + lpThreadAttributes: LPSECURITY_ATTRIBUTES, + bInheritHandles: WINBOOL, dwCreationFlags: DWORD, + lpEnvironment: LPVOID, lpCurrentDirectory: LPCSTR, + lpStartupInfo: LPSTARTUPINFO, + lpProcessInformation: LPPROCESS_INFORMATION): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "CreateProcessA".} +proc GetStartupInfoA*(lpStartupInfo: LPSTARTUPINFO){.stdcall, + dynlib: "kernel32", importc: "GetStartupInfoA".} +proc FindFirstFileA*(lpFileName: LPCSTR, lpFindFileData: LPWIN32_FIND_DATA): HANDLE{. + stdcall, dynlib: "kernel32", importc: "FindFirstFileA".} +proc FindNextFileA*(hFindFile: HANDLE, lpFindFileData: LPWIN32_FIND_DATA): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "FindNextFileA".} +proc GetVersionExA*(VersionInformation: LPOSVERSIONINFO): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "GetVersionExA".} +proc CreateWindowA*(lpClassName: LPCSTR, lpWindowName: LPCSTR, dwStyle: DWORD, + X: int32, Y: int32, nWidth: int32, nHeight: int32, + hWndParent: HWND, hMenu: HMENU, hInstance: HINST, + lpParam: LPVOID): HWND +proc CreateDialogA*(hInstance: HINST, lpTemplateName: LPCSTR, hWndParent: HWND, + lpDialogFunc: DLGPROC): HWND +proc CreateDialogIndirectA*(hInstance: HINST, lpTemplate: LPCDLGTEMPLATE, + hWndParent: HWND, lpDialogFunc: DLGPROC): HWND +proc DialogBoxA*(hInstance: HINST, lpTemplateName: LPCSTR, hWndParent: HWND, + lpDialogFunc: DLGPROC): int32 +proc DialogBoxIndirectA*(hInstance: HINST, hDialogTemplate: LPCDLGTEMPLATE, + hWndParent: HWND, lpDialogFunc: DLGPROC): int32 +proc CreateDCA*(para1: LPCSTR, para2: LPCSTR, para3: LPCSTR, para4: pDEVMODE): HDC{. + stdcall, dynlib: "gdi32", importc: "CreateDCA".} +proc VerInstallFileA*(uFlags: DWORD, szSrcFileName: LPSTR, + szDestFileName: LPSTR, szSrcDir: LPSTR, szDestDir: LPSTR, + szCurDir: LPSTR, szTmpFile: LPSTR, lpuTmpFileLen: PUINT): DWORD{. + stdcall, dynlib: "version", importc: "VerInstallFileA".} +proc GetFileVersionInfoSizeA*(lptstrFilename: LPSTR, lpdwHandle: LPDWORD): DWORD{. + stdcall, dynlib: "version", importc: "GetFileVersionInfoSizeA".} +proc GetFileVersionInfoA*(lptstrFilename: LPSTR, dwHandle: DWORD, dwLen: DWORD, + lpData: LPVOID): WINBOOL{.stdcall, dynlib: "version", + importc: "GetFileVersionInfoA".} +proc VerLanguageNameA*(wLang: DWORD, szLang: LPSTR, nSize: DWORD): DWORD{. + stdcall, dynlib: "kernel32", importc: "VerLanguageNameA".} +proc VerQueryValueA*(pBlock: LPVOID, lpSubBlock: LPSTR, lplpBuffer: LPVOID, + puLen: PUINT): WINBOOL{.stdcall, dynlib: "version", + importc: "VerQueryValueA".} +proc VerFindFileA*(uFlags: DWORD, szFileName: LPSTR, szWinDir: LPSTR, + szAppDir: LPSTR, szCurDir: LPSTR, lpuCurDirLen: PUINT, + szDestDir: LPSTR, lpuDestDirLen: PUINT): DWORD{.stdcall, + dynlib: "version", importc: "VerFindFileA".} +proc RegConnectRegistryA*(lpMachineName: LPSTR, hKey: HKEY, phkResult: PHKEY): LONG{. + stdcall, dynlib: "advapi32", importc: "RegConnectRegistryA".} +proc RegCreateKeyA*(hKey: HKEY, lpSubKey: LPCSTR, phkResult: PHKEY): LONG{. + stdcall, dynlib: "advapi32", importc: "RegCreateKeyA".} +proc RegCreateKeyExA*(hKey: HKEY, lpSubKey: LPCSTR, Reserved: DWORD, + lpClass: LPSTR, dwOptions: DWORD, samDesired: REGSAM, + lpSecurityAttributes: LPSECURITY_ATTRIBUTES, + phkResult: PHKEY, lpdwDisposition: LPDWORD): LONG{. + stdcall, dynlib: "advapi32", importc: "RegCreateKeyExA".} +proc RegDeleteKeyA*(hKey: HKEY, lpSubKey: LPCSTR): LONG{.stdcall, + dynlib: "advapi32", importc: "RegDeleteKeyA".} +proc RegDeleteValueA*(hKey: HKEY, lpValueName: LPCSTR): LONG{.stdcall, + dynlib: "advapi32", importc: "RegDeleteValueA".} +proc RegEnumKeyA*(hKey: HKEY, dwIndex: DWORD, lpName: LPSTR, cbName: DWORD): LONG{. + stdcall, dynlib: "advapi32", importc: "RegEnumKeyA".} +proc RegEnumKeyExA*(hKey: HKEY, dwIndex: DWORD, lpName: LPSTR, + lpcbName: LPDWORD, lpReserved: LPDWORD, lpClass: LPSTR, + lpcbClass: LPDWORD, lpftLastWriteTime: PFILETIME): LONG{. + stdcall, dynlib: "advapi32", importc: "RegEnumKeyExA".} +proc RegEnumValueA*(hKey: HKEY, dwIndex: DWORD, lpValueName: LPSTR, + lpcbValueName: LPDWORD, lpReserved: LPDWORD, + lpType: LPDWORD, lpData: LPBYTE, lpcbData: LPDWORD): LONG{. + stdcall, dynlib: "advapi32", importc: "RegEnumValueA".} +proc RegLoadKeyA*(hKey: HKEY, lpSubKey: LPCSTR, lpFile: LPCSTR): LONG{.stdcall, + dynlib: "advapi32", importc: "RegLoadKeyA".} +proc RegOpenKeyA*(hKey: HKEY, lpSubKey: LPCSTR, phkResult: PHKEY): LONG{. + stdcall, dynlib: "advapi32", importc: "RegOpenKeyA".} +proc RegOpenKeyExA*(hKey: HKEY, lpSubKey: LPCSTR, ulOptions: DWORD, + samDesired: REGSAM, phkResult: PHKEY): LONG{.stdcall, + dynlib: "advapi32", importc: "RegOpenKeyExA".} +proc RegQueryInfoKeyA*(hKey: HKEY, lpClass: LPSTR, lpcbClass: LPDWORD, + lpReserved: LPDWORD, lpcSubKeys: LPDWORD, + lpcbMaxSubKeyLen: LPDWORD, lpcbMaxClassLen: LPDWORD, + lpcValues: LPDWORD, lpcbMaxValueNameLen: LPDWORD, + lpcbMaxValueLen: LPDWORD, + lpcbSecurityDescriptor: LPDWORD, + lpftLastWriteTime: PFILETIME): LONG{.stdcall, + dynlib: "advapi32", importc: "RegQueryInfoKeyA".} +proc RegQueryValueA*(hKey: HKEY, lpSubKey: LPCSTR, lpValue: LPSTR, + lpcbValue: PLONG): LONG{.stdcall, dynlib: "advapi32", + importc: "RegQueryValueA".} +proc RegQueryMultipleValuesA*(hKey: HKEY, val_list: PVALENT, num_vals: DWORD, + lpValueBuf: LPSTR, ldwTotsize: LPDWORD): LONG{. + stdcall, dynlib: "advapi32", importc: "RegQueryMultipleValuesA".} +proc RegQueryValueExA*(hKey: HKEY, lpValueName: LPCSTR, lpReserved: LPDWORD, + lpType: LPDWORD, lpData: LPBYTE, lpcbData: LPDWORD): LONG{. + stdcall, dynlib: "advapi32", importc: "RegQueryValueExA".} +proc RegReplaceKeyA*(hKey: HKEY, lpSubKey: LPCSTR, lpNewFile: LPCSTR, + lpOldFile: LPCSTR): LONG{.stdcall, dynlib: "advapi32", + importc: "RegReplaceKeyA".} +proc RegRestoreKeyA*(hKey: HKEY, lpFile: LPCSTR, dwFlags: DWORD): LONG{.stdcall, + dynlib: "advapi32", importc: "RegRestoreKeyA".} +proc RegSaveKeyA*(hKey: HKEY, lpFile: LPCSTR, + lpSecurityAttributes: LPSECURITY_ATTRIBUTES): LONG{.stdcall, + dynlib: "advapi32", importc: "RegSaveKeyA".} +proc RegSetValueA*(hKey: HKEY, lpSubKey: LPCSTR, dwType: DWORD, lpData: LPCSTR, + cbData: DWORD): LONG{.stdcall, dynlib: "advapi32", + importc: "RegSetValueA".} +proc RegSetValueExA*(hKey: HKEY, lpValueName: LPCSTR, Reserved: DWORD, + dwType: DWORD, lpData: LPBYTE, cbData: DWORD): LONG{. + stdcall, dynlib: "advapi32", importc: "RegSetValueExA".} +proc RegUnLoadKeyA*(hKey: HKEY, lpSubKey: LPCSTR): LONG{.stdcall, + dynlib: "advapi32", importc: "RegUnLoadKeyA".} +proc InitiateSystemShutdownA*(lpMachineName: LPSTR, lpMessage: LPSTR, + dwTimeout: DWORD, bForceAppsClosed: WINBOOL, + bRebootAfterShutdown: WINBOOL): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "InitiateSystemShutdownA".} +proc AbortSystemShutdownA*(lpMachineName: LPSTR): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "AbortSystemShutdownA".} +proc CompareStringA*(Locale: LCID, dwCmpFlags: DWORD, lpString1: LPCSTR, + cchCount1: int32, lpString2: LPCSTR, cchCount2: int32): int32{. + stdcall, dynlib: "kernel32", importc: "CompareStringA".} +proc LCMapStringA*(Locale: LCID, dwMapFlags: DWORD, lpSrcStr: LPCSTR, + cchSrc: int32, lpDestStr: LPSTR, cchDest: int32): int32{. + stdcall, dynlib: "kernel32", importc: "LCMapStringA".} +proc GetLocaleInfoA*(Locale: LCID, LCType: LCTYPE, lpLCData: LPSTR, + cchData: int32): int32{.stdcall, dynlib: "kernel32", + importc: "GetLocaleInfoA".} +proc SetLocaleInfoA*(Locale: LCID, LCType: LCTYPE, lpLCData: LPCSTR): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "SetLocaleInfoA".} +proc GetTimeFormatA*(Locale: LCID, dwFlags: DWORD, lpTime: LPSYSTEMTIME, + lpFormat: LPCSTR, lpTimeStr: LPSTR, cchTime: int32): int32{. + stdcall, dynlib: "kernel32", importc: "GetTimeFormatA".} +proc GetDateFormatA*(Locale: LCID, dwFlags: DWORD, lpDate: LPSYSTEMTIME, + lpFormat: LPCSTR, lpDateStr: LPSTR, cchDate: int32): int32{. + stdcall, dynlib: "kernel32", importc: "GetDateFormatA".} +proc GetNumberFormatA*(Locale: LCID, dwFlags: DWORD, lpValue: LPCSTR, + lpFormat: PNUMBERFMT, lpNumberStr: LPSTR, + cchNumber: int32): int32{.stdcall, dynlib: "kernel32", + importc: "GetNumberFormatA".} +proc GetCurrencyFormatA*(Locale: LCID, dwFlags: DWORD, lpValue: LPCSTR, + lpFormat: PCURRENCYFMT, lpCurrencyStr: LPSTR, + cchCurrency: int32): int32{.stdcall, + dynlib: "kernel32", importc: "GetCurrencyFormatA".} +proc EnumCalendarInfoA*(lpCalInfoEnumProc: CALINFO_ENUMPROC, Locale: LCID, + Calendar: CALID, CalType: CALTYPE): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "EnumCalendarInfoA".} +proc EnumTimeFormatsA*(lpTimeFmtEnumProc: TIMEFMT_ENUMPROC, Locale: LCID, + dwFlags: DWORD): WINBOOL{.stdcall, dynlib: "kernel32", + importc: "EnumTimeFormatsA".} +proc EnumDateFormatsA*(lpDateFmtEnumProc: DATEFMT_ENUMPROC, Locale: LCID, + dwFlags: DWORD): WINBOOL{.stdcall, dynlib: "kernel32", + importc: "EnumDateFormatsA".} +proc GetStringTypeExA*(Locale: LCID, dwInfoType: DWORD, lpSrcStr: LPCSTR, + cchSrc: int32, lpCharType: LPWORD): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "GetStringTypeExA".} +proc GetStringTypeA*(Locale: LCID, dwInfoType: DWORD, lpSrcStr: LPCSTR, + cchSrc: int32, lpCharType: LPWORD): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "GetStringTypeA".} +proc FoldStringA*(dwMapFlags: DWORD, lpSrcStr: LPCSTR, cchSrc: int32, + lpDestStr: LPSTR, cchDest: int32): int32{.stdcall, + dynlib: "kernel32", importc: "FoldStringA".} +proc EnumSystemLocalesA*(lpLocaleEnumProc: LOCALE_ENUMPROC, dwFlags: DWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "EnumSystemLocalesA".} +proc EnumSystemCodePagesA*(lpCodePageEnumProc: CODEPAGE_ENUMPROC, dwFlags: DWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "EnumSystemCodePagesA".} +proc PeekConsoleInputA*(hConsoleInput: HANDLE, lpBuffer: PINPUTRECORD, + nLength: DWORD, lpNumberOfEventsRead: LPDWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "PeekConsoleInputA".} +proc ReadConsoleInputA*(hConsoleInput: HANDLE, lpBuffer: PINPUTRECORD, + nLength: DWORD, lpNumberOfEventsRead: LPDWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "ReadConsoleInputA".} +proc WriteConsoleInputA*(hConsoleInput: HANDLE, lpBuffer: PINPUTRECORD, + nLength: DWORD, lpNumberOfEventsWritten: LPDWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "WriteConsoleInputA".} +proc ReadConsoleOutputA*(hConsoleOutput: HANDLE, lpBuffer: PCHAR_INFO, + dwBufferSize: COORD, dwBufferCoord: COORD, + lpReadRegion: PSMALL_RECT): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "ReadConsoleOutputA".} +proc WriteConsoleOutputA*(hConsoleOutput: HANDLE, lpBuffer: PCHAR_INFO, + dwBufferSize: COORD, dwBufferCoord: COORD, + lpWriteRegion: PSMALL_RECT): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "WriteConsoleOutputA".} +proc ReadConsoleOutputCharacterA*(hConsoleOutput: HANDLE, lpCharacter: LPSTR, + nLength: DWORD, dwReadCoord: COORD, + lpNumberOfCharsRead: LPDWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "ReadConsoleOutputCharacterA".} +proc WriteConsoleOutputCharacterA*(hConsoleOutput: HANDLE, lpCharacter: LPCSTR, + nLength: DWORD, dwWriteCoord: COORD, + lpNumberOfCharsWritten: LPDWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "WriteConsoleOutputCharacterA".} +proc FillConsoleOutputCharacterA*(hConsoleOutput: HANDLE, cCharacter: CHAR, + nLength: DWORD, dwWriteCoord: COORD, + lpNumberOfCharsWritten: LPDWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "FillConsoleOutputCharacterA".} +proc ScrollConsoleScreenBufferA*(hConsoleOutput: HANDLE, + lpScrollRectangle: PSMALL_RECT, + lpClipRectangle: PSMALL_RECT, + dwDestinationOrigin: COORD, lpFill: PCHAR_INFO): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "ScrollConsoleScreenBufferA".} +proc GetConsoleTitleA*(lpConsoleTitle: LPSTR, nSize: DWORD): DWORD{.stdcall, + dynlib: "kernel32", importc: "GetConsoleTitleA".} +proc SetConsoleTitleA*(lpConsoleTitle: LPCSTR): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "SetConsoleTitleA".} +proc ReadConsoleA*(hConsoleInput: HANDLE, lpBuffer: LPVOID, + nNumberOfCharsToRead: DWORD, lpNumberOfCharsRead: LPDWORD, + lpReserved: LPVOID): WINBOOL{.stdcall, dynlib: "kernel32", + importc: "ReadConsoleA".} +proc WriteConsoleA*(hConsoleOutput: HANDLE, lpBuffer: pointer, + nNumberOfCharsToWrite: DWORD, + lpNumberOfCharsWritten: LPDWORD, lpReserved: LPVOID): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "WriteConsoleA".} +proc WNetAddConnectionA*(lpRemoteName: LPCSTR, lpPassword: LPCSTR, + lpLocalName: LPCSTR): DWORD{.stdcall, dynlib: "mpr", + importc: "WNetAddConnectionA".} +proc WNetAddConnection2A*(lpNetResource: LPNETRESOURCE, lpPassword: LPCSTR, + lpUserName: LPCSTR, dwFlags: DWORD): DWORD{.stdcall, + dynlib: "mpr", importc: "WNetAddConnection2A".} +proc WNetAddConnection3A*(hwndOwner: HWND, lpNetResource: LPNETRESOURCE, + lpPassword: LPCSTR, lpUserName: LPCSTR, dwFlags: DWORD): DWORD{. + stdcall, dynlib: "mpr", importc: "WNetAddConnection3A".} +proc WNetCancelConnectionA*(lpName: LPCSTR, fForce: WINBOOL): DWORD{.stdcall, + dynlib: "mpr", importc: "WNetCancelConnectionA".} +proc WNetCancelConnection2A*(lpName: LPCSTR, dwFlags: DWORD, fForce: WINBOOL): DWORD{. + stdcall, dynlib: "mpr", importc: "WNetCancelConnection2A".} +proc WNetGetConnectionA*(lpLocalName: LPCSTR, lpRemoteName: LPSTR, + lpnLength: LPDWORD): DWORD{.stdcall, dynlib: "mpr", + importc: "WNetGetConnectionA".} +proc WNetUseConnectionA*(hwndOwner: HWND, lpNetResource: LPNETRESOURCE, + lpUserID: LPCSTR, lpPassword: LPCSTR, dwFlags: DWORD, + lpAccessName: LPSTR, lpBufferSize: LPDWORD, + lpResult: LPDWORD): DWORD{.stdcall, dynlib: "mpr", + importc: "WNetUseConnectionA".} +proc WNetSetConnectionA*(lpName: LPCSTR, dwProperties: DWORD, pvValues: LPVOID): DWORD{. + stdcall, dynlib: "mpr", importc: "WNetSetConnectionA".} +proc WNetConnectionDialog1A*(lpConnDlgStruct: LPCONNECTDLGSTRUCT): DWORD{. + stdcall, dynlib: "mpr", importc: "WNetConnectionDialog1A".} +proc WNetDisconnectDialog1A*(lpConnDlgStruct: LPDISCDLGSTRUCT): DWORD{.stdcall, + dynlib: "mpr", importc: "WNetDisconnectDialog1A".} +proc WNetOpenEnumA*(dwScope: DWORD, dwType: DWORD, dwUsage: DWORD, + lpNetResource: LPNETRESOURCE, lphEnum: LPHANDLE): DWORD{. + stdcall, dynlib: "mpr", importc: "WNetOpenEnumA".} +proc WNetEnumResourceA*(hEnum: HANDLE, lpcCount: LPDWORD, lpBuffer: LPVOID, + lpBufferSize: LPDWORD): DWORD{.stdcall, dynlib: "mpr", + importc: "WNetEnumResourceA".} +proc WNetGetUniversalNameA*(lpLocalPath: LPCSTR, dwInfoLevel: DWORD, + lpBuffer: LPVOID, lpBufferSize: LPDWORD): DWORD{. + stdcall, dynlib: "mpr", importc: "WNetGetUniversalNameA".} +proc WNetGetUserA*(lpName: LPCSTR, lpUserName: LPSTR, lpnLength: LPDWORD): DWORD{. + stdcall, dynlib: "mpr", importc: "WNetGetUserA".} +proc WNetGetProviderNameA*(dwNetType: DWORD, lpProviderName: LPSTR, + lpBufferSize: LPDWORD): DWORD{.stdcall, + dynlib: "mpr", importc: "WNetGetProviderNameA".} +proc WNetGetNetworkInformationA*(lpProvider: LPCSTR, + lpNetInfoStruct: LPNETINFOSTRUCT): DWORD{. + stdcall, dynlib: "mpr", importc: "WNetGetNetworkInformationA".} +proc WNetGetLastErrorA*(lpError: LPDWORD, lpErrorBuf: LPSTR, + nErrorBufSize: DWORD, lpNameBuf: LPSTR, + nNameBufSize: DWORD): DWORD{.stdcall, dynlib: "mpr", + importc: "WNetGetLastErrorA".} +proc MultinetGetConnectionPerformanceA*(lpNetResource: LPNETRESOURCE, + lpNetConnectInfoStruct: LPNETCONNECTINFOSTRUCT): DWORD{.stdcall, + dynlib: "mpr", importc: "MultinetGetConnectionPerformanceA".} +proc ChangeServiceConfigA*(hService: SC_HANDLE, dwServiceType: DWORD, + dwStartType: DWORD, dwErrorControl: DWORD, + lpBinaryPathName: LPCSTR, lpLoadOrderGroup: LPCSTR, + lpdwTagId: LPDWORD, lpDependencies: LPCSTR, + lpServiceStartName: LPCSTR, lpPassword: LPCSTR, + lpDisplayName: LPCSTR): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "ChangeServiceConfigA".} +proc CreateServiceA*(hSCManager: SC_HANDLE, lpServiceName: LPCSTR, + lpDisplayName: LPCSTR, dwDesiredAccess: DWORD, + dwServiceType: DWORD, dwStartType: DWORD, + dwErrorControl: DWORD, lpBinaryPathName: LPCSTR, + lpLoadOrderGroup: LPCSTR, lpdwTagId: LPDWORD, + lpDependencies: LPCSTR, lpServiceStartName: LPCSTR, + lpPassword: LPCSTR): SC_HANDLE{.stdcall, + dynlib: "advapi32", importc: "CreateServiceA".} +proc EnumDependentServicesA*(hService: SC_HANDLE, dwServiceState: DWORD, + lpServices: LPENUM_SERVICE_STATUS, + cbBufSize: DWORD, pcbBytesNeeded: LPDWORD, + lpServicesReturned: LPDWORD): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "EnumDependentServicesA".} +proc EnumServicesStatusA*(hSCManager: SC_HANDLE, dwServiceType: DWORD, + dwServiceState: DWORD, + lpServices: LPENUM_SERVICE_STATUS, cbBufSize: DWORD, + pcbBytesNeeded: LPDWORD, lpServicesReturned: LPDWORD, + lpResumeHandle: LPDWORD): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "EnumServicesStatusA".} +proc GetServiceKeyNameA*(hSCManager: SC_HANDLE, lpDisplayName: LPCSTR, + lpServiceName: LPSTR, lpcchBuffer: LPDWORD): WINBOOL{. + stdcall, dynlib: "advapi32", importc: "GetServiceKeyNameA".} +proc GetServiceDisplayNameA*(hSCManager: SC_HANDLE, lpServiceName: LPCSTR, + lpDisplayName: LPSTR, lpcchBuffer: LPDWORD): WINBOOL{. + stdcall, dynlib: "advapi32", importc: "GetServiceDisplayNameA".} +proc OpenSCManagerA*(lpMachineName: LPCSTR, lpDatabaseName: LPCSTR, + dwDesiredAccess: DWORD): SC_HANDLE{.stdcall, + dynlib: "advapi32", importc: "OpenSCManagerA".} +proc OpenServiceA*(hSCManager: SC_HANDLE, lpServiceName: LPCSTR, + dwDesiredAccess: DWORD): SC_HANDLE{.stdcall, + dynlib: "advapi32", importc: "OpenServiceA".} +proc QueryServiceConfigA*(hService: SC_HANDLE, + lpServiceConfig: LPQUERY_SERVICE_CONFIG, + cbBufSize: DWORD, pcbBytesNeeded: LPDWORD): WINBOOL{. + stdcall, dynlib: "advapi32", importc: "QueryServiceConfigA".} +proc QueryServiceLockStatusA*(hSCManager: SC_HANDLE, + lpLockStatus: LPQUERY_SERVICE_LOCK_STATUS, + cbBufSize: DWORD, pcbBytesNeeded: LPDWORD): WINBOOL{. + stdcall, dynlib: "advapi32", importc: "QueryServiceLockStatusA".} +proc RegisterServiceCtrlHandlerA*(lpServiceName: LPCSTR, + lpHandlerProc: LPHANDLER_FUNCTION): SERVICE_STATUS_HANDLE{. + stdcall, dynlib: "advapi32", importc: "RegisterServiceCtrlHandlerA".} +proc StartServiceCtrlDispatcherA*(lpServiceStartTable: LPSERVICE_TABLE_ENTRY): WINBOOL{. + stdcall, dynlib: "advapi32", importc: "StartServiceCtrlDispatcherA".} +proc StartServiceA*(hService: SC_HANDLE, dwNumServiceArgs: DWORD, + lpServiceArgVectors: LPCSTR): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "StartServiceA".} +proc DragQueryFileA*(para1: HDROP, para2: int, para3: cstring, para4: int): int{. + stdcall, dynlib: "shell32", importc: "DragQueryFileA".} +proc ExtractAssociatedIconA*(para1: HINST, para2: cstring, para3: LPWORD): HICON{. + stdcall, dynlib: "shell32", importc: "ExtractAssociatedIconA".} +proc ExtractIconA*(para1: HINST, para2: cstring, para3: int): HICON{.stdcall, + dynlib: "shell32", importc: "ExtractIconA".} +proc FindExecutableA*(para1: cstring, para2: cstring, para3: cstring): HINST{. + stdcall, dynlib: "shell32", importc: "FindExecutableA".} +proc ShellAboutA*(para1: HWND, para2: cstring, para3: cstring, para4: HICON): int32{. + stdcall, dynlib: "shell32", importc: "ShellAboutA".} +proc ShellExecuteA*(para1: HWND, para2: cstring, para3: cstring, para4: cstring, + para5: cstring, para6: int32): HINST{.stdcall, + dynlib: "shell32", importc: "ShellExecuteA".} +proc Shell_NotifyIconA*(dwMessage: DWORD, lpData: PNotifyIconDataA): WINBOOL{. + stdcall, dynlib: "shell32", importc: "Shell_NotifyIconA".} +proc DdeCreateStringHandleA*(para1: DWORD, para2: cstring, para3: int32): HSZ{. + stdcall, dynlib: "user32", importc: "DdeCreateStringHandleA".} +proc DdeInitializeA*(para1: LPDWORD, para2: PFNCALLBACK, para3: DWORD, + para4: DWORD): UINT{.stdcall, dynlib: "user32", + importc: "DdeInitializeA".} +proc DdeQueryStringA*(para1: DWORD, para2: HSZ, para3: cstring, para4: DWORD, + para5: int32): DWORD{.stdcall, dynlib: "user32", + importc: "DdeQueryStringA".} +proc LogonUserA*(para1: LPSTR, para2: LPSTR, para3: LPSTR, para4: DWORD, + para5: DWORD, para6: PHANDLE): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "LogonUserA".} +proc CreateProcessAsUserA*(para1: HANDLE, para2: LPCTSTR, para3: LPTSTR, + para4: LPSECURITY_ATTRIBUTES, + para5: LPSECURITY_ATTRIBUTES, para6: WINBOOL, + para7: DWORD, para8: LPVOID, para9: LPCTSTR, + para10: LPSTARTUPINFO, para11: LPPROCESS_INFORMATION): WINBOOL{. + stdcall, dynlib: "advapi32", importc: "CreateProcessAsUserA".} +proc GetBinaryTypeW*(lpApplicationName: LPCWSTR, lpBinaryType: LPDWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "GetBinaryTypeW".} +proc GetShortPathNameW*(lpszLongPath: LPCWSTR, lpszShortPath: LPWSTR, + cchBuffer: DWORD): DWORD{.stdcall, dynlib: "kernel32", + importc: "GetShortPathNameW".} +proc GetEnvironmentStringsW*(): LPWSTR{.stdcall, dynlib: "kernel32", + importc: "GetEnvironmentStringsW".} +proc FreeEnvironmentStringsW*(para1: LPWSTR): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "FreeEnvironmentStringsW".} +proc FormatMessageW*(dwFlags: DWORD, lpSource: LPCVOID, dwMessageId: DWORD, + dwLanguageId: DWORD, lpBuffer: LPWSTR, nSize: DWORD, + Arguments: va_list): DWORD{.stdcall, dynlib: "kernel32", + importc: "FormatMessageW".} +proc CreateMailslotW*(lpName: LPCWSTR, nMaxMessageSize: DWORD, + lReadTimeout: DWORD, + lpSecurityAttributes: LPSECURITY_ATTRIBUTES): HANDLE{. + stdcall, dynlib: "kernel32", importc: "CreateMailslotW".} +proc lstrcmpW*(lpString1: LPCWSTR, lpString2: LPCWSTR): int32{.stdcall, + dynlib: "kernel32", importc: "lstrcmpW".} +proc lstrcmpiW*(lpString1: LPCWSTR, lpString2: LPCWSTR): int32{.stdcall, + dynlib: "kernel32", importc: "lstrcmpiW".} +proc lstrcpynW*(lpString1: LPWSTR, lpString2: LPCWSTR, iMaxLength: int32): LPWSTR{. + stdcall, dynlib: "kernel32", importc: "lstrcpynW".} +proc lstrcpyW*(lpString1: LPWSTR, lpString2: LPCWSTR): LPWSTR{.stdcall, + dynlib: "kernel32", importc: "lstrcpyW".} +proc lstrcatW*(lpString1: LPWSTR, lpString2: LPCWSTR): LPWSTR{.stdcall, + dynlib: "kernel32", importc: "lstrcatW".} +proc lstrlenW*(lpString: LPCWSTR): int32{.stdcall, dynlib: "kernel32", + importc: "lstrlenW".} +proc CreateMutexW*(lpMutexAttributes: LPSECURITY_ATTRIBUTES, + bInitialOwner: WINBOOL, lpName: LPCWSTR): HANDLE{.stdcall, + dynlib: "kernel32", importc: "CreateMutexW".} +proc OpenMutexW*(dwDesiredAccess: DWORD, bInheritHandle: WINBOOL, + lpName: LPCWSTR): HANDLE{.stdcall, dynlib: "kernel32", + importc: "OpenMutexW".} +proc CreateEventW*(lpEventAttributes: LPSECURITY_ATTRIBUTES, + bManualReset: WINBOOL, bInitialState: WINBOOL, + lpName: LPCWSTR): HANDLE{.stdcall, dynlib: "kernel32", + importc: "CreateEventW".} +proc OpenEventW*(dwDesiredAccess: DWORD, bInheritHandle: WINBOOL, + lpName: LPCWSTR): HANDLE{.stdcall, dynlib: "kernel32", + importc: "OpenEventW".} +proc CreateSemaphoreW*(lpSemaphoreAttributes: LPSECURITY_ATTRIBUTES, + lInitialCount: LONG, lMaximumCount: LONG, lpName: LPCWSTR): HANDLE{. + stdcall, dynlib: "kernel32", importc: "CreateSemaphoreW".} +proc OpenSemaphoreW*(dwDesiredAccess: DWORD, bInheritHandle: WINBOOL, + lpName: LPCWSTR): HANDLE{.stdcall, dynlib: "kernel32", + importc: "OpenSemaphoreW".} +proc CreateFileMappingW*(hFile: HANDLE, + lpFileMappingAttributes: LPSECURITY_ATTRIBUTES, + flProtect: DWORD, dwMaximumSizeHigh: DWORD, + dwMaximumSizeLow: DWORD, lpName: LPCWSTR): HANDLE{. + stdcall, dynlib: "kernel32", importc: "CreateFileMappingW".} +proc OpenFileMappingW*(dwDesiredAccess: DWORD, bInheritHandle: WINBOOL, + lpName: LPCWSTR): HANDLE{.stdcall, dynlib: "kernel32", + importc: "OpenFileMappingW".} +proc GetLogicalDriveStringsW*(nBufferLength: DWORD, lpBuffer: LPWSTR): DWORD{. + stdcall, dynlib: "kernel32", importc: "GetLogicalDriveStringsW".} +proc LoadLibraryW*(lpLibFileName: LPCWSTR): HINST{.stdcall, dynlib: "kernel32", + importc: "LoadLibraryW".} +proc LoadLibraryExW*(lpLibFileName: LPCWSTR, hFile: HANDLE, dwFlags: DWORD): HINST{. + stdcall, dynlib: "kernel32", importc: "LoadLibraryExW".} +proc GetModuleFileNameW*(hModule: HINST, lpFilename: LPWSTR, nSize: DWORD): DWORD{. + stdcall, dynlib: "kernel32", importc: "GetModuleFileNameW".} +proc GetModuleHandleW*(lpModuleName: LPCWSTR): HMODULE{.stdcall, + dynlib: "kernel32", importc: "GetModuleHandleW".} +proc FatalAppExitW*(uAction: UINT, lpMessageText: LPCWSTR){.stdcall, + dynlib: "kernel32", importc: "FatalAppExitW".} +proc GetCommandLineW*(): LPWSTR{.stdcall, dynlib: "kernel32", + importc: "GetCommandLineW".} +proc GetEnvironmentVariableW*(lpName: LPCWSTR, lpBuffer: LPWSTR, nSize: DWORD): DWORD{. + stdcall, dynlib: "kernel32", importc: "GetEnvironmentVariableW".} +proc SetEnvironmentVariableW*(lpName: LPCWSTR, lpValue: LPCWSTR): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "SetEnvironmentVariableW".} +proc ExpandEnvironmentStringsW*(lpSrc: LPCWSTR, lpDst: LPWSTR, nSize: DWORD): DWORD{. + stdcall, dynlib: "kernel32", importc: "ExpandEnvironmentStringsW".} +proc OutputDebugStringW*(lpOutputString: LPCWSTR){.stdcall, dynlib: "kernel32", + importc: "OutputDebugStringW".} +proc FindResourceW*(hModule: HINST, lpName: LPCWSTR, lpType: LPCWSTR): HRSRC{. + stdcall, dynlib: "kernel32", importc: "FindResourceW".} +proc FindResourceExW*(hModule: HINST, lpType: LPCWSTR, lpName: LPCWSTR, + wLanguage: int16): HRSRC{.stdcall, dynlib: "kernel32", + importc: "FindResourceExW".} +proc EnumResourceTypesW*(hModule: HINST, lpEnumFunc: ENUMRESTYPEPROC, + lParam: LONG): WINBOOL{.stdcall, dynlib: "kernel32", + importc: "EnumResourceTypesW".} +proc EnumResourceNamesW*(hModule: HINST, lpType: LPCWSTR, + lpEnumFunc: ENUMRESNAMEPROC, lParam: LONG): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "EnumResourceNamesW".} +proc EnumResourceLanguagesW*(hModule: HINST, lpType: LPCWSTR, lpName: LPCWSTR, + lpEnumFunc: ENUMRESLANGPROC, lParam: LONG): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "EnumResourceLanguagesW".} +proc BeginUpdateResourceW*(pFileName: LPCWSTR, bDeleteExistingResources: WINBOOL): HANDLE{. + stdcall, dynlib: "kernel32", importc: "BeginUpdateResourceW".} +proc UpdateResourceW*(hUpdate: HANDLE, lpType: LPCWSTR, lpName: LPCWSTR, + wLanguage: int16, lpData: LPVOID, cbData: DWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "UpdateResourceW".} +proc EndUpdateResourceW*(hUpdate: HANDLE, fDiscard: WINBOOL): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "EndUpdateResourceW".} +proc GlobalAddAtomW*(lpString: LPCWSTR): ATOM{.stdcall, dynlib: "kernel32", + importc: "GlobalAddAtomW".} +proc GlobalFindAtomW*(lpString: LPCWSTR): ATOM{.stdcall, dynlib: "kernel32", + importc: "GlobalFindAtomW".} +proc GlobalGetAtomNameW*(nAtom: ATOM, lpBuffer: LPWSTR, nSize: int32): UINT{. + stdcall, dynlib: "kernel32", importc: "GlobalGetAtomNameW".} +proc AddAtomW*(lpString: LPCWSTR): ATOM{.stdcall, dynlib: "kernel32", + importc: "AddAtomW".} +proc FindAtomW*(lpString: LPCWSTR): ATOM{.stdcall, dynlib: "kernel32", + importc: "FindAtomW".} +proc GetAtomNameW*(nAtom: ATOM, lpBuffer: LPWSTR, nSize: int32): UINT{.stdcall, + dynlib: "kernel32", importc: "GetAtomNameW".} +proc GetProfileIntW*(lpAppName: LPCWSTR, lpKeyName: LPCWSTR, nDefault: WINT): UINT{. + stdcall, dynlib: "kernel32", importc: "GetProfileIntW".} +proc GetProfileStringW*(lpAppName: LPCWSTR, lpKeyName: LPCWSTR, + lpDefault: LPCWSTR, lpReturnedString: LPWSTR, + nSize: DWORD): DWORD{.stdcall, dynlib: "kernel32", + importc: "GetProfileStringW".} +proc WriteProfileStringW*(lpAppName: LPCWSTR, lpKeyName: LPCWSTR, + lpString: LPCWSTR): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "WriteProfileStringW".} +proc GetProfileSectionW*(lpAppName: LPCWSTR, lpReturnedString: LPWSTR, + nSize: DWORD): DWORD{.stdcall, dynlib: "kernel32", + importc: "GetProfileSectionW".} +proc WriteProfileSectionW*(lpAppName: LPCWSTR, lpString: LPCWSTR): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "WriteProfileSectionW".} +proc GetPrivateProfileIntW*(lpAppName: LPCWSTR, lpKeyName: LPCWSTR, + nDefault: WINT, lpFileName: LPCWSTR): UINT{.stdcall, + dynlib: "kernel32", importc: "GetPrivateProfileIntW".} +proc GetPrivateProfileStringW*(lpAppName: LPCWSTR, lpKeyName: LPCWSTR, + lpDefault: LPCWSTR, lpReturnedString: LPWSTR, + nSize: DWORD, lpFileName: LPCWSTR): DWORD{. + stdcall, dynlib: "kernel32", importc: "GetPrivateProfileStringW".} +proc WritePrivateProfileStringW*(lpAppName: LPCWSTR, lpKeyName: LPCWSTR, + lpString: LPCWSTR, lpFileName: LPCWSTR): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "WritePrivateProfileStringW".} +proc GetPrivateProfileSectionW*(lpAppName: LPCWSTR, lpReturnedString: LPWSTR, + nSize: DWORD, lpFileName: LPCWSTR): DWORD{. + stdcall, dynlib: "kernel32", importc: "GetPrivateProfileSectionW".} +proc WritePrivateProfileSectionW*(lpAppName: LPCWSTR, lpString: LPCWSTR, + lpFileName: LPCWSTR): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "WritePrivateProfileSectionW".} +proc GetDriveTypeW*(lpRootPathName: LPCWSTR): UINT{.stdcall, dynlib: "kernel32", + importc: "GetDriveTypeW".} +proc GetSystemDirectoryW*(lpBuffer: LPWSTR, uSize: UINT): UINT{.stdcall, + dynlib: "kernel32", importc: "GetSystemDirectoryW".} +proc GetTempPathW*(nBufferLength: DWORD, lpBuffer: LPWSTR): DWORD{.stdcall, + dynlib: "kernel32", importc: "GetTempPathW".} +proc GetTempFileNameW*(lpPathName: LPCWSTR, lpPrefixString: LPCWSTR, + uUnique: UINT, lpTempFileName: LPWSTR): UINT{.stdcall, + dynlib: "kernel32", importc: "GetTempFileNameW".} +proc GetWindowsDirectoryW*(lpBuffer: LPWSTR, uSize: UINT): UINT{.stdcall, + dynlib: "kernel32", importc: "GetWindowsDirectoryW".} +proc SetCurrentDirectoryW*(lpPathName: LPCWSTR): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "SetCurrentDirectoryW".} +proc GetCurrentDirectoryW*(nBufferLength: DWORD, lpBuffer: LPWSTR): DWORD{. + stdcall, dynlib: "kernel32", importc: "GetCurrentDirectoryW".} +proc GetDiskFreeSpaceW*(lpRootPathName: LPCWSTR, lpSectorsPerCluster: LPDWORD, + lpBytesPerSector: LPDWORD, + lpNumberOfFreeClusters: LPDWORD, + lpTotalNumberOfClusters: LPDWORD): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "GetDiskFreeSpaceW".} +proc CreateDirectoryW*(lpPathName: LPCWSTR, + lpSecurityAttributes: LPSECURITY_ATTRIBUTES): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "CreateDirectoryW".} +proc CreateDirectoryExW*(lpTemplateDirectory: LPCWSTR, lpNewDirectory: LPCWSTR, + lpSecurityAttributes: LPSECURITY_ATTRIBUTES): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "CreateDirectoryExW".} +proc RemoveDirectoryW*(lpPathName: LPCWSTR): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "RemoveDirectoryW".} +proc GetFullPathNameW*(lpFileName: LPCWSTR, nBufferLength: DWORD, + lpBuffer: LPWSTR, lpFilePart: var LPWSTR): DWORD{. + stdcall, dynlib: "kernel32", importc: "GetFullPathNameW".} +proc DefineDosDeviceW*(dwFlags: DWORD, lpDeviceName: LPCWSTR, + lpTargetPath: LPCWSTR): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "DefineDosDeviceW".} +proc QueryDosDeviceW*(lpDeviceName: LPCWSTR, lpTargetPath: LPWSTR, + ucchMax: DWORD): DWORD{.stdcall, dynlib: "kernel32", + importc: "QueryDosDeviceW".} +proc CreateFileW*(lpFileName: LPCWSTR, dwDesiredAccess: DWORD, + dwShareMode: DWORD, + lpSecurityAttributes: LPSECURITY_ATTRIBUTES, + dwCreationDisposition: DWORD, dwFlagsAndAttributes: DWORD, + hTemplateFile: HANDLE): HANDLE{.stdcall, dynlib: "kernel32", + importc: "CreateFileW".} +proc SetFileAttributesW*(lpFileName: LPCWSTR, dwFileAttributes: DWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "SetFileAttributesW".} +proc GetFileAttributesW*(lpFileName: LPCWSTR): DWORD{.stdcall, + dynlib: "kernel32", importc: "GetFileAttributesW".} +proc GetCompressedFileSizeW*(lpFileName: LPCWSTR, lpFileSizeHigh: LPDWORD): DWORD{. + stdcall, dynlib: "kernel32", importc: "GetCompressedFileSizeW".} +proc DeleteFileW*(lpFileName: LPCWSTR): WINBOOL{.stdcall, dynlib: "kernel32", + importc: "DeleteFileW".} +proc SearchPathW*(lpPath: LPCWSTR, lpFileName: LPCWSTR, lpExtension: LPCWSTR, + nBufferLength: DWORD, lpBuffer: LPWSTR, lpFilePart: LPWSTR): DWORD{. + stdcall, dynlib: "kernel32", importc: "SearchPathW".} +proc CopyFileW*(lpExistingFileName: LPCWSTR, lpNewFileName: LPCWSTR, + bFailIfExists: WINBOOL): WINBOOL{.stdcall, dynlib: "kernel32", + importc: "CopyFileW".} +proc MoveFileW*(lpExistingFileName: LPCWSTR, lpNewFileName: LPCWSTR): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "MoveFileW".} +proc MoveFileExW*(lpExistingFileName: LPCWSTR, lpNewFileName: LPCWSTR, + dwFlags: DWORD): WINBOOL{.stdcall, dynlib: "kernel32", + importc: "MoveFileExW".} +proc CreateNamedPipeW*(lpName: LPCWSTR, dwOpenMode: DWORD, dwPipeMode: DWORD, + nMaxInstances: DWORD, nOutBufferSize: DWORD, + nInBufferSize: DWORD, nDefaultTimeOut: DWORD, + lpSecurityAttributes: LPSECURITY_ATTRIBUTES): HANDLE{. + stdcall, dynlib: "kernel32", importc: "CreateNamedPipeW".} +proc GetNamedPipeHandleStateW*(hNamedPipe: HANDLE, lpState: LPDWORD, + lpCurInstances: LPDWORD, + lpMaxCollectionCount: LPDWORD, + lpCollectDataTimeout: LPDWORD, + lpUserName: LPWSTR, nMaxUserNameSize: DWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "GetNamedPipeHandleStateW".} +proc CallNamedPipeW*(lpNamedPipeName: LPCWSTR, lpInBuffer: LPVOID, + nInBufferSize: DWORD, lpOutBuffer: LPVOID, + nOutBufferSize: DWORD, lpBytesRead: LPDWORD, + nTimeOut: DWORD): WINBOOL{.stdcall, dynlib: "kernel32", + importc: "CallNamedPipeW".} +proc WaitNamedPipeW*(lpNamedPipeName: LPCWSTR, nTimeOut: DWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "WaitNamedPipeW".} +proc SetVolumeLabelW*(lpRootPathName: LPCWSTR, lpVolumeName: LPCWSTR): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "SetVolumeLabelW".} +proc GetVolumeInformationW*(lpRootPathName: LPCWSTR, lpVolumeNameBuffer: LPWSTR, + nVolumeNameSize: DWORD, + lpVolumeSerialNumber: LPDWORD, + lpMaximumComponentLength: LPDWORD, + lpFileSystemFlags: LPDWORD, + lpFileSystemNameBuffer: LPWSTR, + nFileSystemNameSize: DWORD): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "GetVolumeInformationW".} +proc ClearEventLogW*(hEventLog: HANDLE, lpBackupFileName: LPCWSTR): WINBOOL{. + stdcall, dynlib: "advapi32", importc: "ClearEventLogW".} +proc BackupEventLogW*(hEventLog: HANDLE, lpBackupFileName: LPCWSTR): WINBOOL{. + stdcall, dynlib: "advapi32", importc: "BackupEventLogW".} +proc OpenEventLogW*(lpUNCServerName: LPCWSTR, lpSourceName: LPCWSTR): HANDLE{. + stdcall, dynlib: "advapi32", importc: "OpenEventLogW".} +proc RegisterEventSourceW*(lpUNCServerName: LPCWSTR, lpSourceName: LPCWSTR): HANDLE{. + stdcall, dynlib: "advapi32", importc: "RegisterEventSourceW".} +proc OpenBackupEventLogW*(lpUNCServerName: LPCWSTR, lpFileName: LPCWSTR): HANDLE{. + stdcall, dynlib: "advapi32", importc: "OpenBackupEventLogW".} +proc ReadEventLogW*(hEventLog: HANDLE, dwReadFlags: DWORD, + dwRecordOffset: DWORD, lpBuffer: LPVOID, + nNumberOfBytesToRead: DWORD, pnBytesRead: LPDWORD, + pnMinNumberOfBytesNeeded: LPDWORD): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "ReadEventLogW".} +proc ReportEventW*(hEventLog: HANDLE, wType: int16, wCategory: int16, + dwEventID: DWORD, lpUserSid: PSID, wNumStrings: int16, + dwDataSize: DWORD, lpStrings: LPPCWSTR, lpRawData: LPVOID): WINBOOL{. + stdcall, dynlib: "advapi32", importc: "ReportEventW".} +proc AccessCheckAndAuditAlarmW*(SubsystemName: LPCWSTR, HandleId: LPVOID, + ObjectTypeName: LPWSTR, ObjectName: LPWSTR, + SecurityDescriptor: PSECURITY_DESCRIPTOR, + DesiredAccess: DWORD, + GenericMapping: PGENERIC_MAPPING, + ObjectCreation: WINBOOL, GrantedAccess: LPDWORD, + AccessStatus: LPBOOL, pfGenerateOnClose: LPBOOL): WINBOOL{. + stdcall, dynlib: "advapi32", importc: "AccessCheckAndAuditAlarmW".} +proc ObjectOpenAuditAlarmW*(SubsystemName: LPCWSTR, HandleId: LPVOID, + ObjectTypeName: LPWSTR, ObjectName: LPWSTR, + pSecurityDescriptor: PSECURITY_DESCRIPTOR, + ClientToken: HANDLE, DesiredAccess: DWORD, + GrantedAccess: DWORD, Privileges: PPRIVILEGE_SET, + ObjectCreation: WINBOOL, AccessGranted: WINBOOL, + GenerateOnClose: LPBOOL): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "ObjectOpenAuditAlarmW".} +proc ObjectPrivilegeAuditAlarmW*(SubsystemName: LPCWSTR, HandleId: LPVOID, + ClientToken: HANDLE, DesiredAccess: DWORD, + Privileges: PPRIVILEGE_SET, + AccessGranted: WINBOOL): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "ObjectPrivilegeAuditAlarmW".} +proc ObjectCloseAuditAlarmW*(SubsystemName: LPCWSTR, HandleId: LPVOID, + GenerateOnClose: WINBOOL): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "ObjectCloseAuditAlarmW".} +proc PrivilegedServiceAuditAlarmW*(SubsystemName: LPCWSTR, ServiceName: LPCWSTR, + ClientToken: HANDLE, + Privileges: PPRIVILEGE_SET, + AccessGranted: WINBOOL): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "PrivilegedServiceAuditAlarmW".} +proc SetFileSecurityW*(lpFileName: LPCWSTR, + SecurityInformation: SECURITY_INFORMATION, + pSecurityDescriptor: PSECURITY_DESCRIPTOR): WINBOOL{. + stdcall, dynlib: "advapi32", importc: "SetFileSecurityW".} +proc GetFileSecurityW*(lpFileName: LPCWSTR, + RequestedInformation: SECURITY_INFORMATION, + pSecurityDescriptor: PSECURITY_DESCRIPTOR, + nLength: DWORD, lpnLengthNeeded: LPDWORD): WINBOOL{. + stdcall, dynlib: "advapi32", importc: "GetFileSecurityW".} +proc FindFirstChangeNotificationW*(lpPathName: LPCWSTR, bWatchSubtree: WINBOOL, + dwNotifyFilter: DWORD): HANDLE{.stdcall, + dynlib: "kernel32", importc: "FindFirstChangeNotificationW".} +proc IsBadStringPtrW*(lpsz: LPCWSTR, ucchMax: UINT): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "IsBadStringPtrW".} +proc LookupAccountSidW*(lpSystemName: LPCWSTR, Sid: PSID, Name: LPWSTR, + cbName: LPDWORD, ReferencedDomainName: LPWSTR, + cbReferencedDomainName: LPDWORD, peUse: PSID_NAME_USE): WINBOOL{. + stdcall, dynlib: "advapi32", importc: "LookupAccountSidW".} +proc LookupAccountNameW*(lpSystemName: LPCWSTR, lpAccountName: LPCWSTR, + Sid: PSID, cbSid: LPDWORD, + ReferencedDomainName: LPWSTR, + cbReferencedDomainName: LPDWORD, peUse: PSID_NAME_USE): WINBOOL{. + stdcall, dynlib: "advapi32", importc: "LookupAccountNameW".} +proc LookupPrivilegeValueW*(lpSystemName: LPCWSTR, lpName: LPCWSTR, + lpLuid: PLUID): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "LookupPrivilegeValueW".} +proc LookupPrivilegeNameW*(lpSystemName: LPCWSTR, lpLuid: PLUID, lpName: LPWSTR, + cbName: LPDWORD): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "LookupPrivilegeNameW".} +proc LookupPrivilegeDisplayNameW*(lpSystemName: LPCWSTR, lpName: LPCWSTR, + lpDisplayName: LPWSTR, cbDisplayName: LPDWORD, + lpLanguageId: LPDWORD): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "LookupPrivilegeDisplayNameW".} +proc BuildCommDCBW*(lpDef: LPCWSTR, lpDCB: LPDCB): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "BuildCommDCBW".} +proc BuildCommDCBAndTimeoutsW*(lpDef: LPCWSTR, lpDCB: LPDCB, + lpCommTimeouts: LPCOMMTIMEOUTS): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "BuildCommDCBAndTimeoutsW".} +proc CommConfigDialogW*(lpszName: LPCWSTR, hWnd: HWND, lpCC: LPCOMMCONFIG): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "CommConfigDialogW".} +proc GetDefaultCommConfigW*(lpszName: LPCWSTR, lpCC: LPCOMMCONFIG, + lpdwSize: LPDWORD): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "GetDefaultCommConfigW".} +proc SetDefaultCommConfigW*(lpszName: LPCWSTR, lpCC: LPCOMMCONFIG, dwSize: DWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "SetDefaultCommConfigW".} +proc GetComputerNameW*(lpBuffer: LPWSTR, nSize: LPDWORD): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "GetComputerNameW".} +proc SetComputerNameW*(lpComputerName: LPCWSTR): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "SetComputerNameW".} +proc GetUserNameW*(lpBuffer: LPWSTR, nSize: LPDWORD): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "GetUserNameW".} +proc LoadKeyboardLayoutW*(pwszKLID: LPCWSTR, Flags: UINT): HKL{.stdcall, + dynlib: "user32", importc: "LoadKeyboardLayoutW".} +proc GetKeyboardLayoutNameW*(pwszKLID: LPWSTR): WINBOOL{.stdcall, + dynlib: "user32", importc: "GetKeyboardLayoutNameW".} +proc CreateDesktopW*(lpszDesktop: LPWSTR, lpszDevice: LPWSTR, + pDevmodew: LPDEVMODEw, dwFlags: DWORD, + dwDesiredAccess: DWORD, lpsa: LPSECURITY_ATTRIBUTES): HDESK{. + stdcall, dynlib: "user32", importc: "CreateDesktopW".} +proc OpenDesktopW*(lpszDesktop: LPWSTR, dwFlags: DWORD, fInherit: WINBOOL, + dwDesiredAccess: DWORD): HDESK{.stdcall, dynlib: "user32", + importc: "OpenDesktopW".} +proc EnumDesktopsW*(hwinsta: HWINSTA, lpEnumFunc: DESKTOPENUMPROC, + lParam: LPARAM): WINBOOL{.stdcall, dynlib: "user32", + importc: "EnumDesktopsW".} +proc CreateWindowStationW*(lpwinsta: LPWSTR, dwReserved: DWORD, + dwDesiredAccess: DWORD, lpsa: LPSECURITY_ATTRIBUTES): HWINSTA{. + stdcall, dynlib: "user32", importc: "CreateWindowStationW".} +proc OpenWindowStationW*(lpszWinSta: LPWSTR, fInherit: WINBOOL, + dwDesiredAccess: DWORD): HWINSTA{.stdcall, + dynlib: "user32", importc: "OpenWindowStationW".} +proc EnumWindowStationsW*(lpEnumFunc: ENUMWINDOWSTATIONPROC, lParam: LPARAM): WINBOOL{. + stdcall, dynlib: "user32", importc: "EnumWindowStationsW".} +proc GetUserObjectInformationW*(hObj: HANDLE, nIndex: int32, pvInfo: PVOID, + nLength: DWORD, lpnLengthNeeded: LPDWORD): WINBOOL{. + stdcall, dynlib: "user32", importc: "GetUserObjectInformationW".} +proc SetUserObjectInformationW*(hObj: HANDLE, nIndex: int32, pvInfo: PVOID, + nLength: DWORD): WINBOOL{.stdcall, + dynlib: "user32", importc: "SetUserObjectInformationW".} +proc RegisterWindowMessageW*(lpString: LPCWSTR): UINT{.stdcall, + dynlib: "user32", importc: "RegisterWindowMessageW".} +proc GetMessageW*(lpMsg: LPMSG, hWnd: HWND, wMsgFilterMin: UINT, + wMsgFilterMax: UINT): WINBOOL{.stdcall, dynlib: "user32", + importc: "GetMessageW".} +proc DispatchMessageW*(lpMsg: LPMSG): LONG{.stdcall, dynlib: "user32", + importc: "DispatchMessageW".} +proc PeekMessageW*(lpMsg: LPMSG, hWnd: HWND, wMsgFilterMin: UINT, + wMsgFilterMax: UINT, wRemoveMsg: UINT): WINBOOL{.stdcall, + dynlib: "user32", importc: "PeekMessageW".} +proc SendMessageW*(hWnd: HWND, Msg: UINT, wParam: WPARAM, lParam: LPARAM): LRESULT{. + stdcall, dynlib: "user32", importc: "SendMessageW".} +proc SendMessageTimeoutW*(hWnd: HWND, Msg: UINT, wParam: WPARAM, lParam: LPARAM, + fuFlags: UINT, uTimeout: UINT, lpdwResult: LPDWORD): LRESULT{. + stdcall, dynlib: "user32", importc: "SendMessageTimeoutW".} +proc SendNotifyMessageW*(hWnd: HWND, Msg: UINT, wParam: WPARAM, lParam: LPARAM): WINBOOL{. + stdcall, dynlib: "user32", importc: "SendNotifyMessageW".} +proc SendMessageCallbackW*(hWnd: HWND, Msg: UINT, wParam: WPARAM, + lParam: LPARAM, lpResultCallBack: SENDASYNCPROC, + dwData: DWORD): WINBOOL{.stdcall, dynlib: "user32", + importc: "SendMessageCallbackW".} +proc PostMessageW*(hWnd: HWND, Msg: UINT, wParam: WPARAM, lParam: LPARAM): WINBOOL{. + stdcall, dynlib: "user32", importc: "PostMessageW".} +proc PostThreadMessageW*(idThread: DWORD, Msg: UINT, wParam: WPARAM, + lParam: LPARAM): WINBOOL{.stdcall, dynlib: "user32", + importc: "PostThreadMessageW".} +proc DefWindowProcW*(hWnd: HWND, Msg: UINT, wParam: WPARAM, lParam: LPARAM): LRESULT{. + stdcall, dynlib: "user32", importc: "DefWindowProcW".} +proc CallWindowProcW*(lpPrevWndFunc: WNDPROC, hWnd: HWND, Msg: UINT, + wParam: WPARAM, lParam: LPARAM): LRESULT{.stdcall, + dynlib: "user32", importc: "CallWindowProcW".} +proc RegisterClassW*(lpWndClass: LPWNDCLASSW): ATOM{.stdcall, dynlib: "user32", + importc: "RegisterClassW".} +proc UnregisterClassW*(lpClassName: LPCWSTR, hInstance: HINST): WINBOOL{. + stdcall, dynlib: "user32", importc: "UnregisterClassW".} +proc GetClassInfoW*(hInstance: HINST, lpClassName: LPCWSTR, + lpWndClass: LPWNDCLASS): WINBOOL{.stdcall, dynlib: "user32", + importc: "GetClassInfoW".} +proc RegisterClassExW*(para1: LPWNDCLASSEXW): ATOM{.stdcall, dynlib: "user32", + importc: "RegisterClassExW".} +proc GetClassInfoExW*(para1: HINST, para2: LPCWSTR, para3: LPWNDCLASSEX): WINBOOL{. + stdcall, dynlib: "user32", importc: "GetClassInfoExW".} +proc CreateWindowExW*(dwExStyle: DWORD, lpClassName: LPCWSTR, + lpWindowName: LPCWSTR, dwStyle: DWORD, X: int32, Y: int32, + nWidth: int32, nHeight: int32, hWndParent: HWND, + hMenu: HMENU, hInstance: HINST, lpParam: LPVOID): HWND{. + stdcall, dynlib: "user32", importc: "CreateWindowExW".} +proc CreateDialogParamW*(hInstance: HINST, lpTemplateName: LPCWSTR, + hWndParent: HWND, lpDialogFunc: DLGPROC, + dwInitParam: LPARAM): HWND{.stdcall, dynlib: "user32", + importc: "CreateDialogParamW".} +proc CreateDialogIndirectParamW*(hInstance: HINST, lpTemplate: LPCDLGTEMPLATE, + hWndParent: HWND, lpDialogFunc: DLGPROC, + dwInitParam: LPARAM): HWND{.stdcall, + dynlib: "user32", importc: "CreateDialogIndirectParamW".} +proc DialogBoxParamW*(hInstance: HINST, lpTemplateName: LPCWSTR, + hWndParent: HWND, lpDialogFunc: DLGPROC, + dwInitParam: LPARAM): int32{.stdcall, dynlib: "user32", + importc: "DialogBoxParamW".} +proc DialogBoxIndirectParamW*(hInstance: HINST, hDialogTemplate: LPCDLGTEMPLATE, + hWndParent: HWND, lpDialogFunc: DLGPROC, + dwInitParam: LPARAM): int32{.stdcall, + dynlib: "user32", importc: "DialogBoxIndirectParamW".} +proc SetDlgItemTextW*(hDlg: HWND, nIDDlgItem: int32, lpString: LPCWSTR): WINBOOL{. + stdcall, dynlib: "user32", importc: "SetDlgItemTextW".} +proc GetDlgItemTextW*(hDlg: HWND, nIDDlgItem: int32, lpString: LPWSTR, + nMaxCount: int32): UINT{.stdcall, dynlib: "user32", + importc: "GetDlgItemTextW".} +proc SendDlgItemMessageW*(hDlg: HWND, nIDDlgItem: int32, Msg: UINT, + wParam: WPARAM, lParam: LPARAM): LONG{.stdcall, + dynlib: "user32", importc: "SendDlgItemMessageW".} +proc DefDlgProcW*(hDlg: HWND, Msg: UINT, wParam: WPARAM, lParam: LPARAM): LRESULT{. + stdcall, dynlib: "user32", importc: "DefDlgProcW".} +proc CallMsgFilterW*(lpMsg: LPMSG, nCode: int32): WINBOOL{.stdcall, + dynlib: "user32", importc: "CallMsgFilterW".} +proc RegisterClipboardFormatW*(lpszFormat: LPCWSTR): UINT{.stdcall, + dynlib: "user32", importc: "RegisterClipboardFormatW".} +proc GetClipboardFormatNameW*(format: UINT, lpszFormatName: LPWSTR, + cchMaxCount: int32): int32{.stdcall, + dynlib: "user32", importc: "GetClipboardFormatNameW".} +proc CharToOemW*(lpszSrc: LPCWSTR, lpszDst: LPSTR): WINBOOL{.stdcall, + dynlib: "user32", importc: "CharToOemW".} +proc OemToCharW*(lpszSrc: LPCSTR, lpszDst: LPWSTR): WINBOOL{.stdcall, + dynlib: "user32", importc: "OemToCharW".} +proc CharToOemBuffW*(lpszSrc: LPCWSTR, lpszDst: LPSTR, cchDstLength: DWORD): WINBOOL{. + stdcall, dynlib: "user32", importc: "CharToOemBuffW".} +proc OemToCharBuffW*(lpszSrc: LPCSTR, lpszDst: LPWSTR, cchDstLength: DWORD): WINBOOL{. + stdcall, dynlib: "user32", importc: "OemToCharBuffW".} +proc CharUpperW*(lpsz: LPWSTR): LPWSTR{.stdcall, dynlib: "user32", + importc: "CharUpperW".} +proc CharUpperBuffW*(lpsz: LPWSTR, cchLength: DWORD): DWORD{.stdcall, + dynlib: "user32", importc: "CharUpperBuffW".} +proc CharLowerW*(lpsz: LPWSTR): LPWSTR{.stdcall, dynlib: "user32", + importc: "CharLowerW".} +proc CharLowerBuffW*(lpsz: LPWSTR, cchLength: DWORD): DWORD{.stdcall, + dynlib: "user32", importc: "CharLowerBuffW".} +proc CharNextW*(lpsz: LPCWSTR): LPWSTR{.stdcall, dynlib: "user32", + importc: "CharNextW".} +proc CharPrevW*(lpszStart: LPCWSTR, lpszCurrent: LPCWSTR): LPWSTR{.stdcall, + dynlib: "user32", importc: "CharPrevW".} +proc IsCharAlphaW*(ch: WCHAR): WINBOOL{.stdcall, dynlib: "user32", + importc: "IsCharAlphaW".} +proc IsCharAlphaNumericW*(ch: WCHAR): WINBOOL{.stdcall, dynlib: "user32", + importc: "IsCharAlphaNumericW".} +proc IsCharUpperW*(ch: WCHAR): WINBOOL{.stdcall, dynlib: "user32", + importc: "IsCharUpperW".} +proc IsCharLowerW*(ch: WCHAR): WINBOOL{.stdcall, dynlib: "user32", + importc: "IsCharLowerW".} +proc GetKeyNameTextW*(lParam: LONG, lpString: LPWSTR, nSize: int32): int32{. + stdcall, dynlib: "user32", importc: "GetKeyNameTextW".} +proc VkKeyScanW*(ch: WCHAR): SHORT{.stdcall, dynlib: "user32", + importc: "VkKeyScanW".} +proc VkKeyScanExW*(ch: WCHAR, dwhkl: HKL): SHORT{.stdcall, dynlib: "user32", + importc: "VkKeyScanExW".} +proc MapVirtualKeyW*(uCode: UINT, uMapType: UINT): UINT{.stdcall, + dynlib: "user32", importc: "MapVirtualKeyW".} +proc MapVirtualKeyExW*(uCode: UINT, uMapType: UINT, dwhkl: HKL): UINT{.stdcall, + dynlib: "user32", importc: "MapVirtualKeyExW".} +proc LoadAcceleratorsW*(hInstance: HINST, lpTableName: LPCWSTR): HACCEL{. + stdcall, dynlib: "user32", importc: "LoadAcceleratorsW".} +proc CreateAcceleratorTableW*(para1: LPACCEL, para2: int32): HACCEL{.stdcall, + dynlib: "user32", importc: "CreateAcceleratorTableW".} +proc CopyAcceleratorTableW*(hAccelSrc: HACCEL, lpAccelDst: LPACCEL, + cAccelEntries: int32): int32{.stdcall, + dynlib: "user32", importc: "CopyAcceleratorTableW".} +proc TranslateAcceleratorW*(hWnd: HWND, hAccTable: HACCEL, lpMsg: LPMSG): int32{. + stdcall, dynlib: "user32", importc: "TranslateAcceleratorW".} +proc LoadMenuW*(hInstance: HINST, lpMenuName: LPCWSTR): HMENU{.stdcall, + dynlib: "user32", importc: "LoadMenuW".} +proc LoadMenuIndirectW*(lpMenuTemplate: LPMENUTEMPLATE): HMENU{.stdcall, + dynlib: "user32", importc: "LoadMenuIndirectW".} +proc ChangeMenuW*(hMenu: HMENU, cmd: UINT, lpszNewItem: LPCWSTR, + cmdInsert: UINT, flags: UINT): WINBOOL{.stdcall, + dynlib: "user32", importc: "ChangeMenuW".} +proc GetMenuStringW*(hMenu: HMENU, uIDItem: UINT, lpString: LPWSTR, + nMaxCount: int32, uFlag: UINT): int32{.stdcall, + dynlib: "user32", importc: "GetMenuStringW".} +proc InsertMenuW*(hMenu: HMENU, uPosition: UINT, uFlags: UINT, uIDNewItem: UINT, + lpNewItem: LPCWSTR): WINBOOL{.stdcall, dynlib: "user32", + importc: "InsertMenuW".} +proc AppendMenuW*(hMenu: HMENU, uFlags: UINT, uIDNewItem: UINT, + lpNewItem: LPCWSTR): WINBOOL{.stdcall, dynlib: "user32", + importc: "AppendMenuW".} +proc ModifyMenuW*(hMnu: HMENU, uPosition: UINT, uFlags: UINT, uIDNewItem: UINT, + lpNewItem: LPCWSTR): WINBOOL{.stdcall, dynlib: "user32", + importc: "ModifyMenuW".} +proc InsertMenuItemW*(para1: HMENU, para2: UINT, para3: WINBOOL, + para4: LPCMENUITEMINFO): WINBOOL{.stdcall, + dynlib: "user32", importc: "InsertMenuItemW".} +proc GetMenuItemInfoW*(para1: HMENU, para2: UINT, para3: WINBOOL, + para4: LPMENUITEMINFO): WINBOOL{.stdcall, + dynlib: "user32", importc: "GetMenuItemInfoW".} +proc SetMenuItemInfoW*(para1: HMENU, para2: UINT, para3: WINBOOL, + para4: LPCMENUITEMINFO): WINBOOL{.stdcall, + dynlib: "user32", importc: "SetMenuItemInfoW".} +proc DrawTextW*(hDC: HDC, lpString: LPCWSTR, nCount: int32, lpRect: LPRECT, + uFormat: UINT): int32{.stdcall, dynlib: "user32", + importc: "DrawTextW".} +proc DrawTextExW*(para1: HDC, para2: LPWSTR, para3: int32, para4: LPRECT, + para5: UINT, para6: LPDRAWTEXTPARAMS): int32{.stdcall, + dynlib: "user32", importc: "DrawTextExW".} +proc GrayStringW*(hDC: HDC, hBrush: HBRUSH, lpOutputFunc: GRAYSTRINGPROC, + lpData: LPARAM, nCount: int32, X: int32, Y: int32, + nWidth: int32, nHeight: int32): WINBOOL{.stdcall, + dynlib: "user32", importc: "GrayStringW".} +proc DrawStateW*(para1: HDC, para2: HBRUSH, para3: DRAWSTATEPROC, para4: LPARAM, + para5: WPARAM, para6: int32, para7: int32, para8: int32, + para9: int32, para10: UINT): WINBOOL{.stdcall, + dynlib: "user32", importc: "DrawStateW".} +proc TabbedTextOutW*(hDC: HDC, X: int32, Y: int32, lpString: LPCWSTR, + nCount: int32, nTabPositions: int32, + lpnTabStopPositions: LPINT, nTabOrigin: int32): LONG{. + stdcall, dynlib: "user32", importc: "TabbedTextOutW".} +proc GetTabbedTextExtentW*(hDC: HDC, lpString: LPCWSTR, nCount: int32, + nTabPositions: int32, lpnTabStopPositions: LPINT): DWORD{. + stdcall, dynlib: "user32", importc: "GetTabbedTextExtentW".} +proc SetPropW*(hWnd: HWND, lpString: LPCWSTR, hData: HANDLE): WINBOOL{.stdcall, + dynlib: "user32", importc: "SetPropW".} +proc GetPropW*(hWnd: HWND, lpString: LPCWSTR): HANDLE{.stdcall, + dynlib: "user32", importc: "GetPropW".} +proc RemovePropW*(hWnd: HWND, lpString: LPCWSTR): HANDLE{.stdcall, + dynlib: "user32", importc: "RemovePropW".} +proc EnumPropsExW*(hWnd: HWND, lpEnumFunc: PROPENUMPROCEX, lParam: LPARAM): int32{. + stdcall, dynlib: "user32", importc: "EnumPropsExW".} +proc EnumPropsW*(hWnd: HWND, lpEnumFunc: PROPENUMPROC): int32{.stdcall, + dynlib: "user32", importc: "EnumPropsW".} +proc SetWindowTextW*(hWnd: HWND, lpString: LPCWSTR): WINBOOL{.stdcall, + dynlib: "user32", importc: "SetWindowTextW".} +proc GetWindowTextW*(hWnd: HWND, lpString: LPWSTR, nMaxCount: int32): int32{. + stdcall, dynlib: "user32", importc: "GetWindowTextW".} +proc GetWindowTextLengthW*(hWnd: HWND): int32{.stdcall, dynlib: "user32", + importc: "GetWindowTextLengthW".} +proc MessageBoxW*(hWnd: HWND, lpText: LPCWSTR, lpCaption: LPCWSTR, uType: UINT): int32{. + stdcall, dynlib: "user32", importc: "MessageBoxW".} +proc MessageBoxExW*(hWnd: HWND, lpText: LPCWSTR, lpCaption: LPCWSTR, + uType: UINT, wLanguageId: int16): int32{.stdcall, + dynlib: "user32", importc: "MessageBoxExW".} +proc MessageBoxIndirectW*(para1: LPMSGBOXPARAMS): int32{.stdcall, + dynlib: "user32", importc: "MessageBoxIndirectW".} +proc GetWindowLongW*(hWnd: HWND, nIndex: int32): LONG{.stdcall, + dynlib: "user32", importc: "GetWindowLongW".} +proc SetWindowLongW*(hWnd: HWND, nIndex: int32, dwNewLong: LONG): LONG{.stdcall, + dynlib: "user32", importc: "SetWindowLongW".} +proc GetClassLongW*(hWnd: HWND, nIndex: int32): DWORD{.stdcall, + dynlib: "user32", importc: "GetClassLongW".} +proc SetClassLongW*(hWnd: HWND, nIndex: int32, dwNewLong: LONG): DWORD{.stdcall, + dynlib: "user32", importc: "SetClassLongW".} +when defined(cpu64): + proc GetWindowLongPtrW*(hWnd: HWND, nIndex: int32): LONG_PTR{.stdcall, + dynlib: "user32", importc: "GetWindowLongPtrW".} + proc SetWindowLongPtrW*(hWnd: HWND, nIndex: int32, dwNewLong: LONG_PTR): LONG_PTR{. + stdcall, dynlib: "user32", importc: "SetWindowLongPtrW".} + proc GetClassLongPtrW*(hWnd: HWND, nIndex: int32): LONG_PTR{.stdcall, + dynlib: "user32", importc: "GetClassLongPtrW".} + proc SetClassLongPtrW*(hWnd: HWND, nIndex: int32, dwNewLong: LONG_PTR): LONG_PTR{. + stdcall, dynlib: "user32", importc: "SetClassLongPtrW".} +else: + proc GetWindowLongPtrW*(hWnd: HWND, nIndex: int32): LONG_PTR{.stdcall, + dynlib: "user32", importc: "GetWindowLongW".} + proc SetWindowLongPtrW*(hWnd: HWND, nIndex: int32, dwNewLong: LONG_PTR): LONG_PTR{. + stdcall, dynlib: "user32", importc: "SetWindowLongW".} + proc GetClassLongPtrW*(hWnd: HWND, nIndex: int32): LONG_PTR{.stdcall, + dynlib: "user32", importc: "GetClassLongW".} + proc SetClassLongPtrW*(hWnd: HWND, nIndex: int32, dwNewLong: LONG_PTR): LONG_PTR{. + stdcall, dynlib: "user32", importc: "SetClassLongW".} +proc FindWindowW*(lpClassName: LPCWSTR, lpWindowName: LPCWSTR): HWND{.stdcall, + dynlib: "user32", importc: "FindWindowW".} +proc FindWindowExW*(para1: HWND, para2: HWND, para3: LPCWSTR, para4: LPCWSTR): HWND{. + stdcall, dynlib: "user32", importc: "FindWindowExW".} +proc GetClassNameW*(hWnd: HWND, lpClassName: LPWSTR, nMaxCount: int32): int32{. + stdcall, dynlib: "user32", importc: "GetClassNameW".} +proc SetWindowsHookExW*(idHook: int32, lpfn: HOOKPROC, hmod: HINST, + dwThreadId: DWORD): HHOOK{.stdcall, dynlib: "user32", + importc: "SetWindowsHookExW".} +proc LoadBitmapW*(hInstance: HINST, lpBitmapName: LPCWSTR): HBITMAP{.stdcall, + dynlib: "user32", importc: "LoadBitmapW".} +proc LoadCursorW*(hInstance: HINST, lpCursorName: LPCWSTR): HCURSOR{.stdcall, + dynlib: "user32", importc: "LoadCursorW".} +proc LoadCursorFromFileW*(lpFileName: LPCWSTR): HCURSOR{.stdcall, + dynlib: "user32", importc: "LoadCursorFromFileW".} +proc LoadIconW*(hInstance: HINST, lpIconName: LPCWSTR): HICON{.stdcall, + dynlib: "user32", importc: "LoadIconW".} +proc LoadImageW*(para1: HINST, para2: LPCWSTR, para3: UINT, para4: int32, + para5: int32, para6: UINT): HANDLE{.stdcall, dynlib: "user32", + importc: "LoadImageW".} +proc LoadStringW*(hInstance: HINST, uID: UINT, lpBuffer: LPWSTR, + nBufferMax: int32): int32{.stdcall, dynlib: "user32", + importc: "LoadStringW".} +proc IsDialogMessageW*(hDlg: HWND, lpMsg: LPMSG): WINBOOL{.stdcall, + dynlib: "user32", importc: "IsDialogMessageW".} +proc DlgDirListW*(hDlg: HWND, lpPathSpec: LPWSTR, nIDListBox: int32, + nIDStaticPath: int32, uFileType: UINT): int32{.stdcall, + dynlib: "user32", importc: "DlgDirListW".} +proc DlgDirSelectExW*(hDlg: HWND, lpString: LPWSTR, nCount: int32, + nIDListBox: int32): WINBOOL{.stdcall, dynlib: "user32", + importc: "DlgDirSelectExW".} +proc DlgDirListComboBoxW*(hDlg: HWND, lpPathSpec: LPWSTR, nIDComboBox: int32, + nIDStaticPath: int32, uFiletype: UINT): int32{. + stdcall, dynlib: "user32", importc: "DlgDirListComboBoxW".} +proc DlgDirSelectComboBoxExW*(hDlg: HWND, lpString: LPWSTR, nCount: int32, + nIDComboBox: int32): WINBOOL{.stdcall, + dynlib: "user32", importc: "DlgDirSelectComboBoxExW".} +proc DefFrameProcW*(hWnd: HWND, hWndMDIClient: HWND, uMsg: UINT, wParam: WPARAM, + lParam: LPARAM): LRESULT{.stdcall, dynlib: "user32", + importc: "DefFrameProcW".} +proc DefMDIChildProcW*(hWnd: HWND, uMsg: UINT, wParam: WPARAM, lParam: LPARAM): LRESULT{. + stdcall, dynlib: "user32", importc: "DefMDIChildProcW".} +proc CreateMDIWindowW*(lpClassName: LPWSTR, lpWindowName: LPWSTR, + dwStyle: DWORD, X: int32, Y: int32, nWidth: int32, + nHeight: int32, hWndParent: HWND, hInstance: HINST, + lParam: LPARAM): HWND{.stdcall, dynlib: "user32", + importc: "CreateMDIWindowW".} +proc WinHelpW*(hWndMain: HWND, lpszHelp: LPCWSTR, uCommand: UINT, dwData: DWORD): WINBOOL{. + stdcall, dynlib: "user32", importc: "WinHelpW".} +proc ChangeDisplaySettingsW*(lpDevMode: LPDEVMODEW, dwFlags: DWORD): LONG{. + stdcall, dynlib: "user32", importc: "ChangeDisplaySettingsW".} +proc EnumDisplaySettingsW*(lpszDeviceName: LPCWSTR, iModeNum: DWORD, + lpDevMode: LPDEVMODEW): WINBOOL{.stdcall, + dynlib: "user32", importc: "EnumDisplaySettingsW".} +proc SystemParametersInfoW*(uiAction: UINT, uiParam: UINT, pvParam: PVOID, + fWinIni: UINT): WINBOOL{.stdcall, dynlib: "user32", + importc: "SystemParametersInfoW".} +proc AddFontResourceW*(para1: LPCWSTR): int32{.stdcall, dynlib: "gdi32", + importc: "AddFontResourceW".} +proc CopyMetaFileW*(para1: HMETAFILE, para2: LPCWSTR): HMETAFILE{.stdcall, + dynlib: "gdi32", importc: "CopyMetaFileW".} +proc CreateFontIndirectW*(para1: PLOGFONT): HFONT{.stdcall, dynlib: "gdi32", + importc: "CreateFontIndirectW".} +proc CreateFontIndirectW*(para1: var LOGFONT): HFONT{.stdcall, dynlib: "gdi32", + importc: "CreateFontIndirectW".} +proc CreateFontW*(para1: int32, para2: int32, para3: int32, para4: int32, + para5: int32, para6: DWORD, para7: DWORD, para8: DWORD, + para9: DWORD, para10: DWORD, para11: DWORD, para12: DWORD, + para13: DWORD, para14: LPCWSTR): HFONT{.stdcall, + dynlib: "gdi32", importc: "CreateFontW".} +proc CreateICW*(para1: LPCWSTR, para2: LPCWSTR, para3: LPCWSTR, + para4: LPDEVMODEw): HDC{.stdcall, dynlib: "gdi32", + importc: "CreateICW".} +proc CreateMetaFileW*(para1: LPCWSTR): HDC{.stdcall, dynlib: "gdi32", + importc: "CreateMetaFileW".} +proc CreateScalableFontResourceW*(para1: DWORD, para2: LPCWSTR, para3: LPCWSTR, + para4: LPCWSTR): WINBOOL{.stdcall, + dynlib: "gdi32", importc: "CreateScalableFontResourceW".} +proc EnumFontFamiliesExW*(para1: HDC, para2: LPLOGFONT, para3: FONTENUMEXPROC, + para4: LPARAM, para5: DWORD): int32{.stdcall, + dynlib: "gdi32", importc: "EnumFontFamiliesExW".} +proc EnumFontFamiliesW*(para1: HDC, para2: LPCWSTR, para3: FONTENUMPROC, + para4: LPARAM): int32{.stdcall, dynlib: "gdi32", + importc: "EnumFontFamiliesW".} +proc EnumFontsW*(para1: HDC, para2: LPCWSTR, para3: ENUMFONTSPROC, para4: LPARAM): int32{. + stdcall, dynlib: "gdi32", importc: "EnumFontsW".} +proc EnumFontsW*(para1: HDC, para2: LPCWSTR, para3: ENUMFONTSPROC, + para4: pointer): int32{.stdcall, dynlib: "gdi32", + importc: "EnumFontsW".} +proc GetCharWidthW*(para1: HDC, para2: UINT, para3: UINT, para4: LPINT): WINBOOL{. + stdcall, dynlib: "gdi32", importc: "GetCharWidthW".} +proc GetCharWidth32W*(para1: HDC, para2: UINT, para3: UINT, para4: LPINT): WINBOOL{. + stdcall, dynlib: "gdi32", importc: "GetCharWidth32W".} +proc GetCharWidthFloatW*(para1: HDC, para2: UINT, para3: UINT, para4: ptr float32): WINBOOL{. + stdcall, dynlib: "gdi32", importc: "GetCharWidthFloatW".} +proc GetCharABCWidthsW*(para1: HDC, para2: UINT, para3: UINT, para4: LPABC): WINBOOL{. + stdcall, dynlib: "gdi32", importc: "GetCharABCWidthsW".} +proc GetCharABCWidthsFloatW*(para1: HDC, para2: UINT, para3: UINT, + para4: LPABCFLOAT): WINBOOL{.stdcall, + dynlib: "gdi32", importc: "GetCharABCWidthsFloatW".} +proc GetGlyphOutlineW*(para1: HDC, para2: UINT, para3: UINT, + para4: LPGLYPHMETRICS, para5: DWORD, para6: LPVOID, + para7: PMAT2): DWORD{.stdcall, dynlib: "gdi32", + importc: "GetGlyphOutlineW".} +proc GetMetaFileW*(para1: LPCWSTR): HMETAFILE{.stdcall, dynlib: "gdi32", + importc: "GetMetaFileW".} +proc GetOutlineTextMetricsW*(para1: HDC, para2: UINT, para3: LPOUTLINETEXTMETRIC): UINT{. + stdcall, dynlib: "gdi32", importc: "GetOutlineTextMetricsW".} +proc GetTextExtentPointW*(para1: HDC, para2: LPCWSTR, para3: int32, + para4: LPSIZE): WINBOOL{.stdcall, dynlib: "gdi32", + importc: "GetTextExtentPointW".} +proc GetTextExtentPoint32W*(para1: HDC, para2: LPCWSTR, para3: int32, + para4: LPSIZE): WINBOOL{.stdcall, dynlib: "gdi32", + importc: "GetTextExtentPoint32W".} +proc GetTextExtentExPointW*(para1: HDC, para2: LPCWSTR, para3: int32, + para4: int32, para5: LPINT, para6: LPINT, + para7: LPSIZE): WINBOOL{.stdcall, dynlib: "gdi32", + importc: "GetTextExtentExPointW".} +proc GetCharacterPlacementW*(para1: HDC, para2: LPCWSTR, para3: int32, + para4: int32, para5: LPGCP_RESULTS, para6: DWORD): DWORD{. + stdcall, dynlib: "gdi32", importc: "GetCharacterPlacementW".} +proc ResetDCW*(para1: HDC, para2: LPDEVMODEW): HDC{.stdcall, dynlib: "gdi32", + importc: "ResetDCW".} +proc RemoveFontResourceW*(para1: LPCWSTR): WINBOOL{.stdcall, dynlib: "gdi32", + importc: "RemoveFontResourceW".} +proc CopyEnhMetaFileW*(para1: HENHMETAFILE, para2: LPCWSTR): HENHMETAFILE{. + stdcall, dynlib: "gdi32", importc: "CopyEnhMetaFileW".} +proc CreateEnhMetaFileW*(para1: HDC, para2: LPCWSTR, para3: LPRECT, + para4: LPCWSTR): HDC{.stdcall, dynlib: "gdi32", + importc: "CreateEnhMetaFileW".} +proc GetEnhMetaFileW*(para1: LPCWSTR): HENHMETAFILE{.stdcall, dynlib: "gdi32", + importc: "GetEnhMetaFileW".} +proc GetEnhMetaFileDescriptionW*(para1: HENHMETAFILE, para2: UINT, para3: LPWSTR): UINT{. + stdcall, dynlib: "gdi32", importc: "GetEnhMetaFileDescriptionW".} +proc GetTextMetricsW*(para1: HDC, para2: LPTEXTMETRIC): WINBOOL{.stdcall, + dynlib: "gdi32", importc: "GetTextMetricsW".} +proc StartDocW*(para1: HDC, para2: PDOCINFO): int32{.stdcall, dynlib: "gdi32", + importc: "StartDocW".} +proc GetObjectW*(para1: HGDIOBJ, para2: int32, para3: LPVOID): int32{.stdcall, + dynlib: "gdi32", importc: "GetObjectW".} +proc TextOutW*(para1: HDC, para2: int32, para3: int32, para4: LPCWSTR, + para5: int32): WINBOOL{.stdcall, dynlib: "gdi32", + importc: "TextOutW".} +proc ExtTextOutW*(para1: HDC, para2: int32, para3: int32, para4: UINT, + para5: LPRECT, para6: LPCWSTR, para7: UINT, para8: LPINT): WINBOOL{. + stdcall, dynlib: "gdi32", importc: "ExtTextOutW".} +proc PolyTextOutW*(para1: HDC, para2: PPOLYTEXT, para3: int32): WINBOOL{. + stdcall, dynlib: "gdi32", importc: "PolyTextOutW".} +proc GetTextFaceW*(para1: HDC, para2: int32, para3: LPWSTR): int32{.stdcall, + dynlib: "gdi32", importc: "GetTextFaceW".} +proc GetKerningPairsW*(para1: HDC, para2: DWORD, para3: LPKERNINGPAIR): DWORD{. + stdcall, dynlib: "gdi32", importc: "GetKerningPairsW".} +proc GetLogColorSpaceW*(para1: HCOLORSPACE, para2: LPLOGCOLORSPACE, para3: DWORD): WINBOOL{. + stdcall, dynlib: "gdi32", importc: "GetLogColorSpaceW".} +proc CreateColorSpaceW*(para1: LPLOGCOLORSPACE): HCOLORSPACE{.stdcall, + dynlib: "gdi32", importc: "CreateColorSpaceW".} +proc GetICMProfileW*(para1: HDC, para2: DWORD, para3: LPWSTR): WINBOOL{.stdcall, + dynlib: "gdi32", importc: "GetICMProfileW".} +proc SetICMProfileW*(para1: HDC, para2: LPWSTR): WINBOOL{.stdcall, + dynlib: "gdi32", importc: "SetICMProfileW".} +proc UpdateICMRegKeyW*(para1: DWORD, para2: DWORD, para3: LPWSTR, para4: UINT): WINBOOL{. + stdcall, dynlib: "gdi32", importc: "UpdateICMRegKeyW".} +proc EnumICMProfilesW*(para1: HDC, para2: ICMENUMPROC, para3: LPARAM): int32{. + stdcall, dynlib: "gdi32", importc: "EnumICMProfilesW".} +proc CreatePropertySheetPageW*(lppsp: LPCPROPSHEETPAGE): HPROPSHEETPAGE{. + stdcall, dynlib: "comctl32", importc: "CreatePropertySheetPageW".} +proc PropertySheetW*(lppsph: LPCPROPSHEETHEADER): int32{.stdcall, + dynlib: "comctl32", importc: "PropertySheetW".} +proc ImageList_LoadImageW*(hi: HINST, lpbmp: LPCWSTR, cx: int32, cGrow: int32, + crMask: COLORREF, uType: UINT, uFlags: UINT): HIMAGELIST{. + stdcall, dynlib: "comctl32", importc: "ImageList_LoadImageW".} +proc CreateStatusWindowW*(style: LONG, lpszText: LPCWSTR, hwndParent: HWND, + wID: UINT): HWND{.stdcall, dynlib: "comctl32", + importc: "CreateStatusWindowW".} +proc DrawStatusTextW*(hDC: HDC, lprc: LPRECT, pszText: LPCWSTR, uFlags: UINT){. + stdcall, dynlib: "comctl32", importc: "DrawStatusTextW".} +proc GetOpenFileNameW*(para1: LPOPENFILENAME): WINBOOL{.stdcall, + dynlib: "comdlg32", importc: "GetOpenFileNameW".} +proc GetSaveFileNameW*(para1: LPOPENFILENAME): WINBOOL{.stdcall, + dynlib: "comdlg32", importc: "GetSaveFileNameW".} +proc GetFileTitleW*(para1: LPCWSTR, para2: LPWSTR, para3: int16): int{.stdcall, + dynlib: "comdlg32", importc: "GetFileTitleW".} +proc ChooseColorW*(para1: LPCHOOSECOLOR): WINBOOL{.stdcall, dynlib: "comdlg32", + importc: "ChooseColorW".} +proc ReplaceTextW*(para1: LPFINDREPLACE): HWND{.stdcall, dynlib: "comdlg32", + importc: "ReplaceTextW".} +proc ChooseFontW*(para1: LPCHOOSEFONT): WINBOOL{.stdcall, dynlib: "comdlg32", + importc: "ChooseFontW".} +proc FindTextW*(para1: LPFINDREPLACE): HWND{.stdcall, dynlib: "comdlg32", + importc: "FindTextW".} +proc PrintDlgW*(para1: LPPRINTDLG): WINBOOL{.stdcall, dynlib: "comdlg32", + importc: "PrintDlgW".} +proc PageSetupDlgW*(para1: LPPAGESETUPDLG): WINBOOL{.stdcall, + dynlib: "comdlg32", importc: "PageSetupDlgW".} +proc CreateProcessW*(lpApplicationName: LPCWSTR, lpCommandLine: LPWSTR, + lpProcessAttributes: LPSECURITY_ATTRIBUTES, + lpThreadAttributes: LPSECURITY_ATTRIBUTES, + bInheritHandles: WINBOOL, dwCreationFlags: DWORD, + lpEnvironment: LPVOID, lpCurrentDirectory: LPCWSTR, + lpStartupInfo: LPSTARTUPINFO, + lpProcessInformation: LPPROCESS_INFORMATION): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "CreateProcessW".} +proc GetStartupInfoW*(lpStartupInfo: LPSTARTUPINFO){.stdcall, + dynlib: "kernel32", importc: "GetStartupInfoW".} +proc FindFirstFileW*(lpFileName: LPCWSTR, lpFindFileData: LPWIN32_FIND_DATAW): HANDLE{. + stdcall, dynlib: "kernel32", importc: "FindFirstFileW".} +proc FindNextFileW*(hFindFile: HANDLE, lpFindFileData: LPWIN32_FIND_DATAW): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "FindNextFileW".} +proc GetVersionExW*(VersionInformation: LPOSVERSIONINFOW): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "GetVersionExW".} +proc CreateWindowW*(lpClassName: LPCWSTR, lpWindowName: LPCWSTR, dwStyle: DWORD, + X: int32, Y: int32, nWidth: int32, nHeight: int32, + hWndParent: HWND, hMenu: HMENU, hInstance: HINST, + lpParam: LPVOID): HWND +proc CreateDialogW*(hInstance: HINST, lpName: LPCWSTR, hWndParent: HWND, + lpDialogFunc: DLGPROC): HWND +proc CreateDialogIndirectW*(hInstance: HINST, lpTemplate: LPCDLGTEMPLATE, + hWndParent: HWND, lpDialogFunc: DLGPROC): HWND +proc DialogBoxW*(hInstance: HINST, lpTemplate: LPCWSTR, hWndParent: HWND, + lpDialogFunc: DLGPROC): int32 +proc DialogBoxIndirectW*(hInstance: HINST, lpTemplate: LPCDLGTEMPLATE, + hWndParent: HWND, lpDialogFunc: DLGPROC): int32 +proc CreateDCW*(para1: LPCWSTR, para2: LPCWSTR, para3: LPCWSTR, para4: pDEVMODEW): HDC{. + stdcall, dynlib: "gdi32", importc: "CreateDCW".} +proc VerInstallFileW*(uFlags: DWORD, szSrcFileName: LPWSTR, + szDestFileName: LPWSTR, szSrcDir: LPWSTR, + szDestDir: LPWSTR, szCurDir: LPWSTR, szTmpFile: LPWSTR, + lpuTmpFileLen: PUINT): DWORD{.stdcall, dynlib: "version", + importc: "VerInstallFileW".} +proc GetFileVersionInfoSizeW*(lptstrFilename: LPWSTR, lpdwHandle: LPDWORD): DWORD{. + stdcall, dynlib: "version", importc: "GetFileVersionInfoSizeW".} +proc GetFileVersionInfoW*(lptstrFilename: LPWSTR, dwHandle: DWORD, dwLen: DWORD, + lpData: LPVOID): WINBOOL{.stdcall, dynlib: "version", + importc: "GetFileVersionInfoW".} +proc VerLanguageNameW*(wLang: DWORD, szLang: LPWSTR, nSize: DWORD): DWORD{. + stdcall, dynlib: "kernel32", importc: "VerLanguageNameW".} +proc VerQueryValueW*(pBlock: LPVOID, lpSubBlock: LPWSTR, lplpBuffer: LPVOID, + puLen: PUINT): WINBOOL{.stdcall, dynlib: "version", + importc: "VerQueryValueW".} +proc VerFindFileW*(uFlags: DWORD, szFileName: LPWSTR, szWinDir: LPWSTR, + szAppDir: LPWSTR, szCurDir: LPWSTR, lpuCurDirLen: PUINT, + szDestDir: LPWSTR, lpuDestDirLen: PUINT): DWORD{.stdcall, + dynlib: "version", importc: "VerFindFileW".} +proc RegSetValueExW*(hKey: HKEY, lpValueName: LPCWSTR, Reserved: DWORD, + dwType: DWORD, lpData: LPBYTE, cbData: DWORD): LONG{. + stdcall, dynlib: "advapi32", importc: "RegSetValueExW".} +proc RegUnLoadKeyW*(hKey: HKEY, lpSubKey: LPCWSTR): LONG{.stdcall, + dynlib: "advapi32", importc: "RegUnLoadKeyW".} +proc InitiateSystemShutdownW*(lpMachineName: LPWSTR, lpMessage: LPWSTR, + dwTimeout: DWORD, bForceAppsClosed: WINBOOL, + bRebootAfterShutdown: WINBOOL): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "InitiateSystemShutdownW".} +proc AbortSystemShutdownW*(lpMachineName: LPWSTR): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "AbortSystemShutdownW".} +proc RegRestoreKeyW*(hKey: HKEY, lpFile: LPCWSTR, dwFlags: DWORD): LONG{. + stdcall, dynlib: "advapi32", importc: "RegRestoreKeyW".} +proc RegSaveKeyW*(hKey: HKEY, lpFile: LPCWSTR, + lpSecurityAttributes: LPSECURITY_ATTRIBUTES): LONG{.stdcall, + dynlib: "advapi32", importc: "RegSaveKeyW".} +proc RegSetValueW*(hKey: HKEY, lpSubKey: LPCWSTR, dwType: DWORD, + lpData: LPCWSTR, cbData: DWORD): LONG{.stdcall, + dynlib: "advapi32", importc: "RegSetValueW".} +proc RegQueryValueW*(hKey: HKEY, lpSubKey: LPCWSTR, lpValue: LPWSTR, + lpcbValue: PLONG): LONG{.stdcall, dynlib: "advapi32", + importc: "RegQueryValueW".} +proc RegQueryMultipleValuesW*(hKey: HKEY, val_list: PVALENT, num_vals: DWORD, + lpValueBuf: LPWSTR, ldwTotsize: LPDWORD): LONG{. + stdcall, dynlib: "advapi32", importc: "RegQueryMultipleValuesW".} +proc RegQueryValueExW*(hKey: HKEY, lpValueName: LPCWSTR, lpReserved: LPDWORD, + lpType: LPDWORD, lpData: LPBYTE, lpcbData: LPDWORD): LONG{. + stdcall, dynlib: "advapi32", importc: "RegQueryValueExW".} +proc RegReplaceKeyW*(hKey: HKEY, lpSubKey: LPCWSTR, lpNewFile: LPCWSTR, + lpOldFile: LPCWSTR): LONG{.stdcall, dynlib: "advapi32", + importc: "RegReplaceKeyW".} +proc RegConnectRegistryW*(lpMachineName: LPWSTR, hKey: HKEY, phkResult: PHKEY): LONG{. + stdcall, dynlib: "advapi32", importc: "RegConnectRegistryW".} +proc RegCreateKeyW*(hKey: HKEY, lpSubKey: LPCWSTR, phkResult: PHKEY): LONG{. + stdcall, dynlib: "advapi32", importc: "RegCreateKeyW".} +proc RegCreateKeyExW*(hKey: HKEY, lpSubKey: LPCWSTR, Reserved: DWORD, + lpClass: LPWSTR, dwOptions: DWORD, samDesired: REGSAM, + lpSecurityAttributes: LPSECURITY_ATTRIBUTES, + phkResult: PHKEY, lpdwDisposition: LPDWORD): LONG{. + stdcall, dynlib: "advapi32", importc: "RegCreateKeyExW".} +proc RegDeleteKeyW*(hKey: HKEY, lpSubKey: LPCWSTR): LONG{.stdcall, + dynlib: "advapi32", importc: "RegDeleteKeyW".} +proc RegDeleteValueW*(hKey: HKEY, lpValueName: LPCWSTR): LONG{.stdcall, + dynlib: "advapi32", importc: "RegDeleteValueW".} +proc RegEnumKeyW*(hKey: HKEY, dwIndex: DWORD, lpName: LPWSTR, cbName: DWORD): LONG{. + stdcall, dynlib: "advapi32", importc: "RegEnumKeyW".} +proc RegEnumKeyExW*(hKey: HKEY, dwIndex: DWORD, lpName: LPWSTR, + lpcbName: LPDWORD, lpReserved: LPDWORD, lpClass: LPWSTR, + lpcbClass: LPDWORD, lpftLastWriteTime: PFILETIME): LONG{. + stdcall, dynlib: "advapi32", importc: "RegEnumKeyExW".} +proc RegEnumValueW*(hKey: HKEY, dwIndex: DWORD, lpValueName: LPWSTR, + lpcbValueName: LPDWORD, lpReserved: LPDWORD, + lpType: LPDWORD, lpData: LPBYTE, lpcbData: LPDWORD): LONG{. + stdcall, dynlib: "advapi32", importc: "RegEnumValueW".} +proc RegLoadKeyW*(hKey: HKEY, lpSubKey: LPCWSTR, lpFile: LPCWSTR): LONG{. + stdcall, dynlib: "advapi32", importc: "RegLoadKeyW".} +proc RegOpenKeyW*(hKey: HKEY, lpSubKey: LPCWSTR, phkResult: PHKEY): LONG{. + stdcall, dynlib: "advapi32", importc: "RegOpenKeyW".} +proc RegOpenKeyExW*(hKey: HKEY, lpSubKey: LPCWSTR, ulOptions: DWORD, + samDesired: REGSAM, phkResult: PHKEY): LONG{.stdcall, + dynlib: "advapi32", importc: "RegOpenKeyExW".} +proc RegQueryInfoKeyW*(hKey: HKEY, lpClass: LPWSTR, lpcbClass: LPDWORD, + lpReserved: LPDWORD, lpcSubKeys: LPDWORD, + lpcbMaxSubKeyLen: LPDWORD, lpcbMaxClassLen: LPDWORD, + lpcValues: LPDWORD, lpcbMaxValueNameLen: LPDWORD, + lpcbMaxValueLen: LPDWORD, + lpcbSecurityDescriptor: LPDWORD, + lpftLastWriteTime: PFILETIME): LONG{.stdcall, + dynlib: "advapi32", importc: "RegQueryInfoKeyW".} +proc CompareStringW*(Locale: LCID, dwCmpFlags: DWORD, lpString1: LPCWSTR, + cchCount1: int32, lpString2: LPCWSTR, cchCount2: int32): int32{. + stdcall, dynlib: "kernel32", importc: "CompareStringW".} +proc LCMapStringW*(Locale: LCID, dwMapFlags: DWORD, lpSrcStr: LPCWSTR, + cchSrc: int32, lpDestStr: LPWSTR, cchDest: int32): int32{. + stdcall, dynlib: "kernel32", importc: "LCMapStringW".} +proc GetLocaleInfoW*(Locale: LCID, LCType: LCTYPE, lpLCData: LPWSTR, + cchData: int32): int32{.stdcall, dynlib: "kernel32", + importc: "GetLocaleInfoW".} +proc SetLocaleInfoW*(Locale: LCID, LCType: LCTYPE, lpLCData: LPCWSTR): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "SetLocaleInfoW".} +proc GetTimeFormatW*(Locale: LCID, dwFlags: DWORD, lpTime: LPSYSTEMTIME, + lpFormat: LPCWSTR, lpTimeStr: LPWSTR, cchTime: int32): int32{. + stdcall, dynlib: "kernel32", importc: "GetTimeFormatW".} +proc GetDateFormatW*(Locale: LCID, dwFlags: DWORD, lpDate: LPSYSTEMTIME, + lpFormat: LPCWSTR, lpDateStr: LPWSTR, cchDate: int32): int32{. + stdcall, dynlib: "kernel32", importc: "GetDateFormatW".} +proc GetNumberFormatW*(Locale: LCID, dwFlags: DWORD, lpValue: LPCWSTR, + lpFormat: PNUMBERFMT, lpNumberStr: LPWSTR, + cchNumber: int32): int32{.stdcall, dynlib: "kernel32", + importc: "GetNumberFormatW".} +proc GetCurrencyFormatW*(Locale: LCID, dwFlags: DWORD, lpValue: LPCWSTR, + lpFormat: PCURRENCYFMT, lpCurrencyStr: LPWSTR, + cchCurrency: int32): int32{.stdcall, + dynlib: "kernel32", importc: "GetCurrencyFormatW".} +proc EnumCalendarInfoW*(lpCalInfoEnumProc: CALINFO_ENUMPROC, Locale: LCID, + Calendar: CALID, CalType: CALTYPE): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "EnumCalendarInfoW".} +proc EnumTimeFormatsW*(lpTimeFmtEnumProc: TIMEFMT_ENUMPROC, Locale: LCID, + dwFlags: DWORD): WINBOOL{.stdcall, dynlib: "kernel32", + importc: "EnumTimeFormatsW".} +proc EnumDateFormatsW*(lpDateFmtEnumProc: DATEFMT_ENUMPROC, Locale: LCID, + dwFlags: DWORD): WINBOOL{.stdcall, dynlib: "kernel32", + importc: "EnumDateFormatsW".} +proc GetStringTypeExW*(Locale: LCID, dwInfoType: DWORD, lpSrcStr: LPCWSTR, + cchSrc: int32, lpCharType: LPWORD): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "GetStringTypeExW".} +proc GetStringTypeW*(dwInfoType: DWORD, lpSrcStr: LPCWSTR, cchSrc: int32, + lpCharType: LPWORD): WINBOOL{.stdcall, dynlib: "kernel32", + importc: "GetStringTypeW".} +proc FoldStringW*(dwMapFlags: DWORD, lpSrcStr: LPCWSTR, cchSrc: int32, + lpDestStr: LPWSTR, cchDest: int32): int32{.stdcall, + dynlib: "kernel32", importc: "FoldStringW".} +proc EnumSystemLocalesW*(lpLocaleEnumProc: LOCALE_ENUMPROC, dwFlags: DWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "EnumSystemLocalesW".} +proc EnumSystemCodePagesW*(lpCodePageEnumProc: CODEPAGE_ENUMPROC, dwFlags: DWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "EnumSystemCodePagesW".} +proc PeekConsoleInputW*(hConsoleInput: HANDLE, lpBuffer: PINPUTRECORD, + nLength: DWORD, lpNumberOfEventsRead: LPDWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "PeekConsoleInputW".} +proc ReadConsoleInputW*(hConsoleInput: HANDLE, lpBuffer: PINPUTRECORD, + nLength: DWORD, lpNumberOfEventsRead: LPDWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "ReadConsoleInputW".} +proc WriteConsoleInputW*(hConsoleInput: HANDLE, lpBuffer: PINPUTRECORD, + nLength: DWORD, lpNumberOfEventsWritten: LPDWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "WriteConsoleInputW".} +proc ReadConsoleOutputW*(hConsoleOutput: HANDLE, lpBuffer: PCHAR_INFO, + dwBufferSize: COORD, dwBufferCoord: COORD, + lpReadRegion: PSMALL_RECT): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "ReadConsoleOutputW".} +proc WriteConsoleOutputW*(hConsoleOutput: HANDLE, lpBuffer: PCHAR_INFO, + dwBufferSize: COORD, dwBufferCoord: COORD, + lpWriteRegion: PSMALL_RECT): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "WriteConsoleOutputW".} +proc ReadConsoleOutputCharacterW*(hConsoleOutput: HANDLE, lpCharacter: LPWSTR, + nLength: DWORD, dwReadCoord: COORD, + lpNumberOfCharsRead: LPDWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "ReadConsoleOutputCharacterW".} +proc WriteConsoleOutputCharacterW*(hConsoleOutput: HANDLE, lpCharacter: LPCWSTR, + nLength: DWORD, dwWriteCoord: COORD, + lpNumberOfCharsWritten: LPDWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "WriteConsoleOutputCharacterW".} +proc FillConsoleOutputCharacterW*(hConsoleOutput: HANDLE, cCharacter: WCHAR, + nLength: DWORD, dwWriteCoord: COORD, + lpNumberOfCharsWritten: LPDWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "FillConsoleOutputCharacterW".} +proc ScrollConsoleScreenBufferW*(hConsoleOutput: HANDLE, + lpScrollRectangle: PSMALL_RECT, + lpClipRectangle: PSMALL_RECT, + dwDestinationOrigin: COORD, lpFill: PCHAR_INFO): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "ScrollConsoleScreenBufferW".} +proc GetConsoleTitleW*(lpConsoleTitle: LPWSTR, nSize: DWORD): DWORD{.stdcall, + dynlib: "kernel32", importc: "GetConsoleTitleW".} +proc SetConsoleTitleW*(lpConsoleTitle: LPCWSTR): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "SetConsoleTitleW".} +proc ReadConsoleW*(hConsoleInput: HANDLE, lpBuffer: LPVOID, + nNumberOfCharsToRead: DWORD, lpNumberOfCharsRead: LPDWORD, + lpReserved: LPVOID): WINBOOL{.stdcall, dynlib: "kernel32", + importc: "ReadConsoleW".} +proc WriteConsoleW*(hConsoleOutput: HANDLE, lpBuffer: pointer, + nNumberOfCharsToWrite: DWORD, + lpNumberOfCharsWritten: LPDWORD, lpReserved: LPVOID): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "WriteConsoleW".} +proc WNetAddConnectionW*(lpRemoteName: LPCWSTR, lpPassword: LPCWSTR, + lpLocalName: LPCWSTR): DWORD{.stdcall, dynlib: "mpr", + importc: "WNetAddConnectionW".} +proc WNetAddConnection2W*(lpNetResource: LPNETRESOURCE, lpPassword: LPCWSTR, + lpUserName: LPCWSTR, dwFlags: DWORD): DWORD{.stdcall, + dynlib: "mpr", importc: "WNetAddConnection2W".} +proc WNetAddConnection3W*(hwndOwner: HWND, lpNetResource: LPNETRESOURCE, + lpPassword: LPCWSTR, lpUserName: LPCWSTR, + dwFlags: DWORD): DWORD{.stdcall, dynlib: "mpr", + importc: "WNetAddConnection3W".} +proc WNetCancelConnectionW*(lpName: LPCWSTR, fForce: WINBOOL): DWORD{.stdcall, + dynlib: "mpr", importc: "WNetCancelConnectionW".} +proc WNetCancelConnection2W*(lpName: LPCWSTR, dwFlags: DWORD, fForce: WINBOOL): DWORD{. + stdcall, dynlib: "mpr", importc: "WNetCancelConnection2W".} +proc WNetGetConnectionW*(lpLocalName: LPCWSTR, lpRemoteName: LPWSTR, + lpnLength: LPDWORD): DWORD{.stdcall, dynlib: "mpr", + importc: "WNetGetConnectionW".} +proc WNetUseConnectionW*(hwndOwner: HWND, lpNetResource: LPNETRESOURCE, + lpUserID: LPCWSTR, lpPassword: LPCWSTR, dwFlags: DWORD, + lpAccessName: LPWSTR, lpBufferSize: LPDWORD, + lpResult: LPDWORD): DWORD{.stdcall, dynlib: "mpr", + importc: "WNetUseConnectionW".} +proc WNetSetConnectionW*(lpName: LPCWSTR, dwProperties: DWORD, pvValues: LPVOID): DWORD{. + stdcall, dynlib: "mpr", importc: "WNetSetConnectionW".} +proc WNetConnectionDialog1W*(lpConnDlgStruct: LPCONNECTDLGSTRUCT): DWORD{. + stdcall, dynlib: "mpr", importc: "WNetConnectionDialog1W".} +proc WNetDisconnectDialog1W*(lpConnDlgStruct: LPDISCDLGSTRUCT): DWORD{.stdcall, + dynlib: "mpr", importc: "WNetDisconnectDialog1W".} +proc WNetOpenEnumW*(dwScope: DWORD, dwType: DWORD, dwUsage: DWORD, + lpNetResource: LPNETRESOURCE, lphEnum: LPHANDLE): DWORD{. + stdcall, dynlib: "mpr", importc: "WNetOpenEnumW".} +proc WNetEnumResourceW*(hEnum: HANDLE, lpcCount: LPDWORD, lpBuffer: LPVOID, + lpBufferSize: LPDWORD): DWORD{.stdcall, dynlib: "mpr", + importc: "WNetEnumResourceW".} +proc WNetGetUniversalNameW*(lpLocalPath: LPCWSTR, dwInfoLevel: DWORD, + lpBuffer: LPVOID, lpBufferSize: LPDWORD): DWORD{. + stdcall, dynlib: "mpr", importc: "WNetGetUniversalNameW".} +proc WNetGetUserW*(lpName: LPCWSTR, lpUserName: LPWSTR, lpnLength: LPDWORD): DWORD{. + stdcall, dynlib: "mpr", importc: "WNetGetUserW".} +proc WNetGetProviderNameW*(dwNetType: DWORD, lpProviderName: LPWSTR, + lpBufferSize: LPDWORD): DWORD{.stdcall, + dynlib: "mpr", importc: "WNetGetProviderNameW".} +proc WNetGetNetworkInformationW*(lpProvider: LPCWSTR, + lpNetInfoStruct: LPNETINFOSTRUCT): DWORD{. + stdcall, dynlib: "mpr", importc: "WNetGetNetworkInformationW".} +proc WNetGetLastErrorW*(lpError: LPDWORD, lpErrorBuf: LPWSTR, + nErrorBufSize: DWORD, lpNameBuf: LPWSTR, + nNameBufSize: DWORD): DWORD{.stdcall, dynlib: "mpr", + importc: "WNetGetLastErrorW".} +proc MultinetGetConnectionPerformanceW*(lpNetResource: LPNETRESOURCE, + lpNetConnectInfoStruct: LPNETCONNECTINFOSTRUCT): DWORD{.stdcall, + dynlib: "mpr", importc: "MultinetGetConnectionPerformanceW".} +proc ChangeServiceConfigW*(hService: SC_HANDLE, dwServiceType: DWORD, + dwStartType: DWORD, dwErrorControl: DWORD, + lpBinaryPathName: LPCWSTR, lpLoadOrderGroup: LPCWSTR, + lpdwTagId: LPDWORD, lpDependencies: LPCWSTR, + lpServiceStartName: LPCWSTR, lpPassword: LPCWSTR, + lpDisplayName: LPCWSTR): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "ChangeServiceConfigW".} +proc CreateServiceW*(hSCManager: SC_HANDLE, lpServiceName: LPCWSTR, + lpDisplayName: LPCWSTR, dwDesiredAccess: DWORD, + dwServiceType: DWORD, dwStartType: DWORD, + dwErrorControl: DWORD, lpBinaryPathName: LPCWSTR, + lpLoadOrderGroup: LPCWSTR, lpdwTagId: LPDWORD, + lpDependencies: LPCWSTR, lpServiceStartName: LPCWSTR, + lpPassword: LPCWSTR): SC_HANDLE{.stdcall, + dynlib: "advapi32", importc: "CreateServiceW".} +proc EnumDependentServicesW*(hService: SC_HANDLE, dwServiceState: DWORD, + lpServices: LPENUM_SERVICE_STATUS, + cbBufSize: DWORD, pcbBytesNeeded: LPDWORD, + lpServicesReturned: LPDWORD): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "EnumDependentServicesW".} +proc EnumServicesStatusW*(hSCManager: SC_HANDLE, dwServiceType: DWORD, + dwServiceState: DWORD, + lpServices: LPENUM_SERVICE_STATUS, cbBufSize: DWORD, + pcbBytesNeeded: LPDWORD, lpServicesReturned: LPDWORD, + lpResumeHandle: LPDWORD): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "EnumServicesStatusW".} +proc GetServiceKeyNameW*(hSCManager: SC_HANDLE, lpDisplayName: LPCWSTR, + lpServiceName: LPWSTR, lpcchBuffer: LPDWORD): WINBOOL{. + stdcall, dynlib: "advapi32", importc: "GetServiceKeyNameW".} +proc GetServiceDisplayNameW*(hSCManager: SC_HANDLE, lpServiceName: LPCWSTR, + lpDisplayName: LPWSTR, lpcchBuffer: LPDWORD): WINBOOL{. + stdcall, dynlib: "advapi32", importc: "GetServiceDisplayNameW".} +proc OpenSCManagerW*(lpMachineName: LPCWSTR, lpDatabaseName: LPCWSTR, + dwDesiredAccess: DWORD): SC_HANDLE{.stdcall, + dynlib: "advapi32", importc: "OpenSCManagerW".} +proc OpenServiceW*(hSCManager: SC_HANDLE, lpServiceName: LPCWSTR, + dwDesiredAccess: DWORD): SC_HANDLE{.stdcall, + dynlib: "advapi32", importc: "OpenServiceW".} +proc QueryServiceConfigW*(hService: SC_HANDLE, + lpServiceConfig: LPQUERY_SERVICE_CONFIG, + cbBufSize: DWORD, pcbBytesNeeded: LPDWORD): WINBOOL{. + stdcall, dynlib: "advapi32", importc: "QueryServiceConfigW".} +proc QueryServiceLockStatusW*(hSCManager: SC_HANDLE, + lpLockStatus: LPQUERY_SERVICE_LOCK_STATUS, + cbBufSize: DWORD, pcbBytesNeeded: LPDWORD): WINBOOL{. + stdcall, dynlib: "advapi32", importc: "QueryServiceLockStatusW".} +proc RegisterServiceCtrlHandlerW*(lpServiceName: LPCWSTR, + lpHandlerProc: LPHANDLER_FUNCTION): SERVICE_STATUS_HANDLE{. + stdcall, dynlib: "advapi32", importc: "RegisterServiceCtrlHandlerW".} +proc StartServiceCtrlDispatcherW*(lpServiceStartTable: LPSERVICE_TABLE_ENTRY): WINBOOL{. + stdcall, dynlib: "advapi32", importc: "StartServiceCtrlDispatcherW".} +proc StartServiceW*(hService: SC_HANDLE, dwNumServiceArgs: DWORD, + lpServiceArgVectors: LPCWSTR): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "StartServiceW".} +proc DragQueryFileW*(para1: HDROP, para2: int, para3: LPCWSTR, para4: int): int{. + stdcall, dynlib: "shell32", importc: "DragQueryFileW".} +proc ExtractAssociatedIconW*(para1: HINST, para2: LPCWSTR, para3: LPWORD): HICON{. + stdcall, dynlib: "shell32", importc: "ExtractAssociatedIconW".} +proc ExtractIconW*(para1: HINST, para2: LPCWSTR, para3: int): HICON{.stdcall, + dynlib: "shell32", importc: "ExtractIconW".} +proc FindExecutableW*(para1: LPCWSTR, para2: LPCWSTR, para3: LPCWSTR): HINST{. + stdcall, dynlib: "shell32", importc: "FindExecutableW".} +proc ShellAboutW*(para1: HWND, para2: LPCWSTR, para3: LPCWSTR, para4: HICON): int32{. + stdcall, dynlib: "shell32", importc: "ShellAboutW".} +proc ShellExecuteW*(para1: HWND, para2: LPCWSTR, para3: LPCWSTR, para4: LPCWSTR, + para5: LPCWSTR, para6: int32): HINST{.stdcall, + dynlib: "shell32", importc: "ShellExecuteW".} +proc Shell_NotifyIconW*(dwMessage: DWORD, lpData: PNotifyIconDataA): WINBOOL{. + stdcall, dynlib: "shell32", importc: "Shell_NotifyIconW".} +proc DdeCreateStringHandleW*(para1: DWORD, para2: LPCWSTR, para3: int32): HSZ{. + stdcall, dynlib: "user32", importc: "DdeCreateStringHandleW".} +proc DdeInitializeW*(para1: LPDWORD, para2: PFNCALLBACK, para3: DWORD, + para4: DWORD): UINT{.stdcall, dynlib: "user32", + importc: "DdeInitializeW".} +proc DdeQueryStringW*(para1: DWORD, para2: HSZ, para3: LPCWSTR, para4: DWORD, + para5: int32): DWORD{.stdcall, dynlib: "user32", + importc: "DdeQueryStringW".} +proc LogonUserW*(para1: LPWSTR, para2: LPWSTR, para3: LPWSTR, para4: DWORD, + para5: DWORD, para6: PHANDLE): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "LogonUserW".} +proc CreateProcessAsUserW*(para1: HANDLE, para2: LPCWSTR, para3: LPWSTR, + para4: LPSECURITY_ATTRIBUTES, + para5: LPSECURITY_ATTRIBUTES, para6: WINBOOL, + para7: DWORD, para8: LPVOID, para9: LPCWSTR, + para10: LPSTARTUPINFO, para11: LPPROCESS_INFORMATION): WINBOOL{. + stdcall, dynlib: "advapi32", importc: "CreateProcessAsUserW".} +when defined(winUnicode): + proc GetBinaryType*(lpApplicationName: LPCWSTR, lpBinaryType: LPDWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "GetBinaryTypeW".} + proc GetShortPathName*(lpszLongPath: LPCWSTR, lpszShortPath: LPWSTR, + cchBuffer: DWORD): DWORD{.stdcall, dynlib: "kernel32", + importc: "GetShortPathNameW".} + proc GetEnvironmentStrings*(): LPWSTR{.stdcall, dynlib: "kernel32", + importc: "GetEnvironmentStringsW".} + proc FreeEnvironmentStrings*(para1: LPWSTR): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "FreeEnvironmentStringsW".} + proc FormatMessage*(dwFlags: DWORD, lpSource: LPCVOID, dwMessageId: DWORD, + dwLanguageId: DWORD, lpBuffer: LPWSTR, nSize: DWORD, + Arguments: va_list): DWORD{.stdcall, dynlib: "kernel32", + importc: "FormatMessageW".} + proc CreateMailslot*(lpName: LPCWSTR, nMaxMessageSize: DWORD, + lReadTimeout: DWORD, + lpSecurityAttributes: LPSECURITY_ATTRIBUTES): HANDLE{. + stdcall, dynlib: "kernel32", importc: "CreateMailslotW".} + proc lstrcmp*(lpString1: LPCWSTR, lpString2: LPCWSTR): int32{.stdcall, + dynlib: "kernel32", importc: "lstrcmpW".} + proc lstrcmpi*(lpString1: LPCWSTR, lpString2: LPCWSTR): int32{.stdcall, + dynlib: "kernel32", importc: "lstrcmpiW".} + proc lstrcpyn*(lpString1: LPWSTR, lpString2: LPCWSTR, iMaxLength: int32): LPWSTR{. + stdcall, dynlib: "kernel32", importc: "lstrcpynW".} + proc lstrcpy*(lpString1: LPWSTR, lpString2: LPCWSTR): LPWSTR{.stdcall, + dynlib: "kernel32", importc: "lstrcpyW".} + proc lstrcat*(lpString1: LPWSTR, lpString2: LPCWSTR): LPWSTR{.stdcall, + dynlib: "kernel32", importc: "lstrcatW".} + proc lstrlen*(lpString: LPCWSTR): int32{.stdcall, dynlib: "kernel32", + importc: "lstrlenW".} + proc CreateMutex*(lpMutexAttributes: LPSECURITY_ATTRIBUTES, + bInitialOwner: WINBOOL, lpName: LPCWSTR): HANDLE{.stdcall, + dynlib: "kernel32", importc: "CreateMutexW".} + proc OpenMutex*(dwDesiredAccess: DWORD, bInheritHandle: WINBOOL, + lpName: LPCWSTR): HANDLE{.stdcall, dynlib: "kernel32", + importc: "OpenMutexW".} + proc CreateEvent*(lpEventAttributes: LPSECURITY_ATTRIBUTES, + bManualReset: WINBOOL, bInitialState: WINBOOL, + lpName: LPCWSTR): HANDLE{.stdcall, dynlib: "kernel32", + importc: "CreateEventW".} + proc OpenEvent*(dwDesiredAccess: DWORD, bInheritHandle: WINBOOL, + lpName: LPCWSTR): HANDLE{.stdcall, dynlib: "kernel32", + importc: "OpenEventW".} + proc CreateSemaphore*(lpSemaphoreAttributes: LPSECURITY_ATTRIBUTES, + lInitialCount: LONG, lMaximumCount: LONG, + lpName: LPCWSTR): HANDLE{.stdcall, dynlib: "kernel32", + importc: "CreateSemaphoreW".} + proc OpenSemaphore*(dwDesiredAccess: DWORD, bInheritHandle: WINBOOL, + lpName: LPCWSTR): HANDLE{.stdcall, dynlib: "kernel32", + importc: "OpenSemaphoreW".} + proc CreateFileMapping*(hFile: HANDLE, + lpFileMappingAttributes: LPSECURITY_ATTRIBUTES, + flProtect: DWORD, dwMaximumSizeHigh: DWORD, + dwMaximumSizeLow: DWORD, lpName: LPCWSTR): HANDLE{. + stdcall, dynlib: "kernel32", importc: "CreateFileMappingW".} + proc OpenFileMapping*(dwDesiredAccess: DWORD, bInheritHandle: WINBOOL, + lpName: LPCWSTR): HANDLE{.stdcall, dynlib: "kernel32", + importc: "OpenFileMappingW".} + proc GetLogicalDriveStrings*(nBufferLength: DWORD, lpBuffer: LPWSTR): DWORD{. + stdcall, dynlib: "kernel32", importc: "GetLogicalDriveStringsW".} + proc LoadLibrary*(lpLibFileName: LPCWSTR): HINST{.stdcall, dynlib: "kernel32", + importc: "LoadLibraryW".} + proc LoadLibraryEx*(lpLibFileName: LPCWSTR, hFile: HANDLE, dwFlags: DWORD): HINST{. + stdcall, dynlib: "kernel32", importc: "LoadLibraryExW".} + proc GetModuleFileName*(hModule: HINST, lpFilename: LPWSTR, nSize: DWORD): DWORD{. + stdcall, dynlib: "kernel32", importc: "GetModuleFileNameW".} + proc GetModuleHandle*(lpModuleName: LPCWSTR): HMODULE{.stdcall, + dynlib: "kernel32", importc: "GetModuleHandleW".} + proc FatalAppExit*(uAction: UINT, lpMessageText: LPCWSTR){.stdcall, + dynlib: "kernel32", importc: "FatalAppExitW".} + proc GetCommandLine*(): LPWSTR{.stdcall, dynlib: "kernel32", + importc: "GetCommandLineW".} + proc GetEnvironmentVariable*(lpName: LPCWSTR, lpBuffer: LPWSTR, nSize: DWORD): DWORD{. + stdcall, dynlib: "kernel32", importc: "GetEnvironmentVariableW".} + proc SetEnvironmentVariable*(lpName: LPCWSTR, lpValue: LPCWSTR): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "SetEnvironmentVariableW".} + proc ExpandEnvironmentStrings*(lpSrc: LPCWSTR, lpDst: LPWSTR, nSize: DWORD): DWORD{. + stdcall, dynlib: "kernel32", importc: "ExpandEnvironmentStringsW".} + proc OutputDebugString*(lpOutputString: LPCWSTR){.stdcall, dynlib: "kernel32", + importc: "OutputDebugStringW".} + proc FindResource*(hModule: HINST, lpName: LPCWSTR, lpType: LPCWSTR): HRSRC{. + stdcall, dynlib: "kernel32", importc: "FindResourceW".} + proc FindResourceEx*(hModule: HINST, lpType: LPCWSTR, lpName: LPCWSTR, + wLanguage: int16): HRSRC{.stdcall, dynlib: "kernel32", + importc: "FindResourceExW".} + proc EnumResourceTypes*(hModule: HINST, lpEnumFunc: ENUMRESTYPEPROC, + lParam: LONG): WINBOOL{.stdcall, dynlib: "kernel32", + importc: "EnumResourceTypesW".} + proc EnumResourceNames*(hModule: HINST, lpType: LPCWSTR, + lpEnumFunc: ENUMRESNAMEPROC, lParam: LONG): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "EnumResourceNamesW".} + proc EnumResourceLanguages*(hModule: HINST, lpType: LPCWSTR, lpName: LPCWSTR, + lpEnumFunc: ENUMRESLANGPROC, lParam: LONG): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "EnumResourceLanguagesW".} + proc BeginUpdateResource*(pFileName: LPCWSTR, + bDeleteExistingResources: WINBOOL): HANDLE{.stdcall, + dynlib: "kernel32", importc: "BeginUpdateResourceW".} + proc UpdateResource*(hUpdate: HANDLE, lpType: LPCWSTR, lpName: LPCWSTR, + wLanguage: int16, lpData: LPVOID, cbData: DWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "UpdateResourceW".} + proc EndUpdateResource*(hUpdate: HANDLE, fDiscard: WINBOOL): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "EndUpdateResourceW".} + proc GlobalAddAtom*(lpString: LPCWSTR): ATOM{.stdcall, dynlib: "kernel32", + importc: "GlobalAddAtomW".} + proc GlobalFindAtom*(lpString: LPCWSTR): ATOM{.stdcall, dynlib: "kernel32", + importc: "GlobalFindAtomW".} + proc GlobalGetAtomName*(nAtom: ATOM, lpBuffer: LPWSTR, nSize: int32): UINT{. + stdcall, dynlib: "kernel32", importc: "GlobalGetAtomNameW".} + proc AddAtom*(lpString: LPCWSTR): ATOM{.stdcall, dynlib: "kernel32", + importc: "AddAtomW".} + proc FindAtom*(lpString: LPCWSTR): ATOM{.stdcall, dynlib: "kernel32", + importc: "FindAtomW".} + proc GetAtomName*(nAtom: ATOM, lpBuffer: LPWSTR, nSize: int32): UINT{.stdcall, + dynlib: "kernel32", importc: "GetAtomNameW".} + proc GetProfileInt*(lpAppName: LPCWSTR, lpKeyName: LPCWSTR, nDefault: WINT): UINT{. + stdcall, dynlib: "kernel32", importc: "GetProfileIntW".} + proc GetProfileString*(lpAppName: LPCWSTR, lpKeyName: LPCWSTR, + lpDefault: LPCWSTR, lpReturnedString: LPWSTR, + nSize: DWORD): DWORD{.stdcall, dynlib: "kernel32", + importc: "GetProfileStringW".} + proc WriteProfileString*(lpAppName: LPCWSTR, lpKeyName: LPCWSTR, + lpString: LPCWSTR): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "WriteProfileStringW".} + proc GetProfileSection*(lpAppName: LPCWSTR, lpReturnedString: LPWSTR, + nSize: DWORD): DWORD{.stdcall, dynlib: "kernel32", + importc: "GetProfileSectionW".} + proc WriteProfileSection*(lpAppName: LPCWSTR, lpString: LPCWSTR): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "WriteProfileSectionW".} + proc GetPrivateProfileInt*(lpAppName: LPCWSTR, lpKeyName: LPCWSTR, + nDefault: WINT, lpFileName: LPCWSTR): UINT{. + stdcall, dynlib: "kernel32", importc: "GetPrivateProfileIntW".} + proc GetPrivateProfileString*(lpAppName: LPCWSTR, lpKeyName: LPCWSTR, + lpDefault: LPCWSTR, lpReturnedString: LPWSTR, + nSize: DWORD, lpFileName: LPCWSTR): DWORD{. + stdcall, dynlib: "kernel32", importc: "GetPrivateProfileStringW".} + proc WritePrivateProfileString*(lpAppName: LPCWSTR, lpKeyName: LPCWSTR, + lpString: LPCWSTR, lpFileName: LPCWSTR): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "WritePrivateProfileStringW".} + proc GetPrivateProfileSection*(lpAppName: LPCWSTR, lpReturnedString: LPWSTR, + nSize: DWORD, lpFileName: LPCWSTR): DWORD{. + stdcall, dynlib: "kernel32", importc: "GetPrivateProfileSectionW".} + proc WritePrivateProfileSection*(lpAppName: LPCWSTR, lpString: LPCWSTR, + lpFileName: LPCWSTR): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "WritePrivateProfileSectionW".} + proc GetDriveType*(lpRootPathName: LPCWSTR): UINT{.stdcall, + dynlib: "kernel32", importc: "GetDriveTypeW".} + proc GetSystemDirectory*(lpBuffer: LPWSTR, uSize: UINT): UINT{.stdcall, + dynlib: "kernel32", importc: "GetSystemDirectoryW".} + proc GetTempPath*(nBufferLength: DWORD, lpBuffer: LPWSTR): DWORD{.stdcall, + dynlib: "kernel32", importc: "GetTempPathW".} + proc GetTempFileName*(lpPathName: LPCWSTR, lpPrefixString: LPCWSTR, + uUnique: UINT, lpTempFileName: LPWSTR): UINT{.stdcall, + dynlib: "kernel32", importc: "GetTempFileNameW".} + proc GetWindowsDirectory*(lpBuffer: LPWSTR, uSize: UINT): UINT{.stdcall, + dynlib: "kernel32", importc: "GetWindowsDirectoryW".} + proc SetCurrentDirectory*(lpPathName: LPCWSTR): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "SetCurrentDirectoryW".} + proc GetCurrentDirectory*(nBufferLength: DWORD, lpBuffer: LPWSTR): DWORD{. + stdcall, dynlib: "kernel32", importc: "GetCurrentDirectoryW".} + proc GetDiskFreeSpace*(lpRootPathName: LPCWSTR, lpSectorsPerCluster: LPDWORD, + lpBytesPerSector: LPDWORD, + lpNumberOfFreeClusters: LPDWORD, + lpTotalNumberOfClusters: LPDWORD): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "GetDiskFreeSpaceW".} + proc CreateDirectory*(lpPathName: LPCWSTR, + lpSecurityAttributes: LPSECURITY_ATTRIBUTES): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "CreateDirectoryW".} + proc CreateDirectoryEx*(lpTemplateDirectory: LPCWSTR, lpNewDirectory: LPCWSTR, + lpSecurityAttributes: LPSECURITY_ATTRIBUTES): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "CreateDirectoryExW".} + proc RemoveDirectory*(lpPathName: LPCWSTR): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "RemoveDirectoryW".} + proc GetFullPathName*(lpFileName: LPCWSTR, nBufferLength: DWORD, + lpBuffer: LPWSTR, lpFilePart: var LPWSTR): DWORD{. + stdcall, dynlib: "kernel32", importc: "GetFullPathNameW".} + proc DefineDosDevice*(dwFlags: DWORD, lpDeviceName: LPCWSTR, + lpTargetPath: LPCWSTR): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "DefineDosDeviceW".} + proc QueryDosDevice*(lpDeviceName: LPCWSTR, lpTargetPath: LPWSTR, + ucchMax: DWORD): DWORD{.stdcall, dynlib: "kernel32", + importc: "QueryDosDeviceW".} + proc CreateFile*(lpFileName: LPCWSTR, dwDesiredAccess: DWORD, + dwShareMode: DWORD, + lpSecurityAttributes: LPSECURITY_ATTRIBUTES, + dwCreationDisposition: DWORD, dwFlagsAndAttributes: DWORD, + hTemplateFile: HANDLE): HANDLE{.stdcall, dynlib: "kernel32", + importc: "CreateFileW".} + proc SetFileAttributes*(lpFileName: LPCWSTR, dwFileAttributes: DWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "SetFileAttributesW".} + proc GetFileAttributes*(lpFileName: LPCWSTR): DWORD{.stdcall, + dynlib: "kernel32", importc: "GetFileAttributesW".} + proc GetCompressedFileSize*(lpFileName: LPCWSTR, lpFileSizeHigh: LPDWORD): DWORD{. + stdcall, dynlib: "kernel32", importc: "GetCompressedFileSizeW".} + proc DeleteFile*(lpFileName: LPCWSTR): WINBOOL{.stdcall, dynlib: "kernel32", + importc: "DeleteFileW".} + proc SearchPath*(lpPath: LPCWSTR, lpFileName: LPCWSTR, lpExtension: LPCWSTR, + nBufferLength: DWORD, lpBuffer: LPWSTR, lpFilePart: LPWSTR): DWORD{. + stdcall, dynlib: "kernel32", importc: "SearchPathW".} + proc CopyFile*(lpExistingFileName: LPCWSTR, lpNewFileName: LPCWSTR, + bFailIfExists: WINBOOL): WINBOOL{.stdcall, dynlib: "kernel32", + importc: "CopyFileW".} + proc MoveFile*(lpExistingFileName: LPCWSTR, lpNewFileName: LPCWSTR): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "MoveFileW".} + proc MoveFileEx*(lpExistingFileName: LPCWSTR, lpNewFileName: LPCWSTR, + dwFlags: DWORD): WINBOOL{.stdcall, dynlib: "kernel32", + importc: "MoveFileExW".} + proc CreateNamedPipe*(lpName: LPCWSTR, dwOpenMode: DWORD, dwPipeMode: DWORD, + nMaxInstances: DWORD, nOutBufferSize: DWORD, + nInBufferSize: DWORD, nDefaultTimeOut: DWORD, + lpSecurityAttributes: LPSECURITY_ATTRIBUTES): HANDLE{. + stdcall, dynlib: "kernel32", importc: "CreateNamedPipeW".} + proc GetNamedPipeHandleState*(hNamedPipe: HANDLE, lpState: LPDWORD, + lpCurInstances: LPDWORD, + lpMaxCollectionCount: LPDWORD, + lpCollectDataTimeout: LPDWORD, + lpUserName: LPWSTR, nMaxUserNameSize: DWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "GetNamedPipeHandleStateW".} + proc CallNamedPipe*(lpNamedPipeName: LPCWSTR, lpInBuffer: LPVOID, + nInBufferSize: DWORD, lpOutBuffer: LPVOID, + nOutBufferSize: DWORD, lpBytesRead: LPDWORD, + nTimeOut: DWORD): WINBOOL{.stdcall, dynlib: "kernel32", + importc: "CallNamedPipeW".} + proc WaitNamedPipe*(lpNamedPipeName: LPCWSTR, nTimeOut: DWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "WaitNamedPipeW".} + proc SetVolumeLabel*(lpRootPathName: LPCWSTR, lpVolumeName: LPCWSTR): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "SetVolumeLabelW".} + proc GetVolumeInformation*(lpRootPathName: LPCWSTR, + lpVolumeNameBuffer: LPWSTR, nVolumeNameSize: DWORD, + lpVolumeSerialNumber: LPDWORD, + lpMaximumComponentLength: LPDWORD, + lpFileSystemFlags: LPDWORD, + lpFileSystemNameBuffer: LPWSTR, + nFileSystemNameSize: DWORD): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "GetVolumeInformationW".} + proc ClearEventLog*(hEventLog: HANDLE, lpBackupFileName: LPCWSTR): WINBOOL{. + stdcall, dynlib: "advapi32", importc: "ClearEventLogW".} + proc BackupEventLog*(hEventLog: HANDLE, lpBackupFileName: LPCWSTR): WINBOOL{. + stdcall, dynlib: "advapi32", importc: "BackupEventLogW".} + proc OpenEventLog*(lpUNCServerName: LPCWSTR, lpSourceName: LPCWSTR): HANDLE{. + stdcall, dynlib: "advapi32", importc: "OpenEventLogW".} + proc RegisterEventSource*(lpUNCServerName: LPCWSTR, lpSourceName: LPCWSTR): HANDLE{. + stdcall, dynlib: "advapi32", importc: "RegisterEventSourceW".} + proc OpenBackupEventLog*(lpUNCServerName: LPCWSTR, lpFileName: LPCWSTR): HANDLE{. + stdcall, dynlib: "advapi32", importc: "OpenBackupEventLogW".} + proc ReadEventLog*(hEventLog: HANDLE, dwReadFlags: DWORD, + dwRecordOffset: DWORD, lpBuffer: LPVOID, + nNumberOfBytesToRead: DWORD, pnBytesRead: LPDWORD, + pnMinNumberOfBytesNeeded: LPDWORD): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "ReadEventLogW".} + proc ReportEvent*(hEventLog: HANDLE, wType: int16, wCategory: int16, + dwEventID: DWORD, lpUserSid: PSID, wNumStrings: int16, + dwDataSize: DWORD, lpStrings: LPPCWSTR, lpRawData: LPVOID): WINBOOL{. + stdcall, dynlib: "advapi32", importc: "ReportEventW".} + proc AccessCheckAndAuditAlarm*(SubsystemName: LPCWSTR, HandleId: LPVOID, + ObjectTypeName: LPWSTR, ObjectName: LPWSTR, + SecurityDescriptor: PSECURITY_DESCRIPTOR, + DesiredAccess: DWORD, + GenericMapping: PGENERIC_MAPPING, + ObjectCreation: WINBOOL, + GrantedAccess: LPDWORD, AccessStatus: LPBOOL, + pfGenerateOnClose: LPBOOL): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "AccessCheckAndAuditAlarmW".} + proc ObjectOpenAuditAlarm*(SubsystemName: LPCWSTR, HandleId: LPVOID, + ObjectTypeName: LPWSTR, ObjectName: LPWSTR, + pSecurityDescriptor: PSECURITY_DESCRIPTOR, + ClientToken: HANDLE, DesiredAccess: DWORD, + GrantedAccess: DWORD, Privileges: PPRIVILEGE_SET, + ObjectCreation: WINBOOL, AccessGranted: WINBOOL, + GenerateOnClose: LPBOOL): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "ObjectOpenAuditAlarmW".} + proc ObjectPrivilegeAuditAlarm*(SubsystemName: LPCWSTR, HandleId: LPVOID, + ClientToken: HANDLE, DesiredAccess: DWORD, + Privileges: PPRIVILEGE_SET, + AccessGranted: WINBOOL): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "ObjectPrivilegeAuditAlarmW".} + proc ObjectCloseAuditAlarm*(SubsystemName: LPCWSTR, HandleId: LPVOID, + GenerateOnClose: WINBOOL): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "ObjectCloseAuditAlarmW".} + proc PrivilegedServiceAuditAlarm*(SubsystemName: LPCWSTR, + ServiceName: LPCWSTR, ClientToken: HANDLE, + Privileges: PPRIVILEGE_SET, + AccessGranted: WINBOOL): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "PrivilegedServiceAuditAlarmW".} + proc SetFileSecurity*(lpFileName: LPCWSTR, + SecurityInformation: SECURITY_INFORMATION, + pSecurityDescriptor: PSECURITY_DESCRIPTOR): WINBOOL{. + stdcall, dynlib: "advapi32", importc: "SetFileSecurityW".} + proc GetFileSecurity*(lpFileName: LPCWSTR, + RequestedInformation: SECURITY_INFORMATION, + pSecurityDescriptor: PSECURITY_DESCRIPTOR, + nLength: DWORD, lpnLengthNeeded: LPDWORD): WINBOOL{. + stdcall, dynlib: "advapi32", importc: "GetFileSecurityW".} + proc FindFirstChangeNotification*(lpPathName: LPCWSTR, bWatchSubtree: WINBOOL, + dwNotifyFilter: DWORD): HANDLE{.stdcall, + dynlib: "kernel32", importc: "FindFirstChangeNotificationW".} + proc IsBadStringPtr*(lpsz: LPCWSTR, ucchMax: UINT): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "IsBadStringPtrW".} + proc LookupAccountSid*(lpSystemName: LPCWSTR, Sid: PSID, Name: LPWSTR, + cbName: LPDWORD, ReferencedDomainName: LPWSTR, + cbReferencedDomainName: LPDWORD, peUse: PSID_NAME_USE): WINBOOL{. + stdcall, dynlib: "advapi32", importc: "LookupAccountSidW".} + proc LookupAccountName*(lpSystemName: LPCWSTR, lpAccountName: LPCWSTR, + Sid: PSID, cbSid: LPDWORD, + ReferencedDomainName: LPWSTR, + cbReferencedDomainName: LPDWORD, peUse: PSID_NAME_USE): WINBOOL{. + stdcall, dynlib: "advapi32", importc: "LookupAccountNameW".} + proc LookupPrivilegeValue*(lpSystemName: LPCWSTR, lpName: LPCWSTR, + lpLuid: PLUID): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "LookupPrivilegeValueW".} + proc LookupPrivilegeName*(lpSystemName: LPCWSTR, lpLuid: PLUID, + lpName: LPWSTR, cbName: LPDWORD): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "LookupPrivilegeNameW".} + proc LookupPrivilegeDisplayName*(lpSystemName: LPCWSTR, lpName: LPCWSTR, + lpDisplayName: LPWSTR, + cbDisplayName: LPDWORD, lpLanguageId: LPDWORD): WINBOOL{. + stdcall, dynlib: "advapi32", importc: "LookupPrivilegeDisplayNameW".} + proc BuildCommDCB*(lpDef: LPCWSTR, lpDCB: LPDCB): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "BuildCommDCBW".} + proc BuildCommDCBAndTimeouts*(lpDef: LPCWSTR, lpDCB: LPDCB, + lpCommTimeouts: LPCOMMTIMEOUTS): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "BuildCommDCBAndTimeoutsW".} + proc CommConfigDialog*(lpszName: LPCWSTR, hWnd: HWND, lpCC: LPCOMMCONFIG): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "CommConfigDialogW".} + proc GetDefaultCommConfig*(lpszName: LPCWSTR, lpCC: LPCOMMCONFIG, + lpdwSize: LPDWORD): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "GetDefaultCommConfigW".} + proc SetDefaultCommConfig*(lpszName: LPCWSTR, lpCC: LPCOMMCONFIG, + dwSize: DWORD): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "SetDefaultCommConfigW".} + proc GetComputerName*(lpBuffer: LPWSTR, nSize: LPDWORD): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "GetComputerNameW".} + proc SetComputerName*(lpComputerName: LPCWSTR): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "SetComputerNameW".} + proc GetUserName*(lpBuffer: LPWSTR, nSize: LPDWORD): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "GetUserNameW".} + proc LoadKeyboardLayout*(pwszKLID: LPCWSTR, Flags: UINT): HKL{.stdcall, + dynlib: "user32", importc: "LoadKeyboardLayoutW".} + proc GetKeyboardLayoutName*(pwszKLID: LPWSTR): WINBOOL{.stdcall, + dynlib: "user32", importc: "GetKeyboardLayoutNameW".} + proc CreateDesktop*(lpszDesktop: LPWSTR, lpszDevice: LPWSTR, + pDevmode: LPDEVMODE, dwFlags: DWORD, + dwDesiredAccess: DWORD, lpsa: LPSECURITY_ATTRIBUTES): HDESK{. + stdcall, dynlib: "user32", importc: "CreateDesktopW".} + proc OpenDesktop*(lpszDesktop: LPWSTR, dwFlags: DWORD, fInherit: WINBOOL, + dwDesiredAccess: DWORD): HDESK{.stdcall, dynlib: "user32", + importc: "OpenDesktopW".} + proc EnumDesktops*(hwinsta: HWINSTA, lpEnumFunc: DESKTOPENUMPROC, + lParam: LPARAM): WINBOOL{.stdcall, dynlib: "user32", + importc: "EnumDesktopsW".} + proc CreateWindowStation*(lpwinsta: LPWSTR, dwReserved: DWORD, + dwDesiredAccess: DWORD, lpsa: LPSECURITY_ATTRIBUTES): HWINSTA{. + stdcall, dynlib: "user32", importc: "CreateWindowStationW".} + proc OpenWindowStation*(lpszWinSta: LPWSTR, fInherit: WINBOOL, + dwDesiredAccess: DWORD): HWINSTA{.stdcall, + dynlib: "user32", importc: "OpenWindowStationW".} + proc EnumWindowStations*(lpEnumFunc: ENUMWINDOWSTATIONPROC, lParam: LPARAM): WINBOOL{. + stdcall, dynlib: "user32", importc: "EnumWindowStationsW".} + proc GetUserObjectInformation*(hObj: HANDLE, nIndex: int32, pvInfo: PVOID, + nLength: DWORD, lpnLengthNeeded: LPDWORD): WINBOOL{. + stdcall, dynlib: "user32", importc: "GetUserObjectInformationW".} + proc SetUserObjectInformation*(hObj: HANDLE, nIndex: int32, pvInfo: PVOID, + nLength: DWORD): WINBOOL{.stdcall, + dynlib: "user32", importc: "SetUserObjectInformationW".} + proc RegisterWindowMessage*(lpString: LPCWSTR): UINT{.stdcall, + dynlib: "user32", importc: "RegisterWindowMessageW".} + proc GetMessage*(lpMsg: LPMSG, hWnd: HWND, wMsgFilterMin: UINT, + wMsgFilterMax: UINT): WINBOOL{.stdcall, dynlib: "user32", + importc: "GetMessageW".} + proc DispatchMessage*(lpMsg: LPMSG): LONG{.stdcall, dynlib: "user32", + importc: "DispatchMessageW".} + proc PeekMessage*(lpMsg: LPMSG, hWnd: HWND, wMsgFilterMin: UINT, + wMsgFilterMax: UINT, wRemoveMsg: UINT): WINBOOL{.stdcall, + dynlib: "user32", importc: "PeekMessageW".} + proc SendMessage*(hWnd: HWND, Msg: UINT, wParam: WPARAM, lParam: LPARAM): LRESULT{. + stdcall, dynlib: "user32", importc: "SendMessageW".} + proc SendMessageTimeout*(hWnd: HWND, Msg: UINT, wParam: WPARAM, + lParam: LPARAM, fuFlags: UINT, uTimeout: UINT, + lpdwResult: LPDWORD): LRESULT{.stdcall, + dynlib: "user32", importc: "SendMessageTimeoutW".} + proc SendNotifyMessage*(hWnd: HWND, Msg: UINT, wParam: WPARAM, lParam: LPARAM): WINBOOL{. + stdcall, dynlib: "user32", importc: "SendNotifyMessageW".} + proc SendMessageCallback*(hWnd: HWND, Msg: UINT, wParam: WPARAM, + lParam: LPARAM, lpResultCallBack: SENDASYNCPROC, + dwData: DWORD): WINBOOL{.stdcall, dynlib: "user32", + importc: "SendMessageCallbackW".} + proc PostMessage*(hWnd: HWND, Msg: UINT, wParam: WPARAM, lParam: LPARAM): WINBOOL{. + stdcall, dynlib: "user32", importc: "PostMessageW".} + proc PostThreadMessage*(idThread: DWORD, Msg: UINT, wParam: WPARAM, + lParam: LPARAM): WINBOOL{.stdcall, dynlib: "user32", + importc: "PostThreadMessageW".} + proc DefWindowProc*(hWnd: HWND, Msg: UINT, wParam: WPARAM, lParam: LPARAM): LRESULT{. + stdcall, dynlib: "user32", importc: "DefWindowProcW".} + proc CallWindowProc*(lpPrevWndFunc: WNDPROC, hWnd: HWND, Msg: UINT, + wParam: WPARAM, lParam: LPARAM): LRESULT{.stdcall, + dynlib: "user32", importc: "CallWindowProcW".} + proc RegisterClass*(lpWndClass: LPWNDCLASS): ATOM{.stdcall, dynlib: "user32", + importc: "RegisterClassW".} + proc UnregisterClass*(lpClassName: LPCWSTR, hInstance: HINST): WINBOOL{. + stdcall, dynlib: "user32", importc: "UnregisterClassW".} + proc GetClassInfo*(hInstance: HINST, lpClassName: LPCWSTR, + lpWndClass: LPWNDCLASS): WINBOOL{.stdcall, + dynlib: "user32", importc: "GetClassInfoW".} + proc RegisterClassEx*(para1: LPWNDCLASSEXW): ATOM{.stdcall, dynlib: "user32", + importc: "RegisterClassExW".} + proc GetClassInfoEx*(para1: HINST, para2: LPCWSTR, para3: LPWNDCLASSEX): WINBOOL{. + stdcall, dynlib: "user32", importc: "GetClassInfoExW".} + proc CreateWindowEx*(dwExStyle: DWORD, lpClassName: LPCWSTR, + lpWindowName: LPCWSTR, dwStyle: DWORD, X: int32, + Y: int32, nWidth: int32, nHeight: int32, + hWndParent: HWND, hMenu: HMENU, hInstance: HINST, + lpParam: LPVOID): HWND{.stdcall, dynlib: "user32", + importc: "CreateWindowExW".} + proc CreateDialogParam*(hInstance: HINST, lpTemplateName: LPCWSTR, + hWndParent: HWND, lpDialogFunc: DLGPROC, + dwInitParam: LPARAM): HWND{.stdcall, dynlib: "user32", + importc: "CreateDialogParamW".} + proc CreateDialogIndirectParam*(hInstance: HINST, lpTemplate: LPCDLGTEMPLATE, + hWndParent: HWND, lpDialogFunc: DLGPROC, + dwInitParam: LPARAM): HWND{.stdcall, + dynlib: "user32", importc: "CreateDialogIndirectParamW".} + proc DialogBoxParam*(hInstance: HINST, lpTemplateName: LPCWSTR, + hWndParent: HWND, lpDialogFunc: DLGPROC, + dwInitParam: LPARAM): int32{.stdcall, dynlib: "user32", + importc: "DialogBoxParamW".} + proc DialogBoxIndirectParam*(hInstance: HINST, + hDialogTemplate: LPCDLGTEMPLATE, + hWndParent: HWND, lpDialogFunc: DLGPROC, + dwInitParam: LPARAM): int32{.stdcall, + dynlib: "user32", importc: "DialogBoxIndirectParamW".} + proc SetDlgItemText*(hDlg: HWND, nIDDlgItem: int32, lpString: LPCWSTR): WINBOOL{. + stdcall, dynlib: "user32", importc: "SetDlgItemTextW".} + proc GetDlgItemText*(hDlg: HWND, nIDDlgItem: int32, lpString: LPWSTR, + nMaxCount: int32): UINT{.stdcall, dynlib: "user32", + importc: "GetDlgItemTextW".} + proc SendDlgItemMessage*(hDlg: HWND, nIDDlgItem: int32, Msg: UINT, + wParam: WPARAM, lParam: LPARAM): LONG{.stdcall, + dynlib: "user32", importc: "SendDlgItemMessageW".} + proc DefDlgProc*(hDlg: HWND, Msg: UINT, wParam: WPARAM, lParam: LPARAM): LRESULT{. + stdcall, dynlib: "user32", importc: "DefDlgProcW".} + proc CallMsgFilter*(lpMsg: LPMSG, nCode: int32): WINBOOL{.stdcall, + dynlib: "user32", importc: "CallMsgFilterW".} + proc RegisterClipboardFormat*(lpszFormat: LPCWSTR): UINT{.stdcall, + dynlib: "user32", importc: "RegisterClipboardFormatW".} + proc GetClipboardFormatName*(format: UINT, lpszFormatName: LPWSTR, + cchMaxCount: int32): int32{.stdcall, + dynlib: "user32", importc: "GetClipboardFormatNameW".} + proc CharToOem*(lpszSrc: LPCWSTR, lpszDst: LPSTR): WINBOOL{.stdcall, + dynlib: "user32", importc: "CharToOemW".} + proc OemToChar*(lpszSrc: LPCSTR, lpszDst: LPWSTR): WINBOOL{.stdcall, + dynlib: "user32", importc: "OemToCharW".} + proc CharToOemBuff*(lpszSrc: LPCWSTR, lpszDst: LPSTR, cchDstLength: DWORD): WINBOOL{. + stdcall, dynlib: "user32", importc: "CharToOemBuffW".} + proc OemToCharBuff*(lpszSrc: LPCSTR, lpszDst: LPWSTR, cchDstLength: DWORD): WINBOOL{. + stdcall, dynlib: "user32", importc: "OemToCharBuffW".} + proc CharUpper*(lpsz: LPWSTR): LPWSTR{.stdcall, dynlib: "user32", + importc: "CharUpperW".} + proc CharUpperBuff*(lpsz: LPWSTR, cchLength: DWORD): DWORD{.stdcall, + dynlib: "user32", importc: "CharUpperBuffW".} + proc CharLower*(lpsz: LPWSTR): LPWSTR{.stdcall, dynlib: "user32", + importc: "CharLowerW".} + proc CharLowerBuff*(lpsz: LPWSTR, cchLength: DWORD): DWORD{.stdcall, + dynlib: "user32", importc: "CharLowerBuffW".} + proc CharNext*(lpsz: LPCWSTR): LPWSTR{.stdcall, dynlib: "user32", + importc: "CharNextW".} + proc CharPrev*(lpszStart: LPCWSTR, lpszCurrent: LPCWSTR): LPWSTR{.stdcall, + dynlib: "user32", importc: "CharPrevW".} + proc IsCharAlpha*(ch: WCHAR): WINBOOL{.stdcall, dynlib: "user32", + importc: "IsCharAlphaW".} + proc IsCharAlphaNumeric*(ch: WCHAR): WINBOOL{.stdcall, dynlib: "user32", + importc: "IsCharAlphaNumericW".} + proc IsCharUpper*(ch: WCHAR): WINBOOL{.stdcall, dynlib: "user32", + importc: "IsCharUpperW".} + proc IsCharLower*(ch: WCHAR): WINBOOL{.stdcall, dynlib: "user32", + importc: "IsCharLowerW".} + proc GetKeyNameText*(lParam: LONG, lpString: LPWSTR, nSize: int32): int32{. + stdcall, dynlib: "user32", importc: "GetKeyNameTextW".} + proc VkKeyScan*(ch: WCHAR): SHORT{.stdcall, dynlib: "user32", + importc: "VkKeyScanW".} + proc VkKeyScanEx*(ch: WCHAR, dwhkl: HKL): SHORT{.stdcall, dynlib: "user32", + importc: "VkKeyScanExW".} + proc MapVirtualKey*(uCode: UINT, uMapType: UINT): UINT{.stdcall, + dynlib: "user32", importc: "MapVirtualKeyW".} + proc MapVirtualKeyEx*(uCode: UINT, uMapType: UINT, dwhkl: HKL): UINT{.stdcall, + dynlib: "user32", importc: "MapVirtualKeyExW".} + proc LoadAccelerators*(hInstance: HINST, lpTableName: LPCWSTR): HACCEL{. + stdcall, dynlib: "user32", importc: "LoadAcceleratorsW".} + proc CreateAcceleratorTable*(para1: LPACCEL, para2: int32): HACCEL{.stdcall, + dynlib: "user32", importc: "CreateAcceleratorTableW".} + proc CopyAcceleratorTable*(hAccelSrc: HACCEL, lpAccelDst: LPACCEL, + cAccelEntries: int32): int32{.stdcall, + dynlib: "user32", importc: "CopyAcceleratorTableW".} + proc TranslateAccelerator*(hWnd: HWND, hAccTable: HACCEL, lpMsg: LPMSG): int32{. + stdcall, dynlib: "user32", importc: "TranslateAcceleratorW".} + proc LoadMenu*(hInstance: HINST, lpMenuName: LPCWSTR): HMENU{.stdcall, + dynlib: "user32", importc: "LoadMenuW".} + proc LoadMenuIndirect*(lpMenuTemplate: LPMENUTEMPLATE): HMENU{.stdcall, + dynlib: "user32", importc: "LoadMenuIndirectW".} + proc ChangeMenu*(hMenu: HMENU, cmd: UINT, lpszNewItem: LPCWSTR, + cmdInsert: UINT, flags: UINT): WINBOOL{.stdcall, + dynlib: "user32", importc: "ChangeMenuW".} + proc GetMenuString*(hMenu: HMENU, uIDItem: UINT, lpString: LPWSTR, + nMaxCount: int32, uFlag: UINT): int32{.stdcall, + dynlib: "user32", importc: "GetMenuStringW".} + proc InsertMenu*(hMenu: HMENU, uPosition: UINT, uFlags: UINT, + uIDNewItem: UINT, lpNewItem: LPCWSTR): WINBOOL{.stdcall, + dynlib: "user32", importc: "InsertMenuW".} + proc AppendMenu*(hMenu: HMENU, uFlags: UINT, uIDNewItem: UINT, + lpNewItem: LPCWSTR): WINBOOL{.stdcall, dynlib: "user32", + importc: "AppendMenuW".} + proc ModifyMenu*(hMnu: HMENU, uPosition: UINT, uFlags: UINT, uIDNewItem: UINT, + lpNewItem: LPCWSTR): WINBOOL{.stdcall, dynlib: "user32", + importc: "ModifyMenuW".} + proc InsertMenuItem*(para1: HMENU, para2: UINT, para3: WINBOOL, + para4: LPCMENUITEMINFO): WINBOOL{.stdcall, + dynlib: "user32", importc: "InsertMenuItemW".} + proc GetMenuItemInfo*(para1: HMENU, para2: UINT, para3: WINBOOL, + para4: LPMENUITEMINFO): WINBOOL{.stdcall, + dynlib: "user32", importc: "GetMenuItemInfoW".} + proc SetMenuItemInfo*(para1: HMENU, para2: UINT, para3: WINBOOL, + para4: LPCMENUITEMINFO): WINBOOL{.stdcall, + dynlib: "user32", importc: "SetMenuItemInfoW".} + proc DrawText*(hDC: HDC, lpString: LPCWSTR, nCount: int32, lpRect: LPRECT, + uFormat: UINT): int32{.stdcall, dynlib: "user32", + importc: "DrawTextW".} + proc DrawTextEx*(para1: HDC, para2: LPWSTR, para3: int32, para4: LPRECT, + para5: UINT, para6: LPDRAWTEXTPARAMS): int32{.stdcall, + dynlib: "user32", importc: "DrawTextExW".} + proc GrayString*(hDC: HDC, hBrush: HBRUSH, lpOutputFunc: GRAYSTRINGPROC, + lpData: LPARAM, nCount: int32, X: int32, Y: int32, + nWidth: int32, nHeight: int32): WINBOOL{.stdcall, + dynlib: "user32", importc: "GrayStringW".} + proc DrawState*(para1: HDC, para2: HBRUSH, para3: DRAWSTATEPROC, + para4: LPARAM, para5: WPARAM, para6: int32, para7: int32, + para8: int32, para9: int32, para10: UINT): WINBOOL{.stdcall, + dynlib: "user32", importc: "DrawStateW".} + proc TabbedTextOut*(hDC: HDC, X: int32, Y: int32, lpString: LPCWSTR, + nCount: int32, nTabPositions: int32, + lpnTabStopPositions: LPINT, nTabOrigin: int32): LONG{. + stdcall, dynlib: "user32", importc: "TabbedTextOutW".} + proc GetTabbedTextExtent*(hDC: HDC, lpString: LPCWSTR, nCount: int32, + nTabPositions: int32, lpnTabStopPositions: LPINT): DWORD{. + stdcall, dynlib: "user32", importc: "GetTabbedTextExtentW".} + proc SetProp*(hWnd: HWND, lpString: LPCWSTR, hData: HANDLE): WINBOOL{.stdcall, + dynlib: "user32", importc: "SetPropW".} + proc GetProp*(hWnd: HWND, lpString: LPCWSTR): HANDLE{.stdcall, + dynlib: "user32", importc: "GetPropW".} + proc RemoveProp*(hWnd: HWND, lpString: LPCWSTR): HANDLE{.stdcall, + dynlib: "user32", importc: "RemovePropW".} + proc EnumPropsEx*(hWnd: HWND, lpEnumFunc: PROPENUMPROCEX, lParam: LPARAM): int32{. + stdcall, dynlib: "user32", importc: "EnumPropsExW".} + proc EnumProps*(hWnd: HWND, lpEnumFunc: PROPENUMPROC): int32{.stdcall, + dynlib: "user32", importc: "EnumPropsW".} + proc SetWindowText*(hWnd: HWND, lpString: LPCWSTR): WINBOOL{.stdcall, + dynlib: "user32", importc: "SetWindowTextW".} + proc GetWindowText*(hWnd: HWND, lpString: LPWSTR, nMaxCount: int32): int32{. + stdcall, dynlib: "user32", importc: "GetWindowTextW".} + proc GetWindowTextLength*(hWnd: HWND): int32{.stdcall, dynlib: "user32", + importc: "GetWindowTextLengthW".} + proc MessageBox*(hWnd: HWND, lpText: LPCWSTR, lpCaption: LPCWSTR, uType: UINT): int32{. + stdcall, dynlib: "user32", importc: "MessageBoxW".} + proc MessageBoxEx*(hWnd: HWND, lpText: LPCWSTR, lpCaption: LPCWSTR, + uType: UINT, wLanguageId: int16): int32{.stdcall, + dynlib: "user32", importc: "MessageBoxExW".} + proc MessageBoxIndirect*(para1: LPMSGBOXPARAMS): int32{.stdcall, + dynlib: "user32", importc: "MessageBoxIndirectW".} + proc GetWindowLong*(hWnd: HWND, nIndex: int32): LONG{.stdcall, + dynlib: "user32", importc: "GetWindowLongW".} + proc SetWindowLong*(hWnd: HWND, nIndex: int32, dwNewLong: LONG): LONG{. + stdcall, dynlib: "user32", importc: "SetWindowLongW".} + proc GetClassLong*(hWnd: HWND, nIndex: int32): DWORD{.stdcall, + dynlib: "user32", importc: "GetClassLongW".} + proc SetClassLong*(hWnd: HWND, nIndex: int32, dwNewLong: LONG): DWORD{. + stdcall, dynlib: "user32", importc: "SetClassLongW".} + when defined(cpu64): + proc GetWindowLongPtr*(hWnd: HWND, nIndex: int32): LONG_PTR{.stdcall, + dynlib: "user32", importc: "GetWindowLongPtrW".} + proc SetWindowLongPtr*(hWnd: HWND, nIndex: int32, dwNewLong: LONG_PTR): LONG_PTR{. + stdcall, dynlib: "user32", importc: "SetWindowLongPtrW".} + proc GetClassLongPtr*(hWnd: HWND, nIndex: int32): LONG_PTR{.stdcall, + dynlib: "user32", importc: "GetClassLongPtrW".} + proc SetClassLongPtr*(hWnd: HWND, nIndex: int32, dwNewLong: LONG_PTR): LONG_PTR{. + stdcall, dynlib: "user32", importc: "SetClassLongPtrW".} + else: + proc GetWindowLongPtr*(hWnd: HWND, nIndex: int32): LONG_PTR{.stdcall, + dynlib: "user32", importc: "GetWindowLongW".} + proc SetWindowLongPtr*(hWnd: HWND, nIndex: int32, dwNewLong: LONG_PTR): LONG_PTR{. + stdcall, dynlib: "user32", importc: "SetWindowLongW".} + proc GetClassLongPtr*(hWnd: HWND, nIndex: int32): LONG_PTR{.stdcall, + dynlib: "user32", importc: "GetClassLongW".} + proc SetClassLongPtr*(hWnd: HWND, nIndex: int32, dwNewLong: LONG_PTR): LONG_PTR{. + stdcall, dynlib: "user32", importc: "SetClassLongW".} + proc FindWindow*(lpClassName: LPCWSTR, lpWindowName: LPCWSTR): HWND{.stdcall, + dynlib: "user32", importc: "FindWindowW".} + proc FindWindowEx*(para1: HWND, para2: HWND, para3: LPCWSTR, para4: LPCWSTR): HWND{. + stdcall, dynlib: "user32", importc: "FindWindowExW".} + proc GetClassName*(hWnd: HWND, lpClassName: LPWSTR, nMaxCount: int32): int32{. + stdcall, dynlib: "user32", importc: "GetClassNameW".} + proc SetWindowsHookEx*(idHook: int32, lpfn: HOOKPROC, hmod: HINST, + dwThreadId: DWORD): HHOOK{.stdcall, dynlib: "user32", + importc: "SetWindowsHookExW".} + proc LoadBitmap*(hInstance: HINST, lpBitmapName: LPCWSTR): HBITMAP{.stdcall, + dynlib: "user32", importc: "LoadBitmapW".} + proc LoadCursor*(hInstance: HINST, lpCursorName: LPCWSTR): HCURSOR{.stdcall, + dynlib: "user32", importc: "LoadCursorW".} + proc LoadCursorFromFile*(lpFileName: LPCWSTR): HCURSOR{.stdcall, + dynlib: "user32", importc: "LoadCursorFromFileW".} + proc LoadIcon*(hInstance: HINST, lpIconName: LPCWSTR): HICON{.stdcall, + dynlib: "user32", importc: "LoadIconW".} + proc LoadImage*(para1: HINST, para2: LPCWSTR, para3: UINT, para4: int32, + para5: int32, para6: UINT): HANDLE{.stdcall, dynlib: "user32", + importc: "LoadImageW".} + proc LoadString*(hInstance: HINST, uID: UINT, lpBuffer: LPWSTR, + nBufferMax: int32): int32{.stdcall, dynlib: "user32", + importc: "LoadStringW".} + proc IsDialogMessage*(hDlg: HWND, lpMsg: LPMSG): WINBOOL{.stdcall, + dynlib: "user32", importc: "IsDialogMessageW".} + proc DlgDirList*(hDlg: HWND, lpPathSpec: LPWSTR, nIDListBox: int32, + nIDStaticPath: int32, uFileType: UINT): int32{.stdcall, + dynlib: "user32", importc: "DlgDirListW".} + proc DlgDirSelectEx*(hDlg: HWND, lpString: LPWSTR, nCount: int32, + nIDListBox: int32): WINBOOL{.stdcall, dynlib: "user32", + importc: "DlgDirSelectExW".} + proc DlgDirListComboBox*(hDlg: HWND, lpPathSpec: LPWSTR, nIDComboBox: int32, + nIDStaticPath: int32, uFiletype: UINT): int32{. + stdcall, dynlib: "user32", importc: "DlgDirListComboBoxW".} + proc DlgDirSelectComboBoxEx*(hDlg: HWND, lpString: LPWSTR, nCount: int32, + nIDComboBox: int32): WINBOOL{.stdcall, + dynlib: "user32", importc: "DlgDirSelectComboBoxExW".} + proc DefFrameProc*(hWnd: HWND, hWndMDIClient: HWND, uMsg: UINT, + wParam: WPARAM, lParam: LPARAM): LRESULT{.stdcall, + dynlib: "user32", importc: "DefFrameProcW".} + proc DefMDIChildProc*(hWnd: HWND, uMsg: UINT, wParam: WPARAM, lParam: LPARAM): LRESULT{. + stdcall, dynlib: "user32", importc: "DefMDIChildProcW".} + proc CreateMDIWindow*(lpClassName: LPWSTR, lpWindowName: LPWSTR, + dwStyle: DWORD, X: int32, Y: int32, nWidth: int32, + nHeight: int32, hWndParent: HWND, hInstance: HINST, + lParam: LPARAM): HWND{.stdcall, dynlib: "user32", + importc: "CreateMDIWindowW".} + proc WinHelp*(hWndMain: HWND, lpszHelp: LPCWSTR, uCommand: UINT, dwData: DWORD): WINBOOL{. + stdcall, dynlib: "user32", importc: "WinHelpW".} + proc ChangeDisplaySettings*(lpDevMode: LPDEVMODE, dwFlags: DWORD): LONG{. + stdcall, dynlib: "user32", importc: "ChangeDisplaySettingsW".} + proc EnumDisplaySettings*(lpszDeviceName: LPCWSTR, iModeNum: DWORD, + lpDevMode: LPDEVMODEW): WINBOOL{.stdcall, + dynlib: "user32", importc: "EnumDisplaySettingsW".} + proc SystemParametersInfo*(uiAction: UINT, uiParam: UINT, pvParam: PVOID, + fWinIni: UINT): WINBOOL{.stdcall, dynlib: "user32", + importc: "SystemParametersInfoW".} + proc AddFontResource*(para1: LPCWSTR): int32{.stdcall, dynlib: "gdi32", + importc: "AddFontResourceW".} + proc CopyMetaFile*(para1: HMETAFILE, para2: LPCWSTR): HMETAFILE{.stdcall, + dynlib: "gdi32", importc: "CopyMetaFileW".} + proc CreateFontIndirect*(para1: PLOGFONT): HFONT{.stdcall, dynlib: "gdi32", + importc: "CreateFontIndirectW".} + proc CreateFontIndirect*(para1: var LOGFONT): HFONT{.stdcall, dynlib: "gdi32", + importc: "CreateFontIndirectW".} + proc CreateFont*(para1: int32, para2: int32, para3: int32, para4: int32, + para5: int32, para6: DWORD, para7: DWORD, para8: DWORD, + para9: DWORD, para10: DWORD, para11: DWORD, para12: DWORD, + para13: DWORD, para14: LPCWSTR): HFONT{.stdcall, + dynlib: "gdi32", importc: "CreateFontW".} + proc CreateIC*(para1: LPCWSTR, para2: LPCWSTR, para3: LPCWSTR, + para4: LPDEVMODE): HDC{.stdcall, dynlib: "gdi32", + importc: "CreateICW".} + proc CreateMetaFile*(para1: LPCWSTR): HDC{.stdcall, dynlib: "gdi32", + importc: "CreateMetaFileW".} + proc CreateScalableFontResource*(para1: DWORD, para2: LPCWSTR, para3: LPCWSTR, + para4: LPCWSTR): WINBOOL{.stdcall, + dynlib: "gdi32", importc: "CreateScalableFontResourceW".} + proc EnumFontFamiliesEx*(para1: HDC, para2: LPLOGFONT, para3: FONTENUMEXPROC, + para4: LPARAM, para5: DWORD): int32{.stdcall, + dynlib: "gdi32", importc: "EnumFontFamiliesExW".} + proc EnumFontFamilies*(para1: HDC, para2: LPCWSTR, para3: FONTENUMPROC, + para4: LPARAM): int32{.stdcall, dynlib: "gdi32", + importc: "EnumFontFamiliesW".} + proc EnumFonts*(para1: HDC, para2: LPCWSTR, para3: ENUMFONTSPROC, + para4: LPARAM): int32{.stdcall, dynlib: "gdi32", + importc: "EnumFontsW".} + proc EnumFonts*(para1: HDC, para2: LPCWSTR, para3: ENUMFONTSPROC, + para4: pointer): int32{.stdcall, dynlib: "gdi32", + importc: "EnumFontsW".} + proc GetCharWidth*(para1: HDC, para2: UINT, para3: UINT, para4: LPINT): WINBOOL{. + stdcall, dynlib: "gdi32", importc: "GetCharWidthW".} + proc GetCharWidth32*(para1: HDC, para2: UINT, para3: UINT, para4: LPINT): WINBOOL{. + stdcall, dynlib: "gdi32", importc: "GetCharWidth32W".} + proc GetCharWidthFloat*(para1: HDC, para2: UINT, para3: UINT, para4: ptr float32): WINBOOL{. + stdcall, dynlib: "gdi32", importc: "GetCharWidthFloatW".} + proc GetCharABCWidths*(para1: HDC, para2: UINT, para3: UINT, para4: LPABC): WINBOOL{. + stdcall, dynlib: "gdi32", importc: "GetCharABCWidthsW".} + proc GetCharABCWidthsFloat*(para1: HDC, para2: UINT, para3: UINT, + para4: LPABCFLOAT): WINBOOL{.stdcall, + dynlib: "gdi32", importc: "GetCharABCWidthsFloatW".} + proc GetGlyphOutline*(para1: HDC, para2: UINT, para3: UINT, + para4: LPGLYPHMETRICS, para5: DWORD, para6: LPVOID, + para7: PMAT2): DWORD{.stdcall, dynlib: "gdi32", + importc: "GetGlyphOutlineW".} + proc GetMetaFile*(para1: LPCWSTR): HMETAFILE{.stdcall, dynlib: "gdi32", + importc: "GetMetaFileW".} + proc GetOutlineTextMetrics*(para1: HDC, para2: UINT, + para3: LPOUTLINETEXTMETRIC): UINT{.stdcall, + dynlib: "gdi32", importc: "GetOutlineTextMetricsW".} + proc GetTextExtentPoint*(para1: HDC, para2: LPCWSTR, para3: int32, + para4: LPSIZE): WINBOOL{.stdcall, dynlib: "gdi32", + importc: "GetTextExtentPointW".} + proc GetTextExtentPoint32*(para1: HDC, para2: LPCWSTR, para3: int32, + para4: LPSIZE): WINBOOL{.stdcall, dynlib: "gdi32", + importc: "GetTextExtentPoint32W".} + proc GetTextExtentExPoint*(para1: HDC, para2: LPCWSTR, para3: int32, + para4: int32, para5: LPINT, para6: LPINT, + para7: LPSIZE): WINBOOL{.stdcall, dynlib: "gdi32", + importc: "GetTextExtentExPointW".} + proc GetCharacterPlacement*(para1: HDC, para2: LPCWSTR, para3: int32, + para4: int32, para5: LPGCP_RESULTS, para6: DWORD): DWORD{. + stdcall, dynlib: "gdi32", importc: "GetCharacterPlacementW".} + proc ResetDC*(para1: HDC, para2: LPDEVMODE): HDC{.stdcall, dynlib: "gdi32", + importc: "ResetDCW".} + proc RemoveFontResource*(para1: LPCWSTR): WINBOOL{.stdcall, dynlib: "gdi32", + importc: "RemoveFontResourceW".} + proc CopyEnhMetaFile*(para1: HENHMETAFILE, para2: LPCWSTR): HENHMETAFILE{. + stdcall, dynlib: "gdi32", importc: "CopyEnhMetaFileW".} + proc CreateEnhMetaFile*(para1: HDC, para2: LPCWSTR, para3: LPRECT, + para4: LPCWSTR): HDC{.stdcall, dynlib: "gdi32", + importc: "CreateEnhMetaFileW".} + proc GetEnhMetaFile*(para1: LPCWSTR): HENHMETAFILE{.stdcall, dynlib: "gdi32", + importc: "GetEnhMetaFileW".} + proc GetEnhMetaFileDescription*(para1: HENHMETAFILE, para2: UINT, + para3: LPWSTR): UINT{.stdcall, + dynlib: "gdi32", importc: "GetEnhMetaFileDescriptionW".} + proc GetTextMetrics*(para1: HDC, para2: LPTEXTMETRIC): WINBOOL{.stdcall, + dynlib: "gdi32", importc: "GetTextMetricsW".} + proc StartDoc*(para1: HDC, para2: PDOCINFO): int32{.stdcall, dynlib: "gdi32", + importc: "StartDocW".} + proc GetObject*(para1: HGDIOBJ, para2: int32, para3: LPVOID): int32{.stdcall, + dynlib: "gdi32", importc: "GetObjectW".} + proc TextOut*(para1: HDC, para2: int32, para3: int32, para4: LPCWSTR, + para5: int32): WINBOOL{.stdcall, dynlib: "gdi32", + importc: "TextOutW".} + proc ExtTextOut*(para1: HDC, para2: int32, para3: int32, para4: UINT, + para5: LPRECT, para6: LPCWSTR, para7: UINT, para8: LPINT): WINBOOL{. + stdcall, dynlib: "gdi32", importc: "ExtTextOutW".} + proc PolyTextOut*(para1: HDC, para2: PPOLYTEXT, para3: int32): WINBOOL{. + stdcall, dynlib: "gdi32", importc: "PolyTextOutW".} + proc GetTextFace*(para1: HDC, para2: int32, para3: LPWSTR): int32{.stdcall, + dynlib: "gdi32", importc: "GetTextFaceW".} + proc GetKerningPairs*(para1: HDC, para2: DWORD, para3: LPKERNINGPAIR): DWORD{. + stdcall, dynlib: "gdi32", importc: "GetKerningPairsW".} + proc GetLogColorSpace*(para1: HCOLORSPACE, para2: LPLOGCOLORSPACE, + para3: DWORD): WINBOOL{.stdcall, dynlib: "gdi32", + importc: "GetLogColorSpaceW".} + proc CreateColorSpace*(para1: LPLOGCOLORSPACE): HCOLORSPACE{.stdcall, + dynlib: "gdi32", importc: "CreateColorSpaceW".} + proc GetICMProfile*(para1: HDC, para2: DWORD, para3: LPWSTR): WINBOOL{. + stdcall, dynlib: "gdi32", importc: "GetICMProfileW".} + proc SetICMProfile*(para1: HDC, para2: LPWSTR): WINBOOL{.stdcall, + dynlib: "gdi32", importc: "SetICMProfileW".} + proc UpdateICMRegKey*(para1: DWORD, para2: DWORD, para3: LPWSTR, para4: UINT): WINBOOL{. + stdcall, dynlib: "gdi32", importc: "UpdateICMRegKeyW".} + proc EnumICMProfiles*(para1: HDC, para2: ICMENUMPROC, para3: LPARAM): int32{. + stdcall, dynlib: "gdi32", importc: "EnumICMProfilesW".} + proc CreatePropertySheetPage*(lppsp: LPCPROPSHEETPAGE): HPROPSHEETPAGE{. + stdcall, dynlib: "comctl32", importc: "CreatePropertySheetPageW".} + proc PropertySheet*(lppsph: LPCPROPSHEETHEADER): int32{.stdcall, + dynlib: "comctl32", importc: "PropertySheetW".} + proc ImageList_LoadImage*(hi: HINST, lpbmp: LPCWSTR, cx: int32, cGrow: int32, + crMask: COLORREF, uType: UINT, uFlags: UINT): HIMAGELIST{. + stdcall, dynlib: "comctl32", importc: "ImageList_LoadImageW".} + proc CreateStatusWindow*(style: LONG, lpszText: LPCWSTR, hwndParent: HWND, + wID: UINT): HWND{.stdcall, dynlib: "comctl32", + importc: "CreateStatusWindowW".} + proc DrawStatusText*(hDC: HDC, lprc: LPRECT, pszText: LPCWSTR, uFlags: UINT){. + stdcall, dynlib: "comctl32", importc: "DrawStatusTextW".} + proc GetOpenFileName*(para1: LPOPENFILENAME): WINBOOL{.stdcall, + dynlib: "comdlg32", importc: "GetOpenFileNameW".} + proc GetSaveFileName*(para1: LPOPENFILENAME): WINBOOL{.stdcall, + dynlib: "comdlg32", importc: "GetSaveFileNameW".} + proc GetFileTitle*(para1: LPCWSTR, para2: LPWSTR, para3: int16): int{.stdcall, + dynlib: "comdlg32", importc: "GetFileTitleW".} + proc ChooseColor*(para1: LPCHOOSECOLOR): WINBOOL{.stdcall, dynlib: "comdlg32", + importc: "ChooseColorW".} + proc ReplaceText*(para1: LPFINDREPLACE): HWND{.stdcall, dynlib: "comdlg32", + importc: "ReplaceTextW".} + proc ChooseFont*(para1: LPCHOOSEFONT): WINBOOL{.stdcall, dynlib: "comdlg32", + importc: "ChooseFontW".} + proc FindText*(para1: LPFINDREPLACE): HWND{.stdcall, dynlib: "comdlg32", + importc: "FindTextW".} + proc PrintDlg*(para1: LPPRINTDLG): WINBOOL{.stdcall, dynlib: "comdlg32", + importc: "PrintDlgW".} + proc PageSetupDlg*(para1: LPPAGESETUPDLG): WINBOOL{.stdcall, + dynlib: "comdlg32", importc: "PageSetupDlgW".} + proc CreateProcess*(lpApplicationName: LPCWSTR, lpCommandLine: LPWSTR, + lpProcessAttributes: LPSECURITY_ATTRIBUTES, + lpThreadAttributes: LPSECURITY_ATTRIBUTES, + bInheritHandles: WINBOOL, dwCreationFlags: DWORD, + lpEnvironment: LPVOID, lpCurrentDirectory: LPCWSTR, + lpStartupInfo: LPSTARTUPINFO, + lpProcessInformation: LPPROCESS_INFORMATION): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "CreateProcessW".} + proc GetStartupInfo*(lpStartupInfo: LPSTARTUPINFO){.stdcall, + dynlib: "kernel32", importc: "GetStartupInfoW".} + proc FindFirstFile*(lpFileName: LPCWSTR, lpFindFileData: LPWIN32_FIND_DATA): HANDLE{. + stdcall, dynlib: "kernel32", importc: "FindFirstFileW".} + proc FindNextFile*(hFindFile: HANDLE, lpFindFileData: LPWIN32_FIND_DATA): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "FindNextFileW".} + proc GetVersionEx*(VersionInformation: LPOSVERSIONINFOW): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "GetVersionExW".} + proc GetVersionExW*(VersionInformation: LPOSVERSIONINFOW): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "GetVersionExW".} + proc CreateWindow*(lpClassName: LPCWSTR, lpWindowName: LPCWSTR, + dwStyle: DWORD, X: int32, Y: int32, nWidth: int32, + nHeight: int32, hWndParent: HWND, hMenu: HMENU, + hInstance: HINST, lpParam: LPVOID): HWND + proc CreateDialog*(hInstance: HINST, lpName: LPCWSTR, hWndParent: HWND, + lpDialogFunc: DLGPROC): HWND + proc CreateDialogIndirect*(hInstance: HINST, lpTemplate: LPCDLGTEMPLATE, + hWndParent: HWND, lpDialogFunc: DLGPROC): HWND + proc DialogBox*(hInstance: HINST, lpTemplate: LPCWSTR, hWndParent: HWND, + lpDialogFunc: DLGPROC): int32 + proc DialogBoxIndirect*(hInstance: HINST, lpTemplate: LPCDLGTEMPLATE, + hWndParent: HWND, lpDialogFunc: DLGPROC): int32 + proc CreateDC*(para1: LPCWSTR, para2: LPCWSTR, para3: LPCWSTR, para4: pDEVMODE): HDC{. + stdcall, dynlib: "gdi32", importc: "CreateDCW".} + proc VerInstallFile*(uFlags: DWORD, szSrcFileName: LPWSTR, + szDestFileName: LPWSTR, szSrcDir: LPWSTR, + szDestDir: LPWSTR, szCurDir: LPWSTR, szTmpFile: LPWSTR, + lpuTmpFileLen: PUINT): DWORD{.stdcall, dynlib: "version", + importc: "VerInstallFileW".} + proc GetFileVersionInfoSize*(lptstrFilename: LPWSTR, lpdwHandle: LPDWORD): DWORD{. + stdcall, dynlib: "version", importc: "GetFileVersionInfoSizeW".} + proc GetFileVersionInfo*(lptstrFilename: LPWSTR, dwHandle: DWORD, + dwLen: DWORD, lpData: LPVOID): WINBOOL{.stdcall, + dynlib: "version", importc: "GetFileVersionInfoW".} + proc VerLanguageName*(wLang: DWORD, szLang: LPWSTR, nSize: DWORD): DWORD{. + stdcall, dynlib: "kernel32", importc: "VerLanguageNameW".} + proc VerQueryValue*(pBlock: LPVOID, lpSubBlock: LPWSTR, lplpBuffer: LPVOID, + puLen: PUINT): WINBOOL{.stdcall, dynlib: "version", + importc: "VerQueryValueW".} + proc VerFindFile*(uFlags: DWORD, szFileName: LPWSTR, szWinDir: LPWSTR, + szAppDir: LPWSTR, szCurDir: LPWSTR, lpuCurDirLen: PUINT, + szDestDir: LPWSTR, lpuDestDirLen: PUINT): DWORD{.stdcall, + dynlib: "version", importc: "VerFindFileW".} + proc RegSetValueEx*(hKey: HKEY, lpValueName: LPCWSTR, Reserved: DWORD, + dwType: DWORD, lpData: LPBYTE, cbData: DWORD): LONG{. + stdcall, dynlib: "advapi32", importc: "RegSetValueExW".} + proc RegUnLoadKey*(hKey: HKEY, lpSubKey: LPCWSTR): LONG{.stdcall, + dynlib: "advapi32", importc: "RegUnLoadKeyW".} + proc InitiateSystemShutdown*(lpMachineName: LPWSTR, lpMessage: LPWSTR, + dwTimeout: DWORD, bForceAppsClosed: WINBOOL, + bRebootAfterShutdown: WINBOOL): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "InitiateSystemShutdownW".} + proc AbortSystemShutdown*(lpMachineName: LPWSTR): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "AbortSystemShutdownW".} + proc RegRestoreKey*(hKey: HKEY, lpFile: LPCWSTR, dwFlags: DWORD): LONG{. + stdcall, dynlib: "advapi32", importc: "RegRestoreKeyW".} + proc RegSaveKey*(hKey: HKEY, lpFile: LPCWSTR, + lpSecurityAttributes: LPSECURITY_ATTRIBUTES): LONG{.stdcall, + dynlib: "advapi32", importc: "RegSaveKeyW".} + proc RegSetValue*(hKey: HKEY, lpSubKey: LPCWSTR, dwType: DWORD, + lpData: LPCWSTR, cbData: DWORD): LONG{.stdcall, + dynlib: "advapi32", importc: "RegSetValueW".} + proc RegQueryValue*(hKey: HKEY, lpSubKey: LPCWSTR, lpValue: LPWSTR, + lpcbValue: PLONG): LONG{.stdcall, dynlib: "advapi32", + importc: "RegQueryValueW".} + proc RegQueryMultipleValues*(hKey: HKEY, val_list: PVALENT, num_vals: DWORD, + lpValueBuf: LPWSTR, ldwTotsize: LPDWORD): LONG{. + stdcall, dynlib: "advapi32", importc: "RegQueryMultipleValuesW".} + proc RegQueryValueEx*(hKey: HKEY, lpValueName: LPCWSTR, lpReserved: LPDWORD, + lpType: LPDWORD, lpData: LPBYTE, lpcbData: LPDWORD): LONG{. + stdcall, dynlib: "advapi32", importc: "RegQueryValueExW".} + proc RegReplaceKey*(hKey: HKEY, lpSubKey: LPCWSTR, lpNewFile: LPCWSTR, + lpOldFile: LPCWSTR): LONG{.stdcall, dynlib: "advapi32", + importc: "RegReplaceKeyW".} + proc RegConnectRegistry*(lpMachineName: LPWSTR, hKey: HKEY, phkResult: PHKEY): LONG{. + stdcall, dynlib: "advapi32", importc: "RegConnectRegistryW".} + proc RegCreateKey*(hKey: HKEY, lpSubKey: LPCWSTR, phkResult: PHKEY): LONG{. + stdcall, dynlib: "advapi32", importc: "RegCreateKeyW".} + proc RegCreateKeyEx*(hKey: HKEY, lpSubKey: LPCWSTR, Reserved: DWORD, + lpClass: LPWSTR, dwOptions: DWORD, samDesired: REGSAM, + lpSecurityAttributes: LPSECURITY_ATTRIBUTES, + phkResult: PHKEY, lpdwDisposition: LPDWORD): LONG{. + stdcall, dynlib: "advapi32", importc: "RegCreateKeyExW".} + proc RegDeleteKey*(hKey: HKEY, lpSubKey: LPCWSTR): LONG{.stdcall, + dynlib: "advapi32", importc: "RegDeleteKeyW".} + proc RegDeleteValue*(hKey: HKEY, lpValueName: LPCWSTR): LONG{.stdcall, + dynlib: "advapi32", importc: "RegDeleteValueW".} + proc RegEnumKey*(hKey: HKEY, dwIndex: DWORD, lpName: LPWSTR, cbName: DWORD): LONG{. + stdcall, dynlib: "advapi32", importc: "RegEnumKeyW".} + proc RegEnumKeyEx*(hKey: HKEY, dwIndex: DWORD, lpName: LPWSTR, + lpcbName: LPDWORD, lpReserved: LPDWORD, lpClass: LPWSTR, + lpcbClass: LPDWORD, lpftLastWriteTime: PFILETIME): LONG{. + stdcall, dynlib: "advapi32", importc: "RegEnumKeyExW".} + proc RegEnumValue*(hKey: HKEY, dwIndex: DWORD, lpValueName: LPWSTR, + lpcbValueName: LPDWORD, lpReserved: LPDWORD, + lpType: LPDWORD, lpData: LPBYTE, lpcbData: LPDWORD): LONG{. + stdcall, dynlib: "advapi32", importc: "RegEnumValueW".} + proc RegLoadKey*(hKey: HKEY, lpSubKey: LPCWSTR, lpFile: LPCWSTR): LONG{. + stdcall, dynlib: "advapi32", importc: "RegLoadKeyW".} + proc RegOpenKey*(hKey: HKEY, lpSubKey: LPCWSTR, phkResult: PHKEY): LONG{. + stdcall, dynlib: "advapi32", importc: "RegOpenKeyW".} + proc RegOpenKeyEx*(hKey: HKEY, lpSubKey: LPCWSTR, ulOptions: DWORD, + samDesired: REGSAM, phkResult: PHKEY): LONG{.stdcall, + dynlib: "advapi32", importc: "RegOpenKeyExW".} + proc RegQueryInfoKey*(hKey: HKEY, lpClass: LPWSTR, lpcbClass: LPDWORD, + lpReserved: LPDWORD, lpcSubKeys: LPDWORD, + lpcbMaxSubKeyLen: LPDWORD, lpcbMaxClassLen: LPDWORD, + lpcValues: LPDWORD, lpcbMaxValueNameLen: LPDWORD, + lpcbMaxValueLen: LPDWORD, + lpcbSecurityDescriptor: LPDWORD, + lpftLastWriteTime: PFILETIME): LONG{.stdcall, + dynlib: "advapi32", importc: "RegQueryInfoKeyW".} + proc CompareString*(Locale: LCID, dwCmpFlags: DWORD, lpString1: LPCWSTR, + cchCount1: int32, lpString2: LPCWSTR, cchCount2: int32): int32{. + stdcall, dynlib: "kernel32", importc: "CompareStringW".} + proc LCMapString*(Locale: LCID, dwMapFlags: DWORD, lpSrcStr: LPCWSTR, + cchSrc: int32, lpDestStr: LPWSTR, cchDest: int32): int32{. + stdcall, dynlib: "kernel32", importc: "LCMapStringW".} + proc GetLocaleInfo*(Locale: LCID, LCType: LCTYPE, lpLCData: LPWSTR, + cchData: int32): int32{.stdcall, dynlib: "kernel32", + importc: "GetLocaleInfoW".} + proc SetLocaleInfo*(Locale: LCID, LCType: LCTYPE, lpLCData: LPCWSTR): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "SetLocaleInfoW".} + proc GetTimeFormat*(Locale: LCID, dwFlags: DWORD, lpTime: LPSYSTEMTIME, + lpFormat: LPCWSTR, lpTimeStr: LPWSTR, cchTime: int32): int32{. + stdcall, dynlib: "kernel32", importc: "GetTimeFormatW".} + proc GetDateFormat*(Locale: LCID, dwFlags: DWORD, lpDate: LPSYSTEMTIME, + lpFormat: LPCWSTR, lpDateStr: LPWSTR, cchDate: int32): int32{. + stdcall, dynlib: "kernel32", importc: "GetDateFormatW".} + proc GetNumberFormat*(Locale: LCID, dwFlags: DWORD, lpValue: LPCWSTR, + lpFormat: PNUMBERFMT, lpNumberStr: LPWSTR, + cchNumber: int32): int32{.stdcall, dynlib: "kernel32", + importc: "GetNumberFormatW".} + proc GetCurrencyFormat*(Locale: LCID, dwFlags: DWORD, lpValue: LPCWSTR, + lpFormat: PCURRENCYFMT, lpCurrencyStr: LPWSTR, + cchCurrency: int32): int32{.stdcall, + dynlib: "kernel32", importc: "GetCurrencyFormatW".} + proc EnumCalendarInfo*(lpCalInfoEnumProc: CALINFO_ENUMPROC, Locale: LCID, + Calendar: CALID, CalType: CALTYPE): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "EnumCalendarInfoW".} + proc EnumTimeFormats*(lpTimeFmtEnumProc: TIMEFMT_ENUMPROC, Locale: LCID, + dwFlags: DWORD): WINBOOL{.stdcall, dynlib: "kernel32", + importc: "EnumTimeFormatsW".} + proc EnumDateFormats*(lpDateFmtEnumProc: DATEFMT_ENUMPROC, Locale: LCID, + dwFlags: DWORD): WINBOOL{.stdcall, dynlib: "kernel32", + importc: "EnumDateFormatsW".} + proc GetStringTypeEx*(Locale: LCID, dwInfoType: DWORD, lpSrcStr: LPCWSTR, + cchSrc: int32, lpCharType: LPWORD): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "GetStringTypeExW".} + proc GetStringType*(dwInfoType: DWORD, lpSrcStr: LPCWSTR, cchSrc: int32, + lpCharType: LPWORD): WINBOOL{.stdcall, dynlib: "kernel32", + importc: "GetStringTypeW".} + proc FoldString*(dwMapFlags: DWORD, lpSrcStr: LPCWSTR, cchSrc: int32, + lpDestStr: LPWSTR, cchDest: int32): int32{.stdcall, + dynlib: "kernel32", importc: "FoldStringW".} + proc EnumSystemLocales*(lpLocaleEnumProc: LOCALE_ENUMPROC, dwFlags: DWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "EnumSystemLocalesW".} + proc EnumSystemCodePages*(lpCodePageEnumProc: CODEPAGE_ENUMPROC, + dwFlags: DWORD): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "EnumSystemCodePagesW".} + proc PeekConsoleInput*(hConsoleInput: HANDLE, lpBuffer: PINPUTRECORD, + nLength: DWORD, lpNumberOfEventsRead: LPDWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "PeekConsoleInputW".} + proc ReadConsoleInput*(hConsoleInput: HANDLE, lpBuffer: PINPUTRECORD, + nLength: DWORD, lpNumberOfEventsRead: LPDWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "ReadConsoleInputW".} + proc WriteConsoleInput*(hConsoleInput: HANDLE, lpBuffer: PINPUTRECORD, + nLength: DWORD, lpNumberOfEventsWritten: LPDWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "WriteConsoleInputW".} + proc ReadConsoleOutput*(hConsoleOutput: HANDLE, lpBuffer: PCHAR_INFO, + dwBufferSize: COORD, dwBufferCoord: COORD, + lpReadRegion: PSMALL_RECT): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "ReadConsoleOutputW".} + proc WriteConsoleOutput*(hConsoleOutput: HANDLE, lpBuffer: PCHAR_INFO, + dwBufferSize: COORD, dwBufferCoord: COORD, + lpWriteRegion: PSMALL_RECT): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "WriteConsoleOutputW".} + proc ReadConsoleOutputCharacter*(hConsoleOutput: HANDLE, lpCharacter: LPWSTR, + nLength: DWORD, dwReadCoord: COORD, + lpNumberOfCharsRead: LPDWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "ReadConsoleOutputCharacterW".} + proc WriteConsoleOutputCharacter*(hConsoleOutput: HANDLE, + lpCharacter: LPCWSTR, nLength: DWORD, + dwWriteCoord: COORD, + lpNumberOfCharsWritten: LPDWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "WriteConsoleOutputCharacterW".} + proc FillConsoleOutputCharacter*(hConsoleOutput: HANDLE, cCharacter: WCHAR, + nLength: DWORD, dwWriteCoord: COORD, + lpNumberOfCharsWritten: LPDWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "FillConsoleOutputCharacterW".} + proc ScrollConsoleScreenBuffer*(hConsoleOutput: HANDLE, + lpScrollRectangle: PSMALL_RECT, + lpClipRectangle: PSMALL_RECT, + dwDestinationOrigin: COORD, lpFill: PCHAR_INFO): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "ScrollConsoleScreenBufferW".} + proc GetConsoleTitle*(lpConsoleTitle: LPWSTR, nSize: DWORD): DWORD{.stdcall, + dynlib: "kernel32", importc: "GetConsoleTitleW".} + proc SetConsoleTitle*(lpConsoleTitle: LPCWSTR): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "SetConsoleTitleW".} + proc ReadConsole*(hConsoleInput: HANDLE, lpBuffer: LPVOID, + nNumberOfCharsToRead: DWORD, lpNumberOfCharsRead: LPDWORD, + lpReserved: LPVOID): WINBOOL{.stdcall, dynlib: "kernel32", + importc: "ReadConsoleW".} + proc WriteConsole*(hConsoleOutput: HANDLE, lpBuffer: pointer, + nNumberOfCharsToWrite: DWORD, + lpNumberOfCharsWritten: LPDWORD, lpReserved: LPVOID): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "WriteConsoleW".} + proc WNetAddConnection*(lpRemoteName: LPCWSTR, lpPassword: LPCWSTR, + lpLocalName: LPCWSTR): DWORD{.stdcall, dynlib: "mpr", + importc: "WNetAddConnectionW".} + proc WNetAddConnection2*(lpNetResource: LPNETRESOURCE, lpPassword: LPCWSTR, + lpUserName: LPCWSTR, dwFlags: DWORD): DWORD{.stdcall, + dynlib: "mpr", importc: "WNetAddConnection2W".} + proc WNetAddConnection3*(hwndOwner: HWND, lpNetResource: LPNETRESOURCE, + lpPassword: LPCWSTR, lpUserName: LPCWSTR, + dwFlags: DWORD): DWORD{.stdcall, dynlib: "mpr", + importc: "WNetAddConnection3W".} + proc WNetCancelConnection*(lpName: LPCWSTR, fForce: WINBOOL): DWORD{.stdcall, + dynlib: "mpr", importc: "WNetCancelConnectionW".} + proc WNetCancelConnection2*(lpName: LPCWSTR, dwFlags: DWORD, fForce: WINBOOL): DWORD{. + stdcall, dynlib: "mpr", importc: "WNetCancelConnection2W".} + proc WNetGetConnection*(lpLocalName: LPCWSTR, lpRemoteName: LPWSTR, + lpnLength: LPDWORD): DWORD{.stdcall, dynlib: "mpr", + importc: "WNetGetConnectionW".} + proc WNetUseConnection*(hwndOwner: HWND, lpNetResource: LPNETRESOURCE, + lpUserID: LPCWSTR, lpPassword: LPCWSTR, + dwFlags: DWORD, lpAccessName: LPWSTR, + lpBufferSize: LPDWORD, lpResult: LPDWORD): DWORD{. + stdcall, dynlib: "mpr", importc: "WNetUseConnectionW".} + proc WNetSetConnection*(lpName: LPCWSTR, dwProperties: DWORD, pvValues: LPVOID): DWORD{. + stdcall, dynlib: "mpr", importc: "WNetSetConnectionW".} + proc WNetConnectionDialog1*(lpConnDlgStruct: LPCONNECTDLGSTRUCT): DWORD{. + stdcall, dynlib: "mpr", importc: "WNetConnectionDialog1W".} + proc WNetDisconnectDialog1*(lpConnDlgStruct: LPDISCDLGSTRUCT): DWORD{.stdcall, + dynlib: "mpr", importc: "WNetDisconnectDialog1W".} + proc WNetOpenEnum*(dwScope: DWORD, dwType: DWORD, dwUsage: DWORD, + lpNetResource: LPNETRESOURCE, lphEnum: LPHANDLE): DWORD{. + stdcall, dynlib: "mpr", importc: "WNetOpenEnumW".} + proc WNetEnumResource*(hEnum: HANDLE, lpcCount: LPDWORD, lpBuffer: LPVOID, + lpBufferSize: LPDWORD): DWORD{.stdcall, dynlib: "mpr", + importc: "WNetEnumResourceW".} + proc WNetGetUniversalName*(lpLocalPath: LPCWSTR, dwInfoLevel: DWORD, + lpBuffer: LPVOID, lpBufferSize: LPDWORD): DWORD{. + stdcall, dynlib: "mpr", importc: "WNetGetUniversalNameW".} + proc WNetGetUser*(lpName: LPCWSTR, lpUserName: LPWSTR, lpnLength: LPDWORD): DWORD{. + stdcall, dynlib: "mpr", importc: "WNetGetUserW".} + proc WNetGetProviderName*(dwNetType: DWORD, lpProviderName: LPWSTR, + lpBufferSize: LPDWORD): DWORD{.stdcall, + dynlib: "mpr", importc: "WNetGetProviderNameW".} + proc WNetGetNetworkInformation*(lpProvider: LPCWSTR, + lpNetInfoStruct: LPNETINFOSTRUCT): DWORD{. + stdcall, dynlib: "mpr", importc: "WNetGetNetworkInformationW".} + proc WNetGetLastError*(lpError: LPDWORD, lpErrorBuf: LPWSTR, + nErrorBufSize: DWORD, lpNameBuf: LPWSTR, + nNameBufSize: DWORD): DWORD{.stdcall, dynlib: "mpr", + importc: "WNetGetLastErrorW".} + proc MultinetGetConnectionPerformance*(lpNetResource: LPNETRESOURCE, + lpNetConnectInfoStruct: LPNETCONNECTINFOSTRUCT): DWORD{.stdcall, + dynlib: "mpr", importc: "MultinetGetConnectionPerformanceW".} + proc ChangeServiceConfig*(hService: SC_HANDLE, dwServiceType: DWORD, + dwStartType: DWORD, dwErrorControl: DWORD, + lpBinaryPathName: LPCWSTR, + lpLoadOrderGroup: LPCWSTR, lpdwTagId: LPDWORD, + lpDependencies: LPCWSTR, + lpServiceStartName: LPCWSTR, lpPassword: LPCWSTR, + lpDisplayName: LPCWSTR): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "ChangeServiceConfigW".} + proc CreateService*(hSCManager: SC_HANDLE, lpServiceName: LPCWSTR, + lpDisplayName: LPCWSTR, dwDesiredAccess: DWORD, + dwServiceType: DWORD, dwStartType: DWORD, + dwErrorControl: DWORD, lpBinaryPathName: LPCWSTR, + lpLoadOrderGroup: LPCWSTR, lpdwTagId: LPDWORD, + lpDependencies: LPCWSTR, lpServiceStartName: LPCWSTR, + lpPassword: LPCWSTR): SC_HANDLE{.stdcall, + dynlib: "advapi32", importc: "CreateServiceW".} + proc EnumDependentServices*(hService: SC_HANDLE, dwServiceState: DWORD, + lpServices: LPENUM_SERVICE_STATUS, + cbBufSize: DWORD, pcbBytesNeeded: LPDWORD, + lpServicesReturned: LPDWORD): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "EnumDependentServicesW".} + proc EnumServicesStatus*(hSCManager: SC_HANDLE, dwServiceType: DWORD, + dwServiceState: DWORD, + lpServices: LPENUM_SERVICE_STATUS, cbBufSize: DWORD, + pcbBytesNeeded: LPDWORD, lpServicesReturned: LPDWORD, + lpResumeHandle: LPDWORD): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "EnumServicesStatusW".} + proc GetServiceKeyName*(hSCManager: SC_HANDLE, lpDisplayName: LPCWSTR, + lpServiceName: LPWSTR, lpcchBuffer: LPDWORD): WINBOOL{. + stdcall, dynlib: "advapi32", importc: "GetServiceKeyNameW".} + proc GetServiceDisplayName*(hSCManager: SC_HANDLE, lpServiceName: LPCWSTR, + lpDisplayName: LPWSTR, lpcchBuffer: LPDWORD): WINBOOL{. + stdcall, dynlib: "advapi32", importc: "GetServiceDisplayNameW".} + proc OpenSCManager*(lpMachineName: LPCWSTR, lpDatabaseName: LPCWSTR, + dwDesiredAccess: DWORD): SC_HANDLE{.stdcall, + dynlib: "advapi32", importc: "OpenSCManagerW".} + proc OpenService*(hSCManager: SC_HANDLE, lpServiceName: LPCWSTR, + dwDesiredAccess: DWORD): SC_HANDLE{.stdcall, + dynlib: "advapi32", importc: "OpenServiceW".} + proc QueryServiceConfig*(hService: SC_HANDLE, + lpServiceConfig: LPQUERY_SERVICE_CONFIG, + cbBufSize: DWORD, pcbBytesNeeded: LPDWORD): WINBOOL{. + stdcall, dynlib: "advapi32", importc: "QueryServiceConfigW".} + proc QueryServiceLockStatus*(hSCManager: SC_HANDLE, + lpLockStatus: LPQUERY_SERVICE_LOCK_STATUS, + cbBufSize: DWORD, pcbBytesNeeded: LPDWORD): WINBOOL{. + stdcall, dynlib: "advapi32", importc: "QueryServiceLockStatusW".} + proc RegisterServiceCtrlHandler*(lpServiceName: LPCWSTR, + lpHandlerProc: LPHANDLER_FUNCTION): SERVICE_STATUS_HANDLE{. + stdcall, dynlib: "advapi32", importc: "RegisterServiceCtrlHandlerW".} + proc StartServiceCtrlDispatcher*(lpServiceStartTable: LPSERVICE_TABLE_ENTRY): WINBOOL{. + stdcall, dynlib: "advapi32", importc: "StartServiceCtrlDispatcherW".} + proc StartService*(hService: SC_HANDLE, dwNumServiceArgs: DWORD, + lpServiceArgVectors: LPCWSTR): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "StartServiceW".} + proc DragQueryFile*(para1: HDROP, para2: int, para3: LPCWSTR, para4: int): int{. + stdcall, dynlib: "shell32", importc: "DragQueryFileW".} + proc ExtractAssociatedIcon*(para1: HINST, para2: LPCWSTR, para3: LPWORD): HICON{. + stdcall, dynlib: "shell32", importc: "ExtractAssociatedIconW".} + proc ExtractIcon*(para1: HINST, para2: LPCWSTR, para3: int): HICON{.stdcall, + dynlib: "shell32", importc: "ExtractIconW".} + proc FindExecutable*(para1: LPCWSTR, para2: LPCWSTR, para3: LPCWSTR): HINST{. + stdcall, dynlib: "shell32", importc: "FindExecutableW".} + proc ShellAbout*(para1: HWND, para2: LPCWSTR, para3: LPCWSTR, para4: HICON): int32{. + stdcall, dynlib: "shell32", importc: "ShellAboutW".} + proc ShellExecute*(para1: HWND, para2: LPCWSTR, para3: LPCWSTR, + para4: LPCWSTR, para5: LPCWSTR, para6: int32): HINST{. + stdcall, dynlib: "shell32", importc: "ShellExecuteW".} + proc Shell_NotifyIcon*(dwMessage: DWORD, lpData: PNotifyIconDataA): WINBOOL{. + stdcall, dynlib: "shell32", importc: "Shell_NotifyIconW".} + proc DdeCreateStringHandle*(para1: DWORD, para2: LPCWSTR, para3: int32): HSZ{. + stdcall, dynlib: "user32", importc: "DdeCreateStringHandleW".} + proc DdeInitialize*(para1: LPDWORD, para2: PFNCALLBACK, para3: DWORD, + para4: DWORD): UINT{.stdcall, dynlib: "user32", + importc: "DdeInitializeW".} + proc DdeQueryString*(para1: DWORD, para2: HSZ, para3: LPCWSTR, para4: DWORD, + para5: int32): DWORD{.stdcall, dynlib: "user32", + importc: "DdeQueryStringW".} + proc LogonUser*(para1: LPWSTR, para2: LPWSTR, para3: LPWSTR, para4: DWORD, + para5: DWORD, para6: PHANDLE): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "LogonUserW".} + proc CreateProcessAsUser*(para1: HANDLE, para2: LPCWSTR, para3: LPWSTR, + para4: LPSECURITY_ATTRIBUTES, + para5: LPSECURITY_ATTRIBUTES, para6: WINBOOL, + para7: DWORD, para8: LPVOID, para9: LPCWSTR, + para10: LPSTARTUPINFO, para11: LPPROCESS_INFORMATION): WINBOOL{. + stdcall, dynlib: "advapi32", importc: "CreateProcessAsUserW".} +else: + proc GetBinaryType*(lpApplicationName: LPCSTR, lpBinaryType: LPDWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "GetBinaryTypeA".} + proc GetShortPathName*(lpszLongPath: LPCSTR, lpszShortPath: LPSTR, + cchBuffer: DWORD): DWORD{.stdcall, dynlib: "kernel32", + importc: "GetShortPathNameA".} + proc GetEnvironmentStrings*(): LPSTR{.stdcall, dynlib: "kernel32", + importc: "GetEnvironmentStringsA".} + proc FreeEnvironmentStrings*(para1: LPSTR): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "FreeEnvironmentStringsA".} + proc FormatMessage*(dwFlags: DWORD, lpSource: LPCVOID, dwMessageId: DWORD, + dwLanguageId: DWORD, lpBuffer: LPSTR, nSize: DWORD, + Arguments: va_list): DWORD{.stdcall, dynlib: "kernel32", + importc: "FormatMessageA".} + proc CreateMailslot*(lpName: LPCSTR, nMaxMessageSize: DWORD, + lReadTimeout: DWORD, + lpSecurityAttributes: LPSECURITY_ATTRIBUTES): HANDLE{. + stdcall, dynlib: "kernel32", importc: "CreateMailslotA".} + proc lstrcmp*(lpString1: LPCSTR, lpString2: LPCSTR): int32{.stdcall, + dynlib: "kernel32", importc: "lstrcmpA".} + proc lstrcmpi*(lpString1: LPCSTR, lpString2: LPCSTR): int32{.stdcall, + dynlib: "kernel32", importc: "lstrcmpiA".} + proc lstrcpyn*(lpString1: LPSTR, lpString2: LPCSTR, iMaxLength: int32): LPSTR{. + stdcall, dynlib: "kernel32", importc: "lstrcpynA".} + proc lstrcpy*(lpString1: LPSTR, lpString2: LPCSTR): LPSTR{.stdcall, + dynlib: "kernel32", importc: "lstrcpyA".} + proc lstrcat*(lpString1: LPSTR, lpString2: LPCSTR): LPSTR{.stdcall, + dynlib: "kernel32", importc: "lstrcatA".} + proc lstrlen*(lpString: LPCSTR): int32{.stdcall, dynlib: "kernel32", + importc: "lstrlenA".} + proc CreateMutex*(lpMutexAttributes: LPSECURITY_ATTRIBUTES, + bInitialOwner: WINBOOL, lpName: LPCSTR): HANDLE{.stdcall, + dynlib: "kernel32", importc: "CreateMutexA".} + proc OpenMutex*(dwDesiredAccess: DWORD, bInheritHandle: WINBOOL, + lpName: LPCSTR): HANDLE{.stdcall, dynlib: "kernel32", + importc: "OpenMutexA".} + proc CreateEvent*(lpEventAttributes: LPSECURITY_ATTRIBUTES, + bManualReset: WINBOOL, bInitialState: WINBOOL, + lpName: LPCSTR): HANDLE{.stdcall, dynlib: "kernel32", + importc: "CreateEventA".} + proc OpenEvent*(dwDesiredAccess: DWORD, bInheritHandle: WINBOOL, + lpName: LPCSTR): HANDLE{.stdcall, dynlib: "kernel32", + importc: "OpenEventA".} + proc CreateSemaphore*(lpSemaphoreAttributes: LPSECURITY_ATTRIBUTES, + lInitialCount: LONG, lMaximumCount: LONG, lpName: LPCSTR): HANDLE{. + stdcall, dynlib: "kernel32", importc: "CreateSemaphoreA".} + proc OpenSemaphore*(dwDesiredAccess: DWORD, bInheritHandle: WINBOOL, + lpName: LPCSTR): HANDLE{.stdcall, dynlib: "kernel32", + importc: "OpenSemaphoreA".} + proc CreateFileMapping*(hFile: HANDLE, + lpFileMappingAttributes: LPSECURITY_ATTRIBUTES, + flProtect: DWORD, dwMaximumSizeHigh: DWORD, + dwMaximumSizeLow: DWORD, lpName: LPCSTR): HANDLE{. + stdcall, dynlib: "kernel32", importc: "CreateFileMappingA".} + proc OpenFileMapping*(dwDesiredAccess: DWORD, bInheritHandle: WINBOOL, + lpName: LPCSTR): HANDLE{.stdcall, dynlib: "kernel32", + importc: "OpenFileMappingA".} + proc GetLogicalDriveStrings*(nBufferLength: DWORD, lpBuffer: LPSTR): DWORD{. + stdcall, dynlib: "kernel32", importc: "GetLogicalDriveStringsA".} + proc LoadLibrary*(lpLibFileName: LPCSTR): HINST{.stdcall, dynlib: "kernel32", + importc: "LoadLibraryA".} + proc LoadLibraryEx*(lpLibFileName: LPCSTR, hFile: HANDLE, dwFlags: DWORD): HINST{. + stdcall, dynlib: "kernel32", importc: "LoadLibraryExA".} + proc GetModuleFileName*(hModule: HINST, lpFilename: LPSTR, nSize: DWORD): DWORD{. + stdcall, dynlib: "kernel32", importc: "GetModuleFileNameA".} + proc GetModuleHandle*(lpModuleName: LPCSTR): HMODULE{.stdcall, + dynlib: "kernel32", importc: "GetModuleHandleA".} + proc FatalAppExit*(uAction: UINT, lpMessageText: LPCSTR){.stdcall, + dynlib: "kernel32", importc: "FatalAppExitA".} + proc GetCommandLine*(): LPSTR{.stdcall, dynlib: "kernel32", + importc: "GetCommandLineA".} + proc GetEnvironmentVariable*(lpName: LPCSTR, lpBuffer: LPSTR, nSize: DWORD): DWORD{. + stdcall, dynlib: "kernel32", importc: "GetEnvironmentVariableA".} + proc SetEnvironmentVariable*(lpName: LPCSTR, lpValue: LPCSTR): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "SetEnvironmentVariableA".} + proc ExpandEnvironmentStrings*(lpSrc: LPCSTR, lpDst: LPSTR, nSize: DWORD): DWORD{. + stdcall, dynlib: "kernel32", importc: "ExpandEnvironmentStringsA".} + proc OutputDebugString*(lpOutputString: LPCSTR){.stdcall, dynlib: "kernel32", + importc: "OutputDebugStringA".} + proc FindResource*(hModule: HINST, lpName: LPCSTR, lpType: LPCSTR): HRSRC{. + stdcall, dynlib: "kernel32", importc: "FindResourceA".} + proc FindResourceEx*(hModule: HINST, lpType: LPCSTR, lpName: LPCSTR, + wLanguage: int16): HRSRC{.stdcall, dynlib: "kernel32", + importc: "FindResourceExA".} + proc EnumResourceTypes*(hModule: HINST, lpEnumFunc: ENUMRESTYPEPROC, + lParam: LONG): WINBOOL{.stdcall, dynlib: "kernel32", + importc: "EnumResourceTypesA".} + proc EnumResourceNames*(hModule: HINST, lpType: LPCSTR, + lpEnumFunc: ENUMRESNAMEPROC, lParam: LONG): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "EnumResourceNamesA".} + proc EnumResourceLanguages*(hModule: HINST, lpType: LPCSTR, lpName: LPCSTR, + lpEnumFunc: ENUMRESLANGPROC, lParam: LONG): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "EnumResourceLanguagesA".} + proc BeginUpdateResource*(pFileName: LPCSTR, bDeleteExistingResources: WINBOOL): HANDLE{. + stdcall, dynlib: "kernel32", importc: "BeginUpdateResourceA".} + proc UpdateResource*(hUpdate: HANDLE, lpType: LPCSTR, lpName: LPCSTR, + wLanguage: int16, lpData: LPVOID, cbData: DWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "UpdateResourceA".} + proc EndUpdateResource*(hUpdate: HANDLE, fDiscard: WINBOOL): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "EndUpdateResourceA".} + proc GlobalAddAtom*(lpString: LPCSTR): ATOM{.stdcall, dynlib: "kernel32", + importc: "GlobalAddAtomA".} + proc GlobalFindAtom*(lpString: LPCSTR): ATOM{.stdcall, dynlib: "kernel32", + importc: "GlobalFindAtomA".} + proc GlobalGetAtomName*(nAtom: ATOM, lpBuffer: LPSTR, nSize: int32): UINT{. + stdcall, dynlib: "kernel32", importc: "GlobalGetAtomNameA".} + proc AddAtom*(lpString: LPCSTR): ATOM{.stdcall, dynlib: "kernel32", + importc: "AddAtomA".} + proc FindAtom*(lpString: LPCSTR): ATOM{.stdcall, dynlib: "kernel32", + importc: "FindAtomA".} + proc GetAtomName*(nAtom: ATOM, lpBuffer: LPSTR, nSize: int32): UINT{.stdcall, + dynlib: "kernel32", importc: "GetAtomNameA".} + proc GetProfileInt*(lpAppName: LPCSTR, lpKeyName: LPCSTR, nDefault: WINT): UINT{. + stdcall, dynlib: "kernel32", importc: "GetProfileIntA".} + proc GetProfileString*(lpAppName: LPCSTR, lpKeyName: LPCSTR, + lpDefault: LPCSTR, lpReturnedString: LPSTR, + nSize: DWORD): DWORD{.stdcall, dynlib: "kernel32", + importc: "GetProfileStringA".} + proc WriteProfileString*(lpAppName: LPCSTR, lpKeyName: LPCSTR, + lpString: LPCSTR): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "WriteProfileStringA".} + proc GetProfileSection*(lpAppName: LPCSTR, lpReturnedString: LPSTR, + nSize: DWORD): DWORD{.stdcall, dynlib: "kernel32", + importc: "GetProfileSectionA".} + proc WriteProfileSection*(lpAppName: LPCSTR, lpString: LPCSTR): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "WriteProfileSectionA".} + proc GetPrivateProfileInt*(lpAppName: LPCSTR, lpKeyName: LPCSTR, + nDefault: WINT, lpFileName: LPCSTR): UINT{.stdcall, + dynlib: "kernel32", importc: "GetPrivateProfileIntA".} + proc GetPrivateProfileString*(lpAppName: LPCSTR, lpKeyName: LPCSTR, + lpDefault: LPCSTR, lpReturnedString: LPSTR, + nSize: DWORD, lpFileName: LPCSTR): DWORD{. + stdcall, dynlib: "kernel32", importc: "GetPrivateProfileStringA".} + proc WritePrivateProfileString*(lpAppName: LPCSTR, lpKeyName: LPCSTR, + lpString: LPCSTR, lpFileName: LPCSTR): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "WritePrivateProfileStringA".} + proc GetPrivateProfileSection*(lpAppName: LPCSTR, lpReturnedString: LPSTR, + nSize: DWORD, lpFileName: LPCSTR): DWORD{. + stdcall, dynlib: "kernel32", importc: "GetPrivateProfileSectionA".} + proc WritePrivateProfileSection*(lpAppName: LPCSTR, lpString: LPCSTR, + lpFileName: LPCSTR): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "WritePrivateProfileSectionA".} + proc GetDriveType*(lpRootPathName: LPCSTR): UINT{.stdcall, dynlib: "kernel32", + importc: "GetDriveTypeA".} + proc GetSystemDirectory*(lpBuffer: LPSTR, uSize: UINT): UINT{.stdcall, + dynlib: "kernel32", importc: "GetSystemDirectoryA".} + proc GetTempPath*(nBufferLength: DWORD, lpBuffer: LPSTR): DWORD{.stdcall, + dynlib: "kernel32", importc: "GetTempPathA".} + proc GetTempFileName*(lpPathName: LPCSTR, lpPrefixString: LPCSTR, + uUnique: UINT, lpTempFileName: LPSTR): UINT{.stdcall, + dynlib: "kernel32", importc: "GetTempFileNameA".} + proc GetWindowsDirectory*(lpBuffer: LPSTR, uSize: UINT): UINT{.stdcall, + dynlib: "kernel32", importc: "GetWindowsDirectoryA".} + proc SetCurrentDirectory*(lpPathName: LPCSTR): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "SetCurrentDirectoryA".} + proc GetCurrentDirectory*(nBufferLength: DWORD, lpBuffer: LPSTR): DWORD{. + stdcall, dynlib: "kernel32", importc: "GetCurrentDirectoryA".} + proc GetDiskFreeSpace*(lpRootPathName: LPCSTR, lpSectorsPerCluster: LPDWORD, + lpBytesPerSector: LPDWORD, + lpNumberOfFreeClusters: LPDWORD, + lpTotalNumberOfClusters: LPDWORD): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "GetDiskFreeSpaceA".} + proc CreateDirectory*(lpPathName: LPCSTR, + lpSecurityAttributes: LPSECURITY_ATTRIBUTES): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "CreateDirectoryA".} + proc CreateDirectoryEx*(lpTemplateDirectory: LPCSTR, lpNewDirectory: LPCSTR, + lpSecurityAttributes: LPSECURITY_ATTRIBUTES): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "CreateDirectoryExA".} + proc RemoveDirectory*(lpPathName: LPCSTR): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "RemoveDirectoryA".} + proc GetFullPathName*(lpFileName: LPCSTR, nBufferLength: DWORD, + lpBuffer: LPSTR, lpFilePart: var LPSTR): DWORD{.stdcall, + dynlib: "kernel32", importc: "GetFullPathNameA".} + proc DefineDosDevice*(dwFlags: DWORD, lpDeviceName: LPCSTR, + lpTargetPath: LPCSTR): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "DefineDosDeviceA".} + proc QueryDosDevice*(lpDeviceName: LPCSTR, lpTargetPath: LPSTR, ucchMax: DWORD): DWORD{. + stdcall, dynlib: "kernel32", importc: "QueryDosDeviceA".} + proc CreateFile*(lpFileName: LPCSTR, dwDesiredAccess: DWORD, + dwShareMode: DWORD, + lpSecurityAttributes: LPSECURITY_ATTRIBUTES, + dwCreationDisposition: DWORD, dwFlagsAndAttributes: DWORD, + hTemplateFile: HANDLE): HANDLE{.stdcall, dynlib: "kernel32", + importc: "CreateFileA".} + proc SetFileAttributes*(lpFileName: LPCSTR, dwFileAttributes: DWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "SetFileAttributesA".} + proc GetFileAttributes*(lpFileName: LPCSTR): DWORD{.stdcall, + dynlib: "kernel32", importc: "GetFileAttributesA".} + proc GetCompressedFileSize*(lpFileName: LPCSTR, lpFileSizeHigh: LPDWORD): DWORD{. + stdcall, dynlib: "kernel32", importc: "GetCompressedFileSizeA".} + proc DeleteFile*(lpFileName: LPCSTR): WINBOOL{.stdcall, dynlib: "kernel32", + importc: "DeleteFileA".} + proc SearchPath*(lpPath: LPCSTR, lpFileName: LPCSTR, lpExtension: LPCSTR, + nBufferLength: DWORD, lpBuffer: LPSTR, lpFilePart: LPSTR): DWORD{. + stdcall, dynlib: "kernel32", importc: "SearchPathA".} + proc CopyFile*(lpExistingFileName: LPCSTR, lpNewFileName: LPCSTR, + bFailIfExists: WINBOOL): WINBOOL{.stdcall, dynlib: "kernel32", + importc: "CopyFileA".} + proc MoveFile*(lpExistingFileName: LPCSTR, lpNewFileName: LPCSTR): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "MoveFileA".} + proc MoveFileEx*(lpExistingFileName: LPCSTR, lpNewFileName: LPCSTR, + dwFlags: DWORD): WINBOOL{.stdcall, dynlib: "kernel32", + importc: "MoveFileExA".} + proc CreateNamedPipe*(lpName: LPCSTR, dwOpenMode: DWORD, dwPipeMode: DWORD, + nMaxInstances: DWORD, nOutBufferSize: DWORD, + nInBufferSize: DWORD, nDefaultTimeOut: DWORD, + lpSecurityAttributes: LPSECURITY_ATTRIBUTES): HANDLE{. + stdcall, dynlib: "kernel32", importc: "CreateNamedPipeA".} + proc GetNamedPipeHandleState*(hNamedPipe: HANDLE, lpState: LPDWORD, + lpCurInstances: LPDWORD, + lpMaxCollectionCount: LPDWORD, + lpCollectDataTimeout: LPDWORD, + lpUserName: LPSTR, nMaxUserNameSize: DWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "GetNamedPipeHandleStateA".} + proc CallNamedPipe*(lpNamedPipeName: LPCSTR, lpInBuffer: LPVOID, + nInBufferSize: DWORD, lpOutBuffer: LPVOID, + nOutBufferSize: DWORD, lpBytesRead: LPDWORD, + nTimeOut: DWORD): WINBOOL{.stdcall, dynlib: "kernel32", + importc: "CallNamedPipeA".} + proc WaitNamedPipe*(lpNamedPipeName: LPCSTR, nTimeOut: DWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "WaitNamedPipeA".} + proc SetVolumeLabel*(lpRootPathName: LPCSTR, lpVolumeName: LPCSTR): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "SetVolumeLabelA".} + proc GetVolumeInformation*(lpRootPathName: LPCSTR, lpVolumeNameBuffer: LPSTR, + nVolumeNameSize: DWORD, + lpVolumeSerialNumber: LPDWORD, + lpMaximumComponentLength: LPDWORD, + lpFileSystemFlags: LPDWORD, + lpFileSystemNameBuffer: LPSTR, + nFileSystemNameSize: DWORD): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "GetVolumeInformationA".} + proc ClearEventLog*(hEventLog: HANDLE, lpBackupFileName: LPCSTR): WINBOOL{. + stdcall, dynlib: "advapi32", importc: "ClearEventLogA".} + proc BackupEventLog*(hEventLog: HANDLE, lpBackupFileName: LPCSTR): WINBOOL{. + stdcall, dynlib: "advapi32", importc: "BackupEventLogA".} + proc OpenEventLog*(lpUNCServerName: LPCSTR, lpSourceName: LPCSTR): HANDLE{. + stdcall, dynlib: "advapi32", importc: "OpenEventLogA".} + proc RegisterEventSource*(lpUNCServerName: LPCSTR, lpSourceName: LPCSTR): HANDLE{. + stdcall, dynlib: "advapi32", importc: "RegisterEventSourceA".} + proc OpenBackupEventLog*(lpUNCServerName: LPCSTR, lpFileName: LPCSTR): HANDLE{. + stdcall, dynlib: "advapi32", importc: "OpenBackupEventLogA".} + proc ReadEventLog*(hEventLog: HANDLE, dwReadFlags: DWORD, + dwRecordOffset: DWORD, lpBuffer: LPVOID, + nNumberOfBytesToRead: DWORD, pnBytesRead: LPDWORD, + pnMinNumberOfBytesNeeded: LPDWORD): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "ReadEventLogA".} + proc ReportEvent*(hEventLog: HANDLE, wType: int16, wCategory: int16, + dwEventID: DWORD, lpUserSid: PSID, wNumStrings: int16, + dwDataSize: DWORD, lpStrings: LPPCSTR, lpRawData: LPVOID): WINBOOL{. + stdcall, dynlib: "advapi32", importc: "ReportEventA".} + proc AccessCheckAndAuditAlarm*(SubsystemName: LPCSTR, HandleId: LPVOID, + ObjectTypeName: LPSTR, ObjectName: LPSTR, + SecurityDescriptor: PSECURITY_DESCRIPTOR, + DesiredAccess: DWORD, + GenericMapping: PGENERIC_MAPPING, + ObjectCreation: WINBOOL, + GrantedAccess: LPDWORD, AccessStatus: LPBOOL, + pfGenerateOnClose: LPBOOL): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "AccessCheckAndAuditAlarmA".} + proc ObjectOpenAuditAlarm*(SubsystemName: LPCSTR, HandleId: LPVOID, + ObjectTypeName: LPSTR, ObjectName: LPSTR, + pSecurityDescriptor: PSECURITY_DESCRIPTOR, + ClientToken: HANDLE, DesiredAccess: DWORD, + GrantedAccess: DWORD, Privileges: PPRIVILEGE_SET, + ObjectCreation: WINBOOL, AccessGranted: WINBOOL, + GenerateOnClose: LPBOOL): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "ObjectOpenAuditAlarmA".} + proc ObjectPrivilegeAuditAlarm*(SubsystemName: LPCSTR, HandleId: LPVOID, + ClientToken: HANDLE, DesiredAccess: DWORD, + Privileges: PPRIVILEGE_SET, + AccessGranted: WINBOOL): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "ObjectPrivilegeAuditAlarmA".} + proc ObjectCloseAuditAlarm*(SubsystemName: LPCSTR, HandleId: LPVOID, + GenerateOnClose: WINBOOL): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "ObjectCloseAuditAlarmA".} + proc PrivilegedServiceAuditAlarm*(SubsystemName: LPCSTR, ServiceName: LPCSTR, + ClientToken: HANDLE, + Privileges: PPRIVILEGE_SET, + AccessGranted: WINBOOL): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "PrivilegedServiceAuditAlarmA".} + proc SetFileSecurity*(lpFileName: LPCSTR, + SecurityInformation: SECURITY_INFORMATION, + pSecurityDescriptor: PSECURITY_DESCRIPTOR): WINBOOL{. + stdcall, dynlib: "advapi32", importc: "SetFileSecurityA".} + proc GetFileSecurity*(lpFileName: LPCSTR, + RequestedInformation: SECURITY_INFORMATION, + pSecurityDescriptor: PSECURITY_DESCRIPTOR, + nLength: DWORD, lpnLengthNeeded: LPDWORD): WINBOOL{. + stdcall, dynlib: "advapi32", importc: "GetFileSecurityA".} + proc FindFirstChangeNotification*(lpPathName: LPCSTR, bWatchSubtree: WINBOOL, + dwNotifyFilter: DWORD): HANDLE{.stdcall, + dynlib: "kernel32", importc: "FindFirstChangeNotificationA".} + proc IsBadStringPtr*(lpsz: LPCSTR, ucchMax: UINT): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "IsBadStringPtrA".} + proc LookupAccountSid*(lpSystemName: LPCSTR, Sid: PSID, Name: LPSTR, + cbName: LPDWORD, ReferencedDomainName: LPSTR, + cbReferencedDomainName: LPDWORD, peUse: PSID_NAME_USE): WINBOOL{. + stdcall, dynlib: "advapi32", importc: "LookupAccountSidA".} + proc LookupAccountName*(lpSystemName: LPCSTR, lpAccountName: LPCSTR, + Sid: PSID, cbSid: LPDWORD, + ReferencedDomainName: LPSTR, + cbReferencedDomainName: LPDWORD, peUse: PSID_NAME_USE): WINBOOL{. + stdcall, dynlib: "advapi32", importc: "LookupAccountNameA".} + proc LookupPrivilegeValue*(lpSystemName: LPCSTR, lpName: LPCSTR, lpLuid: PLUID): WINBOOL{. + stdcall, dynlib: "advapi32", importc: "LookupPrivilegeValueA".} + proc LookupPrivilegeName*(lpSystemName: LPCSTR, lpLuid: PLUID, lpName: LPSTR, + cbName: LPDWORD): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "LookupPrivilegeNameA".} + proc LookupPrivilegeDisplayName*(lpSystemName: LPCSTR, lpName: LPCSTR, + lpDisplayName: LPSTR, cbDisplayName: LPDWORD, + lpLanguageId: LPDWORD): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "LookupPrivilegeDisplayNameA".} + proc BuildCommDCB*(lpDef: LPCSTR, lpDCB: LPDCB): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "BuildCommDCBA".} + proc BuildCommDCBAndTimeouts*(lpDef: LPCSTR, lpDCB: LPDCB, + lpCommTimeouts: LPCOMMTIMEOUTS): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "BuildCommDCBAndTimeoutsA".} + proc CommConfigDialog*(lpszName: LPCSTR, hWnd: HWND, lpCC: LPCOMMCONFIG): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "CommConfigDialogA".} + proc GetDefaultCommConfig*(lpszName: LPCSTR, lpCC: LPCOMMCONFIG, + lpdwSize: LPDWORD): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "GetDefaultCommConfigA".} + proc SetDefaultCommConfig*(lpszName: LPCSTR, lpCC: LPCOMMCONFIG, dwSize: DWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "SetDefaultCommConfigA".} + proc GetComputerName*(lpBuffer: LPSTR, nSize: LPDWORD): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "GetComputerNameA".} + proc SetComputerName*(lpComputerName: LPCSTR): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "SetComputerNameA".} + proc GetUserName*(lpBuffer: LPSTR, nSize: LPDWORD): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "GetUserNameA".} + proc wvsprintf*(para1: LPSTR, para2: LPCSTR, arglist: va_list): int32{. + stdcall, dynlib: "user32", importc: "wvsprintfA".} + proc LoadKeyboardLayout*(pwszKLID: LPCSTR, Flags: UINT): HKL{.stdcall, + dynlib: "user32", importc: "LoadKeyboardLayoutA".} + proc GetKeyboardLayoutName*(pwszKLID: LPSTR): WINBOOL{.stdcall, + dynlib: "user32", importc: "GetKeyboardLayoutNameA".} + proc CreateDesktop*(lpszDesktop: LPSTR, lpszDevice: LPSTR, + pDevmode: LPDEVMODE, dwFlags: DWORD, + dwDesiredAccess: DWORD, lpsa: LPSECURITY_ATTRIBUTES): HDESK{. + stdcall, dynlib: "user32", importc: "CreateDesktopA".} + proc OpenDesktop*(lpszDesktop: LPSTR, dwFlags: DWORD, fInherit: WINBOOL, + dwDesiredAccess: DWORD): HDESK{.stdcall, dynlib: "user32", + importc: "OpenDesktopA".} + proc EnumDesktops*(hwinsta: HWINSTA, lpEnumFunc: DESKTOPENUMPROC, + lParam: LPARAM): WINBOOL{.stdcall, dynlib: "user32", + importc: "EnumDesktopsA".} + proc CreateWindowStation*(lpwinsta: LPSTR, dwReserved: DWORD, + dwDesiredAccess: DWORD, lpsa: LPSECURITY_ATTRIBUTES): HWINSTA{. + stdcall, dynlib: "user32", importc: "CreateWindowStationA".} + proc OpenWindowStation*(lpszWinSta: LPSTR, fInherit: WINBOOL, + dwDesiredAccess: DWORD): HWINSTA{.stdcall, + dynlib: "user32", importc: "OpenWindowStationA".} + proc EnumWindowStations*(lpEnumFunc: ENUMWINDOWSTATIONPROC, lParam: LPARAM): WINBOOL{. + stdcall, dynlib: "user32", importc: "EnumWindowStationsA".} + proc GetUserObjectInformation*(hObj: HANDLE, nIndex: int32, pvInfo: PVOID, + nLength: DWORD, lpnLengthNeeded: LPDWORD): WINBOOL{. + stdcall, dynlib: "user32", importc: "GetUserObjectInformationA".} + proc SetUserObjectInformation*(hObj: HANDLE, nIndex: int32, pvInfo: PVOID, + nLength: DWORD): WINBOOL{.stdcall, + dynlib: "user32", importc: "SetUserObjectInformationA".} + proc RegisterWindowMessage*(lpString: LPCSTR): UINT{.stdcall, + dynlib: "user32", importc: "RegisterWindowMessageA".} + proc GetMessage*(lpMsg: LPMSG, hWnd: HWND, wMsgFilterMin: UINT, + wMsgFilterMax: UINT): WINBOOL{.stdcall, dynlib: "user32", + importc: "GetMessageA".} + proc DispatchMessage*(lpMsg: LPMSG): LONG{.stdcall, dynlib: "user32", + importc: "DispatchMessageA".} + proc PeekMessage*(lpMsg: LPMSG, hWnd: HWND, wMsgFilterMin: UINT, + wMsgFilterMax: UINT, wRemoveMsg: UINT): WINBOOL{.stdcall, + dynlib: "user32", importc: "PeekMessageA".} + proc SendMessage*(hWnd: HWND, Msg: UINT, wParam: WPARAM, lParam: LPARAM): LRESULT{. + stdcall, dynlib: "user32", importc: "SendMessageA".} + proc SendMessageTimeout*(hWnd: HWND, Msg: UINT, wParam: WPARAM, + lParam: LPARAM, fuFlags: UINT, uTimeout: UINT, + lpdwResult: LPDWORD): LRESULT{.stdcall, + dynlib: "user32", importc: "SendMessageTimeoutA".} + proc SendNotifyMessage*(hWnd: HWND, Msg: UINT, wParam: WPARAM, lParam: LPARAM): WINBOOL{. + stdcall, dynlib: "user32", importc: "SendNotifyMessageA".} + proc SendMessageCallback*(hWnd: HWND, Msg: UINT, wParam: WPARAM, + lParam: LPARAM, lpResultCallBack: SENDASYNCPROC, + dwData: DWORD): WINBOOL{.stdcall, dynlib: "user32", + importc: "SendMessageCallbackA".} + proc PostMessage*(hWnd: HWND, Msg: UINT, wParam: WPARAM, lParam: LPARAM): WINBOOL{. + stdcall, dynlib: "user32", importc: "PostMessageA".} + proc PostThreadMessage*(idThread: DWORD, Msg: UINT, wParam: WPARAM, + lParam: LPARAM): WINBOOL{.stdcall, dynlib: "user32", + importc: "PostThreadMessageA".} + proc DefWindowProc*(hWnd: HWND, Msg: UINT, wParam: WPARAM, lParam: LPARAM): LRESULT{. + stdcall, dynlib: "user32", importc: "DefWindowProcA".} + proc CallWindowProc*(lpPrevWndFunc: WNDPROC, hWnd: HWND, Msg: UINT, + wParam: WPARAM, lParam: LPARAM): LRESULT{.stdcall, + dynlib: "user32", importc: "CallWindowProcA".} + proc RegisterClass*(lpWndClass: LPWNDCLASS): ATOM{.stdcall, dynlib: "user32", + importc: "RegisterClassA".} + proc UnregisterClass*(lpClassName: LPCSTR, hInstance: HINST): WINBOOL{. + stdcall, dynlib: "user32", importc: "UnregisterClassA".} + proc GetClassInfo*(hInstance: HINST, lpClassName: LPCSTR, + lpWndClass: LPWNDCLASS): WINBOOL{.stdcall, + dynlib: "user32", importc: "GetClassInfoA".} + proc RegisterClassEx*(para1: LPWNDCLASSEX): ATOM{.stdcall, dynlib: "user32", + importc: "RegisterClassExA".} + proc GetClassInfoEx*(para1: HINST, para2: LPCSTR, para3: LPWNDCLASSEX): WINBOOL{. + stdcall, dynlib: "user32", importc: "GetClassInfoExA".} + proc CreateWindowEx*(dwExStyle: DWORD, lpClassName: LPCSTR, + lpWindowName: LPCSTR, dwStyle: DWORD, X: int32, Y: int32, + nWidth: int32, nHeight: int32, hWndParent: HWND, + hMenu: HMENU, hInstance: HINST, lpParam: LPVOID): HWND{. + stdcall, dynlib: "user32", importc: "CreateWindowExA".} + proc CreateDialogParam*(hInstance: HINST, lpTemplateName: LPCSTR, + hWndParent: HWND, lpDialogFunc: DLGPROC, + dwInitParam: LPARAM): HWND{.stdcall, dynlib: "user32", + importc: "CreateDialogParamA".} + proc CreateDialogIndirectParam*(hInstance: HINST, lpTemplate: LPCDLGTEMPLATE, + hWndParent: HWND, lpDialogFunc: DLGPROC, + dwInitParam: LPARAM): HWND{.stdcall, + dynlib: "user32", importc: "CreateDialogIndirectParamA".} + proc DialogBoxParam*(hInstance: HINST, lpTemplateName: LPCSTR, + hWndParent: HWND, lpDialogFunc: DLGPROC, + dwInitParam: LPARAM): int32{.stdcall, dynlib: "user32", + importc: "DialogBoxParamA".} + proc DialogBoxIndirectParam*(hInstance: HINST, + hDialogTemplate: LPCDLGTEMPLATE, + hWndParent: HWND, lpDialogFunc: DLGPROC, + dwInitParam: LPARAM): int32{.stdcall, + dynlib: "user32", importc: "DialogBoxIndirectParamA".} + proc SetDlgItemText*(hDlg: HWND, nIDDlgItem: int32, lpString: LPCSTR): WINBOOL{. + stdcall, dynlib: "user32", importc: "SetDlgItemTextA".} + proc GetDlgItemText*(hDlg: HWND, nIDDlgItem: int32, lpString: LPSTR, + nMaxCount: int32): UINT{.stdcall, dynlib: "user32", + importc: "GetDlgItemTextA".} + proc SendDlgItemMessage*(hDlg: HWND, nIDDlgItem: int32, Msg: UINT, + wParam: WPARAM, lParam: LPARAM): LONG{.stdcall, + dynlib: "user32", importc: "SendDlgItemMessageA".} + proc DefDlgProc*(hDlg: HWND, Msg: UINT, wParam: WPARAM, lParam: LPARAM): LRESULT{. + stdcall, dynlib: "user32", importc: "DefDlgProcA".} + proc CallMsgFilter*(lpMsg: LPMSG, nCode: int32): WINBOOL{.stdcall, + dynlib: "user32", importc: "CallMsgFilterA".} + proc RegisterClipboardFormat*(lpszFormat: LPCSTR): UINT{.stdcall, + dynlib: "user32", importc: "RegisterClipboardFormatA".} + proc GetClipboardFormatName*(format: UINT, lpszFormatName: LPSTR, + cchMaxCount: int32): int32{.stdcall, + dynlib: "user32", importc: "GetClipboardFormatNameA".} + proc CharToOem*(lpszSrc: LPCSTR, lpszDst: LPSTR): WINBOOL{.stdcall, + dynlib: "user32", importc: "CharToOemA".} + proc OemToChar*(lpszSrc: LPCSTR, lpszDst: LPSTR): WINBOOL{.stdcall, + dynlib: "user32", importc: "OemToCharA".} + proc CharToOemBuff*(lpszSrc: LPCSTR, lpszDst: LPSTR, cchDstLength: DWORD): WINBOOL{. + stdcall, dynlib: "user32", importc: "CharToOemBuffA".} + proc OemToCharBuff*(lpszSrc: LPCSTR, lpszDst: LPSTR, cchDstLength: DWORD): WINBOOL{. + stdcall, dynlib: "user32", importc: "OemToCharBuffA".} + proc CharUpper*(lpsz: LPSTR): LPSTR{.stdcall, dynlib: "user32", + importc: "CharUpperA".} + proc CharUpperBuff*(lpsz: LPSTR, cchLength: DWORD): DWORD{.stdcall, + dynlib: "user32", importc: "CharUpperBuffA".} + proc CharLower*(lpsz: LPSTR): LPSTR{.stdcall, dynlib: "user32", + importc: "CharLowerA".} + proc CharLowerBuff*(lpsz: LPSTR, cchLength: DWORD): DWORD{.stdcall, + dynlib: "user32", importc: "CharLowerBuffA".} + proc CharNext*(lpsz: LPCSTR): LPSTR{.stdcall, dynlib: "user32", + importc: "CharNextA".} + proc CharPrev*(lpszStart: LPCSTR, lpszCurrent: LPCSTR): LPSTR{.stdcall, + dynlib: "user32", importc: "CharPrevA".} + proc IsCharAlpha*(ch: CHAR): WINBOOL{.stdcall, dynlib: "user32", + importc: "IsCharAlphaA".} + proc IsCharAlphaNumeric*(ch: CHAR): WINBOOL{.stdcall, dynlib: "user32", + importc: "IsCharAlphaNumericA".} + proc IsCharUpper*(ch: CHAR): WINBOOL{.stdcall, dynlib: "user32", + importc: "IsCharUpperA".} + proc IsCharLower*(ch: CHAR): WINBOOL{.stdcall, dynlib: "user32", + importc: "IsCharLowerA".} + proc GetKeyNameText*(lParam: LONG, lpString: LPSTR, nSize: int32): int32{. + stdcall, dynlib: "user32", importc: "GetKeyNameTextA".} + proc VkKeyScan*(ch: CHAR): SHORT{.stdcall, dynlib: "user32", + importc: "VkKeyScanA".} + proc VkKeyScanEx*(ch: CHAR, dwhkl: HKL): SHORT{.stdcall, dynlib: "user32", + importc: "VkKeyScanExA".} + proc MapVirtualKey*(uCode: UINT, uMapType: UINT): UINT{.stdcall, + dynlib: "user32", importc: "MapVirtualKeyA".} + proc MapVirtualKeyEx*(uCode: UINT, uMapType: UINT, dwhkl: HKL): UINT{.stdcall, + dynlib: "user32", importc: "MapVirtualKeyExA".} + proc LoadAccelerators*(hInstance: HINST, lpTableName: LPCSTR): HACCEL{. + stdcall, dynlib: "user32", importc: "LoadAcceleratorsA".} + proc CreateAcceleratorTable*(para1: LPACCEL, para2: int32): HACCEL{.stdcall, + dynlib: "user32", importc: "CreateAcceleratorTableA".} + proc CopyAcceleratorTable*(hAccelSrc: HACCEL, lpAccelDst: LPACCEL, + cAccelEntries: int32): int32{.stdcall, + dynlib: "user32", importc: "CopyAcceleratorTableA".} + proc TranslateAccelerator*(hWnd: HWND, hAccTable: HACCEL, lpMsg: LPMSG): int32{. + stdcall, dynlib: "user32", importc: "TranslateAcceleratorA".} + proc LoadMenu*(hInstance: HINST, lpMenuName: LPCSTR): HMENU{.stdcall, + dynlib: "user32", importc: "LoadMenuA".} + proc LoadMenuIndirect*(lpMenuTemplate: LPMENUTEMPLATE): HMENU{.stdcall, + dynlib: "user32", importc: "LoadMenuIndirectA".} + proc ChangeMenu*(hMenu: HMENU, cmd: UINT, lpszNewItem: LPCSTR, + cmdInsert: UINT, flags: UINT): WINBOOL{.stdcall, + dynlib: "user32", importc: "ChangeMenuA".} + proc GetMenuString*(hMenu: HMENU, uIDItem: UINT, lpString: LPSTR, + nMaxCount: int32, uFlag: UINT): int32{.stdcall, + dynlib: "user32", importc: "GetMenuStringA".} + proc InsertMenu*(hMenu: HMENU, uPosition: UINT, uFlags: UINT, + uIDNewItem: UINT, lpNewItem: LPCSTR): WINBOOL{.stdcall, + dynlib: "user32", importc: "InsertMenuA".} + proc AppendMenu*(hMenu: HMENU, uFlags: UINT, uIDNewItem: UINT, + lpNewItem: LPCSTR): WINBOOL{.stdcall, dynlib: "user32", + importc: "AppendMenuA".} + proc ModifyMenu*(hMnu: HMENU, uPosition: UINT, uFlags: UINT, uIDNewItem: UINT, + lpNewItem: LPCSTR): WINBOOL{.stdcall, dynlib: "user32", + importc: "ModifyMenuA".} + proc InsertMenuItem*(para1: HMENU, para2: UINT, para3: WINBOOL, + para4: LPCMENUITEMINFO): WINBOOL{.stdcall, + dynlib: "user32", importc: "InsertMenuItemA".} + proc GetMenuItemInfo*(para1: HMENU, para2: UINT, para3: WINBOOL, + para4: LPMENUITEMINFO): WINBOOL{.stdcall, + dynlib: "user32", importc: "GetMenuItemInfoA".} + proc SetMenuItemInfo*(para1: HMENU, para2: UINT, para3: WINBOOL, + para4: LPCMENUITEMINFO): WINBOOL{.stdcall, + dynlib: "user32", importc: "SetMenuItemInfoA".} + proc DrawText*(hDC: HDC, lpString: LPCSTR, nCount: int32, lpRect: LPRECT, + uFormat: UINT): int32{.stdcall, dynlib: "user32", + importc: "DrawTextA".} + proc DrawTextEx*(para1: HDC, para2: LPSTR, para3: int32, para4: LPRECT, + para5: UINT, para6: LPDRAWTEXTPARAMS): int32{.stdcall, + dynlib: "user32", importc: "DrawTextExA".} + proc GrayString*(hDC: HDC, hBrush: HBRUSH, lpOutputFunc: GRAYSTRINGPROC, + lpData: LPARAM, nCount: int32, X: int32, Y: int32, + nWidth: int32, nHeight: int32): WINBOOL{.stdcall, + dynlib: "user32", importc: "GrayStringA".} + proc DrawState*(para1: HDC, para2: HBRUSH, para3: DRAWSTATEPROC, + para4: LPARAM, para5: WPARAM, para6: int32, para7: int32, + para8: int32, para9: int32, para10: UINT): WINBOOL{.stdcall, + dynlib: "user32", importc: "DrawStateA".} + proc TabbedTextOut*(hDC: HDC, X: int32, Y: int32, lpString: LPCSTR, + nCount: int32, nTabPositions: int32, + lpnTabStopPositions: LPINT, nTabOrigin: int32): LONG{. + stdcall, dynlib: "user32", importc: "TabbedTextOutA".} + proc GetTabbedTextExtent*(hDC: HDC, lpString: LPCSTR, nCount: int32, + nTabPositions: int32, lpnTabStopPositions: LPINT): DWORD{. + stdcall, dynlib: "user32", importc: "GetTabbedTextExtentA".} + proc SetProp*(hWnd: HWND, lpString: LPCSTR, hData: HANDLE): WINBOOL{.stdcall, + dynlib: "user32", importc: "SetPropA".} + proc GetProp*(hWnd: HWND, lpString: LPCSTR): HANDLE{.stdcall, + dynlib: "user32", importc: "GetPropA".} + proc RemoveProp*(hWnd: HWND, lpString: LPCSTR): HANDLE{.stdcall, + dynlib: "user32", importc: "RemovePropA".} + proc EnumPropsEx*(hWnd: HWND, lpEnumFunc: PROPENUMPROCEX, lParam: LPARAM): int32{. + stdcall, dynlib: "user32", importc: "EnumPropsExA".} + proc EnumProps*(hWnd: HWND, lpEnumFunc: PROPENUMPROC): int32{.stdcall, + dynlib: "user32", importc: "EnumPropsA".} + proc SetWindowText*(hWnd: HWND, lpString: LPCSTR): WINBOOL{.stdcall, + dynlib: "user32", importc: "SetWindowTextA".} + proc GetWindowText*(hWnd: HWND, lpString: LPSTR, nMaxCount: int32): int32{. + stdcall, dynlib: "user32", importc: "GetWindowTextA".} + proc GetWindowTextLength*(hWnd: HWND): int32{.stdcall, dynlib: "user32", + importc: "GetWindowTextLengthA".} + proc MessageBox*(hWnd: HWND, lpText: LPCSTR, lpCaption: LPCSTR, uType: UINT): int32{. + stdcall, dynlib: "user32", importc: "MessageBoxA".} + proc MessageBoxEx*(hWnd: HWND, lpText: LPCSTR, lpCaption: LPCSTR, uType: UINT, + wLanguageId: int16): int32{.stdcall, dynlib: "user32", + importc: "MessageBoxExA".} + proc MessageBoxIndirect*(para1: LPMSGBOXPARAMS): int32{.stdcall, + dynlib: "user32", importc: "MessageBoxIndirectA".} + proc GetWindowLong*(hWnd: HWND, nIndex: int32): LONG{.stdcall, + dynlib: "user32", importc: "GetWindowLongA".} + proc SetWindowLong*(hWnd: HWND, nIndex: int32, dwNewLong: LONG): LONG{. + stdcall, dynlib: "user32", importc: "SetWindowLongA".} + proc GetClassLong*(hWnd: HWND, nIndex: int32): DWORD{.stdcall, + dynlib: "user32", importc: "GetClassLongA".} + proc SetClassLong*(hWnd: HWND, nIndex: int32, dwNewLong: LONG): DWORD{. + stdcall, dynlib: "user32", importc: "SetClassLongA".} + when defined(cpu64): + proc GetWindowLongPtr*(hWnd: HWND, nIndex: int32): LONG_PTR{.stdcall, + dynlib: "user32", importc: "GetWindowLongPtrA".} + proc SetWindowLongPtr*(hWnd: HWND, nIndex: int32, dwNewLong: LONG_PTR): LONG_PTR{. + stdcall, dynlib: "user32", importc: "SetWindowLongPtrA".} + proc GetClassLongPtr*(hWnd: HWND, nIndex: int32): LONG_PTR{.stdcall, + dynlib: "user32", importc: "GetClassLongPtrA".} + proc SetClassLongPtr*(hWnd: HWND, nIndex: int32, dwNewLong: LONG_PTR): LONG_PTR{. + stdcall, dynlib: "user32", importc: "SetClassLongPtrA".} + else: + proc GetWindowLongPtr*(hWnd: HWND, nIndex: int32): LONG_PTR{.stdcall, + dynlib: "user32", importc: "GetWindowLongA".} + proc SetWindowLongPtr*(hWnd: HWND, nIndex: int32, dwNewLong: LONG_PTR): LONG_PTR{. + stdcall, dynlib: "user32", importc: "SetWindowLongA".} + proc GetClassLongPtr*(hWnd: HWND, nIndex: int32): LONG_PTR{.stdcall, + dynlib: "user32", importc: "GetClassLongA".} + proc SetClassLongPtr*(hWnd: HWND, nIndex: int32, dwNewLong: LONG_PTR): LONG_PTR{. + stdcall, dynlib: "user32", importc: "SetClassLongA".} + proc FindWindow*(lpClassName: LPCSTR, lpWindowName: LPCSTR): HWND{.stdcall, + dynlib: "user32", importc: "FindWindowA".} + proc FindWindowEx*(para1: HWND, para2: HWND, para3: LPCSTR, para4: LPCSTR): HWND{. + stdcall, dynlib: "user32", importc: "FindWindowExA".} + proc GetClassName*(hWnd: HWND, lpClassName: LPSTR, nMaxCount: int32): int32{. + stdcall, dynlib: "user32", importc: "GetClassNameA".} + proc SetWindowsHookEx*(idHook: int32, lpfn: HOOKPROC, hmod: HINST, + dwThreadId: DWORD): HHOOK{.stdcall, dynlib: "user32", + importc: "SetWindowsHookExA".} + proc LoadBitmap*(hInstance: HINST, lpBitmapName: LPCSTR): HBITMAP{.stdcall, + dynlib: "user32", importc: "LoadBitmapA".} + proc LoadCursor*(hInstance: HINST, lpCursorName: LPCSTR): HCURSOR{.stdcall, + dynlib: "user32", importc: "LoadCursorA".} + proc LoadCursorFromFile*(lpFileName: LPCSTR): HCURSOR{.stdcall, + dynlib: "user32", importc: "LoadCursorFromFileA".} + proc LoadIcon*(hInstance: HINST, lpIconName: LPCSTR): HICON{.stdcall, + dynlib: "user32", importc: "LoadIconA".} + proc LoadImage*(para1: HINST, para2: LPCSTR, para3: UINT, para4: int32, + para5: int32, para6: UINT): HANDLE{.stdcall, dynlib: "user32", + importc: "LoadImageA".} + proc LoadString*(hInstance: HINST, uID: UINT, lpBuffer: LPSTR, + nBufferMax: int32): int32{.stdcall, dynlib: "user32", + importc: "LoadStringA".} + proc IsDialogMessage*(hDlg: HWND, lpMsg: LPMSG): WINBOOL{.stdcall, + dynlib: "user32", importc: "IsDialogMessageA".} + proc DlgDirList*(hDlg: HWND, lpPathSpec: LPSTR, nIDListBox: int32, + nIDStaticPath: int32, uFileType: UINT): int32{.stdcall, + dynlib: "user32", importc: "DlgDirListA".} + proc DlgDirSelectEx*(hDlg: HWND, lpString: LPSTR, nCount: int32, + nIDListBox: int32): WINBOOL{.stdcall, dynlib: "user32", + importc: "DlgDirSelectExA".} + proc DlgDirListComboBox*(hDlg: HWND, lpPathSpec: LPSTR, nIDComboBox: int32, + nIDStaticPath: int32, uFiletype: UINT): int32{. + stdcall, dynlib: "user32", importc: "DlgDirListComboBoxA".} + proc DlgDirSelectComboBoxEx*(hDlg: HWND, lpString: LPSTR, nCount: int32, + nIDComboBox: int32): WINBOOL{.stdcall, + dynlib: "user32", importc: "DlgDirSelectComboBoxExA".} + proc DefFrameProc*(hWnd: HWND, hWndMDIClient: HWND, uMsg: UINT, + wParam: WPARAM, lParam: LPARAM): LRESULT{.stdcall, + dynlib: "user32", importc: "DefFrameProcA".} + proc DefMDIChildProc*(hWnd: HWND, uMsg: UINT, wParam: WPARAM, lParam: LPARAM): LRESULT{. + stdcall, dynlib: "user32", importc: "DefMDIChildProcA".} + proc CreateMDIWindow*(lpClassName: LPSTR, lpWindowName: LPSTR, dwStyle: DWORD, + X: int32, Y: int32, nWidth: int32, nHeight: int32, + hWndParent: HWND, hInstance: HINST, lParam: LPARAM): HWND{. + stdcall, dynlib: "user32", importc: "CreateMDIWindowA".} + proc WinHelp*(hWndMain: HWND, lpszHelp: LPCSTR, uCommand: UINT, dwData: DWORD): WINBOOL{. + stdcall, dynlib: "user32", importc: "WinHelpA".} + proc ChangeDisplaySettings*(lpDevMode: LPDEVMODE, dwFlags: DWORD): LONG{. + stdcall, dynlib: "user32", importc: "ChangeDisplaySettingsA".} + proc EnumDisplaySettings*(lpszDeviceName: LPCSTR, iModeNum: DWORD, + lpDevMode: LPDEVMODE): WINBOOL{.stdcall, + dynlib: "user32", importc: "EnumDisplaySettingsA".} + proc SystemParametersInfo*(uiAction: UINT, uiParam: UINT, pvParam: PVOID, + fWinIni: UINT): WINBOOL{.stdcall, dynlib: "user32", + importc: "SystemParametersInfoA".} + proc AddFontResource*(para1: LPCSTR): int32{.stdcall, dynlib: "gdi32", + importc: "AddFontResourceA".} + proc CopyMetaFile*(para1: HMETAFILE, para2: LPCSTR): HMETAFILE{.stdcall, + dynlib: "gdi32", importc: "CopyMetaFileA".} + proc CreateFont*(para1: int32, para2: int32, para3: int32, para4: int32, + para5: int32, para6: DWORD, para7: DWORD, para8: DWORD, + para9: DWORD, para10: DWORD, para11: DWORD, para12: DWORD, + para13: DWORD, para14: LPCSTR): HFONT{.stdcall, + dynlib: "gdi32", importc: "CreateFontA".} + proc CreateFontIndirect*(para1: LPLOGFONT): HFONT{.stdcall, dynlib: "gdi32", + importc: "CreateFontIndirectA".} + proc CreateFontIndirect*(para1: var LOGFONT): HFONT{.stdcall, dynlib: "gdi32", + importc: "CreateFontIndirectA".} + proc CreateIC*(para1: LPCSTR, para2: LPCSTR, para3: LPCSTR, para4: LPDEVMODE): HDC{. + stdcall, dynlib: "gdi32", importc: "CreateICA".} + proc CreateMetaFile*(para1: LPCSTR): HDC{.stdcall, dynlib: "gdi32", + importc: "CreateMetaFileA".} + proc CreateScalableFontResource*(para1: DWORD, para2: LPCSTR, para3: LPCSTR, + para4: LPCSTR): WINBOOL{.stdcall, + dynlib: "gdi32", importc: "CreateScalableFontResourceA".} + proc EnumFontFamiliesEx*(para1: HDC, para2: LPLOGFONT, para3: FONTENUMEXPROC, + para4: LPARAM, para5: DWORD): int32{.stdcall, + dynlib: "gdi32", importc: "EnumFontFamiliesExA".} + proc EnumFontFamilies*(para1: HDC, para2: LPCSTR, para3: FONTENUMPROC, + para4: LPARAM): int32{.stdcall, dynlib: "gdi32", + importc: "EnumFontFamiliesA".} + proc EnumFonts*(para1: HDC, para2: LPCSTR, para3: ENUMFONTSPROC, para4: LPARAM): int32{. + stdcall, dynlib: "gdi32", importc: "EnumFontsA".} + proc EnumFonts*(para1: HDC, para2: LPCSTR, para3: ENUMFONTSPROC, + para4: pointer): int32{.stdcall, dynlib: "gdi32", + importc: "EnumFontsA".} + proc GetCharWidth*(para1: HDC, para2: UINT, para3: UINT, para4: LPINT): WINBOOL{. + stdcall, dynlib: "gdi32", importc: "GetCharWidthA".} + proc GetCharWidth32*(para1: HDC, para2: UINT, para3: UINT, para4: LPINT): WINBOOL{. + stdcall, dynlib: "gdi32", importc: "GetCharWidth32A".} + proc GetCharWidthFloat*(para1: HDC, para2: UINT, para3: UINT, para4: ptr float32): WINBOOL{. + stdcall, dynlib: "gdi32", importc: "GetCharWidthFloatA".} + proc GetCharABCWidths*(para1: HDC, para2: UINT, para3: UINT, para4: LPABC): WINBOOL{. + stdcall, dynlib: "gdi32", importc: "GetCharABCWidthsA".} + proc GetCharABCWidthsFloat*(para1: HDC, para2: UINT, para3: UINT, + para4: LPABCFLOAT): WINBOOL{.stdcall, + dynlib: "gdi32", importc: "GetCharABCWidthsFloatA".} + proc GetGlyphOutline*(para1: HDC, para2: UINT, para3: UINT, + para4: LPGLYPHMETRICS, para5: DWORD, para6: LPVOID, + para7: PMAT2): DWORD{.stdcall, dynlib: "gdi32", + importc: "GetGlyphOutlineA".} + proc GetMetaFile*(para1: LPCSTR): HMETAFILE{.stdcall, dynlib: "gdi32", + importc: "GetMetaFileA".} + proc GetOutlineTextMetrics*(para1: HDC, para2: UINT, + para3: LPOUTLINETEXTMETRIC): UINT{.stdcall, + dynlib: "gdi32", importc: "GetOutlineTextMetricsA".} + proc GetTextExtentPoint*(para1: HDC, para2: LPCSTR, para3: int32, + para4: LPSIZE): WINBOOL{.stdcall, dynlib: "gdi32", + importc: "GetTextExtentPointA".} + proc GetTextExtentPoint32*(para1: HDC, para2: LPCSTR, para3: int32, + para4: LPSIZE): WINBOOL{.stdcall, dynlib: "gdi32", + importc: "GetTextExtentPoint32A".} + proc GetTextExtentExPoint*(para1: HDC, para2: LPCSTR, para3: int32, + para4: int32, para5: LPINT, para6: LPINT, + para7: LPSIZE): WINBOOL{.stdcall, dynlib: "gdi32", + importc: "GetTextExtentExPointA".} + proc GetCharacterPlacement*(para1: HDC, para2: LPCSTR, para3: int32, + para4: int32, para5: LPGCP_RESULTS, para6: DWORD): DWORD{. + stdcall, dynlib: "gdi32", importc: "GetCharacterPlacementA".} + proc ResetDC*(para1: HDC, para2: LPDEVMODE): HDC{.stdcall, dynlib: "gdi32", + importc: "ResetDCA".} + proc RemoveFontResource*(para1: LPCSTR): WINBOOL{.stdcall, dynlib: "gdi32", + importc: "RemoveFontResourceA".} + proc CopyEnhMetaFile*(para1: HENHMETAFILE, para2: LPCSTR): HENHMETAFILE{. + stdcall, dynlib: "gdi32", importc: "CopyEnhMetaFileA".} + proc CreateEnhMetaFile*(para1: HDC, para2: LPCSTR, para3: LPRECT, + para4: LPCSTR): HDC{.stdcall, dynlib: "gdi32", + importc: "CreateEnhMetaFileA".} + proc GetEnhMetaFile*(para1: LPCSTR): HENHMETAFILE{.stdcall, dynlib: "gdi32", + importc: "GetEnhMetaFileA".} + proc GetEnhMetaFileDescription*(para1: HENHMETAFILE, para2: UINT, para3: LPSTR): UINT{. + stdcall, dynlib: "gdi32", importc: "GetEnhMetaFileDescriptionA".} + proc GetTextMetrics*(para1: HDC, para2: LPTEXTMETRIC): WINBOOL{.stdcall, + dynlib: "gdi32", importc: "GetTextMetricsA".} + proc StartDoc*(para1: HDC, para2: PDOCINFO): int32{.stdcall, dynlib: "gdi32", + importc: "StartDocA".} + proc GetObject*(para1: HGDIOBJ, para2: int32, para3: LPVOID): int32{.stdcall, + dynlib: "gdi32", importc: "GetObjectA".} + proc TextOut*(para1: HDC, para2: int32, para3: int32, para4: LPCSTR, + para5: int32): WINBOOL{.stdcall, dynlib: "gdi32", + importc: "TextOutA".} + proc ExtTextOut*(para1: HDC, para2: int32, para3: int32, para4: UINT, + para5: LPRECT, para6: LPCSTR, para7: UINT, para8: LPINT): WINBOOL{. + stdcall, dynlib: "gdi32", importc: "ExtTextOutA".} + proc PolyTextOut*(para1: HDC, para2: PPOLYTEXT, para3: int32): WINBOOL{. + stdcall, dynlib: "gdi32", importc: "PolyTextOutA".} + proc GetTextFace*(para1: HDC, para2: int32, para3: LPSTR): int32{.stdcall, + dynlib: "gdi32", importc: "GetTextFaceA".} + proc GetKerningPairs*(para1: HDC, para2: DWORD, para3: LPKERNINGPAIR): DWORD{. + stdcall, dynlib: "gdi32", importc: "GetKerningPairsA".} + proc CreateColorSpace*(para1: LPLOGCOLORSPACE): HCOLORSPACE{.stdcall, + dynlib: "gdi32", importc: "CreateColorSpaceA".} + proc GetLogColorSpace*(para1: HCOLORSPACE, para2: LPLOGCOLORSPACE, + para3: DWORD): WINBOOL{.stdcall, dynlib: "gdi32", + importc: "GetLogColorSpaceA".} + proc GetICMProfile*(para1: HDC, para2: DWORD, para3: LPSTR): WINBOOL{.stdcall, + dynlib: "gdi32", importc: "GetICMProfileA".} + proc SetICMProfile*(para1: HDC, para2: LPSTR): WINBOOL{.stdcall, + dynlib: "gdi32", importc: "SetICMProfileA".} + proc UpdateICMRegKey*(para1: DWORD, para2: DWORD, para3: LPSTR, para4: UINT): WINBOOL{. + stdcall, dynlib: "gdi32", importc: "UpdateICMRegKeyA".} + proc EnumICMProfiles*(para1: HDC, para2: ICMENUMPROC, para3: LPARAM): int32{. + stdcall, dynlib: "gdi32", importc: "EnumICMProfilesA".} + proc PropertySheet*(lppsph: LPCPROPSHEETHEADER): int32{.stdcall, + dynlib: "comctl32", importc: "PropertySheetA".} + proc ImageList_LoadImage*(hi: HINST, lpbmp: LPCSTR, cx: int32, cGrow: int32, + crMask: COLORREF, uType: UINT, uFlags: UINT): HIMAGELIST{. + stdcall, dynlib: "comctl32", importc: "ImageList_LoadImageA".} + proc CreateStatusWindow*(style: LONG, lpszText: LPCSTR, hwndParent: HWND, + wID: UINT): HWND{.stdcall, dynlib: "comctl32", + importc: "CreateStatusWindowA".} + proc DrawStatusText*(hDC: HDC, lprc: LPRECT, pszText: LPCSTR, uFlags: UINT){. + stdcall, dynlib: "comctl32", importc: "DrawStatusTextA".} + proc GetOpenFileName*(para1: LPOPENFILENAME): WINBOOL{.stdcall, + dynlib: "comdlg32", importc: "GetOpenFileNameA".} + proc GetSaveFileName*(para1: LPOPENFILENAME): WINBOOL{.stdcall, + dynlib: "comdlg32", importc: "GetSaveFileNameA".} + proc GetFileTitle*(para1: LPCSTR, para2: LPSTR, para3: int16): int{.stdcall, + dynlib: "comdlg32", importc: "GetFileTitleA".} + proc ChooseColor*(para1: LPCHOOSECOLOR): WINBOOL{.stdcall, dynlib: "comdlg32", + importc: "ChooseColorA".} + proc FindText*(para1: LPFINDREPLACE): HWND{.stdcall, dynlib: "comdlg32", + importc: "FindTextA".} + proc ReplaceText*(para1: LPFINDREPLACE): HWND{.stdcall, dynlib: "comdlg32", + importc: "ReplaceTextA".} + proc ChooseFont*(para1: LPCHOOSEFONT): WINBOOL{.stdcall, dynlib: "comdlg32", + importc: "ChooseFontA".} + proc PrintDlg*(para1: LPPRINTDLG): WINBOOL{.stdcall, dynlib: "comdlg32", + importc: "PrintDlgA".} + proc PageSetupDlg*(para1: LPPAGESETUPDLG): WINBOOL{.stdcall, + dynlib: "comdlg32", importc: "PageSetupDlgA".} + proc CreateProcess*(lpApplicationName: LPCSTR, lpCommandLine: LPSTR, + lpProcessAttributes: LPSECURITY_ATTRIBUTES, + lpThreadAttributes: LPSECURITY_ATTRIBUTES, + bInheritHandles: WINBOOL, dwCreationFlags: DWORD, + lpEnvironment: LPVOID, lpCurrentDirectory: LPCSTR, + lpStartupInfo: LPSTARTUPINFO, + lpProcessInformation: LPPROCESS_INFORMATION): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "CreateProcessA".} + proc GetStartupInfo*(lpStartupInfo: LPSTARTUPINFO){.stdcall, + dynlib: "kernel32", importc: "GetStartupInfoA".} + proc FindFirstFile*(lpFileName: LPCSTR, lpFindFileData: LPWIN32_FIND_DATA): HANDLE{. + stdcall, dynlib: "kernel32", importc: "FindFirstFileA".} + proc FindNextFile*(hFindFile: HANDLE, lpFindFileData: LPWIN32_FIND_DATA): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "FindNextFileA".} + proc GetVersionEx*(VersionInformation: LPOSVERSIONINFO): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "GetVersionExA".} + proc CreateWindow*(lpClassName: LPCSTR, lpWindowName: LPCSTR, dwStyle: DWORD, + X: int32, Y: int32, nWidth: int32, nHeight: int32, + hWndParent: HWND, hMenu: HMENU, hInstance: HINST, + lpParam: LPVOID): HWND + proc CreateDialog*(hInstance: HINST, lpTemplateName: LPCSTR, hWndParent: HWND, + lpDialogFunc: DLGPROC): HWND + proc CreateDialogIndirect*(hInstance: HINST, lpTemplate: LPCDLGTEMPLATE, + hWndParent: HWND, lpDialogFunc: DLGPROC): HWND + proc DialogBox*(hInstance: HINST, lpTemplateName: LPCSTR, hWndParent: HWND, + lpDialogFunc: DLGPROC): int32 + proc DialogBoxIndirect*(hInstance: HINST, hDialogTemplate: LPCDLGTEMPLATE, + hWndParent: HWND, lpDialogFunc: DLGPROC): int32 + proc CreateDC*(para1: LPCSTR, para2: LPCSTR, para3: LPCSTR, para4: pDEVMODE): HDC{. + stdcall, dynlib: "gdi32", importc: "CreateDCA".} + proc VerInstallFile*(uFlags: DWORD, szSrcFileName: LPSTR, + szDestFileName: LPSTR, szSrcDir: LPSTR, szDestDir: LPSTR, + szCurDir: LPSTR, szTmpFile: LPSTR, lpuTmpFileLen: PUINT): DWORD{. + stdcall, dynlib: "version", importc: "VerInstallFileA".} + proc GetFileVersionInfoSize*(lptstrFilename: LPSTR, lpdwHandle: LPDWORD): DWORD{. + stdcall, dynlib: "version", importc: "GetFileVersionInfoSizeA".} + proc GetFileVersionInfo*(lptstrFilename: LPSTR, dwHandle: DWORD, dwLen: DWORD, + lpData: LPVOID): WINBOOL{.stdcall, dynlib: "version", + importc: "GetFileVersionInfoA".} + proc VerLanguageName*(wLang: DWORD, szLang: LPSTR, nSize: DWORD): DWORD{. + stdcall, dynlib: "kernel32", importc: "VerLanguageNameA".} + proc VerQueryValue*(pBlock: LPVOID, lpSubBlock: LPSTR, lplpBuffer: LPVOID, + puLen: PUINT): WINBOOL{.stdcall, dynlib: "version", + importc: "VerQueryValueA".} + proc VerFindFile*(uFlags: DWORD, szFileName: LPSTR, szWinDir: LPSTR, + szAppDir: LPSTR, szCurDir: LPSTR, lpuCurDirLen: PUINT, + szDestDir: LPSTR, lpuDestDirLen: PUINT): DWORD{.stdcall, + dynlib: "version", importc: "VerFindFileA".} + proc RegConnectRegistry*(lpMachineName: LPSTR, hKey: HKEY, phkResult: PHKEY): LONG{. + stdcall, dynlib: "advapi32", importc: "RegConnectRegistryA".} + proc RegCreateKey*(hKey: HKEY, lpSubKey: LPCSTR, phkResult: PHKEY): LONG{. + stdcall, dynlib: "advapi32", importc: "RegCreateKeyA".} + proc RegCreateKeyEx*(hKey: HKEY, lpSubKey: LPCSTR, Reserved: DWORD, + lpClass: LPSTR, dwOptions: DWORD, samDesired: REGSAM, + lpSecurityAttributes: LPSECURITY_ATTRIBUTES, + phkResult: PHKEY, lpdwDisposition: LPDWORD): LONG{. + stdcall, dynlib: "advapi32", importc: "RegCreateKeyExA".} + proc RegDeleteKey*(hKey: HKEY, lpSubKey: LPCSTR): LONG{.stdcall, + dynlib: "advapi32", importc: "RegDeleteKeyA".} + proc RegDeleteValue*(hKey: HKEY, lpValueName: LPCSTR): LONG{.stdcall, + dynlib: "advapi32", importc: "RegDeleteValueA".} + proc RegEnumKey*(hKey: HKEY, dwIndex: DWORD, lpName: LPSTR, cbName: DWORD): LONG{. + stdcall, dynlib: "advapi32", importc: "RegEnumKeyA".} + proc RegEnumKeyEx*(hKey: HKEY, dwIndex: DWORD, lpName: LPSTR, + lpcbName: LPDWORD, lpReserved: LPDWORD, lpClass: LPSTR, + lpcbClass: LPDWORD, lpftLastWriteTime: PFILETIME): LONG{. + stdcall, dynlib: "advapi32", importc: "RegEnumKeyExA".} + proc RegEnumValue*(hKey: HKEY, dwIndex: DWORD, lpValueName: LPSTR, + lpcbValueName: LPDWORD, lpReserved: LPDWORD, + lpType: LPDWORD, lpData: LPBYTE, lpcbData: LPDWORD): LONG{. + stdcall, dynlib: "advapi32", importc: "RegEnumValueA".} + proc RegLoadKey*(hKey: HKEY, lpSubKey: LPCSTR, lpFile: LPCSTR): LONG{.stdcall, + dynlib: "advapi32", importc: "RegLoadKeyA".} + proc RegOpenKey*(hKey: HKEY, lpSubKey: LPCSTR, phkResult: PHKEY): LONG{. + stdcall, dynlib: "advapi32", importc: "RegOpenKeyA".} + proc RegOpenKeyEx*(hKey: HKEY, lpSubKey: LPCSTR, ulOptions: DWORD, + samDesired: REGSAM, phkResult: PHKEY): LONG{.stdcall, + dynlib: "advapi32", importc: "RegOpenKeyExA".} + proc RegQueryInfoKey*(hKey: HKEY, lpClass: LPSTR, lpcbClass: LPDWORD, + lpReserved: LPDWORD, lpcSubKeys: LPDWORD, + lpcbMaxSubKeyLen: LPDWORD, lpcbMaxClassLen: LPDWORD, + lpcValues: LPDWORD, lpcbMaxValueNameLen: LPDWORD, + lpcbMaxValueLen: LPDWORD, + lpcbSecurityDescriptor: LPDWORD, + lpftLastWriteTime: PFILETIME): LONG{.stdcall, + dynlib: "advapi32", importc: "RegQueryInfoKeyA".} + proc RegQueryValue*(hKey: HKEY, lpSubKey: LPCSTR, lpValue: LPSTR, + lpcbValue: PLONG): LONG{.stdcall, dynlib: "advapi32", + importc: "RegQueryValueA".} + proc RegQueryMultipleValues*(hKey: HKEY, val_list: PVALENT, num_vals: DWORD, + lpValueBuf: LPSTR, ldwTotsize: LPDWORD): LONG{. + stdcall, dynlib: "advapi32", importc: "RegQueryMultipleValuesA".} + proc RegQueryValueEx*(hKey: HKEY, lpValueName: LPCSTR, lpReserved: LPDWORD, + lpType: LPDWORD, lpData: LPBYTE, lpcbData: LPDWORD): LONG{. + stdcall, dynlib: "advapi32", importc: "RegQueryValueExA".} + proc RegReplaceKey*(hKey: HKEY, lpSubKey: LPCSTR, lpNewFile: LPCSTR, + lpOldFile: LPCSTR): LONG{.stdcall, dynlib: "advapi32", + importc: "RegReplaceKeyA".} + proc RegRestoreKey*(hKey: HKEY, lpFile: LPCSTR, dwFlags: DWORD): LONG{. + stdcall, dynlib: "advapi32", importc: "RegRestoreKeyA".} + proc RegSaveKey*(hKey: HKEY, lpFile: LPCSTR, + lpSecurityAttributes: LPSECURITY_ATTRIBUTES): LONG{.stdcall, + dynlib: "advapi32", importc: "RegSaveKeyA".} + proc RegSetValue*(hKey: HKEY, lpSubKey: LPCSTR, dwType: DWORD, lpData: LPCSTR, + cbData: DWORD): LONG{.stdcall, dynlib: "advapi32", + importc: "RegSetValueA".} + proc RegSetValueEx*(hKey: HKEY, lpValueName: LPCSTR, Reserved: DWORD, + dwType: DWORD, lpData: LPBYTE, cbData: DWORD): LONG{. + stdcall, dynlib: "advapi32", importc: "RegSetValueExA".} + proc RegUnLoadKey*(hKey: HKEY, lpSubKey: LPCSTR): LONG{.stdcall, + dynlib: "advapi32", importc: "RegUnLoadKeyA".} + proc InitiateSystemShutdown*(lpMachineName: LPSTR, lpMessage: LPSTR, + dwTimeout: DWORD, bForceAppsClosed: WINBOOL, + bRebootAfterShutdown: WINBOOL): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "InitiateSystemShutdownA".} + proc AbortSystemShutdown*(lpMachineName: LPSTR): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "AbortSystemShutdownA".} + proc CompareString*(Locale: LCID, dwCmpFlags: DWORD, lpString1: LPCSTR, + cchCount1: int32, lpString2: LPCSTR, cchCount2: int32): int32{. + stdcall, dynlib: "kernel32", importc: "CompareStringA".} + proc LCMapString*(Locale: LCID, dwMapFlags: DWORD, lpSrcStr: LPCSTR, + cchSrc: int32, lpDestStr: LPSTR, cchDest: int32): int32{. + stdcall, dynlib: "kernel32", importc: "LCMapStringA".} + proc GetLocaleInfo*(Locale: LCID, LCType: LCTYPE, lpLCData: LPSTR, + cchData: int32): int32{.stdcall, dynlib: "kernel32", + importc: "GetLocaleInfoA".} + proc SetLocaleInfo*(Locale: LCID, LCType: LCTYPE, lpLCData: LPCSTR): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "SetLocaleInfoA".} + proc GetTimeFormat*(Locale: LCID, dwFlags: DWORD, lpTime: LPSYSTEMTIME, + lpFormat: LPCSTR, lpTimeStr: LPSTR, cchTime: int32): int32{. + stdcall, dynlib: "kernel32", importc: "GetTimeFormatA".} + proc GetDateFormat*(Locale: LCID, dwFlags: DWORD, lpDate: LPSYSTEMTIME, + lpFormat: LPCSTR, lpDateStr: LPSTR, cchDate: int32): int32{. + stdcall, dynlib: "kernel32", importc: "GetDateFormatA".} + proc GetNumberFormat*(Locale: LCID, dwFlags: DWORD, lpValue: LPCSTR, + lpFormat: PNUMBERFMT, lpNumberStr: LPSTR, + cchNumber: int32): int32{.stdcall, dynlib: "kernel32", + importc: "GetNumberFormatA".} + proc GetCurrencyFormat*(Locale: LCID, dwFlags: DWORD, lpValue: LPCSTR, + lpFormat: PCURRENCYFMT, lpCurrencyStr: LPSTR, + cchCurrency: int32): int32{.stdcall, + dynlib: "kernel32", importc: "GetCurrencyFormatA".} + proc EnumCalendarInfo*(lpCalInfoEnumProc: CALINFO_ENUMPROC, Locale: LCID, + Calendar: CALID, CalType: CALTYPE): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "EnumCalendarInfoA".} + proc EnumTimeFormats*(lpTimeFmtEnumProc: TIMEFMT_ENUMPROC, Locale: LCID, + dwFlags: DWORD): WINBOOL{.stdcall, dynlib: "kernel32", + importc: "EnumTimeFormatsA".} + proc EnumDateFormats*(lpDateFmtEnumProc: DATEFMT_ENUMPROC, Locale: LCID, + dwFlags: DWORD): WINBOOL{.stdcall, dynlib: "kernel32", + importc: "EnumDateFormatsA".} + proc GetStringTypeEx*(Locale: LCID, dwInfoType: DWORD, lpSrcStr: LPCSTR, + cchSrc: int32, lpCharType: LPWORD): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "GetStringTypeExA".} + proc GetStringType*(Locale: LCID, dwInfoType: DWORD, lpSrcStr: LPCSTR, + cchSrc: int32, lpCharType: LPWORD): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "GetStringTypeA".} + proc FoldString*(dwMapFlags: DWORD, lpSrcStr: LPCSTR, cchSrc: int32, + lpDestStr: LPSTR, cchDest: int32): int32{.stdcall, + dynlib: "kernel32", importc: "FoldStringA".} + proc EnumSystemLocales*(lpLocaleEnumProc: LOCALE_ENUMPROC, dwFlags: DWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "EnumSystemLocalesA".} + proc EnumSystemCodePages*(lpCodePageEnumProc: CODEPAGE_ENUMPROC, + dwFlags: DWORD): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "EnumSystemCodePagesA".} + proc PeekConsoleInput*(hConsoleInput: HANDLE, lpBuffer: PINPUTRECORD, + nLength: DWORD, lpNumberOfEventsRead: LPDWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "PeekConsoleInputA".} + proc ReadConsoleInput*(hConsoleInput: HANDLE, lpBuffer: PINPUTRECORD, + nLength: DWORD, lpNumberOfEventsRead: LPDWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "ReadConsoleInputA".} + proc WriteConsoleInput*(hConsoleInput: HANDLE, lpBuffer: PINPUTRECORD, + nLength: DWORD, lpNumberOfEventsWritten: LPDWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "WriteConsoleInputA".} + proc ReadConsoleOutput*(hConsoleOutput: HANDLE, lpBuffer: PCHAR_INFO, + dwBufferSize: COORD, dwBufferCoord: COORD, + lpReadRegion: PSMALL_RECT): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "ReadConsoleOutputA".} + proc WriteConsoleOutput*(hConsoleOutput: HANDLE, lpBuffer: PCHAR_INFO, + dwBufferSize: COORD, dwBufferCoord: COORD, + lpWriteRegion: PSMALL_RECT): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "WriteConsoleOutputA".} + proc ReadConsoleOutputCharacter*(hConsoleOutput: HANDLE, lpCharacter: LPSTR, + nLength: DWORD, dwReadCoord: COORD, + lpNumberOfCharsRead: LPDWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "ReadConsoleOutputCharacterA".} + proc WriteConsoleOutputCharacter*(hConsoleOutput: HANDLE, lpCharacter: LPCSTR, + nLength: DWORD, dwWriteCoord: COORD, + lpNumberOfCharsWritten: LPDWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "WriteConsoleOutputCharacterA".} + proc FillConsoleOutputCharacter*(hConsoleOutput: HANDLE, cCharacter: CHAR, + nLength: DWORD, dwWriteCoord: COORD, + lpNumberOfCharsWritten: LPDWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "FillConsoleOutputCharacterA".} + proc ScrollConsoleScreenBuffer*(hConsoleOutput: HANDLE, + lpScrollRectangle: PSMALL_RECT, + lpClipRectangle: PSMALL_RECT, + dwDestinationOrigin: COORD, lpFill: PCHAR_INFO): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "ScrollConsoleScreenBufferA".} + proc GetConsoleTitle*(lpConsoleTitle: LPSTR, nSize: DWORD): DWORD{.stdcall, + dynlib: "kernel32", importc: "GetConsoleTitleA".} + proc SetConsoleTitle*(lpConsoleTitle: LPCSTR): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "SetConsoleTitleA".} + proc ReadConsole*(hConsoleInput: HANDLE, lpBuffer: LPVOID, + nNumberOfCharsToRead: DWORD, lpNumberOfCharsRead: LPDWORD, + lpReserved: LPVOID): WINBOOL{.stdcall, dynlib: "kernel32", + importc: "ReadConsoleA".} + proc WriteConsole*(hConsoleOutput: HANDLE, lpBuffer: pointer, + nNumberOfCharsToWrite: DWORD, + lpNumberOfCharsWritten: LPDWORD, lpReserved: LPVOID): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "WriteConsoleA".} + proc WNetAddConnection*(lpRemoteName: LPCSTR, lpPassword: LPCSTR, + lpLocalName: LPCSTR): DWORD{.stdcall, dynlib: "mpr", + importc: "WNetAddConnectionA".} + proc WNetAddConnection2*(lpNetResource: LPNETRESOURCE, lpPassword: LPCSTR, + lpUserName: LPCSTR, dwFlags: DWORD): DWORD{.stdcall, + dynlib: "mpr", importc: "WNetAddConnection2A".} + proc WNetAddConnection3*(hwndOwner: HWND, lpNetResource: LPNETRESOURCE, + lpPassword: LPCSTR, lpUserName: LPCSTR, + dwFlags: DWORD): DWORD{.stdcall, dynlib: "mpr", + importc: "WNetAddConnection3A".} + proc WNetCancelConnection*(lpName: LPCSTR, fForce: WINBOOL): DWORD{.stdcall, + dynlib: "mpr", importc: "WNetCancelConnectionA".} + proc WNetCancelConnection2*(lpName: LPCSTR, dwFlags: DWORD, fForce: WINBOOL): DWORD{. + stdcall, dynlib: "mpr", importc: "WNetCancelConnection2A".} + proc WNetGetConnection*(lpLocalName: LPCSTR, lpRemoteName: LPSTR, + lpnLength: LPDWORD): DWORD{.stdcall, dynlib: "mpr", + importc: "WNetGetConnectionA".} + proc WNetUseConnection*(hwndOwner: HWND, lpNetResource: LPNETRESOURCE, + lpUserID: LPCSTR, lpPassword: LPCSTR, dwFlags: DWORD, + lpAccessName: LPSTR, lpBufferSize: LPDWORD, + lpResult: LPDWORD): DWORD{.stdcall, dynlib: "mpr", + importc: "WNetUseConnectionA".} + proc WNetSetConnection*(lpName: LPCSTR, dwProperties: DWORD, pvValues: LPVOID): DWORD{. + stdcall, dynlib: "mpr", importc: "WNetSetConnectionA".} + proc WNetConnectionDialog1*(lpConnDlgStruct: LPCONNECTDLGSTRUCT): DWORD{. + stdcall, dynlib: "mpr", importc: "WNetConnectionDialog1A".} + proc WNetDisconnectDialog1*(lpConnDlgStruct: LPDISCDLGSTRUCT): DWORD{.stdcall, + dynlib: "mpr", importc: "WNetDisconnectDialog1A".} + proc WNetOpenEnum*(dwScope: DWORD, dwType: DWORD, dwUsage: DWORD, + lpNetResource: LPNETRESOURCE, lphEnum: LPHANDLE): DWORD{. + stdcall, dynlib: "mpr", importc: "WNetOpenEnumA".} + proc WNetEnumResource*(hEnum: HANDLE, lpcCount: LPDWORD, lpBuffer: LPVOID, + lpBufferSize: LPDWORD): DWORD{.stdcall, dynlib: "mpr", + importc: "WNetEnumResourceA".} + proc WNetGetUniversalName*(lpLocalPath: LPCSTR, dwInfoLevel: DWORD, + lpBuffer: LPVOID, lpBufferSize: LPDWORD): DWORD{. + stdcall, dynlib: "mpr", importc: "WNetGetUniversalNameA".} + proc WNetGetUser*(lpName: LPCSTR, lpUserName: LPSTR, lpnLength: LPDWORD): DWORD{. + stdcall, dynlib: "mpr", importc: "WNetGetUserA".} + proc WNetGetProviderName*(dwNetType: DWORD, lpProviderName: LPSTR, + lpBufferSize: LPDWORD): DWORD{.stdcall, + dynlib: "mpr", importc: "WNetGetProviderNameA".} + proc WNetGetNetworkInformation*(lpProvider: LPCSTR, + lpNetInfoStruct: LPNETINFOSTRUCT): DWORD{. + stdcall, dynlib: "mpr", importc: "WNetGetNetworkInformationA".} + proc WNetGetLastError*(lpError: LPDWORD, lpErrorBuf: LPSTR, + nErrorBufSize: DWORD, lpNameBuf: LPSTR, + nNameBufSize: DWORD): DWORD{.stdcall, dynlib: "mpr", + importc: "WNetGetLastErrorA".} + proc MultinetGetConnectionPerformance*(lpNetResource: LPNETRESOURCE, + lpNetConnectInfoStruct: LPNETCONNECTINFOSTRUCT): DWORD{.stdcall, + dynlib: "mpr", importc: "MultinetGetConnectionPerformanceA".} + proc ChangeServiceConfig*(hService: SC_HANDLE, dwServiceType: DWORD, + dwStartType: DWORD, dwErrorControl: DWORD, + lpBinaryPathName: LPCSTR, lpLoadOrderGroup: LPCSTR, + lpdwTagId: LPDWORD, lpDependencies: LPCSTR, + lpServiceStartName: LPCSTR, lpPassword: LPCSTR, + lpDisplayName: LPCSTR): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "ChangeServiceConfigA".} + proc CreateService*(hSCManager: SC_HANDLE, lpServiceName: LPCSTR, + lpDisplayName: LPCSTR, dwDesiredAccess: DWORD, + dwServiceType: DWORD, dwStartType: DWORD, + dwErrorControl: DWORD, lpBinaryPathName: LPCSTR, + lpLoadOrderGroup: LPCSTR, lpdwTagId: LPDWORD, + lpDependencies: LPCSTR, lpServiceStartName: LPCSTR, + lpPassword: LPCSTR): SC_HANDLE{.stdcall, + dynlib: "advapi32", importc: "CreateServiceA".} + proc EnumDependentServices*(hService: SC_HANDLE, dwServiceState: DWORD, + lpServices: LPENUM_SERVICE_STATUS, + cbBufSize: DWORD, pcbBytesNeeded: LPDWORD, + lpServicesReturned: LPDWORD): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "EnumDependentServicesA".} + proc EnumServicesStatus*(hSCManager: SC_HANDLE, dwServiceType: DWORD, + dwServiceState: DWORD, + lpServices: LPENUM_SERVICE_STATUS, cbBufSize: DWORD, + pcbBytesNeeded: LPDWORD, lpServicesReturned: LPDWORD, + lpResumeHandle: LPDWORD): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "EnumServicesStatusA".} + proc GetServiceKeyName*(hSCManager: SC_HANDLE, lpDisplayName: LPCSTR, + lpServiceName: LPSTR, lpcchBuffer: LPDWORD): WINBOOL{. + stdcall, dynlib: "advapi32", importc: "GetServiceKeyNameA".} + proc GetServiceDisplayName*(hSCManager: SC_HANDLE, lpServiceName: LPCSTR, + lpDisplayName: LPSTR, lpcchBuffer: LPDWORD): WINBOOL{. + stdcall, dynlib: "advapi32", importc: "GetServiceDisplayNameA".} + proc OpenSCManager*(lpMachineName: LPCSTR, lpDatabaseName: LPCSTR, + dwDesiredAccess: DWORD): SC_HANDLE{.stdcall, + dynlib: "advapi32", importc: "OpenSCManagerA".} + proc OpenService*(hSCManager: SC_HANDLE, lpServiceName: LPCSTR, + dwDesiredAccess: DWORD): SC_HANDLE{.stdcall, + dynlib: "advapi32", importc: "OpenServiceA".} + proc QueryServiceConfig*(hService: SC_HANDLE, + lpServiceConfig: LPQUERY_SERVICE_CONFIG, + cbBufSize: DWORD, pcbBytesNeeded: LPDWORD): WINBOOL{. + stdcall, dynlib: "advapi32", importc: "QueryServiceConfigA".} + proc QueryServiceLockStatus*(hSCManager: SC_HANDLE, + lpLockStatus: LPQUERY_SERVICE_LOCK_STATUS, + cbBufSize: DWORD, pcbBytesNeeded: LPDWORD): WINBOOL{. + stdcall, dynlib: "advapi32", importc: "QueryServiceLockStatusA".} + proc RegisterServiceCtrlHandler*(lpServiceName: LPCSTR, + lpHandlerProc: LPHANDLER_FUNCTION): SERVICE_STATUS_HANDLE{. + stdcall, dynlib: "advapi32", importc: "RegisterServiceCtrlHandlerA".} + proc StartServiceCtrlDispatcher*(lpServiceStartTable: LPSERVICE_TABLE_ENTRY): WINBOOL{. + stdcall, dynlib: "advapi32", importc: "StartServiceCtrlDispatcherA".} + proc StartService*(hService: SC_HANDLE, dwNumServiceArgs: DWORD, + lpServiceArgVectors: LPCSTR): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "StartServiceA".} + proc DragQueryFile*(para1: HDROP, para2: int, para3: cstring, para4: int): int{. + stdcall, dynlib: "shell32", importc: "DragQueryFileA".} + proc ExtractAssociatedIcon*(para1: HINST, para2: cstring, para3: LPWORD): HICON{. + stdcall, dynlib: "shell32", importc: "ExtractAssociatedIconA".} + proc ExtractIcon*(para1: HINST, para2: cstring, para3: int): HICON{.stdcall, + dynlib: "shell32", importc: "ExtractIconA".} + proc FindExecutable*(para1: cstring, para2: cstring, para3: cstring): HINST{. + stdcall, dynlib: "shell32", importc: "FindExecutableA".} + proc ShellAbout*(para1: HWND, para2: cstring, para3: cstring, para4: HICON): int32{. + stdcall, dynlib: "shell32", importc: "ShellAboutA".} + proc ShellExecute*(para1: HWND, para2: cstring, para3: cstring, + para4: cstring, para5: cstring, para6: int32): HINST{. + stdcall, dynlib: "shell32", importc: "ShellExecuteA".} + proc Shell_NotifyIcon*(dwMessage: DWORD, lpData: PNotifyIconDataA): WINBOOL{. + stdcall, dynlib: "shell32", importc: "Shell_NotifyIconA".} + proc DdeCreateStringHandle*(para1: DWORD, para2: cstring, para3: int32): HSZ{. + stdcall, dynlib: "user32", importc: "DdeCreateStringHandleA".} + proc DdeInitialize*(para1: LPDWORD, para2: PFNCALLBACK, para3: DWORD, + para4: DWORD): UINT{.stdcall, dynlib: "user32", + importc: "DdeInitializeA".} + proc DdeQueryString*(para1: DWORD, para2: HSZ, para3: cstring, para4: DWORD, + para5: int32): DWORD{.stdcall, dynlib: "user32", + importc: "DdeQueryStringA".} + proc LogonUser*(para1: LPSTR, para2: LPSTR, para3: LPSTR, para4: DWORD, + para5: DWORD, para6: PHANDLE): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "LogonUserA".} + proc CreateProcessAsUser*(para1: HANDLE, para2: LPCTSTR, para3: LPTSTR, + para4: LPSECURITY_ATTRIBUTES, + para5: LPSECURITY_ATTRIBUTES, para6: WINBOOL, + para7: DWORD, para8: LPVOID, para9: LPCTSTR, + para10: LPSTARTUPINFO, para11: LPPROCESS_INFORMATION): WINBOOL{. + stdcall, dynlib: "advapi32", importc: "CreateProcessAsUserA".} +proc GetRandomRgn*(aHDC: HDC, aHRGN: HRGN, iNum: WINT): WINT{.stdcall, + importc, dynlib: "gdi32".} + +proc AccessCheck*(pSecurityDescriptor: PSECURITY_DESCRIPTOR, + ClientToken: HANDLE, DesiredAccess: DWORD, + GenericMapping: PGENERIC_MAPPING, + PrivilegeSet: PPRIVILEGE_SET, PrivilegeSetLength: LPDWORD, + GrantedAccess: LPDWORD, AccessStatus: LPBOOL): WINBOOL{. + stdcall, dynlib: "advapi32", importc: "AccessCheck".} +proc FreeResource*(hResData: HGLOBAL): WINBOOL{.stdcall, dynlib: "kernel32", + importc: "FreeResource".} +proc LockResource*(hResData: HGLOBAL): LPVOID{.stdcall, dynlib: "kernel32", + importc: "LockResource".} +proc FreeLibrary*(hLibModule: HINST): WINBOOL{.stdcall, dynlib: "kernel32", + importc: "FreeLibrary".} +proc FreeLibraryAndExitThread*(hLibModule: HMODULE, dwExitCode: DWORD){.stdcall, + dynlib: "kernel32", importc: "FreeLibraryAndExitThread".} +proc DisableThreadLibraryCalls*(hLibModule: HMODULE): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "DisableThreadLibraryCalls".} +proc GetProcAddress*(hModule: HINST, lpProcName: LPCSTR): FARPROC{.stdcall, + dynlib: "kernel32", importc: "GetProcAddress".} +proc GetVersion*(): DWORD{.stdcall, dynlib: "kernel32", importc: "GetVersion".} +proc GlobalAlloc*(uFlags: UINT, dwBytes: DWORD): HGLOBAL{.stdcall, + dynlib: "kernel32", importc: "GlobalAlloc".} +proc GlobalDiscard*(hglbMem: HGLOBAL): HGLOBAL +proc GlobalReAlloc*(hMem: HGLOBAL, dwBytes: DWORD, uFlags: UINT): HGLOBAL{. + stdcall, dynlib: "kernel32", importc: "GlobalReAlloc".} +proc GlobalSize*(hMem: HGLOBAL): DWORD{.stdcall, dynlib: "kernel32", + importc: "GlobalSize".} +proc GlobalFlags*(hMem: HGLOBAL): UINT{.stdcall, dynlib: "kernel32", + importc: "GlobalFlags".} +proc GlobalLock*(hMem: HGLOBAL): LPVOID{.stdcall, dynlib: "kernel32", + importc: "GlobalLock".} +proc GlobalHandle*(pMem: LPCVOID): HGLOBAL{.stdcall, dynlib: "kernel32", + importc: "GlobalHandle".} +proc GlobalUnlock*(hMem: HGLOBAL): WINBOOL{.stdcall, dynlib: "kernel32", + importc: "GlobalUnlock".} +proc GlobalFree*(hMem: HGLOBAL): HGLOBAL{.stdcall, dynlib: "kernel32", + importc: "GlobalFree".} +proc GlobalCompact*(dwMinFree: DWORD): UINT{.stdcall, dynlib: "kernel32", + importc: "GlobalCompact".} +proc GlobalFix*(hMem: HGLOBAL){.stdcall, dynlib: "kernel32", + importc: "GlobalFix".} +proc GlobalUnfix*(hMem: HGLOBAL){.stdcall, dynlib: "kernel32", + importc: "GlobalUnfix".} +proc GlobalWire*(hMem: HGLOBAL): LPVOID{.stdcall, dynlib: "kernel32", + importc: "GlobalWire".} +proc GlobalUnWire*(hMem: HGLOBAL): WINBOOL{.stdcall, dynlib: "kernel32", + importc: "GlobalUnWire".} +proc GlobalMemoryStatus*(lpBuffer: LPMEMORYSTATUS){.stdcall, dynlib: "kernel32", + importc: "GlobalMemoryStatus".} +proc LocalAlloc*(uFlags: UINT, uBytes: UINT): HLOCAL{.stdcall, + dynlib: "kernel32", importc: "LocalAlloc".} +proc LocalDiscard*(hlocMem: HLOCAL): HLOCAL +proc LocalReAlloc*(hMem: HLOCAL, uBytes: UINT, uFlags: UINT): HLOCAL{.stdcall, + dynlib: "kernel32", importc: "LocalReAlloc".} +proc LocalLock*(hMem: HLOCAL): LPVOID{.stdcall, dynlib: "kernel32", + importc: "LocalLock".} +proc LocalHandle*(pMem: LPCVOID): HLOCAL{.stdcall, dynlib: "kernel32", + importc: "LocalHandle".} +proc LocalUnlock*(hMem: HLOCAL): WINBOOL{.stdcall, dynlib: "kernel32", + importc: "LocalUnlock".} +proc LocalSize*(hMem: HLOCAL): UINT{.stdcall, dynlib: "kernel32", + importc: "LocalSize".} +proc LocalFlags*(hMem: HLOCAL): UINT{.stdcall, dynlib: "kernel32", + importc: "LocalFlags".} +proc LocalFree*(hMem: HLOCAL): HLOCAL{.stdcall, dynlib: "kernel32", + importc: "LocalFree".} +proc LocalShrink*(hMem: HLOCAL, cbNewSize: UINT): UINT{.stdcall, + dynlib: "kernel32", importc: "LocalShrink".} +proc LocalCompact*(uMinFree: UINT): UINT{.stdcall, dynlib: "kernel32", + importc: "LocalCompact".} +proc FlushInstructionCache*(hProcess: HANDLE, lpBaseAddress: LPCVOID, + dwSize: DWORD): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "FlushInstructionCache".} +proc VirtualAlloc*(lpAddress: LPVOID, dwSize: DWORD, flAllocationType: DWORD, + flProtect: DWORD): LPVOID{.stdcall, dynlib: "kernel32", + importc: "VirtualAlloc".} +proc VirtualFree*(lpAddress: LPVOID, dwSize: DWORD, dwFreeType: DWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "VirtualFree".} +proc VirtualProtect*(lpAddress: LPVOID, dwSize: DWORD, flNewProtect: DWORD, + lpflOldProtect: PDWORD): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "VirtualProtect".} +proc VirtualQuery*(lpAddress: LPCVOID, lpBuffer: PMEMORY_BASIC_INFORMATION, + dwLength: DWORD): DWORD{.stdcall, dynlib: "kernel32", + importc: "VirtualQuery".} +proc VirtualProtectEx*(hProcess: HANDLE, lpAddress: LPVOID, dwSize: DWORD, + flNewProtect: DWORD, lpflOldProtect: PDWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "VirtualProtectEx".} +proc VirtualQueryEx*(hProcess: HANDLE, lpAddress: LPCVOID, + lpBuffer: PMEMORY_BASIC_INFORMATION, dwLength: DWORD): DWORD{. + stdcall, dynlib: "kernel32", importc: "VirtualQueryEx".} +proc HeapCreate*(flOptions: DWORD, dwInitialSize: DWORD, dwMaximumSize: DWORD): HANDLE{. + stdcall, dynlib: "kernel32", importc: "HeapCreate".} +proc HeapDestroy*(hHeap: HANDLE): WINBOOL{.stdcall, dynlib: "kernel32", + importc: "HeapDestroy".} +proc HeapAlloc*(hHeap: HANDLE, dwFlags: DWORD, dwBytes: DWORD): LPVOID{.stdcall, + dynlib: "kernel32", importc: "HeapAlloc".} +proc HeapReAlloc*(hHeap: HANDLE, dwFlags: DWORD, lpMem: LPVOID, dwBytes: DWORD): LPVOID{. + stdcall, dynlib: "kernel32", importc: "HeapReAlloc".} +proc HeapFree*(hHeap: HANDLE, dwFlags: DWORD, lpMem: LPVOID): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "HeapFree".} +proc HeapSize*(hHeap: HANDLE, dwFlags: DWORD, lpMem: LPCVOID): DWORD{.stdcall, + dynlib: "kernel32", importc: "HeapSize".} +proc HeapValidate*(hHeap: HANDLE, dwFlags: DWORD, lpMem: LPCVOID): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "HeapValidate".} +proc HeapCompact*(hHeap: HANDLE, dwFlags: DWORD): UINT{.stdcall, + dynlib: "kernel32", importc: "HeapCompact".} +proc GetProcessHeap*(): HANDLE{.stdcall, dynlib: "kernel32", + importc: "GetProcessHeap".} +proc GetProcessHeaps*(NumberOfHeaps: DWORD, ProcessHeaps: PHANDLE): DWORD{. + stdcall, dynlib: "kernel32", importc: "GetProcessHeaps".} +proc HeapLock*(hHeap: HANDLE): WINBOOL{.stdcall, dynlib: "kernel32", + importc: "HeapLock".} +proc HeapUnlock*(hHeap: HANDLE): WINBOOL{.stdcall, dynlib: "kernel32", + importc: "HeapUnlock".} +proc HeapWalk*(hHeap: HANDLE, lpEntry: LPPROCESS_HEAP_ENTRY): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "HeapWalk".} +proc GetProcessAffinityMask*(hProcess: HANDLE, lpProcessAffinityMask: LPDWORD, + lpSystemAffinityMask: LPDWORD): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "GetProcessAffinityMask".} +proc GetProcessTimes*(hProcess: HANDLE, lpCreationTime: LPFILETIME, + lpExitTime: LPFILETIME, lpKernelTime: LPFILETIME, + lpUserTime: LPFILETIME): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "GetProcessTimes".} +proc GetProcessWorkingSetSize*(hProcess: HANDLE, + lpMinimumWorkingSetSize: LPDWORD, + lpMaximumWorkingSetSize: LPDWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "GetProcessWorkingSetSize".} +proc SetProcessWorkingSetSize*(hProcess: HANDLE, dwMinimumWorkingSetSize: DWORD, + dwMaximumWorkingSetSize: DWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "SetProcessWorkingSetSize".} +proc OpenProcess*(dwDesiredAccess: DWORD, bInheritHandle: WINBOOL, + dwProcessId: DWORD): HANDLE{.stdcall, dynlib: "kernel32", + importc: "OpenProcess".} +proc GetCurrentProcess*(): HANDLE{.stdcall, dynlib: "kernel32", + importc: "GetCurrentProcess".} +proc GetCurrentProcessId*(): DWORD{.stdcall, dynlib: "kernel32", + importc: "GetCurrentProcessId".} +proc ExitProcess*(uExitCode: UINT){.stdcall, dynlib: "kernel32", + importc: "ExitProcess".} +proc TerminateProcess*(hProcess: HANDLE, uExitCode: UINT): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "TerminateProcess".} +proc SetProcessAffinityMask*(hProcess: THandle, dwProcessAffinityMask: DWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "SetProcessAffinityMask".} +proc GetExitCodeProcess*(hProcess: HANDLE, lpExitCode: LPDWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "GetExitCodeProcess".} +proc FatalExit*(ExitCode: int32){.stdcall, dynlib: "kernel32", + importc: "FatalExit".} +proc RaiseException*(dwExceptionCode: DWORD, dwExceptionFlags: DWORD, + nNumberOfArguments: DWORD, lpArguments: LPDWORD){.stdcall, + dynlib: "kernel32", importc: "RaiseException".} +proc UnhandledExceptionFilter*(ExceptionInfo: lpemptyrecord): LONG{.stdcall, + dynlib: "kernel32", importc: "UnhandledExceptionFilter".} +proc CreateRemoteThread*(hProcess: HANDLE, + lpThreadAttributes: LPSECURITY_ATTRIBUTES, + dwStackSize: DWORD, + lpStartAddress: LPTHREAD_START_ROUTINE, + lpParameter: LPVOID, dwCreationFlags: DWORD, + lpThreadId: LPDWORD): HANDLE{.stdcall, + dynlib: "kernel32", importc: "CreateRemoteThread".} +proc GetCurrentThread*(): HANDLE{.stdcall, dynlib: "kernel32", + importc: "GetCurrentThread".} +proc GetCurrentThreadId*(): DWORD{.stdcall, dynlib: "kernel32", + importc: "GetCurrentThreadId".} +proc SetThreadAffinityMask*(hThread: HANDLE, dwThreadAffinityMask: DWORD): DWORD{. + stdcall, dynlib: "kernel32", importc: "SetThreadAffinityMask".} +proc SetThreadPriority*(hThread: HANDLE, nPriority: int32): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "SetThreadPriority".} +proc GetThreadPriority*(hThread: HANDLE): int32{.stdcall, dynlib: "kernel32", + importc: "GetThreadPriority".} +proc GetThreadTimes*(hThread: HANDLE, lpCreationTime: LPFILETIME, + lpExitTime: LPFILETIME, lpKernelTime: LPFILETIME, + lpUserTime: LPFILETIME): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "GetThreadTimes".} +proc ExitThread*(dwExitCode: DWORD){.stdcall, dynlib: "kernel32", + importc: "ExitThread".} +proc TerminateThread*(hThread: HANDLE, dwExitCode: DWORD): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "TerminateThread".} +proc GetExitCodeThread*(hThread: HANDLE, lpExitCode: LPDWORD): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "GetExitCodeThread".} +proc GetThreadSelectorEntry*(hThread: HANDLE, dwSelector: DWORD, + lpSelectorEntry: LPLDT_ENTRY): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "GetThreadSelectorEntry".} +proc GetLastError*(): DWORD{.stdcall, dynlib: "kernel32", + importc: "GetLastError".} +proc SetLastError*(dwErrCode: DWORD){.stdcall, dynlib: "kernel32", + importc: "SetLastError".} +proc CreateIoCompletionPort*(FileHandle: HANDLE, ExistingCompletionPort: HANDLE, + CompletionKey: DWORD, + NumberOfConcurrentThreads: DWORD): HANDLE{.stdcall, + dynlib: "kernel32", importc: "CreateIoCompletionPort".} +proc SetErrorMode*(uMode: UINT): UINT{.stdcall, dynlib: "kernel32", + importc: "SetErrorMode".} +proc ReadProcessMemory*(hProcess: HANDLE, lpBaseAddress: LPCVOID, + lpBuffer: LPVOID, nSize: DWORD, + lpNumberOfBytesRead: LPDWORD): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "ReadProcessMemory".} +proc WriteProcessMemory*(hProcess: HANDLE, lpBaseAddress: LPVOID, + lpBuffer: LPVOID, nSize: DWORD, + lpNumberOfBytesWritten: LPDWORD): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "WriteProcessMemory".} +proc GetThreadContext*(hThread: HANDLE, lpContext: LPCONTEXT): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "GetThreadContext".} +proc SuspendThread*(hThread: HANDLE): DWORD{.stdcall, dynlib: "kernel32", + importc: "SuspendThread".} +proc ResumeThread*(hThread: HANDLE): DWORD{.stdcall, dynlib: "kernel32", + importc: "ResumeThread".} +proc DebugBreak*(){.stdcall, dynlib: "kernel32", importc: "DebugBreak".} +proc WaitForDebugEvent*(lpDebugEvent: LPDEBUG_EVENT, dwMilliseconds: DWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "WaitForDebugEvent".} +proc ContinueDebugEvent*(dwProcessId: DWORD, dwThreadId: DWORD, + dwContinueStatus: DWORD): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "ContinueDebugEvent".} +proc DebugActiveProcess*(dwProcessId: DWORD): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "DebugActiveProcess".} +proc InitializeCriticalSection*(lpCriticalSection: LPCRITICAL_SECTION){.stdcall, + dynlib: "kernel32", importc: "InitializeCriticalSection".} +proc EnterCriticalSection*(lpCriticalSection: LPCRITICAL_SECTION){.stdcall, + dynlib: "kernel32", importc: "EnterCriticalSection".} +proc LeaveCriticalSection*(lpCriticalSection: LPCRITICAL_SECTION){.stdcall, + dynlib: "kernel32", importc: "LeaveCriticalSection".} +proc DeleteCriticalSection*(lpCriticalSection: LPCRITICAL_SECTION){.stdcall, + dynlib: "kernel32", importc: "DeleteCriticalSection".} +proc TryEnterCriticalSection*(lpCriticalSection: LPCRITICAL_SECTION): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "TryEnterCriticalSection".} +proc SetEvent*(hEvent: HANDLE): WINBOOL{.stdcall, dynlib: "kernel32", + importc: "SetEvent".} +proc ResetEvent*(hEvent: HANDLE): WINBOOL{.stdcall, dynlib: "kernel32", + importc: "ResetEvent".} +proc PulseEvent*(hEvent: HANDLE): WINBOOL{.stdcall, dynlib: "kernel32", + importc: "PulseEvent".} +proc ReleaseSemaphore*(hSemaphore: HANDLE, lReleaseCount: LONG, + lpPreviousCount: LPLONG): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "ReleaseSemaphore".} +proc ReleaseMutex*(hMutex: HANDLE): WINBOOL{.stdcall, dynlib: "kernel32", + importc: "ReleaseMutex".} +proc WaitForSingleObject*(hHandle: HANDLE, dwMilliseconds: DWORD): DWORD{. + stdcall, dynlib: "kernel32", importc: "WaitForSingleObject".} +proc WaitForMultipleObjects*(nCount: DWORD, lpHandles: PWOHandleArray, + bWaitAll: WINBOOL, dwMilliseconds: DWORD): DWORD{. + stdcall, dynlib: "kernel32", importc: "WaitForMultipleObjects".} +proc Sleep*(dwMilliseconds: DWORD){.stdcall, dynlib: "kernel32", + importc: "Sleep".} +proc LoadResource*(hModule: HINST, hResInfo: HRSRC): HGLOBAL{.stdcall, + dynlib: "kernel32", importc: "LoadResource".} +proc SizeofResource*(hModule: HINST, hResInfo: HRSRC): DWORD{.stdcall, + dynlib: "kernel32", importc: "SizeofResource".} +proc GlobalDeleteAtom*(nAtom: ATOM): ATOM{.stdcall, dynlib: "kernel32", + importc: "GlobalDeleteAtom".} +proc InitAtomTable*(nSize: DWORD): WINBOOL{.stdcall, dynlib: "kernel32", + importc: "InitAtomTable".} +proc DeleteAtom*(nAtom: ATOM): ATOM{.stdcall, dynlib: "kernel32", + importc: "DeleteAtom".} +proc SetHandleCount*(uNumber: UINT): UINT{.stdcall, dynlib: "kernel32", + importc: "SetHandleCount".} +proc GetLogicalDrives*(): DWORD{.stdcall, dynlib: "kernel32", + importc: "GetLogicalDrives".} +proc LockFile*(hFile: HANDLE, dwFileOffsetLow: DWORD, dwFileOffsetHigh: DWORD, + nNumberOfBytesToLockLow: DWORD, nNumberOfBytesToLockHigh: DWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "LockFile".} +proc UnlockFile*(hFile: HANDLE, dwFileOffsetLow: DWORD, dwFileOffsetHigh: DWORD, + nNumberOfBytesToUnlockLow: DWORD, + nNumberOfBytesToUnlockHigh: DWORD): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "UnlockFile".} +proc LockFileEx*(hFile: HANDLE, dwFlags: DWORD, dwReserved: DWORD, + nNumberOfBytesToLockLow: DWORD, + nNumberOfBytesToLockHigh: DWORD, lpOverlapped: LPOVERLAPPED): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "LockFileEx".} +proc UnlockFileEx*(hFile: HANDLE, dwReserved: DWORD, + nNumberOfBytesToUnlockLow: DWORD, + nNumberOfBytesToUnlockHigh: DWORD, lpOverlapped: LPOVERLAPPED): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "UnlockFileEx".} +proc GetFileInformationByHandle*(hFile: HANDLE, lpFileInformation: LPBY_HANDLE_FILE_INFORMATION): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "GetFileInformationByHandle".} +proc GetFileType*(hFile: HANDLE): DWORD{.stdcall, dynlib: "kernel32", + importc: "GetFileType".} +proc GetFileSize*(hFile: HANDLE, lpFileSizeHigh: LPDWORD): DWORD{.stdcall, + dynlib: "kernel32", importc: "GetFileSize".} +proc GetStdHandle*(nStdHandle: DWORD): HANDLE{.stdcall, dynlib: "kernel32", + importc: "GetStdHandle".} +proc SetStdHandle*(nStdHandle: DWORD, hHandle: HANDLE): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "SetStdHandle".} +proc FlushFileBuffers*(hFile: HANDLE): WINBOOL{.stdcall, dynlib: "kernel32", + importc: "FlushFileBuffers".} +proc DeviceIoControl*(hDevice: HANDLE, dwIoControlCode: DWORD, + lpInBuffer: LPVOID, nInBufferSize: DWORD, + lpOutBuffer: LPVOID, nOutBufferSize: DWORD, + lpBytesReturned: LPDWORD, lpOverlapped: LPOVERLAPPED): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "DeviceIoControl".} +proc SetEndOfFile*(hFile: HANDLE): WINBOOL{.stdcall, dynlib: "kernel32", + importc: "SetEndOfFile".} +proc SetFilePointer*(hFile: HANDLE, lDistanceToMove: LONG, + lpDistanceToMoveHigh: PLONG, dwMoveMethod: DWORD): DWORD{. + stdcall, dynlib: "kernel32", importc: "SetFilePointer".} +proc FindClose*(hFindFile: HANDLE): WINBOOL{.stdcall, dynlib: "kernel32", + importc: "FindClose".} +proc GetFileTime*(hFile: HANDLE, lpCreationTime: LPFILETIME, + lpLastAccessTime: LPFILETIME, lpLastWriteTime: LPFILETIME): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "GetFileTime".} +proc SetFileTime*(hFile: HANDLE, lpCreationTime: LPFILETIME, + lpLastAccessTime: LPFILETIME, lpLastWriteTime: LPFILETIME): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "SetFileTime".} +proc CloseHandle*(hObject: HANDLE): WINBOOL{.stdcall, dynlib: "kernel32", + importc: "CloseHandle".} +proc DuplicateHandle*(hSourceProcessHandle: HANDLE, hSourceHandle: HANDLE, + hTargetProcessHandle: HANDLE, lpTargetHandle: LPHANDLE, + dwDesiredAccess: DWORD, bInheritHandle: WINBOOL, + dwOptions: DWORD): WINBOOL{.stdcall, dynlib: "kernel32", + importc: "DuplicateHandle".} +proc GetHandleInformation*(hObject: HANDLE, lpdwFlags: LPDWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "GetHandleInformation".} +proc SetHandleInformation*(hObject: HANDLE, dwMask: DWORD, dwFlags: DWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "SetHandleInformation".} +proc LoadModule*(lpModuleName: LPCSTR, lpParameterBlock: LPVOID): DWORD{. + stdcall, dynlib: "kernel32", importc: "LoadModule".} +proc WinExec*(lpCmdLine: LPCSTR, uCmdShow: UINT): UINT{.stdcall, + dynlib: "kernel32", importc: "WinExec".} +proc ClearCommBreak*(hFile: HANDLE): WINBOOL{.stdcall, dynlib: "kernel32", + importc: "ClearCommBreak".} +proc ClearCommError*(hFile: HANDLE, lpErrors: LPDWORD, lpStat: LPCOMSTAT): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "ClearCommError".} +proc SetupComm*(hFile: HANDLE, dwInQueue: DWORD, dwOutQueue: DWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "SetupComm".} +proc EscapeCommFunction*(hFile: HANDLE, dwFunc: DWORD): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "EscapeCommFunction".} +proc GetCommConfig*(hCommDev: HANDLE, lpCC: LPCOMMCONFIG, lpdwSize: LPDWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "GetCommConfig".} +proc GetCommProperties*(hFile: HANDLE, lpCommProp: LPCOMMPROP): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "GetCommProperties".} +proc GetCommModemStatus*(hFile: HANDLE, lpModemStat: PDWORD): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "GetCommModemStatus".} +proc GetCommState*(hFile: HANDLE, lpDCB: PDCB): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "GetCommState".} +proc GetCommTimeouts*(hFile: HANDLE, lpCommTimeouts: PCOMMTIMEOUTS): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "GetCommTimeouts".} +proc PurgeComm*(hFile: HANDLE, dwFlags: DWORD): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "PurgeComm".} +proc SetCommBreak*(hFile: HANDLE): WINBOOL{.stdcall, dynlib: "kernel32", + importc: "SetCommBreak".} +proc SetCommConfig*(hCommDev: HANDLE, lpCC: LPCOMMCONFIG, dwSize: DWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "SetCommConfig".} +proc SetCommMask*(hFile: HANDLE, dwEvtMask: DWORD): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "SetCommMask".} +proc SetCommState*(hFile: HANDLE, lpDCB: LPDCB): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "SetCommState".} +proc SetCommTimeouts*(hFile: HANDLE, lpCommTimeouts: LPCOMMTIMEOUTS): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "SetCommTimeouts".} +proc TransmitCommChar*(hFile: HANDLE, cChar: char): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "TransmitCommChar".} +proc WaitCommEvent*(hFile: HANDLE, lpEvtMask: LPDWORD, + lpOverlapped: LPOVERLAPPED): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "WaitCommEvent".} +proc SetTapePosition*(hDevice: HANDLE, dwPositionMethod: DWORD, + dwPartition: DWORD, dwOffsetLow: DWORD, + dwOffsetHigh: DWORD, bImmediate: WINBOOL): DWORD{.stdcall, + dynlib: "kernel32", importc: "SetTapePosition".} +proc GetTapePosition*(hDevice: HANDLE, dwPositionType: DWORD, + lpdwPartition: LPDWORD, lpdwOffsetLow: LPDWORD, + lpdwOffsetHigh: LPDWORD): DWORD{.stdcall, + dynlib: "kernel32", importc: "GetTapePosition".} +proc PrepareTape*(hDevice: HANDLE, dwOperation: DWORD, bImmediate: WINBOOL): DWORD{. + stdcall, dynlib: "kernel32", importc: "PrepareTape".} +proc EraseTape*(hDevice: HANDLE, dwEraseType: DWORD, bImmediate: WINBOOL): DWORD{. + stdcall, dynlib: "kernel32", importc: "EraseTape".} +proc CreateTapePartition*(hDevice: HANDLE, dwPartitionMethod: DWORD, + dwCount: DWORD, dwSize: DWORD): DWORD{.stdcall, + dynlib: "kernel32", importc: "CreateTapePartition".} +proc WriteTapemark*(hDevice: HANDLE, dwTapemarkType: DWORD, + dwTapemarkCount: DWORD, bImmediate: WINBOOL): DWORD{. + stdcall, dynlib: "kernel32", importc: "WriteTapemark".} +proc GetTapeStatus*(hDevice: HANDLE): DWORD{.stdcall, dynlib: "kernel32", + importc: "GetTapeStatus".} +proc GetTapeParameters*(hDevice: HANDLE, dwOperation: DWORD, lpdwSize: LPDWORD, + lpTapeInformation: LPVOID): DWORD{.stdcall, + dynlib: "kernel32", importc: "GetTapeParameters".} +proc SetTapeParameters*(hDevice: HANDLE, dwOperation: DWORD, + lpTapeInformation: LPVOID): DWORD{.stdcall, + dynlib: "kernel32", importc: "SetTapeParameters".} +proc Beep*(dwFreq: DWORD, dwDuration: DWORD): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "Beep".} +proc MulDiv*(nNumber: int32, nNumerator: int32, nDenominator: int32): int32{. + stdcall, dynlib: "kernel32", importc: "MulDiv".} +proc GetSystemTime*(lpSystemTime: LPSYSTEMTIME){.stdcall, dynlib: "kernel32", + importc: "GetSystemTime".} +proc GetSystemTimeAsFileTime*(lpSystemTimeAsFileTime: LPFILETIME){.stdcall, + dynlib: "kernel32", importc: "GetSystemTimeAsFileTime".} +proc SetSystemTime*(lpSystemTime: LPSYSTEMTIME): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "SetSystemTime".} +proc GetLocalTime*(lpSystemTime: LPSYSTEMTIME){.stdcall, dynlib: "kernel32", + importc: "GetLocalTime".} +proc SetLocalTime*(lpSystemTime: LPSYSTEMTIME): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "SetLocalTime".} +proc GetSystemInfo*(lpSystemInfo: LPSYSTEM_INFO){.stdcall, dynlib: "kernel32", + importc: "GetSystemInfo".} +proc SystemTimeToTzSpecificLocalTime*(lpTimeZoneInformation: LPTIME_ZONE_INFORMATION, + lpUniversalTime: LPSYSTEMTIME, + lpLocalTime: LPSYSTEMTIME): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "SystemTimeToTzSpecificLocalTime".} +proc GetTimeZoneInformation*(lpTimeZoneInformation: LPTIME_ZONE_INFORMATION): DWORD{. + stdcall, dynlib: "kernel32", importc: "GetTimeZoneInformation".} +proc SetTimeZoneInformation*(lpTimeZoneInformation: LPTIME_ZONE_INFORMATION): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "SetTimeZoneInformation".} +proc SystemTimeToFileTime*(lpSystemTime: LPSYSTEMTIME, lpFileTime: LPFILETIME): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "SystemTimeToFileTime".} +proc FileTimeToLocalFileTime*(lpFileTime: LPFILETIME, + lpLocalFileTime: LPFILETIME): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "FileTimeToLocalFileTime".} +proc LocalFileTimeToFileTime*(lpLocalFileTime: LPFILETIME, + lpFileTime: LPFILETIME): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "LocalFileTimeToFileTime".} +proc FileTimeToSystemTime*(lpFileTime: LPFILETIME, lpSystemTime: LPSYSTEMTIME): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "FileTimeToSystemTime".} +proc CompareFileTime*(lpFileTime1: LPFILETIME, lpFileTime2: LPFILETIME): LONG{. + stdcall, dynlib: "kernel32", importc: "CompareFileTime".} +proc FileTimeToDosDateTime*(lpFileTime: LPFILETIME, lpFatDate: LPWORD, + lpFatTime: LPWORD): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "FileTimeToDosDateTime".} +proc DosDateTimeToFileTime*(wFatDate: int16, wFatTime: int16, + lpFileTime: LPFILETIME): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "DosDateTimeToFileTime".} +proc GetTickCount*(): DWORD{.stdcall, dynlib: "kernel32", + importc: "GetTickCount".} +proc SetSystemTimeAdjustment*(dwTimeAdjustment: DWORD, + bTimeAdjustmentDisabled: WINBOOL): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "SetSystemTimeAdjustment".} +proc GetSystemTimeAdjustment*(lpTimeAdjustment: PDWORD, lpTimeIncrement: PDWORD, + lpTimeAdjustmentDisabled: PWINBOOL): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "GetSystemTimeAdjustment".} +proc CreatePipe*(hReadPipe: PHANDLE, hWritePipe: PHANDLE, + lpPipeAttributes: LPSECURITY_ATTRIBUTES, nSize: DWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "CreatePipe".} +proc ConnectNamedPipe*(hNamedPipe: HANDLE, lpOverlapped: LPOVERLAPPED): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "ConnectNamedPipe".} +proc DisconnectNamedPipe*(hNamedPipe: HANDLE): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "DisconnectNamedPipe".} +proc SetNamedPipeHandleState*(hNamedPipe: HANDLE, lpMode: LPDWORD, + lpMaxCollectionCount: LPDWORD, + lpCollectDataTimeout: LPDWORD): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "SetNamedPipeHandleState".} +proc GetNamedPipeInfo*(hNamedPipe: HANDLE, lpFlags: LPDWORD, + lpOutBufferSize: LPDWORD, lpInBufferSize: LPDWORD, + lpMaxInstances: LPDWORD): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "GetNamedPipeInfo".} +proc PeekNamedPipe*(hNamedPipe: HANDLE, lpBuffer: LPVOID, nBufferSize: DWORD, + lpBytesRead: LPDWORD, lpTotalBytesAvail: LPDWORD, + lpBytesLeftThisMessage: LPDWORD): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "PeekNamedPipe".} +proc TransactNamedPipe*(hNamedPipe: HANDLE, lpInBuffer: LPVOID, + nInBufferSize: DWORD, lpOutBuffer: LPVOID, + nOutBufferSize: DWORD, lpBytesRead: LPDWORD, + lpOverlapped: LPOVERLAPPED): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "TransactNamedPipe".} +proc GetMailslotInfo*(hMailslot: HANDLE, lpMaxMessageSize: LPDWORD, + lpNextSize: LPDWORD, lpMessageCount: LPDWORD, + lpReadTimeout: LPDWORD): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "GetMailslotInfo".} +proc SetMailslotInfo*(hMailslot: HANDLE, lReadTimeout: DWORD): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "SetMailslotInfo".} +proc MapViewOfFile*(hFileMappingObject: HANDLE, dwDesiredAccess: DWORD, + dwFileOffsetHigh: DWORD, dwFileOffsetLow: DWORD, + dwNumberOfBytesToMap: DWORD): LPVOID{.stdcall, + dynlib: "kernel32", importc: "MapViewOfFile".} +proc FlushViewOfFile*(lpBaseAddress: LPCVOID, dwNumberOfBytesToFlush: DWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "FlushViewOfFile".} +proc UnmapViewOfFile*(lpBaseAddress: LPVOID): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "UnmapViewOfFile".} +proc OpenFile*(lpFileName: LPCSTR, lpReOpenBuff: LPOFSTRUCT, uStyle: UINT): HFILE{. + stdcall, dynlib: "kernel32", importc: "OpenFile".} +proc lopen*(lpPathName: LPCSTR, iReadWrite: int32): HFILE{.stdcall, + dynlib: "kernel32", importc: "_lopen".} +proc lcreat*(lpPathName: LPCSTR, iAttribute: int32): HFILE{.stdcall, + dynlib: "kernel32", importc: "_lcreat".} +proc lread*(hFile: HFILE, lpBuffer: LPVOID, uBytes: UINT): UINT{.stdcall, + dynlib: "kernel32", importc: "_lread".} +proc lwrite*(hFile: HFILE, lpBuffer: LPCSTR, uBytes: UINT): UINT{.stdcall, + dynlib: "kernel32", importc: "_lwrite".} +proc hread*(hFile: HFILE, lpBuffer: LPVOID, lBytes: int32): int32{.stdcall, + dynlib: "kernel32", importc: "_hread".} +proc hwrite*(hFile: HFILE, lpBuffer: LPCSTR, lBytes: int32): int32{.stdcall, + dynlib: "kernel32", importc: "_hwrite".} +proc lclose*(hFile: HFILE): HFILE{.stdcall, dynlib: "kernel32", + importc: "_lclose".} +proc llseek*(hFile: HFILE, lOffset: LONG, iOrigin: int32): LONG{.stdcall, + dynlib: "kernel32", importc: "_llseek".} +proc IsTextUnicode*(lpBuffer: LPVOID, cb: int32, lpi: LPINT): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "IsTextUnicode".} +proc TlsAlloc*(): DWORD{.stdcall, dynlib: "kernel32", importc: "TlsAlloc".} +proc TlsGetValue*(dwTlsIndex: DWORD): LPVOID{.stdcall, dynlib: "kernel32", + importc: "TlsGetValue".} +proc TlsSetValue*(dwTlsIndex: DWORD, lpTlsValue: LPVOID): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "TlsSetValue".} +proc TlsFree*(dwTlsIndex: DWORD): WINBOOL{.stdcall, dynlib: "kernel32", + importc: "TlsFree".} +proc SleepEx*(dwMilliseconds: DWORD, bAlertable: WINBOOL): DWORD{.stdcall, + dynlib: "kernel32", importc: "SleepEx".} +proc WaitForSingleObjectEx*(hHandle: HANDLE, dwMilliseconds: DWORD, + bAlertable: WINBOOL): DWORD{.stdcall, + dynlib: "kernel32", importc: "WaitForSingleObjectEx".} +proc WaitForMultipleObjectsEx*(nCount: DWORD, lpHandles: LPHANDLE, + bWaitAll: WINBOOL, dwMilliseconds: DWORD, + bAlertable: WINBOOL): DWORD{.stdcall, + dynlib: "kernel32", importc: "WaitForMultipleObjectsEx".} +proc ReadFileEx*(hFile: HANDLE, lpBuffer: LPVOID, nNumberOfBytesToRead: DWORD, + lpOverlapped: LPOVERLAPPED, + lpCompletionRoutine: LPOVERLAPPED_COMPLETION_ROUTINE): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "ReadFileEx".} +proc WriteFileEx*(hFile: HANDLE, lpBuffer: LPCVOID, + nNumberOfBytesToWrite: DWORD, lpOverlapped: LPOVERLAPPED, + lpCompletionRoutine: LPOVERLAPPED_COMPLETION_ROUTINE): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "WriteFileEx".} +proc BackupRead*(hFile: HANDLE, lpBuffer: LPBYTE, nNumberOfBytesToRead: DWORD, + lpNumberOfBytesRead: LPDWORD, bAbort: WINBOOL, + bProcessSecurity: WINBOOL, lpContext: var LPVOID): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "BackupRead".} +proc BackupSeek*(hFile: HANDLE, dwLowBytesToSeek: DWORD, + dwHighBytesToSeek: DWORD, lpdwLowByteSeeked: LPDWORD, + lpdwHighByteSeeked: LPDWORD, lpContext: var LPVOID): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "BackupSeek".} +proc BackupWrite*(hFile: HANDLE, lpBuffer: LPBYTE, nNumberOfBytesToWrite: DWORD, + lpNumberOfBytesWritten: LPDWORD, bAbort: WINBOOL, + bProcessSecurity: WINBOOL, lpContext: var LPVOID): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "BackupWrite".} +proc SetProcessShutdownParameters*(dwLevel: DWORD, dwFlags: DWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "SetProcessShutdownParameters".} +proc GetProcessShutdownParameters*(lpdwLevel: LPDWORD, lpdwFlags: LPDWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "GetProcessShutdownParameters".} +proc SetFileApisToOEM*(){.stdcall, dynlib: "kernel32", + importc: "SetFileApisToOEM".} +proc SetFileApisToANSI*(){.stdcall, dynlib: "kernel32", + importc: "SetFileApisToANSI".} +proc AreFileApisANSI*(): WINBOOL{.stdcall, dynlib: "kernel32", + importc: "AreFileApisANSI".} +proc CloseEventLog*(hEventLog: HANDLE): WINBOOL{.stdcall, dynlib: "advapi32", + importc: "CloseEventLog".} +proc DeregisterEventSource*(hEventLog: HANDLE): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "DeregisterEventSource".} +proc NotifyChangeEventLog*(hEventLog: HANDLE, hEvent: HANDLE): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "NotifyChangeEventLog".} +proc GetNumberOfEventLogRecords*(hEventLog: HANDLE, NumberOfRecords: PDWORD): WINBOOL{. + stdcall, dynlib: "advapi32", importc: "GetNumberOfEventLogRecords".} +proc GetOldestEventLogRecord*(hEventLog: HANDLE, OldestRecord: PDWORD): WINBOOL{. + stdcall, dynlib: "advapi32", importc: "GetOldestEventLogRecord".} +proc DuplicateToken*(ExistingTokenHandle: HANDLE, + ImpersonationLevel: SECURITY_IMPERSONATION_LEVEL, + DuplicateTokenHandle: PHANDLE): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "DuplicateToken".} +proc GetKernelObjectSecurity*(Handle: HANDLE, + RequestedInformation: SECURITY_INFORMATION, + pSecurityDescriptor: PSECURITY_DESCRIPTOR, + nLength: DWORD, lpnLengthNeeded: LPDWORD): WINBOOL{. + stdcall, dynlib: "advapi32", importc: "GetKernelObjectSecurity".} +proc ImpersonateNamedPipeClient*(hNamedPipe: HANDLE): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "ImpersonateNamedPipeClient".} +proc ImpersonateLoggedOnUser*(hToken: HANDLE): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "ImpersonateLoggedOnUser".} +proc ImpersonateSelf*(ImpersonationLevel: SECURITY_IMPERSONATION_LEVEL): WINBOOL{. + stdcall, dynlib: "advapi32", importc: "ImpersonateSelf".} +proc RevertToSelf*(): WINBOOL{.stdcall, dynlib: "advapi32", + importc: "RevertToSelf".} +proc SetThreadToken*(Thread: PHANDLE, Token: HANDLE): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "SetThreadToken".} +proc OpenProcessToken*(ProcessHandle: HANDLE, DesiredAccess: DWORD, + TokenHandle: PHANDLE): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "OpenProcessToken".} +proc OpenThreadToken*(ThreadHandle: HANDLE, DesiredAccess: DWORD, + OpenAsSelf: WINBOOL, TokenHandle: PHANDLE): WINBOOL{. + stdcall, dynlib: "advapi32", importc: "OpenThreadToken".} +proc GetTokenInformation*(TokenHandle: HANDLE, + TokenInformationClass: TOKEN_INFORMATION_CLASS, + TokenInformation: LPVOID, + TokenInformationLength: DWORD, ReturnLength: PDWORD): WINBOOL{. + stdcall, dynlib: "advapi32", importc: "GetTokenInformation".} +proc SetTokenInformation*(TokenHandle: HANDLE, + TokenInformationClass: TOKEN_INFORMATION_CLASS, + TokenInformation: LPVOID, + TokenInformationLength: DWORD): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "SetTokenInformation".} +proc AdjustTokenPrivileges*(TokenHandle: HANDLE, DisableAllPrivileges: WINBOOL, + NewState: PTOKEN_PRIVILEGES, BufferLength: DWORD, + PreviousState: PTOKEN_PRIVILEGES, + ReturnLength: PDWORD): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "AdjustTokenPrivileges".} +proc AdjustTokenGroups*(TokenHandle: HANDLE, ResetToDefault: WINBOOL, + NewState: PTOKEN_GROUPS, BufferLength: DWORD, + PreviousState: PTOKEN_GROUPS, ReturnLength: PDWORD): WINBOOL{. + stdcall, dynlib: "advapi32", importc: "AdjustTokenGroups".} +proc PrivilegeCheck*(ClientToken: HANDLE, RequiredPrivileges: PPRIVILEGE_SET, + pfResult: LPBOOL): WINBOOL{.stdcall, dynlib: "advapi32", + importc: "PrivilegeCheck".} +proc IsValidSid*(pSid: PSID): WINBOOL{.stdcall, dynlib: "advapi32", + importc: "IsValidSid".} +proc EqualSid*(pSid1: PSID, pSid2: PSID): WINBOOL{.stdcall, dynlib: "advapi32", + importc: "EqualSid".} +proc EqualPrefixSid*(pSid1: PSID, pSid2: PSID): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "EqualPrefixSid".} +proc GetSidLengthRequired*(nSubAuthorityCount: UCHAR): DWORD{.stdcall, + dynlib: "advapi32", importc: "GetSidLengthRequired".} +proc AllocateAndInitializeSid*(pIdentifierAuthority: PSID_IDENTIFIER_AUTHORITY, + nSubAuthorityCount: int8, nSubAuthority0: DWORD, + nSubAuthority1: DWORD, nSubAuthority2: DWORD, + nSubAuthority3: DWORD, nSubAuthority4: DWORD, + nSubAuthority5: DWORD, nSubAuthority6: DWORD, + nSubAuthority7: DWORD, pSid: var PSID): WINBOOL{. + stdcall, dynlib: "advapi32", importc: "AllocateAndInitializeSid".} +proc FreeSid*(pSid: PSID): PVOID{.stdcall, dynlib: "advapi32", + importc: "FreeSid".} +proc InitializeSid*(Sid: PSID, pIdentifierAuthority: PSID_IDENTIFIER_AUTHORITY, + nSubAuthorityCount: int8): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "InitializeSid".} +proc GetSidIdentifierAuthority*(pSid: PSID): PSID_IDENTIFIER_AUTHORITY{.stdcall, + dynlib: "advapi32", importc: "GetSidIdentifierAuthority".} +proc GetSidSubAuthority*(pSid: PSID, nSubAuthority: DWORD): PDWORD{.stdcall, + dynlib: "advapi32", importc: "GetSidSubAuthority".} +proc GetSidSubAuthorityCount*(pSid: PSID): PUCHAR{.stdcall, dynlib: "advapi32", + importc: "GetSidSubAuthorityCount".} +proc GetLengthSid*(pSid: PSID): DWORD{.stdcall, dynlib: "advapi32", + importc: "GetLengthSid".} +proc CopySid*(nDestinationSidLength: DWORD, pDestinationSid: PSID, + pSourceSid: PSID): WINBOOL{.stdcall, dynlib: "advapi32", + importc: "CopySid".} +proc AreAllAccessesGranted*(GrantedAccess: DWORD, DesiredAccess: DWORD): WINBOOL{. + stdcall, dynlib: "advapi32", importc: "AreAllAccessesGranted".} +proc AreAnyAccessesGranted*(GrantedAccess: DWORD, DesiredAccess: DWORD): WINBOOL{. + stdcall, dynlib: "advapi32", importc: "AreAnyAccessesGranted".} +proc MapGenericMask*(AccessMask: PDWORD, GenericMapping: PGENERIC_MAPPING){. + stdcall, dynlib: "advapi32", importc: "MapGenericMask".} +proc IsValidAcl*(pAcl: PACL): WINBOOL{.stdcall, dynlib: "advapi32", + importc: "IsValidAcl".} +proc InitializeAcl*(pAcl: PACL, nAclLength: DWORD, dwAclRevision: DWORD): WINBOOL{. + stdcall, dynlib: "advapi32", importc: "InitializeAcl".} +proc GetAclInformation*(pAcl: PACL, pAclInformation: LPVOID, + nAclInformationLength: DWORD, + dwAclInformationClass: ACL_INFORMATION_CLASS): WINBOOL{. + stdcall, dynlib: "advapi32", importc: "GetAclInformation".} +proc SetAclInformation*(pAcl: PACL, pAclInformation: LPVOID, + nAclInformationLength: DWORD, + dwAclInformationClass: ACL_INFORMATION_CLASS): WINBOOL{. + stdcall, dynlib: "advapi32", importc: "SetAclInformation".} +proc AddAce*(pAcl: PACL, dwAceRevision: DWORD, dwStartingAceIndex: DWORD, + pAceList: LPVOID, nAceListLength: DWORD): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "AddAce".} +proc DeleteAce*(pAcl: PACL, dwAceIndex: DWORD): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "DeleteAce".} +proc GetAce*(pAcl: PACL, dwAceIndex: DWORD, pAce: var LPVOID): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "GetAce".} +proc AddAccessAllowedAce*(pAcl: PACL, dwAceRevision: DWORD, AccessMask: DWORD, + pSid: PSID): WINBOOL{.stdcall, dynlib: "advapi32", + importc: "AddAccessAllowedAce".} +proc AddAccessDeniedAce*(pAcl: PACL, dwAceRevision: DWORD, AccessMask: DWORD, + pSid: PSID): WINBOOL{.stdcall, dynlib: "advapi32", + importc: "AddAccessDeniedAce".} +proc AddAuditAccessAce*(pAcl: PACL, dwAceRevision: DWORD, dwAccessMask: DWORD, + pSid: PSID, bAuditSuccess: WINBOOL, + bAuditFailure: WINBOOL): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "AddAuditAccessAce".} +proc FindFirstFreeAce*(pAcl: PACL, pAce: var LPVOID): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "FindFirstFreeAce".} +proc InitializeSecurityDescriptor*(pSecurityDescriptor: PSECURITY_DESCRIPTOR, + dwRevision: DWORD): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "InitializeSecurityDescriptor".} +proc IsValidSecurityDescriptor*(pSecurityDescriptor: PSECURITY_DESCRIPTOR): WINBOOL{. + stdcall, dynlib: "advapi32", importc: "IsValidSecurityDescriptor".} +proc GetSecurityDescriptorLength*(pSecurityDescriptor: PSECURITY_DESCRIPTOR): DWORD{. + stdcall, dynlib: "advapi32", importc: "GetSecurityDescriptorLength".} +proc GetSecurityDescriptorControl*(pSecurityDescriptor: PSECURITY_DESCRIPTOR, + pControl: PSECURITY_DESCRIPTOR_CONTROL, + lpdwRevision: LPDWORD): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "GetSecurityDescriptorControl".} +proc SetSecurityDescriptorDacl*(pSecurityDescriptor: PSECURITY_DESCRIPTOR, + bDaclPresent: WINBOOL, pDacl: PACL, + bDaclDefaulted: WINBOOL): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "SetSecurityDescriptorDacl".} +proc GetSecurityDescriptorDacl*(pSecurityDescriptor: PSECURITY_DESCRIPTOR, + lpbDaclPresent: LPBOOL, pDacl: var PACL, + lpbDaclDefaulted: LPBOOL): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "GetSecurityDescriptorDacl".} +proc SetSecurityDescriptorSacl*(pSecurityDescriptor: PSECURITY_DESCRIPTOR, + bSaclPresent: WINBOOL, pSacl: PACL, + bSaclDefaulted: WINBOOL): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "SetSecurityDescriptorSacl".} +proc GetSecurityDescriptorSacl*(pSecurityDescriptor: PSECURITY_DESCRIPTOR, + lpbSaclPresent: LPBOOL, pSacl: var PACL, + lpbSaclDefaulted: LPBOOL): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "GetSecurityDescriptorSacl".} +proc SetSecurityDescriptorOwner*(pSecurityDescriptor: PSECURITY_DESCRIPTOR, + pOwner: PSID, bOwnerDefaulted: WINBOOL): WINBOOL{. + stdcall, dynlib: "advapi32", importc: "SetSecurityDescriptorOwner".} +proc GetSecurityDescriptorOwner*(pSecurityDescriptor: PSECURITY_DESCRIPTOR, + pOwner: var PSID, lpbOwnerDefaulted: LPBOOL): WINBOOL{. + stdcall, dynlib: "advapi32", importc: "GetSecurityDescriptorOwner".} +proc SetSecurityDescriptorGroup*(pSecurityDescriptor: PSECURITY_DESCRIPTOR, + pGroup: PSID, bGroupDefaulted: WINBOOL): WINBOOL{. + stdcall, dynlib: "advapi32", importc: "SetSecurityDescriptorGroup".} +proc GetSecurityDescriptorGroup*(pSecurityDescriptor: PSECURITY_DESCRIPTOR, + pGroup: var PSID, lpbGroupDefaulted: LPBOOL): WINBOOL{. + stdcall, dynlib: "advapi32", importc: "GetSecurityDescriptorGroup".} +proc CreatePrivateObjectSecurity*(ParentDescriptor: PSECURITY_DESCRIPTOR, + CreatorDescriptor: PSECURITY_DESCRIPTOR, + NewDescriptor: var PSECURITY_DESCRIPTOR, + IsDirectoryObject: WINBOOL, Token: HANDLE, + GenericMapping: PGENERIC_MAPPING): WINBOOL{. + stdcall, dynlib: "advapi32", importc: "CreatePrivateObjectSecurity".} +proc SetPrivateObjectSecurity*(SecurityInformation: SECURITY_INFORMATION, + ModificationDescriptor: PSECURITY_DESCRIPTOR, + ObjectsSecurityDescriptor: var PSECURITY_DESCRIPTOR, + GenericMapping: PGENERIC_MAPPING, Token: HANDLE): WINBOOL{. + stdcall, dynlib: "advapi32", importc: "SetPrivateObjectSecurity".} +proc GetPrivateObjectSecurity*(ObjectDescriptor: PSECURITY_DESCRIPTOR, + SecurityInformation: SECURITY_INFORMATION, + ResultantDescriptor: PSECURITY_DESCRIPTOR, + DescriptorLength: DWORD, ReturnLength: PDWORD): WINBOOL{. + stdcall, dynlib: "advapi32", importc: "GetPrivateObjectSecurity".} +proc DestroyPrivateObjectSecurity*(ObjectDescriptor: PSECURITY_DESCRIPTOR): WINBOOL{. + stdcall, dynlib: "advapi32", importc: "DestroyPrivateObjectSecurity".} +proc MakeSelfRelativeSD*(pAbsoluteSecurityDescriptor: PSECURITY_DESCRIPTOR, + pSelfRelativeSecurityDescriptor: PSECURITY_DESCRIPTOR, + lpdwBufferLength: LPDWORD): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "MakeSelfRelativeSD".} +proc MakeAbsoluteSD*(pSelfRelativeSecurityDescriptor: PSECURITY_DESCRIPTOR, + pAbsoluteSecurityDescriptor: PSECURITY_DESCRIPTOR, + lpdwAbsoluteSecurityDescriptorSize: LPDWORD, pDacl: PACL, + lpdwDaclSize: LPDWORD, pSacl: PACL, lpdwSaclSize: LPDWORD, + pOwner: PSID, lpdwOwnerSize: LPDWORD, pPrimaryGroup: PSID, + lpdwPrimaryGroupSize: LPDWORD): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "MakeAbsoluteSD".} +proc SetKernelObjectSecurity*(Handle: HANDLE, + SecurityInformation: SECURITY_INFORMATION, + SecurityDescriptor: PSECURITY_DESCRIPTOR): WINBOOL{. + stdcall, dynlib: "advapi32", importc: "SetKernelObjectSecurity".} +proc FindNextChangeNotification*(hChangeHandle: HANDLE): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "FindNextChangeNotification".} +proc FindCloseChangeNotification*(hChangeHandle: HANDLE): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "FindCloseChangeNotification".} +proc VirtualLock*(lpAddress: LPVOID, dwSize: DWORD): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "VirtualLock".} +proc VirtualUnlock*(lpAddress: LPVOID, dwSize: DWORD): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "VirtualUnlock".} +proc MapViewOfFileEx*(hFileMappingObject: HANDLE, dwDesiredAccess: DWORD, + dwFileOffsetHigh: DWORD, dwFileOffsetLow: DWORD, + dwNumberOfBytesToMap: DWORD, lpBaseAddress: LPVOID): LPVOID{. + stdcall, dynlib: "kernel32", importc: "MapViewOfFileEx".} +proc SetPriorityClass*(hProcess: HANDLE, dwPriorityClass: DWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "SetPriorityClass".} +proc GetPriorityClass*(hProcess: HANDLE): DWORD{.stdcall, dynlib: "kernel32", + importc: "GetPriorityClass".} +proc IsBadReadPtr*(lp: pointer, ucb: UINT): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "IsBadReadPtr".} +proc IsBadWritePtr*(lp: LPVOID, ucb: UINT): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "IsBadWritePtr".} +proc IsBadHugeReadPtr*(lp: pointer, ucb: UINT): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "IsBadHugeReadPtr".} +proc IsBadHugeWritePtr*(lp: LPVOID, ucb: UINT): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "IsBadHugeWritePtr".} +proc IsBadCodePtr*(lpfn: FARPROC): WINBOOL{.stdcall, dynlib: "kernel32", + importc: "IsBadCodePtr".} +proc AllocateLocallyUniqueId*(Luid: PLUID): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "AllocateLocallyUniqueId".} +proc QueryPerformanceCounter*(lpPerformanceCount: PLARGE_INTEGER): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "QueryPerformanceCounter".} +proc QueryPerformanceFrequency*(lpFrequency: PLARGE_INTEGER): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "QueryPerformanceFrequency".} +proc ActivateKeyboardLayout*(hkl: HKL, Flags: UINT): WINBOOL{.stdcall, + dynlib: "user32", importc: "ActivateKeyboardLayout".} +proc UnloadKeyboardLayout*(hkl: HKL): WINBOOL{.stdcall, dynlib: "user32", + importc: "UnloadKeyboardLayout".} +proc GetKeyboardLayoutList*(nBuff: int32, lpList: var HKL): int32{.stdcall, + dynlib: "user32", importc: "GetKeyboardLayoutList".} +proc GetKeyboardLayout*(dwLayout: DWORD): HKL{.stdcall, dynlib: "user32", + importc: "GetKeyboardLayout".} +proc OpenInputDesktop*(dwFlags: DWORD, fInherit: WINBOOL, dwDesiredAccess: DWORD): HDESK{. + stdcall, dynlib: "user32", importc: "OpenInputDesktop".} +proc EnumDesktopWindows*(hDesktop: HDESK, lpfn: ENUMWINDOWSPROC, lParam: LPARAM): WINBOOL{. + stdcall, dynlib: "user32", importc: "EnumDesktopWindows".} +proc SwitchDesktop*(hDesktop: HDESK): WINBOOL{.stdcall, dynlib: "user32", + importc: "SwitchDesktop".} +proc SetThreadDesktop*(hDesktop: HDESK): WINBOOL{.stdcall, dynlib: "user32", + importc: "SetThreadDesktop".} +proc CloseDesktop*(hDesktop: HDESK): WINBOOL{.stdcall, dynlib: "user32", + importc: "CloseDesktop".} +proc GetThreadDesktop*(dwThreadId: DWORD): HDESK{.stdcall, dynlib: "user32", + importc: "GetThreadDesktop".} +proc CloseWindowStation*(hWinSta: HWINSTA): WINBOOL{.stdcall, dynlib: "user32", + importc: "CloseWindowStation".} +proc SetProcessWindowStation*(hWinSta: HWINSTA): WINBOOL{.stdcall, + dynlib: "user32", importc: "SetProcessWindowStation".} +proc GetProcessWindowStation*(): HWINSTA{.stdcall, dynlib: "user32", + importc: "GetProcessWindowStation".} +proc SetUserObjectSecurity*(hObj: HANDLE, pSIRequested: PSECURITY_INFORMATION, + pSID: PSECURITY_DESCRIPTOR): WINBOOL{.stdcall, + dynlib: "user32", importc: "SetUserObjectSecurity".} +proc GetUserObjectSecurity*(hObj: HANDLE, pSIRequested: PSECURITY_INFORMATION, + pSID: PSECURITY_DESCRIPTOR, nLength: DWORD, + lpnLengthNeeded: LPDWORD): WINBOOL{.stdcall, + dynlib: "user32", importc: "GetUserObjectSecurity".} +proc TranslateMessage*(lpMsg: LPMSG): WINBOOL{.stdcall, dynlib: "user32", + importc: "TranslateMessage".} +proc SetMessageQueue*(cMessagesMax: int32): WINBOOL{.stdcall, dynlib: "user32", + importc: "SetMessageQueue".} +proc RegisterHotKey*(hWnd: HWND, anID: int32, fsModifiers: UINT, vk: UINT): WINBOOL{. + stdcall, dynlib: "user32", importc: "RegisterHotKey".} +proc UnregisterHotKey*(hWnd: HWND, anID: int32): WINBOOL{.stdcall, + dynlib: "user32", importc: "UnregisterHotKey".} +proc ExitWindowsEx*(uFlags: UINT, dwReserved: DWORD): WINBOOL{.stdcall, + dynlib: "user32", importc: "ExitWindowsEx".} +proc SwapMouseButton*(fSwap: WINBOOL): WINBOOL{.stdcall, dynlib: "user32", + importc: "SwapMouseButton".} +proc GetMessagePos*(): DWORD{.stdcall, dynlib: "user32", + importc: "GetMessagePos".} +proc GetMessageTime*(): LONG{.stdcall, dynlib: "user32", + importc: "GetMessageTime".} +proc GetMessageExtraInfo*(): LONG{.stdcall, dynlib: "user32", + importc: "GetMessageExtraInfo".} +proc SetMessageExtraInfo*(lParam: LPARAM): LPARAM{.stdcall, dynlib: "user32", + importc: "SetMessageExtraInfo".} +proc BroadcastSystemMessage*(para1: DWORD, para2: LPDWORD, para3: UINT, + para4: WPARAM, para5: LPARAM): int32{.stdcall, + dynlib: "user32", importc: "BroadcastSystemMessage".} +proc AttachThreadInput*(idAttach: DWORD, idAttachTo: DWORD, fAttach: WINBOOL): WINBOOL{. + stdcall, dynlib: "user32", importc: "AttachThreadInput".} +proc ReplyMessage*(lResult: LRESULT): WINBOOL{.stdcall, dynlib: "user32", + importc: "ReplyMessage".} +proc WaitMessage*(): WINBOOL{.stdcall, dynlib: "user32", importc: "WaitMessage".} +proc WaitForInputIdle*(hProcess: HANDLE, dwMilliseconds: DWORD): DWORD{.stdcall, + dynlib: "user32", importc: "WaitForInputIdle".} +proc PostQuitMessage*(nExitCode: int32){.stdcall, dynlib: "user32", + importc: "PostQuitMessage".} +proc InSendMessage*(): WINBOOL{.stdcall, dynlib: "user32", + importc: "InSendMessage".} +proc GetDoubleClickTime*(): UINT{.stdcall, dynlib: "user32", + importc: "GetDoubleClickTime".} +proc SetDoubleClickTime*(para1: UINT): WINBOOL{.stdcall, dynlib: "user32", + importc: "SetDoubleClickTime".} +proc IsWindow*(hWnd: HWND): WINBOOL{.stdcall, dynlib: "user32", + importc: "IsWindow".} +proc IsMenu*(hMenu: HMENU): WINBOOL{.stdcall, dynlib: "user32", + importc: "IsMenu".} +proc IsChild*(hWndParent: HWND, hWnd: HWND): WINBOOL{.stdcall, dynlib: "user32", + importc: "IsChild".} +proc DestroyWindow*(hWnd: HWND): WINBOOL{.stdcall, dynlib: "user32", + importc: "DestroyWindow".} +proc ShowWindow*(hWnd: HWND, nCmdShow: int32): WINBOOL{.stdcall, + dynlib: "user32", importc: "ShowWindow".} +proc ShowWindowAsync*(hWnd: HWND, nCmdShow: int32): WINBOOL{.stdcall, + dynlib: "user32", importc: "ShowWindowAsync".} +proc FlashWindow*(hWnd: HWND, bInvert: WINBOOL): WINBOOL{.stdcall, + dynlib: "user32", importc: "FlashWindow".} +proc ShowOwnedPopups*(hWnd: HWND, fShow: WINBOOL): WINBOOL{.stdcall, + dynlib: "user32", importc: "ShowOwnedPopups".} +proc OpenIcon*(hWnd: HWND): WINBOOL{.stdcall, dynlib: "user32", + importc: "OpenIcon".} +proc CloseWindow*(hWnd: HWND): WINBOOL{.stdcall, dynlib: "user32", + importc: "CloseWindow".} +proc MoveWindow*(hWnd: HWND, X: int32, Y: int32, nWidth: int32, nHeight: int32, + bRepaint: WINBOOL): WINBOOL{.stdcall, dynlib: "user32", + importc: "MoveWindow".} +proc SetWindowPos*(hWnd: HWND, hWndInsertAfter: HWND, X: int32, Y: int32, + cx: int32, cy: int32, uFlags: UINT): WINBOOL{.stdcall, + dynlib: "user32", importc: "SetWindowPos".} +proc GetWindowPlacement*(hWnd: HWND, lpwndpl: var WINDOWPLACEMENT): WINBOOL{. + stdcall, dynlib: "user32", importc: "GetWindowPlacement".} +proc SetWindowPlacement*(hWnd: HWND, lpwndpl: var WINDOWPLACEMENT): WINBOOL{. + stdcall, dynlib: "user32", importc: "SetWindowPlacement".} +proc GetWindowPlacement*(hWnd: HWND, lpwndpl: PWINDOWPLACEMENT): WINBOOL{. + stdcall, dynlib: "user32", importc: "GetWindowPlacement".} +proc SetWindowPlacement*(hWnd: HWND, lpwndpl: PWINDOWPLACEMENT): WINBOOL{. + stdcall, dynlib: "user32", importc: "SetWindowPlacement".} +proc BeginDeferWindowPos*(nNumWindows: int32): HDWP{.stdcall, dynlib: "user32", + importc: "BeginDeferWindowPos".} +proc DeferWindowPos*(hWinPosInfo: HDWP, hWnd: HWND, hWndInsertAfter: HWND, + x: int32, y: int32, cx: int32, cy: int32, uFlags: UINT): HDWP{. + stdcall, dynlib: "user32", importc: "DeferWindowPos".} +proc EndDeferWindowPos*(hWinPosInfo: HDWP): WINBOOL{.stdcall, dynlib: "user32", + importc: "EndDeferWindowPos".} +proc IsWindowVisible*(hWnd: HWND): WINBOOL{.stdcall, dynlib: "user32", + importc: "IsWindowVisible".} +proc IsIconic*(hWnd: HWND): WINBOOL{.stdcall, dynlib: "user32", + importc: "IsIconic".} +proc AnyPopup*(): WINBOOL{.stdcall, dynlib: "user32", importc: "AnyPopup".} +proc BringWindowToTop*(hWnd: HWND): WINBOOL{.stdcall, dynlib: "user32", + importc: "BringWindowToTop".} +proc IsZoomed*(hWnd: HWND): WINBOOL{.stdcall, dynlib: "user32", + importc: "IsZoomed".} +proc EndDialog*(hDlg: HWND, nResult: int32): WINBOOL{.stdcall, dynlib: "user32", + importc: "EndDialog".} +proc GetDlgItem*(hDlg: HWND, nIDDlgItem: int32): HWND{.stdcall, + dynlib: "user32", importc: "GetDlgItem".} +proc SetDlgItemInt*(hDlg: HWND, nIDDlgItem: int32, uValue: UINT, + bSigned: WINBOOL): WINBOOL{.stdcall, dynlib: "user32", + importc: "SetDlgItemInt".} +proc GetDlgItemInt*(hDlg: HWND, nIDDlgItem: int32, lpTranslated: var WINBOOL, + bSigned: WINBOOL): UINT{.stdcall, dynlib: "user32", + importc: "GetDlgItemInt".} +proc CheckDlgButton*(hDlg: HWND, nIDButton: int32, uCheck: UINT): WINBOOL{. + stdcall, dynlib: "user32", importc: "CheckDlgButton".} +proc CheckRadioButton*(hDlg: HWND, nIDFirstButton: int32, nIDLastButton: int32, + nIDCheckButton: int32): WINBOOL{.stdcall, + dynlib: "user32", importc: "CheckRadioButton".} +proc IsDlgButtonChecked*(hDlg: HWND, nIDButton: int32): UINT{.stdcall, + dynlib: "user32", importc: "IsDlgButtonChecked".} +proc GetNextDlgGroupItem*(hDlg: HWND, hCtl: HWND, bPrevious: WINBOOL): HWND{. + stdcall, dynlib: "user32", importc: "GetNextDlgGroupItem".} +proc GetNextDlgTabItem*(hDlg: HWND, hCtl: HWND, bPrevious: WINBOOL): HWND{. + stdcall, dynlib: "user32", importc: "GetNextDlgTabItem".} +proc GetDlgCtrlID*(hWnd: HWND): int32{.stdcall, dynlib: "user32", + importc: "GetDlgCtrlID".} +proc GetDialogBaseUnits*(): int32{.stdcall, dynlib: "user32", + importc: "GetDialogBaseUnits".} +proc OpenClipboard*(hWndNewOwner: HWND): WINBOOL{.stdcall, dynlib: "user32", + importc: "OpenClipboard".} +proc CloseClipboard*(): WINBOOL{.stdcall, dynlib: "user32", + importc: "CloseClipboard".} +proc GetClipboardOwner*(): HWND{.stdcall, dynlib: "user32", + importc: "GetClipboardOwner".} +proc SetClipboardViewer*(hWndNewViewer: HWND): HWND{.stdcall, dynlib: "user32", + importc: "SetClipboardViewer".} +proc GetClipboardViewer*(): HWND{.stdcall, dynlib: "user32", + importc: "GetClipboardViewer".} +proc ChangeClipboardChain*(hWndRemove: HWND, hWndNewNext: HWND): WINBOOL{. + stdcall, dynlib: "user32", importc: "ChangeClipboardChain".} +proc SetClipboardData*(uFormat: UINT, hMem: HANDLE): HANDLE{.stdcall, + dynlib: "user32", importc: "SetClipboardData".} +proc GetClipboardData*(uFormat: UINT): HANDLE{.stdcall, dynlib: "user32", + importc: "GetClipboardData".} +proc CountClipboardFormats*(): int32{.stdcall, dynlib: "user32", + importc: "CountClipboardFormats".} +proc EnumClipboardFormats*(format: UINT): UINT{.stdcall, dynlib: "user32", + importc: "EnumClipboardFormats".} +proc EmptyClipboard*(): WINBOOL{.stdcall, dynlib: "user32", + importc: "EmptyClipboard".} +proc IsClipboardFormatAvailable*(format: UINT): WINBOOL{.stdcall, + dynlib: "user32", importc: "IsClipboardFormatAvailable".} +proc GetPriorityClipboardFormat*(paFormatPriorityList: var UINT, cFormats: int32): int32{. + stdcall, dynlib: "user32", importc: "GetPriorityClipboardFormat".} +proc GetOpenClipboardWindow*(): HWND{.stdcall, dynlib: "user32", + importc: "GetOpenClipboardWindow".} +proc CharNextExA*(CodePage: int16, lpCurrentChar: LPCSTR, dwFlags: DWORD): LPSTR{. + stdcall, dynlib: "user32", importc: "CharNextExA".} +proc CharPrevExA*(CodePage: int16, lpStart: LPCSTR, lpCurrentChar: LPCSTR, + dwFlags: DWORD): LPSTR{.stdcall, dynlib: "user32", + importc: "CharPrevExA".} +proc SetFocus*(hWnd: HWND): HWND{.stdcall, dynlib: "user32", importc: "SetFocus".} +proc GetActiveWindow*(): HWND{.stdcall, dynlib: "user32", + importc: "GetActiveWindow".} +proc GetFocus*(): HWND{.stdcall, dynlib: "user32", importc: "GetFocus".} +proc GetKBCodePage*(): UINT{.stdcall, dynlib: "user32", importc: "GetKBCodePage".} +proc GetKeyState*(nVirtKey: int32): SHORT{.stdcall, dynlib: "user32", + importc: "GetKeyState".} +proc GetAsyncKeyState*(vKey: int32): SHORT{.stdcall, dynlib: "user32", + importc: "GetAsyncKeyState".} +proc GetKeyboardState*(lpKeyState: PBYTE): WINBOOL{.stdcall, dynlib: "user32", + importc: "GetKeyboardState".} +proc SetKeyboardState*(lpKeyState: LPBYTE): WINBOOL{.stdcall, dynlib: "user32", + importc: "SetKeyboardState".} +proc GetKeyboardType*(nTypeFlag: int32): int32{.stdcall, dynlib: "user32", + importc: "GetKeyboardType".} +proc ToAscii*(uVirtKey: UINT, uScanCode: UINT, lpKeyState: PBYTE, + lpChar: LPWORD, uFlags: UINT): int32{.stdcall, dynlib: "user32", + importc: "ToAscii".} +proc ToAsciiEx*(uVirtKey: UINT, uScanCode: UINT, lpKeyState: PBYTE, + lpChar: LPWORD, uFlags: UINT, dwhkl: HKL): int32{.stdcall, + dynlib: "user32", importc: "ToAsciiEx".} +proc ToUnicode*(wVirtKey: UINT, wScanCode: UINT, lpKeyState: PBYTE, + pwszBuff: LPWSTR, cchBuff: int32, wFlags: UINT): int32{.stdcall, + dynlib: "user32", importc: "ToUnicode".} +proc OemKeyScan*(wOemChar: int16): DWORD{.stdcall, dynlib: "user32", + importc: "OemKeyScan".} +proc keybd_event*(bVk: int8, bScan: int8, dwFlags: DWORD, dwExtraInfo: DWORD){. + stdcall, dynlib: "user32", importc: "keybd_event".} +proc mouse_event*(dwFlags: DWORD, dx: DWORD, dy: DWORD, cButtons: DWORD, + dwExtraInfo: DWORD){.stdcall, dynlib: "user32", + importc: "mouse_event".} +proc GetInputState*(): WINBOOL{.stdcall, dynlib: "user32", + importc: "GetInputState".} +proc GetQueueStatus*(flags: UINT): DWORD{.stdcall, dynlib: "user32", + importc: "GetQueueStatus".} +proc GetCapture*(): HWND{.stdcall, dynlib: "user32", importc: "GetCapture".} +proc SetCapture*(hWnd: HWND): HWND{.stdcall, dynlib: "user32", + importc: "SetCapture".} +proc ReleaseCapture*(): WINBOOL{.stdcall, dynlib: "user32", + importc: "ReleaseCapture".} +proc MsgWaitForMultipleObjects*(nCount: DWORD, pHandles: LPHANDLE, + fWaitAll: WINBOOL, dwMilliseconds: DWORD, + dwWakeMask: DWORD): DWORD{.stdcall, + dynlib: "user32", importc: "MsgWaitForMultipleObjects".} +proc SetTimer*(hWnd: HWND, nIDEvent: UINT, uElapse: UINT, lpTimerFunc: TIMERPROC): UINT{. + stdcall, dynlib: "user32", importc: "SetTimer".} +proc KillTimer*(hWnd: HWND, uIDEvent: UINT): WINBOOL{.stdcall, dynlib: "user32", + importc: "KillTimer".} +proc IsWindowUnicode*(hWnd: HWND): WINBOOL{.stdcall, dynlib: "user32", + importc: "IsWindowUnicode".} +proc EnableWindow*(hWnd: HWND, bEnable: WINBOOL): WINBOOL{.stdcall, + dynlib: "user32", importc: "EnableWindow".} +proc IsWindowEnabled*(hWnd: HWND): WINBOOL{.stdcall, dynlib: "user32", + importc: "IsWindowEnabled".} +proc DestroyAcceleratorTable*(hAccel: HACCEL): WINBOOL{.stdcall, + dynlib: "user32", importc: "DestroyAcceleratorTable".} +proc GetSystemMetrics*(nIndex: int32): int32{.stdcall, dynlib: "user32", + importc: "GetSystemMetrics".} +proc GetMenu*(hWnd: HWND): HMENU{.stdcall, dynlib: "user32", importc: "GetMenu".} +proc SetMenu*(hWnd: HWND, hMenu: HMENU): WINBOOL{.stdcall, dynlib: "user32", + importc: "SetMenu".} +proc HiliteMenuItem*(hWnd: HWND, hMenu: HMENU, uIDHiliteItem: UINT, + uHilite: UINT): WINBOOL{.stdcall, dynlib: "user32", + importc: "HiliteMenuItem".} +proc GetMenuState*(hMenu: HMENU, uId: UINT, uFlags: UINT): UINT{.stdcall, + dynlib: "user32", importc: "GetMenuState".} +proc DrawMenuBar*(hWnd: HWND): WINBOOL{.stdcall, dynlib: "user32", + importc: "DrawMenuBar".} +proc GetSystemMenu*(hWnd: HWND, bRevert: WINBOOL): HMENU{.stdcall, + dynlib: "user32", importc: "GetSystemMenu".} +proc CreateMenu*(): HMENU{.stdcall, dynlib: "user32", importc: "CreateMenu".} +proc CreatePopupMenu*(): HMENU{.stdcall, dynlib: "user32", + importc: "CreatePopupMenu".} +proc DestroyMenu*(hMenu: HMENU): WINBOOL{.stdcall, dynlib: "user32", + importc: "DestroyMenu".} +proc CheckMenuItem*(hMenu: HMENU, uIDCheckItem: UINT, uCheck: UINT): DWORD{. + stdcall, dynlib: "user32", importc: "CheckMenuItem".} +proc EnableMenuItem*(hMenu: HMENU, uIDEnableItem: UINT, uEnable: UINT): WINBOOL{. + stdcall, dynlib: "user32", importc: "EnableMenuItem".} +proc GetSubMenu*(hMenu: HMENU, nPos: int32): HMENU{.stdcall, dynlib: "user32", + importc: "GetSubMenu".} +proc GetMenuItemID*(hMenu: HMENU, nPos: int32): UINT{.stdcall, dynlib: "user32", + importc: "GetMenuItemID".} +proc GetMenuItemCount*(hMenu: HMENU): int32{.stdcall, dynlib: "user32", + importc: "GetMenuItemCount".} +proc RemoveMenu*(hMenu: HMENU, uPosition: UINT, uFlags: UINT): WINBOOL{.stdcall, + dynlib: "user32", importc: "RemoveMenu".} +proc DeleteMenu*(hMenu: HMENU, uPosition: UINT, uFlags: UINT): WINBOOL{.stdcall, + dynlib: "user32", importc: "DeleteMenu".} +proc SetMenuItemBitmaps*(hMenu: HMENU, uPosition: UINT, uFlags: UINT, + hBitmapUnchecked: HBITMAP, hBitmapChecked: HBITMAP): WINBOOL{. + stdcall, dynlib: "user32", importc: "SetMenuItemBitmaps".} +proc GetMenuCheckMarkDimensions*(): LONG{.stdcall, dynlib: "user32", + importc: "GetMenuCheckMarkDimensions".} +proc TrackPopupMenu*(hMenu: HMENU, uFlags: UINT, x: int32, y: int32, + nReserved: int32, hWnd: HWND, prcRect: var RECT): WINBOOL{. + stdcall, dynlib: "user32", importc: "TrackPopupMenu".} +proc GetMenuDefaultItem*(hMenu: HMENU, fByPos: UINT, gmdiFlags: UINT): UINT{. + stdcall, dynlib: "user32", importc: "GetMenuDefaultItem".} +proc SetMenuDefaultItem*(hMenu: HMENU, uItem: UINT, fByPos: UINT): WINBOOL{. + stdcall, dynlib: "user32", importc: "SetMenuDefaultItem".} +proc GetMenuItemRect*(hWnd: HWND, hMenu: HMENU, uItem: UINT, lprcItem: LPRECT): WINBOOL{. + stdcall, dynlib: "user32", importc: "GetMenuItemRect".} +proc MenuItemFromPoint*(hWnd: HWND, hMenu: HMENU, ptScreen: POINT): int32{. + stdcall, dynlib: "user32", importc: "MenuItemFromPoint".} +proc DragObject*(para1: HWND, para2: HWND, para3: UINT, para4: DWORD, + para5: HCURSOR): DWORD{.stdcall, dynlib: "user32", + importc: "DragObject".} +proc DragDetect*(hwnd: HWND, pt: POINT): WINBOOL{.stdcall, dynlib: "user32", + importc: "DragDetect".} +proc DrawIcon*(hDC: HDC, X: int32, Y: int32, hIcon: HICON): WINBOOL{.stdcall, + dynlib: "user32", importc: "DrawIcon".} +proc UpdateWindow*(hWnd: HWND): WINBOOL{.stdcall, dynlib: "user32", + importc: "UpdateWindow".} +proc SetActiveWindow*(hWnd: HWND): HWND{.stdcall, dynlib: "user32", + importc: "SetActiveWindow".} +proc GetForegroundWindow*(): HWND{.stdcall, dynlib: "user32", + importc: "GetForegroundWindow".} +proc PaintDesktop*(hdc: HDC): WINBOOL{.stdcall, dynlib: "user32", + importc: "PaintDesktop".} +proc SetForegroundWindow*(hWnd: HWND): WINBOOL{.stdcall, dynlib: "user32", + importc: "SetForegroundWindow".} +proc WindowFromDC*(hDC: HDC): HWND{.stdcall, dynlib: "user32", + importc: "WindowFromDC".} +proc GetDC*(hWnd: HWND): HDC{.stdcall, dynlib: "user32", importc: "GetDC".} +proc GetDCEx*(hWnd: HWND, hrgnClip: HRGN, flags: DWORD): HDC{.stdcall, + dynlib: "user32", importc: "GetDCEx".} +proc GetWindowDC*(hWnd: HWND): HDC{.stdcall, dynlib: "user32", + importc: "GetWindowDC".} +proc ReleaseDC*(hWnd: HWND, hDC: HDC): int32{.stdcall, dynlib: "user32", + importc: "ReleaseDC".} +proc BeginPaint*(hWnd: HWND, lpPaint: LPPAINTSTRUCT): HDC{.stdcall, + dynlib: "user32", importc: "BeginPaint".} +proc EndPaint*(hWnd: HWND, lpPaint: LPPAINTSTRUCT): WINBOOL{.stdcall, + dynlib: "user32", importc: "EndPaint".} +proc GetUpdateRect*(hWnd: HWND, lpRect: LPRECT, bErase: WINBOOL): WINBOOL{. + stdcall, dynlib: "user32", importc: "GetUpdateRect".} +proc GetUpdateRgn*(hWnd: HWND, hRgn: HRGN, bErase: WINBOOL): int32{.stdcall, + dynlib: "user32", importc: "GetUpdateRgn".} +proc SetWindowRgn*(hWnd: HWND, hRgn: HRGN, bRedraw: WINBOOL): int32{.stdcall, + dynlib: "user32", importc: "SetWindowRgn".} +proc GetWindowRgn*(hWnd: HWND, hRgn: HRGN): int32{.stdcall, dynlib: "user32", + importc: "GetWindowRgn".} +proc ExcludeUpdateRgn*(hDC: HDC, hWnd: HWND): int32{.stdcall, dynlib: "user32", + importc: "ExcludeUpdateRgn".} +proc InvalidateRect*(hWnd: HWND, lpRect: var RECT, bErase: WINBOOL): WINBOOL{. + stdcall, dynlib: "user32", importc: "InvalidateRect".} +proc InvalidateRect*(hWnd: HWND, lpRect: LPRECT, bErase: WINBOOL): WINBOOL{. + stdcall, dynlib: "user32", importc: "InvalidateRect".} +proc ValidateRect*(hWnd: HWND, lpRect: var RECT): WINBOOL{.stdcall, + dynlib: "user32", importc: "ValidateRect".} +proc ValidateRect*(hWnd: HWND, lpRect: LPRECT): WINBOOL{.stdcall, + dynlib: "user32", importc: "ValidateRect".} +proc InvalidateRgn*(hWnd: HWND, hRgn: HRGN, bErase: WINBOOL): WINBOOL{.stdcall, + dynlib: "user32", importc: "InvalidateRgn".} +proc ValidateRgn*(hWnd: HWND, hRgn: HRGN): WINBOOL{.stdcall, dynlib: "user32", + importc: "ValidateRgn".} +proc RedrawWindow*(hWnd: HWND, lprcUpdate: var RECT, hrgnUpdate: HRGN, + flags: UINT): WINBOOL{.stdcall, dynlib: "user32", + importc: "RedrawWindow".} +proc RedrawWindow*(hWnd: HWND, lprcUpdate: LPRECT, hrgnUpdate: HRGN, flags: UINT): WINBOOL{. + stdcall, dynlib: "user32", importc: "RedrawWindow".} +proc LockWindowUpdate*(hWndLock: HWND): WINBOOL{.stdcall, dynlib: "user32", + importc: "LockWindowUpdate".} +proc ScrollWindow*(hWnd: HWND, XAmount: int32, YAmount: int32, lpRect: var RECT, + lpClipRect: var RECT): WINBOOL{.stdcall, dynlib: "user32", + importc: "ScrollWindow".} +proc ScrollDC*(hDC: HDC, dx: int32, dy: int32, lprcScroll: var RECT, + lprcClip: var RECT, hrgnUpdate: HRGN, lprcUpdate: LPRECT): WINBOOL{. + stdcall, dynlib: "user32", importc: "ScrollDC".} +proc ScrollWindowEx*(hWnd: HWND, dx: int32, dy: int32, prcScroll: var RECT, + prcClip: var RECT, hrgnUpdate: HRGN, prcUpdate: LPRECT, + flags: UINT): int32{.stdcall, dynlib: "user32", + importc: "ScrollWindowEx".} +proc SetScrollPos*(hWnd: HWND, nBar: int32, nPos: int32, bRedraw: WINBOOL): int32{. + stdcall, dynlib: "user32", importc: "SetScrollPos".} +proc GetScrollPos*(hWnd: HWND, nBar: int32): int32{.stdcall, dynlib: "user32", + importc: "GetScrollPos".} +proc SetScrollRange*(hWnd: HWND, nBar: int32, nMinPos: int32, nMaxPos: int32, + bRedraw: WINBOOL): WINBOOL{.stdcall, dynlib: "user32", + importc: "SetScrollRange".} +proc GetScrollRange*(hWnd: HWND, nBar: int32, lpMinPos: LPINT, lpMaxPos: LPINT): WINBOOL{. + stdcall, dynlib: "user32", importc: "GetScrollRange".} +proc ShowScrollBar*(hWnd: HWND, wBar: int32, bShow: WINBOOL): WINBOOL{.stdcall, + dynlib: "user32", importc: "ShowScrollBar".} +proc EnableScrollBar*(hWnd: HWND, wSBflags: UINT, wArrows: UINT): WINBOOL{. + stdcall, dynlib: "user32", importc: "EnableScrollBar".} +proc GetClientRect*(hWnd: HWND, lpRect: LPRECT): WINBOOL{.stdcall, + dynlib: "user32", importc: "GetClientRect".} +proc GetWindowRect*(hWnd: HWND, lpRect: LPRECT): WINBOOL{.stdcall, + dynlib: "user32", importc: "GetWindowRect".} +proc AdjustWindowRect*(lpRect: LPRECT, dwStyle: DWORD, bMenu: WINBOOL): WINBOOL{. + stdcall, dynlib: "user32", importc: "AdjustWindowRect".} +proc AdjustWindowRectEx*(lpRect: LPRECT, dwStyle: DWORD, bMenu: WINBOOL, + dwExStyle: DWORD): WINBOOL{.stdcall, dynlib: "user32", + importc: "AdjustWindowRectEx".} +proc SetWindowContextHelpId*(para1: HWND, para2: DWORD): WINBOOL{.stdcall, + dynlib: "user32", importc: "SetWindowContextHelpId".} +proc GetWindowContextHelpId*(para1: HWND): DWORD{.stdcall, dynlib: "user32", + importc: "GetWindowContextHelpId".} +proc SetMenuContextHelpId*(para1: HMENU, para2: DWORD): WINBOOL{.stdcall, + dynlib: "user32", importc: "SetMenuContextHelpId".} +proc GetMenuContextHelpId*(para1: HMENU): DWORD{.stdcall, dynlib: "user32", + importc: "GetMenuContextHelpId".} +proc MessageBeep*(uType: UINT): WINBOOL{.stdcall, dynlib: "user32", + importc: "MessageBeep".} +proc ShowCursor*(bShow: WINBOOL): int32{.stdcall, dynlib: "user32", + importc: "ShowCursor".} +proc SetCursorPos*(X: int32, Y: int32): WINBOOL{.stdcall, dynlib: "user32", + importc: "SetCursorPos".} +proc SetCursor*(hCursor: HCURSOR): HCURSOR{.stdcall, dynlib: "user32", + importc: "SetCursor".} +proc GetCursorPos*(lpPoint: LPPOINT): WINBOOL{.stdcall, dynlib: "user32", + importc: "GetCursorPos".} +proc ClipCursor*(lpRect: LPRECT): WINBOOL{.stdcall, dynlib: "user32", + importc: "ClipCursor".} +proc GetClipCursor*(lpRect: LPRECT): WINBOOL{.stdcall, dynlib: "user32", + importc: "GetClipCursor".} +proc GetCursor*(): HCURSOR{.stdcall, dynlib: "user32", importc: "GetCursor".} +proc CreateCaret*(hWnd: HWND, hBitmap: HBITMAP, nWidth: int32, nHeight: int32): WINBOOL{. + stdcall, dynlib: "user32", importc: "CreateCaret".} +proc GetCaretBlinkTime*(): UINT{.stdcall, dynlib: "user32", + importc: "GetCaretBlinkTime".} +proc SetCaretBlinkTime*(uMSeconds: UINT): WINBOOL{.stdcall, dynlib: "user32", + importc: "SetCaretBlinkTime".} +proc DestroyCaret*(): WINBOOL{.stdcall, dynlib: "user32", + importc: "DestroyCaret".} +proc HideCaret*(hWnd: HWND): WINBOOL{.stdcall, dynlib: "user32", + importc: "HideCaret".} +proc ShowCaret*(hWnd: HWND): WINBOOL{.stdcall, dynlib: "user32", + importc: "ShowCaret".} +proc SetCaretPos*(X: int32, Y: int32): WINBOOL{.stdcall, dynlib: "user32", + importc: "SetCaretPos".} +proc GetCaretPos*(lpPoint: LPPOINT): WINBOOL{.stdcall, dynlib: "user32", + importc: "GetCaretPos".} +proc ClientToScreen*(hWnd: HWND, lpPoint: LPPOINT): WINBOOL{.stdcall, + dynlib: "user32", importc: "ClientToScreen".} +proc ScreenToClient*(hWnd: HWND, lpPoint: LPPOINT): WINBOOL{.stdcall, + dynlib: "user32", importc: "ScreenToClient".} +proc MapWindowPoints*(hWndFrom: HWND, hWndTo: HWND, lpPoints: LPPOINT, + cPoints: UINT): int32{.stdcall, dynlib: "user32", + importc: "MapWindowPoints".} +proc WindowFromPoint*(Point: POINT): HWND{.stdcall, dynlib: "user32", + importc: "WindowFromPoint".} +proc ChildWindowFromPoint*(hWndParent: HWND, Point: POINT): HWND{.stdcall, + dynlib: "user32", importc: "ChildWindowFromPoint".} +proc GetSysColor*(nIndex: int32): DWORD{.stdcall, dynlib: "user32", + importc: "GetSysColor".} +proc GetSysColorBrush*(nIndex: int32): HBRUSH{.stdcall, dynlib: "user32", + importc: "GetSysColorBrush".} +proc SetSysColors*(cElements: int32, lpaElements: var wINT, + lpaRgbValues: var COLORREF): WINBOOL{.stdcall, + dynlib: "user32", importc: "SetSysColors".} +proc DrawFocusRect*(hDC: HDC, lprc: var RECT): WINBOOL{.stdcall, + dynlib: "user32", importc: "DrawFocusRect".} +proc FillRect*(hDC: HDC, lprc: RECT, hbr: HBRUSH): int32{.stdcall, + dynlib: "user32", importc: "FillRect".} +proc FrameRect*(hDC: HDC, lprc: var RECT, hbr: HBRUSH): int32{.stdcall, + dynlib: "user32", importc: "FrameRect".} +proc InvertRect*(hDC: HDC, lprc: var RECT): WINBOOL{.stdcall, dynlib: "user32", + importc: "InvertRect".} +proc SetRect*(lprc: LPRECT, xLeft: int32, yTop: int32, xRight: int32, + yBottom: int32): WINBOOL{.stdcall, dynlib: "user32", + importc: "SetRect".} +proc SetRectEmpty*(lprc: LPRECT): WINBOOL{.stdcall, dynlib: "user32", + importc: "SetRectEmpty".} +proc CopyRect*(lprcDst: LPRECT, lprcSrc: var RECT): WINBOOL{.stdcall, + dynlib: "user32", importc: "CopyRect".} +proc InflateRect*(lprc: LPRECT, dx: int32, dy: int32): WINBOOL{.stdcall, + dynlib: "user32", importc: "InflateRect".} +proc IntersectRect*(lprcDst: LPRECT, lprcSrc1: var RECT, lprcSrc2: var RECT): WINBOOL{. + stdcall, dynlib: "user32", importc: "IntersectRect".} +proc UnionRect*(lprcDst: LPRECT, lprcSrc1: var RECT, lprcSrc2: var RECT): WINBOOL{. + stdcall, dynlib: "user32", importc: "UnionRect".} +proc SubtractRect*(lprcDst: LPRECT, lprcSrc1: var RECT, lprcSrc2: var RECT): WINBOOL{. + stdcall, dynlib: "user32", importc: "SubtractRect".} +proc OffsetRect*(lprc: LPRECT, dx: int32, dy: int32): WINBOOL{.stdcall, + dynlib: "user32", importc: "OffsetRect".} +proc IsRectEmpty*(lprc: var RECT): WINBOOL{.stdcall, dynlib: "user32", + importc: "IsRectEmpty".} +proc EqualRect*(lprc1: var RECT, lprc2: var RECT): WINBOOL{.stdcall, + dynlib: "user32", importc: "EqualRect".} +proc PtInRect*(lprc: var RECT, pt: POINT): WINBOOL{.stdcall, dynlib: "user32", + importc: "PtInRect".} +proc PtInRect*(lprc: LPRECT, pt: POINT): WINBOOL{.stdcall, dynlib: "user32", + importc: "PtInRect".} +proc GetWindowWord*(hWnd: HWND, nIndex: int32): int16{.stdcall, + dynlib: "user32", importc: "GetWindowWord".} +proc SetWindowWord*(hWnd: HWND, nIndex: int32, wNewWord: int16): int16{.stdcall, + dynlib: "user32", importc: "SetWindowWord".} +proc GetClassWord*(hWnd: HWND, nIndex: int32): int16{.stdcall, dynlib: "user32", + importc: "GetClassWord".} +proc SetClassWord*(hWnd: HWND, nIndex: int32, wNewWord: int16): int16{.stdcall, + dynlib: "user32", importc: "SetClassWord".} +proc GetDesktopWindow*(): HWND{.stdcall, dynlib: "user32", + importc: "GetDesktopWindow".} +proc GetParent*(hWnd: HWND): HWND{.stdcall, dynlib: "user32", + importc: "GetParent".} +proc SetParent*(hWndChild: HWND, hWndNewParent: HWND): HWND{.stdcall, + dynlib: "user32", importc: "SetParent".} +proc EnumChildWindows*(hWndParent: HWND, lpEnumFunc: ENUMWINDOWSPROC, + lParam: LPARAM): WINBOOL{.stdcall, dynlib: "user32", + importc: "EnumChildWindows".} +proc EnumWindows*(lpEnumFunc: ENUMWINDOWSPROC, lParam: LPARAM): WINBOOL{. + stdcall, dynlib: "user32", importc: "EnumWindows".} +proc EnumThreadWindows*(dwThreadId: DWORD, lpfn: ENUMWINDOWSPROC, lParam: LPARAM): WINBOOL{. + stdcall, dynlib: "user32", importc: "EnumThreadWindows".} +proc EnumTaskWindows*(hTask: HWND, lpfn: FARPROC, lParam: LPARAM): WINBOOL{. + stdcall, dynlib: "user32", importc: "EnumThreadWindows".} +proc GetTopWindow*(hWnd: HWND): HWND{.stdcall, dynlib: "user32", + importc: "GetTopWindow".} +proc GetWindowThreadProcessId*(hWnd: HWND, lpdwProcessId: LPDWORD): DWORD{. + stdcall, dynlib: "user32", importc: "GetWindowThreadProcessId".} +proc GetLastActivePopup*(hWnd: HWND): HWND{.stdcall, dynlib: "user32", + importc: "GetLastActivePopup".} +proc GetWindow*(hWnd: HWND, uCmd: UINT): HWND{.stdcall, dynlib: "user32", + importc: "GetWindow".} +proc UnhookWindowsHook*(nCode: int32, pfnFilterProc: HOOKPROC): WINBOOL{. + stdcall, dynlib: "user32", importc: "UnhookWindowsHook".} +proc UnhookWindowsHookEx*(hhk: HHOOK): WINBOOL{.stdcall, dynlib: "user32", + importc: "UnhookWindowsHookEx".} +proc CallNextHookEx*(hhk: HHOOK, nCode: int32, wParam: WPARAM, lParam: LPARAM): LRESULT{. + stdcall, dynlib: "user32", importc: "CallNextHookEx".} +proc CheckMenuRadioItem*(para1: HMENU, para2: UINT, para3: UINT, para4: UINT, + para5: UINT): WINBOOL{.stdcall, dynlib: "user32", + importc: "CheckMenuRadioItem".} +proc CreateCursor*(hInst: HINST, xHotSpot: int32, yHotSpot: int32, + nWidth: int32, nHeight: int32, pvANDPlane: pointer, + pvXORPlane: pointer): HCURSOR{.stdcall, dynlib: "user32", + importc: "CreateCursor".} +proc DestroyCursor*(hCursor: HCURSOR): WINBOOL{.stdcall, dynlib: "user32", + importc: "DestroyCursor".} +proc SetSystemCursor*(hcur: HCURSOR, anID: DWORD): WINBOOL{.stdcall, + dynlib: "user32", importc: "SetSystemCursor".} +proc CreateIcon*(hInstance: HINST, nWidth: int32, nHeight: int32, cPlanes: int8, + cBitsPixel: int8, lpbANDbits: var int8, lpbXORbits: var int8): HICON{. + stdcall, dynlib: "user32", importc: "CreateIcon".} +proc DestroyIcon*(hIcon: HICON): WINBOOL{.stdcall, dynlib: "user32", + importc: "DestroyIcon".} +proc LookupIconIdFromDirectory*(presbits: PBYTE, fIcon: WINBOOL): int32{. + stdcall, dynlib: "user32", importc: "LookupIconIdFromDirectory".} +proc LookupIconIdFromDirectoryEx*(presbits: PBYTE, fIcon: WINBOOL, + cxDesired: int32, cyDesired: int32, + Flags: UINT): int32{.stdcall, + dynlib: "user32", importc: "LookupIconIdFromDirectoryEx".} +proc CreateIconFromResource*(presbits: PBYTE, dwResSize: DWORD, fIcon: WINBOOL, + dwVer: DWORD): HICON{.stdcall, dynlib: "user32", + importc: "CreateIconFromResource".} +proc CreateIconFromResourceEx*(presbits: PBYTE, dwResSize: DWORD, + fIcon: WINBOOL, dwVer: DWORD, cxDesired: int32, + cyDesired: int32, Flags: UINT): HICON{.stdcall, + dynlib: "user32", importc: "CreateIconFromResourceEx".} +proc CopyImage*(para1: HANDLE, para2: UINT, para3: int32, para4: int32, + para5: UINT): HICON{.stdcall, dynlib: "user32", + importc: "CopyImage".} +proc CreateIconIndirect*(piconinfo: PICONINFO): HICON{.stdcall, + dynlib: "user32", importc: "CreateIconIndirect".} +proc CopyIcon*(hIcon: HICON): HICON{.stdcall, dynlib: "user32", + importc: "CopyIcon".} +proc GetIconInfo*(hIcon: HICON, piconinfo: PICONINFO): WINBOOL{.stdcall, + dynlib: "user32", importc: "GetIconInfo".} +proc MapDialogRect*(hDlg: HWND, lpRect: LPRECT): WINBOOL{.stdcall, + dynlib: "user32", importc: "MapDialogRect".} +proc SetScrollInfo*(para1: HWND, para2: int32, para3: LPCSCROLLINFO, + para4: WINBOOL): int32{.stdcall, dynlib: "user32", + importc: "SetScrollInfo".} +proc GetScrollInfo*(para1: HWND, para2: int32, para3: LPSCROLLINFO): WINBOOL{. + stdcall, dynlib: "user32", importc: "GetScrollInfo".} +proc TranslateMDISysAccel*(hWndClient: HWND, lpMsg: LPMSG): WINBOOL{.stdcall, + dynlib: "user32", importc: "TranslateMDISysAccel".} +proc ArrangeIconicWindows*(hWnd: HWND): UINT{.stdcall, dynlib: "user32", + importc: "ArrangeIconicWindows".} +proc TileWindows*(hwndParent: HWND, wHow: UINT, lpRect: var RECT, cKids: UINT, + lpKids: var HWND): int16{.stdcall, dynlib: "user32", + importc: "TileWindows".} +proc CascadeWindows*(hwndParent: HWND, wHow: UINT, lpRect: var RECT, + cKids: UINT, lpKids: var HWND): int16{.stdcall, + dynlib: "user32", importc: "CascadeWindows".} +proc SetLastErrorEx*(dwErrCode: DWORD, dwType: DWORD){.stdcall, + dynlib: "user32", importc: "SetLastErrorEx".} +proc SetDebugErrorLevel*(dwLevel: DWORD){.stdcall, dynlib: "user32", + importc: "SetDebugErrorLevel".} +proc DrawEdge*(hdc: HDC, qrc: LPRECT, edge: UINT, grfFlags: UINT): WINBOOL{. + stdcall, dynlib: "user32", importc: "DrawEdge".} +proc DrawFrameControl*(para1: HDC, para2: LPRECT, para3: UINT, para4: UINT): WINBOOL{. + stdcall, dynlib: "user32", importc: "DrawFrameControl".} +proc DrawCaption*(para1: HWND, para2: HDC, para3: var RECT, para4: UINT): WINBOOL{. + stdcall, dynlib: "user32", importc: "DrawCaption".} +proc DrawAnimatedRects*(hwnd: HWND, idAni: int32, lprcFrom: var RECT, + lprcTo: var RECT): WINBOOL{.stdcall, dynlib: "user32", + importc: "DrawAnimatedRects".} +proc TrackPopupMenuEx*(para1: HMENU, para2: UINT, para3: int32, para4: int32, + para5: HWND, para6: LPTPMPARAMS): WINBOOL{.stdcall, + dynlib: "user32", importc: "TrackPopupMenuEx".} +proc ChildWindowFromPointEx*(para1: HWND, para2: POINT, para3: UINT): HWND{. + stdcall, dynlib: "user32", importc: "ChildWindowFromPointEx".} +proc DrawIconEx*(hdc: HDC, xLeft: int32, yTop: int32, hIcon: HICON, + cxWidth: int32, cyWidth: int32, istepIfAniCur: UINT, + hbrFlickerFreeDraw: HBRUSH, diFlags: UINT): WINBOOL{.stdcall, + dynlib: "user32", importc: "DrawIconEx".} +proc AnimatePalette*(para1: HPALETTE, para2: UINT, para3: UINT, + para4: var PALETTEENTRY): WINBOOL{.stdcall, + dynlib: "gdi32", importc: "AnimatePalette".} +proc Arc*(para1: HDC, para2: int32, para3: int32, para4: int32, para5: int32, + para6: int32, para7: int32, para8: int32, para9: int32): WINBOOL{. + stdcall, dynlib: "gdi32", importc: "Arc".} +proc BitBlt*(para1: HDC, para2: int32, para3: int32, para4: int32, para5: int32, + para6: HDC, para7: int32, para8: int32, para9: DWORD): WINBOOL{. + stdcall, dynlib: "gdi32", importc: "BitBlt".} +proc CancelDC*(para1: HDC): WINBOOL{.stdcall, dynlib: "gdi32", + importc: "CancelDC".} +proc Chord*(para1: HDC, para2: int32, para3: int32, para4: int32, para5: int32, + para6: int32, para7: int32, para8: int32, para9: int32): WINBOOL{. + stdcall, dynlib: "gdi32", importc: "Chord".} +proc CloseMetaFile*(para1: HDC): HMETAFILE{.stdcall, dynlib: "gdi32", + importc: "CloseMetaFile".} +proc CombineRgn*(para1: HRGN, para2: HRGN, para3: HRGN, para4: int32): int32{. + stdcall, dynlib: "gdi32", importc: "CombineRgn".} +proc CreateBitmap*(para1: int32, para2: int32, para3: UINT, para4: UINT, + para5: pointer): HBITMAP{.stdcall, dynlib: "gdi32", + importc: "CreateBitmap".} +proc CreateBitmapIndirect*(para1: var BITMAP): HBITMAP{.stdcall, + dynlib: "gdi32", importc: "CreateBitmapIndirect".} +proc CreateBrushIndirect*(para1: var LOGBRUSH): HBRUSH{.stdcall, + dynlib: "gdi32", importc: "CreateBrushIndirect".} +proc CreateCompatibleBitmap*(para1: HDC, para2: int32, para3: int32): HBITMAP{. + stdcall, dynlib: "gdi32", importc: "CreateCompatibleBitmap".} +proc CreateDiscardableBitmap*(para1: HDC, para2: int32, para3: int32): HBITMAP{. + stdcall, dynlib: "gdi32", importc: "CreateDiscardableBitmap".} +proc CreateCompatibleDC*(para1: HDC): HDC{.stdcall, dynlib: "gdi32", + importc: "CreateCompatibleDC".} +proc CreateDIBitmap*(para1: HDC, para2: var BITMAPINFOHEADER, para3: DWORD, + para4: pointer, para5: var BITMAPINFO, para6: UINT): HBITMAP{. + stdcall, dynlib: "gdi32", importc: "CreateDIBitmap".} +proc CreateDIBPatternBrush*(para1: HGLOBAL, para2: UINT): HBRUSH{.stdcall, + dynlib: "gdi32", importc: "CreateDIBPatternBrush".} +proc CreateDIBPatternBrushPt*(para1: pointer, para2: UINT): HBRUSH{.stdcall, + dynlib: "gdi32", importc: "CreateDIBPatternBrushPt".} +proc CreateEllipticRgn*(para1: int32, para2: int32, para3: int32, para4: int32): HRGN{. + stdcall, dynlib: "gdi32", importc: "CreateEllipticRgn".} +proc CreateEllipticRgnIndirect*(para1: var RECT): HRGN{.stdcall, + dynlib: "gdi32", importc: "CreateEllipticRgnIndirect".} +proc CreateHatchBrush*(para1: int32, para2: COLORREF): HBRUSH{.stdcall, + dynlib: "gdi32", importc: "CreateHatchBrush".} +proc CreatePalette*(para1: var LOGPALETTE): HPALETTE{.stdcall, dynlib: "gdi32", + importc: "CreatePalette".} +proc CreatePen*(para1: int32, para2: int32, para3: COLORREF): HPEN{.stdcall, + dynlib: "gdi32", importc: "CreatePen".} +proc CreatePenIndirect*(para1: var LOGPEN): HPEN{.stdcall, dynlib: "gdi32", + importc: "CreatePenIndirect".} +proc CreatePolyPolygonRgn*(para1: var POINT, para2: var wINT, para3: int32, + para4: int32): HRGN{.stdcall, dynlib: "gdi32", + importc: "CreatePolyPolygonRgn".} +proc CreatePatternBrush*(para1: HBITMAP): HBRUSH{.stdcall, dynlib: "gdi32", + importc: "CreatePatternBrush".} +proc CreateRectRgn*(para1: int32, para2: int32, para3: int32, para4: int32): HRGN{. + stdcall, dynlib: "gdi32", importc: "CreateRectRgn".} +proc CreateRectRgnIndirect*(para1: var RECT): HRGN{.stdcall, dynlib: "gdi32", + importc: "CreateRectRgnIndirect".} +proc CreateRoundRectRgn*(para1: int32, para2: int32, para3: int32, para4: int32, + para5: int32, para6: int32): HRGN{.stdcall, + dynlib: "gdi32", importc: "CreateRoundRectRgn".} +proc CreateSolidBrush*(para1: COLORREF): HBRUSH{.stdcall, dynlib: "gdi32", + importc: "CreateSolidBrush".} +proc DeleteDC*(para1: HDC): WINBOOL{.stdcall, dynlib: "gdi32", + importc: "DeleteDC".} +proc DeleteMetaFile*(para1: HMETAFILE): WINBOOL{.stdcall, dynlib: "gdi32", + importc: "DeleteMetaFile".} +proc DeleteObject*(para1: HGDIOBJ): WINBOOL{.stdcall, dynlib: "gdi32", + importc: "DeleteObject".} +proc DrawEscape*(para1: HDC, para2: int32, para3: int32, para4: LPCSTR): int32{. + stdcall, dynlib: "gdi32", importc: "DrawEscape".} +proc Ellipse*(para1: HDC, para2: int32, para3: int32, para4: int32, para5: int32): WINBOOL{. + stdcall, dynlib: "gdi32", importc: "Ellipse".} +proc EnumObjects*(para1: HDC, para2: int32, para3: ENUMOBJECTSPROC, + para4: LPARAM): int32{.stdcall, dynlib: "gdi32", + importc: "EnumObjects".} +proc EqualRgn*(para1: HRGN, para2: HRGN): WINBOOL{.stdcall, dynlib: "gdi32", + importc: "EqualRgn".} +proc Escape*(para1: HDC, para2: int32, para3: int32, para4: LPCSTR, + para5: LPVOID): int32{.stdcall, dynlib: "gdi32", importc: "Escape".} +proc ExtEscape*(para1: HDC, para2: int32, para3: int32, para4: LPCSTR, + para5: int32, para6: LPSTR): int32{.stdcall, dynlib: "gdi32", + importc: "ExtEscape".} +proc ExcludeClipRect*(para1: HDC, para2: int32, para3: int32, para4: int32, + para5: int32): int32{.stdcall, dynlib: "gdi32", + importc: "ExcludeClipRect".} +proc ExtCreateRegion*(para1: var XFORM, para2: DWORD, para3: var RGNDATA): HRGN{. + stdcall, dynlib: "gdi32", importc: "ExtCreateRegion".} +proc ExtFloodFill*(para1: HDC, para2: int32, para3: int32, para4: COLORREF, + para5: UINT): WINBOOL{.stdcall, dynlib: "gdi32", + importc: "ExtFloodFill".} +proc FillRgn*(para1: HDC, para2: HRGN, para3: HBRUSH): WINBOOL{.stdcall, + dynlib: "gdi32", importc: "FillRgn".} +proc FloodFill*(para1: HDC, para2: int32, para3: int32, para4: COLORREF): WINBOOL{. + stdcall, dynlib: "gdi32", importc: "FloodFill".} +proc FrameRgn*(para1: HDC, para2: HRGN, para3: HBRUSH, para4: int32, + para5: int32): WINBOOL{.stdcall, dynlib: "gdi32", + importc: "FrameRgn".} +proc GetROP2*(para1: HDC): int32{.stdcall, dynlib: "gdi32", importc: "GetROP2".} +proc GetAspectRatioFilterEx*(para1: HDC, para2: LPSIZE): WINBOOL{.stdcall, + dynlib: "gdi32", importc: "GetAspectRatioFilterEx".} +proc GetBkColor*(para1: HDC): COLORREF{.stdcall, dynlib: "gdi32", + importc: "GetBkColor".} +proc GetBkMode*(para1: HDC): int32{.stdcall, dynlib: "gdi32", + importc: "GetBkMode".} +proc GetBitmapBits*(para1: HBITMAP, para2: LONG, para3: LPVOID): LONG{.stdcall, + dynlib: "gdi32", importc: "GetBitmapBits".} +proc GetBitmapDimensionEx*(para1: HBITMAP, para2: LPSIZE): WINBOOL{.stdcall, + dynlib: "gdi32", importc: "GetBitmapDimensionEx".} +proc GetBoundsRect*(para1: HDC, para2: LPRECT, para3: UINT): UINT{.stdcall, + dynlib: "gdi32", importc: "GetBoundsRect".} +proc GetBrushOrgEx*(para1: HDC, para2: LPPOINT): WINBOOL{.stdcall, + dynlib: "gdi32", importc: "GetBrushOrgEx".} +proc GetClipBox*(para1: HDC, para2: LPRECT): int32{.stdcall, dynlib: "gdi32", + importc: "GetClipBox".} +proc GetClipRgn*(para1: HDC, para2: HRGN): int32{.stdcall, dynlib: "gdi32", + importc: "GetClipRgn".} +proc GetMetaRgn*(para1: HDC, para2: HRGN): int32{.stdcall, dynlib: "gdi32", + importc: "GetMetaRgn".} +proc GetCurrentObject*(para1: HDC, para2: UINT): HGDIOBJ{.stdcall, + dynlib: "gdi32", importc: "GetCurrentObject".} +proc GetCurrentPositionEx*(para1: HDC, para2: LPPOINT): WINBOOL{.stdcall, + dynlib: "gdi32", importc: "GetCurrentPositionEx".} +proc GetDeviceCaps*(para1: HDC, para2: int32): int32{.stdcall, dynlib: "gdi32", + importc: "GetDeviceCaps".} +proc GetDIBits*(para1: HDC, para2: HBITMAP, para3: UINT, para4: UINT, + para5: LPVOID, para6: LPBITMAPINFO, para7: UINT): int32{. + stdcall, dynlib: "gdi32", importc: "GetDIBits".} +proc GetFontData*(para1: HDC, para2: DWORD, para3: DWORD, para4: LPVOID, + para5: DWORD): DWORD{.stdcall, dynlib: "gdi32", + importc: "GetFontData".} +proc GetGraphicsMode*(para1: HDC): int32{.stdcall, dynlib: "gdi32", + importc: "GetGraphicsMode".} +proc GetMapMode*(para1: HDC): int32{.stdcall, dynlib: "gdi32", + importc: "GetMapMode".} +proc GetMetaFileBitsEx*(para1: HMETAFILE, para2: UINT, para3: LPVOID): UINT{. + stdcall, dynlib: "gdi32", importc: "GetMetaFileBitsEx".} +proc GetNearestColor*(para1: HDC, para2: COLORREF): COLORREF{.stdcall, + dynlib: "gdi32", importc: "GetNearestColor".} +proc GetNearestPaletteIndex*(para1: HPALETTE, para2: COLORREF): UINT{.stdcall, + dynlib: "gdi32", importc: "GetNearestPaletteIndex".} +proc GetObjectType*(h: HGDIOBJ): DWORD{.stdcall, dynlib: "gdi32", + importc: "GetObjectType".} +proc GetPaletteEntries*(para1: HPALETTE, para2: UINT, para3: UINT, + para4: LPPALETTEENTRY): UINT{.stdcall, dynlib: "gdi32", + importc: "GetPaletteEntries".} +proc GetPixel*(para1: HDC, para2: int32, para3: int32): COLORREF{.stdcall, + dynlib: "gdi32", importc: "GetPixel".} +proc GetPixelFormat*(para1: HDC): int32{.stdcall, dynlib: "gdi32", + importc: "GetPixelFormat".} +proc GetPolyFillMode*(para1: HDC): int32{.stdcall, dynlib: "gdi32", + importc: "GetPolyFillMode".} +proc GetRasterizerCaps*(para1: LPRASTERIZER_STATUS, para2: UINT): WINBOOL{. + stdcall, dynlib: "gdi32", importc: "GetRasterizerCaps".} +proc GetRegionData*(para1: HRGN, para2: DWORD, para3: LPRGNDATA): DWORD{. + stdcall, dynlib: "gdi32", importc: "GetRegionData".} +proc GetRgnBox*(para1: HRGN, para2: LPRECT): int32{.stdcall, dynlib: "gdi32", + importc: "GetRgnBox".} +proc GetStockObject*(para1: int32): HGDIOBJ{.stdcall, dynlib: "gdi32", + importc: "GetStockObject".} +proc GetStretchBltMode*(para1: HDC): int32{.stdcall, dynlib: "gdi32", + importc: "GetStretchBltMode".} +proc GetSystemPaletteEntries*(para1: HDC, para2: UINT, para3: UINT, + para4: LPPALETTEENTRY): UINT{.stdcall, + dynlib: "gdi32", importc: "GetSystemPaletteEntries".} +proc GetSystemPaletteUse*(para1: HDC): UINT{.stdcall, dynlib: "gdi32", + importc: "GetSystemPaletteUse".} +proc GetTextCharacterExtra*(para1: HDC): int32{.stdcall, dynlib: "gdi32", + importc: "GetTextCharacterExtra".} +proc GetTextAlign*(para1: HDC): UINT{.stdcall, dynlib: "gdi32", + importc: "GetTextAlign".} +proc GetTextColor*(para1: HDC): COLORREF{.stdcall, dynlib: "gdi32", + importc: "GetTextColor".} +proc GetTextCharset*(hdc: HDC): int32{.stdcall, dynlib: "gdi32", + importc: "GetTextCharset".} +proc GetTextCharsetInfo*(hdc: HDC, lpSig: LPFONTSIGNATURE, dwFlags: DWORD): int32{. + stdcall, dynlib: "gdi32", importc: "GetTextCharsetInfo".} +proc TranslateCharsetInfo*(lpSrc: var DWORD, lpCs: LPCHARSETINFO, dwFlags: DWORD): WINBOOL{. + stdcall, dynlib: "gdi32", importc: "TranslateCharsetInfo".} +proc GetFontLanguageInfo*(para1: HDC): DWORD{.stdcall, dynlib: "gdi32", + importc: "GetFontLanguageInfo".} +proc GetViewportExtEx*(para1: HDC, para2: LPSIZE): WINBOOL{.stdcall, + dynlib: "gdi32", importc: "GetViewportExtEx".} +proc GetViewportOrgEx*(para1: HDC, para2: LPPOINT): WINBOOL{.stdcall, + dynlib: "gdi32", importc: "GetViewportOrgEx".} +proc GetWindowExtEx*(para1: HDC, para2: LPSIZE): WINBOOL{.stdcall, + dynlib: "gdi32", importc: "GetWindowExtEx".} +proc GetWindowOrgEx*(para1: HDC, para2: LPPOINT): WINBOOL{.stdcall, + dynlib: "gdi32", importc: "GetWindowOrgEx".} +proc IntersectClipRect*(para1: HDC, para2: int32, para3: int32, para4: int32, + para5: int32): int32{.stdcall, dynlib: "gdi32", + importc: "IntersectClipRect".} +proc InvertRgn*(para1: HDC, para2: HRGN): WINBOOL{.stdcall, dynlib: "gdi32", + importc: "InvertRgn".} +proc LineDDA*(para1: int32, para2: int32, para3: int32, para4: int32, + para5: LINEDDAPROC, para6: LPARAM): WINBOOL{.stdcall, + dynlib: "gdi32", importc: "LineDDA".} +proc LineTo*(para1: HDC, para2: int32, para3: int32): WINBOOL{.stdcall, + dynlib: "gdi32", importc: "LineTo".} +proc MaskBlt*(para1: HDC, para2: int32, para3: int32, para4: int32, + para5: int32, para6: HDC, para7: int32, para8: int32, + para9: HBITMAP, para10: int32, para11: int32, para12: DWORD): WINBOOL{. + stdcall, dynlib: "gdi32", importc: "MaskBlt".} +proc PlgBlt*(para1: HDC, para2: var POINT, para3: HDC, para4: int32, + para5: int32, para6: int32, para7: int32, para8: HBITMAP, + para9: int32, para10: int32): WINBOOL{.stdcall, dynlib: "gdi32", + importc: "PlgBlt".} +proc OffsetClipRgn*(para1: HDC, para2: int32, para3: int32): int32{.stdcall, + dynlib: "gdi32", importc: "OffsetClipRgn".} +proc OffsetRgn*(para1: HRGN, para2: int32, para3: int32): int32{.stdcall, + dynlib: "gdi32", importc: "OffsetRgn".} +proc PatBlt*(para1: HDC, para2: int32, para3: int32, para4: int32, para5: int32, + para6: DWORD): WINBOOL{.stdcall, dynlib: "gdi32", importc: "PatBlt".} +proc Pie*(para1: HDC, para2: int32, para3: int32, para4: int32, para5: int32, + para6: int32, para7: int32, para8: int32, para9: int32): WINBOOL{. + stdcall, dynlib: "gdi32", importc: "Pie".} +proc PlayMetaFile*(para1: HDC, para2: HMETAFILE): WINBOOL{.stdcall, + dynlib: "gdi32", importc: "PlayMetaFile".} +proc PaintRgn*(para1: HDC, para2: HRGN): WINBOOL{.stdcall, dynlib: "gdi32", + importc: "PaintRgn".} +proc PolyPolygon*(para1: HDC, para2: var POINT, para3: var wINT, para4: int32): WINBOOL{. + stdcall, dynlib: "gdi32", importc: "PolyPolygon".} +proc PtInRegion*(para1: HRGN, para2: int32, para3: int32): WINBOOL{.stdcall, + dynlib: "gdi32", importc: "PtInRegion".} +proc PtVisible*(para1: HDC, para2: int32, para3: int32): WINBOOL{.stdcall, + dynlib: "gdi32", importc: "PtVisible".} +proc RectInRegion*(para1: HRGN, para2: var RECT): WINBOOL{.stdcall, + dynlib: "gdi32", importc: "RectInRegion".} +proc RectVisible*(para1: HDC, para2: var RECT): WINBOOL{.stdcall, + dynlib: "gdi32", importc: "RectVisible".} +proc Rectangle*(para1: HDC, para2: int32, para3: int32, para4: int32, + para5: int32): WINBOOL{.stdcall, dynlib: "gdi32", + importc: "Rectangle".} +proc RestoreDC*(para1: HDC, para2: int32): WINBOOL{.stdcall, dynlib: "gdi32", + importc: "RestoreDC".} +proc RealizePalette*(para1: HDC): UINT{.stdcall, dynlib: "gdi32", + importc: "RealizePalette".} +proc RoundRect*(para1: HDC, para2: int32, para3: int32, para4: int32, + para5: int32, para6: int32, para7: int32): WINBOOL{.stdcall, + dynlib: "gdi32", importc: "RoundRect".} +proc ResizePalette*(para1: HPALETTE, para2: UINT): WINBOOL{.stdcall, + dynlib: "gdi32", importc: "ResizePalette".} +proc SaveDC*(para1: HDC): int32{.stdcall, dynlib: "gdi32", importc: "SaveDC".} +proc SelectClipRgn*(para1: HDC, para2: HRGN): int32{.stdcall, dynlib: "gdi32", + importc: "SelectClipRgn".} +proc ExtSelectClipRgn*(para1: HDC, para2: HRGN, para3: int32): int32{.stdcall, + dynlib: "gdi32", importc: "ExtSelectClipRgn".} +proc SetMetaRgn*(para1: HDC): int32{.stdcall, dynlib: "gdi32", + importc: "SetMetaRgn".} +proc SelectObject*(para1: HDC, para2: HGDIOBJ): HGDIOBJ{.stdcall, + dynlib: "gdi32", importc: "SelectObject".} +proc SelectPalette*(para1: HDC, para2: HPALETTE, para3: WINBOOL): HPALETTE{. + stdcall, dynlib: "gdi32", importc: "SelectPalette".} +proc SetBkColor*(para1: HDC, para2: COLORREF): COLORREF{.stdcall, + dynlib: "gdi32", importc: "SetBkColor".} +proc SetBkMode*(para1: HDC, para2: int32): int32{.stdcall, dynlib: "gdi32", + importc: "SetBkMode".} +proc SetBitmapBits*(para1: HBITMAP, para2: DWORD, para3: pointer): LONG{. + stdcall, dynlib: "gdi32", importc: "SetBitmapBits".} +proc SetBoundsRect*(para1: HDC, para2: var RECT, para3: UINT): UINT{.stdcall, + dynlib: "gdi32", importc: "SetBoundsRect".} +proc SetDIBits*(para1: HDC, para2: HBITMAP, para3: UINT, para4: UINT, + para5: pointer, para6: PBITMAPINFO, para7: UINT): int32{. + stdcall, dynlib: "gdi32", importc: "SetDIBits".} +proc SetDIBitsToDevice*(para1: HDC, para2: int32, para3: int32, para4: DWORD, + para5: DWORD, para6: int32, para7: int32, para8: UINT, + para9: UINT, para10: pointer, para11: var BITMAPINFO, + para12: UINT): int32{.stdcall, dynlib: "gdi32", + importc: "SetDIBitsToDevice".} +proc SetMapperFlags*(para1: HDC, para2: DWORD): DWORD{.stdcall, dynlib: "gdi32", + importc: "SetMapperFlags".} +proc SetGraphicsMode*(hdc: HDC, iMode: int32): int32{.stdcall, dynlib: "gdi32", + importc: "SetGraphicsMode".} +proc SetMapMode*(para1: HDC, para2: int32): int32{.stdcall, dynlib: "gdi32", + importc: "SetMapMode".} +proc SetMetaFileBitsEx*(para1: UINT, para2: var int8): HMETAFILE{.stdcall, + dynlib: "gdi32", importc: "SetMetaFileBitsEx".} +proc SetPaletteEntries*(para1: HPALETTE, para2: UINT, para3: UINT, + para4: var PALETTEENTRY): UINT{.stdcall, + dynlib: "gdi32", importc: "SetPaletteEntries".} +proc SetPixel*(para1: HDC, para2: int32, para3: int32, para4: COLORREF): COLORREF{. + stdcall, dynlib: "gdi32", importc: "SetPixel".} +proc SetPixelV*(para1: HDC, para2: int32, para3: int32, para4: COLORREF): WINBOOL{. + stdcall, dynlib: "gdi32", importc: "SetPixelV".} +proc SetPolyFillMode*(para1: HDC, para2: int32): int32{.stdcall, + dynlib: "gdi32", importc: "SetPolyFillMode".} +proc StretchBlt*(para1: HDC, para2: int32, para3: int32, para4: int32, + para5: int32, para6: HDC, para7: int32, para8: int32, + para9: int32, para10: int32, para11: DWORD): WINBOOL{.stdcall, + dynlib: "gdi32", importc: "StretchBlt".} +proc SetRectRgn*(para1: HRGN, para2: int32, para3: int32, para4: int32, + para5: int32): WINBOOL{.stdcall, dynlib: "gdi32", + importc: "SetRectRgn".} +proc StretchDIBits*(para1: HDC, para2: int32, para3: int32, para4: int32, + para5: int32, para6: int32, para7: int32, para8: int32, + para9: int32, para10: pointer, para11: var BITMAPINFO, + para12: UINT, para13: DWORD): int32{.stdcall, + dynlib: "gdi32", importc: "StretchDIBits".} +proc SetROP2*(para1: HDC, para2: int32): int32{.stdcall, dynlib: "gdi32", + importc: "SetROP2".} +proc SetStretchBltMode*(para1: HDC, para2: int32): int32{.stdcall, + dynlib: "gdi32", importc: "SetStretchBltMode".} +proc SetSystemPaletteUse*(para1: HDC, para2: UINT): UINT{.stdcall, + dynlib: "gdi32", importc: "SetSystemPaletteUse".} +proc SetTextCharacterExtra*(para1: HDC, para2: int32): int32{.stdcall, + dynlib: "gdi32", importc: "SetTextCharacterExtra".} +proc SetTextColor*(para1: HDC, para2: COLORREF): COLORREF{.stdcall, + dynlib: "gdi32", importc: "SetTextColor".} +proc SetTextAlign*(para1: HDC, para2: UINT): UINT{.stdcall, dynlib: "gdi32", + importc: "SetTextAlign".} +proc SetTextJustification*(para1: HDC, para2: int32, para3: int32): WINBOOL{. + stdcall, dynlib: "gdi32", importc: "SetTextJustification".} +proc UpdateColors*(para1: HDC): WINBOOL{.stdcall, dynlib: "gdi32", + importc: "UpdateColors".} +proc PlayMetaFileRecord*(para1: HDC, para2: LPHANDLETABLE, para3: LPMETARECORD, + para4: UINT): WINBOOL{.stdcall, dynlib: "gdi32", + importc: "PlayMetaFileRecord".} +proc EnumMetaFile*(para1: HDC, para2: HMETAFILE, para3: ENUMMETAFILEPROC, + para4: LPARAM): WINBOOL{.stdcall, dynlib: "gdi32", + importc: "EnumMetaFile".} +proc CloseEnhMetaFile*(para1: HDC): HENHMETAFILE{.stdcall, dynlib: "gdi32", + importc: "CloseEnhMetaFile".} +proc DeleteEnhMetaFile*(para1: HENHMETAFILE): WINBOOL{.stdcall, dynlib: "gdi32", + importc: "DeleteEnhMetaFile".} +proc EnumEnhMetaFile*(para1: HDC, para2: HENHMETAFILE, para3: ENHMETAFILEPROC, + para4: LPVOID, para5: var RECT): WINBOOL{.stdcall, + dynlib: "gdi32", importc: "EnumEnhMetaFile".} +proc GetEnhMetaFileHeader*(para1: HENHMETAFILE, para2: UINT, + para3: LPENHMETAHEADER): UINT{.stdcall, + dynlib: "gdi32", importc: "GetEnhMetaFileHeader".} +proc GetEnhMetaFilePaletteEntries*(para1: HENHMETAFILE, para2: UINT, + para3: LPPALETTEENTRY): UINT{.stdcall, + dynlib: "gdi32", importc: "GetEnhMetaFilePaletteEntries".} +proc GetEnhMetaFileBits*(para1: HENHMETAFILE, para2: UINT, para3: LPBYTE): UINT{. + stdcall, dynlib: "gdi32", importc: "GetEnhMetaFileBits".} +proc GetWinMetaFileBits*(para1: HENHMETAFILE, para2: UINT, para3: LPBYTE, + para4: wINT, para5: HDC): UINT{.stdcall, + dynlib: "gdi32", importc: "GetWinMetaFileBits".} +proc PlayEnhMetaFile*(para1: HDC, para2: HENHMETAFILE, para3: RECT): WINBOOL{. + stdcall, dynlib: "gdi32", importc: "PlayEnhMetaFile".} +proc PlayEnhMetaFileRecord*(para1: HDC, para2: LPHANDLETABLE, + para3: var TENHMETARECORD, para4: UINT): WINBOOL{. + stdcall, dynlib: "gdi32", importc: "PlayEnhMetaFileRecord".} +proc SetEnhMetaFileBits*(para1: UINT, para2: var int8): HENHMETAFILE{.stdcall, + dynlib: "gdi32", importc: "SetEnhMetaFileBits".} +proc SetWinMetaFileBits*(para1: UINT, para2: var int8, para3: HDC, + para4: var METAFILEPICT): HENHMETAFILE{.stdcall, + dynlib: "gdi32", importc: "SetWinMetaFileBits".} +proc GdiComment*(para1: HDC, para2: UINT, para3: var int8): WINBOOL{.stdcall, + dynlib: "gdi32", importc: "GdiComment".} +proc AngleArc*(para1: HDC, para2: int32, para3: int32, para4: DWORD, + para5: float32, para6: float32): WINBOOL{.stdcall, + dynlib: "gdi32", importc: "AngleArc".} +proc PolyPolyline*(para1: HDC, para2: var POINT, para3: var DWORD, para4: DWORD): WINBOOL{. + stdcall, dynlib: "gdi32", importc: "PolyPolyline".} +proc GetWorldTransform*(para1: HDC, para2: LPXFORM): WINBOOL{.stdcall, + dynlib: "gdi32", importc: "GetWorldTransform".} +proc SetWorldTransform*(para1: HDC, para2: var XFORM): WINBOOL{.stdcall, + dynlib: "gdi32", importc: "SetWorldTransform".} +proc ModifyWorldTransform*(para1: HDC, para2: var XFORM, para3: DWORD): WINBOOL{. + stdcall, dynlib: "gdi32", importc: "ModifyWorldTransform".} +proc CombineTransform*(para1: LPXFORM, para2: var XFORM, para3: var XFORM): WINBOOL{. + stdcall, dynlib: "gdi32", importc: "CombineTransform".} +proc CreateDIBSection*(para1: HDC, para2: var BITMAPINFO, para3: UINT, + para4: var pointer, para5: HANDLE, para6: DWORD): HBITMAP{. + stdcall, dynlib: "gdi32", importc: "CreateDIBSection".} +proc GetDIBColorTable*(para1: HDC, para2: UINT, para3: UINT, para4: var RGBQUAD): UINT{. + stdcall, dynlib: "gdi32", importc: "GetDIBColorTable".} +proc SetDIBColorTable*(para1: HDC, para2: UINT, para3: UINT, para4: var RGBQUAD): UINT{. + stdcall, dynlib: "gdi32", importc: "SetDIBColorTable".} +proc SetColorAdjustment*(para1: HDC, para2: var COLORADJUSTMENT): WINBOOL{. + stdcall, dynlib: "gdi32", importc: "SetColorAdjustment".} +proc GetColorAdjustment*(para1: HDC, para2: LPCOLORADJUSTMENT): WINBOOL{. + stdcall, dynlib: "gdi32", importc: "GetColorAdjustment".} +proc CreateHalftonePalette*(para1: HDC): HPALETTE{.stdcall, dynlib: "gdi32", + importc: "CreateHalftonePalette".} +proc EndDoc*(para1: HDC): int32{.stdcall, dynlib: "gdi32", importc: "EndDoc".} +proc StartPage*(para1: HDC): int32{.stdcall, dynlib: "gdi32", + importc: "StartPage".} +proc EndPage*(para1: HDC): int32{.stdcall, dynlib: "gdi32", importc: "EndPage".} +proc AbortDoc*(para1: HDC): int32{.stdcall, dynlib: "gdi32", importc: "AbortDoc".} +proc SetAbortProc*(para1: HDC, para2: TABORTPROC): int32{.stdcall, + dynlib: "gdi32", importc: "SetAbortProc".} +proc ArcTo*(para1: HDC, para2: int32, para3: int32, para4: int32, para5: int32, + para6: int32, para7: int32, para8: int32, para9: int32): WINBOOL{. + stdcall, dynlib: "gdi32", importc: "ArcTo".} +proc BeginPath*(para1: HDC): WINBOOL{.stdcall, dynlib: "gdi32", + importc: "BeginPath".} +proc CloseFigure*(para1: HDC): WINBOOL{.stdcall, dynlib: "gdi32", + importc: "CloseFigure".} +proc EndPath*(para1: HDC): WINBOOL{.stdcall, dynlib: "gdi32", importc: "EndPath".} +proc FillPath*(para1: HDC): WINBOOL{.stdcall, dynlib: "gdi32", + importc: "FillPath".} +proc FlattenPath*(para1: HDC): WINBOOL{.stdcall, dynlib: "gdi32", + importc: "FlattenPath".} +proc GetPath*(para1: HDC, para2: LPPOINT, para3: LPBYTE, para4: int32): int32{. + stdcall, dynlib: "gdi32", importc: "GetPath".} +proc PathToRegion*(para1: HDC): HRGN{.stdcall, dynlib: "gdi32", + importc: "PathToRegion".} +proc PolyDraw*(para1: HDC, para2: var POINT, para3: var int8, para4: int32): WINBOOL{. + stdcall, dynlib: "gdi32", importc: "PolyDraw".} +proc SelectClipPath*(para1: HDC, para2: int32): WINBOOL{.stdcall, + dynlib: "gdi32", importc: "SelectClipPath".} +proc SetArcDirection*(para1: HDC, para2: int32): int32{.stdcall, + dynlib: "gdi32", importc: "SetArcDirection".} +proc SetMiterLimit*(para1: HDC, para2: float32, para3: ptr float32): WINBOOL{. + stdcall, dynlib: "gdi32", importc: "SetMiterLimit".} +proc StrokeAndFillPath*(para1: HDC): WINBOOL{.stdcall, dynlib: "gdi32", + importc: "StrokeAndFillPath".} +proc StrokePath*(para1: HDC): WINBOOL{.stdcall, dynlib: "gdi32", + importc: "StrokePath".} +proc WidenPath*(para1: HDC): WINBOOL{.stdcall, dynlib: "gdi32", + importc: "WidenPath".} +proc ExtCreatePen*(para1: DWORD, para2: DWORD, para3: var LOGBRUSH, + para4: DWORD, para5: var DWORD): HPEN{.stdcall, + dynlib: "gdi32", importc: "ExtCreatePen".} +proc GetMiterLimit*(para1: HDC, para2: ptr float32): WINBOOL{.stdcall, + dynlib: "gdi32", importc: "GetMiterLimit".} +proc GetArcDirection*(para1: HDC): int32{.stdcall, dynlib: "gdi32", + importc: "GetArcDirection".} +proc MoveToEx*(para1: HDC, para2: int32, para3: int32, para4: LPPOINT): WINBOOL{. + stdcall, dynlib: "gdi32", importc: "MoveToEx".} +proc CreatePolygonRgn*(para1: var POINT, para2: int32, para3: int32): HRGN{. + stdcall, dynlib: "gdi32", importc: "CreatePolygonRgn".} +proc DPtoLP*(para1: HDC, para2: LPPOINT, para3: int32): WINBOOL{.stdcall, + dynlib: "gdi32", importc: "DPtoLP".} +proc LPtoDP*(para1: HDC, para2: LPPOINT, para3: int32): WINBOOL{.stdcall, + dynlib: "gdi32", importc: "LPtoDP".} +proc Polygon*(para1: HDC, para2: LPPOINT, para3: int32): WINBOOL{.stdcall, + dynlib: "gdi32", importc: "Polygon".} +proc Polyline*(para1: HDC, para2: LPPOINT, para3: int32): WINBOOL{.stdcall, + dynlib: "gdi32", importc: "Polyline".} +proc PolyBezier*(para1: HDC, para2: LPPOINT, para3: DWORD): WINBOOL{.stdcall, + dynlib: "gdi32", importc: "PolyBezier".} +proc PolyBezierTo*(para1: HDC, para2: POINT, para3: DWORD): WINBOOL{.stdcall, + dynlib: "gdi32", importc: "PolyBezierTo".} +proc PolylineTo*(para1: HDC, para2: LPPOINT, para3: DWORD): WINBOOL{.stdcall, + dynlib: "gdi32", importc: "PolylineTo".} +proc SetViewportExtEx*(para1: HDC, para2: int32, para3: int32, para4: LPSIZE): WINBOOL{. + stdcall, dynlib: "gdi32", importc: "SetViewportExtEx".} +proc SetViewportOrgEx*(para1: HDC, para2: int32, para3: int32, para4: LPPOINT): WINBOOL{. + stdcall, dynlib: "gdi32", importc: "SetViewportOrgEx".} +proc SetWindowExtEx*(para1: HDC, para2: int32, para3: int32, para4: LPSIZE): WINBOOL{. + stdcall, dynlib: "gdi32", importc: "SetWindowExtEx".} +proc SetWindowOrgEx*(para1: HDC, para2: int32, para3: int32, para4: LPPOINT): WINBOOL{. + stdcall, dynlib: "gdi32", importc: "SetWindowOrgEx".} +proc OffsetViewportOrgEx*(para1: HDC, para2: int32, para3: int32, para4: LPPOINT): WINBOOL{. + stdcall, dynlib: "gdi32", importc: "OffsetViewportOrgEx".} +proc OffsetWindowOrgEx*(para1: HDC, para2: int32, para3: int32, para4: LPPOINT): WINBOOL{. + stdcall, dynlib: "gdi32", importc: "OffsetWindowOrgEx".} +proc ScaleViewportExtEx*(para1: HDC, para2: int32, para3: int32, para4: int32, + para5: int32, para6: LPSIZE): WINBOOL{.stdcall, + dynlib: "gdi32", importc: "ScaleViewportExtEx".} +proc ScaleWindowExtEx*(para1: HDC, para2: int32, para3: int32, para4: int32, + para5: int32, para6: LPSIZE): WINBOOL{.stdcall, + dynlib: "gdi32", importc: "ScaleWindowExtEx".} +proc SetBitmapDimensionEx*(para1: HBITMAP, para2: int32, para3: int32, + para4: LPSIZE): WINBOOL{.stdcall, dynlib: "gdi32", + importc: "SetBitmapDimensionEx".} +proc SetBrushOrgEx*(para1: HDC, para2: int32, para3: int32, para4: LPPOINT): WINBOOL{. + stdcall, dynlib: "gdi32", importc: "SetBrushOrgEx".} +proc GetDCOrgEx*(para1: HDC, para2: LPPOINT): WINBOOL{.stdcall, dynlib: "gdi32", + importc: "GetDCOrgEx".} +proc FixBrushOrgEx*(para1: HDC, para2: int32, para3: int32, para4: LPPOINT): WINBOOL{. + stdcall, dynlib: "gdi32", importc: "FixBrushOrgEx".} +proc UnrealizeObject*(para1: HGDIOBJ): WINBOOL{.stdcall, dynlib: "gdi32", + importc: "UnrealizeObject".} +proc GdiFlush*(): WINBOOL{.stdcall, dynlib: "gdi32", importc: "GdiFlush".} +proc GdiSetBatchLimit*(para1: DWORD): DWORD{.stdcall, dynlib: "gdi32", + importc: "GdiSetBatchLimit".} +proc GdiGetBatchLimit*(): DWORD{.stdcall, dynlib: "gdi32", + importc: "GdiGetBatchLimit".} +proc SetICMMode*(para1: HDC, para2: int32): int32{.stdcall, dynlib: "gdi32", + importc: "SetICMMode".} +proc CheckColorsInGamut*(para1: HDC, para2: LPVOID, para3: LPVOID, para4: DWORD): WINBOOL{. + stdcall, dynlib: "gdi32", importc: "CheckColorsInGamut".} +proc GetColorSpace*(para1: HDC): HANDLE{.stdcall, dynlib: "gdi32", + importc: "GetColorSpace".} +proc SetColorSpace*(para1: HDC, para2: HCOLORSPACE): WINBOOL{.stdcall, + dynlib: "gdi32", importc: "SetColorSpace".} +proc DeleteColorSpace*(para1: HCOLORSPACE): WINBOOL{.stdcall, dynlib: "gdi32", + importc: "DeleteColorSpace".} +proc GetDeviceGammaRamp*(para1: HDC, para2: LPVOID): WINBOOL{.stdcall, + dynlib: "gdi32", importc: "GetDeviceGammaRamp".} +proc SetDeviceGammaRamp*(para1: HDC, para2: LPVOID): WINBOOL{.stdcall, + dynlib: "gdi32", importc: "SetDeviceGammaRamp".} +proc ColorMatchToTarget*(para1: HDC, para2: HDC, para3: DWORD): WINBOOL{. + stdcall, dynlib: "gdi32", importc: "ColorMatchToTarget".} +proc CreatePropertySheetPageA*(lppsp: LPCPROPSHEETPAGE): HPROPSHEETPAGE{. + stdcall, dynlib: "comctl32", importc: "CreatePropertySheetPageA".} +proc DestroyPropertySheetPage*(hPSPage: HPROPSHEETPAGE): WINBOOL{.stdcall, + dynlib: "comctl32", importc: "DestroyPropertySheetPage".} +proc InitCommonControls*(){.stdcall, dynlib: "comctl32", + importc: "InitCommonControls".} +proc ImageList_AddIcon*(himl: HIMAGELIST, hicon: HICON): int32 +proc ImageList_Create*(cx: int32, cy: int32, flags: UINT, cInitial: int32, + cGrow: int32): HIMAGELIST{.stdcall, dynlib: "comctl32", + importc: "ImageList_Create".} +proc ImageList_Destroy*(himl: HIMAGELIST): WINBOOL{.stdcall, dynlib: "comctl32", + importc: "ImageList_Destroy".} +proc ImageList_GetImageCount*(himl: HIMAGELIST): int32{.stdcall, + dynlib: "comctl32", importc: "ImageList_GetImageCount".} +proc ImageList_Add*(himl: HIMAGELIST, hbmImage: HBITMAP, hbmMask: HBITMAP): int32{. + stdcall, dynlib: "comctl32", importc: "ImageList_Add".} +proc ImageList_ReplaceIcon*(himl: HIMAGELIST, i: int32, hicon: HICON): int32{. + stdcall, dynlib: "comctl32", importc: "ImageList_ReplaceIcon".} +proc ImageList_SetBkColor*(himl: HIMAGELIST, clrBk: COLORREF): COLORREF{. + stdcall, dynlib: "comctl32", importc: "ImageList_SetBkColor".} +proc ImageList_GetBkColor*(himl: HIMAGELIST): COLORREF{.stdcall, + dynlib: "comctl32", importc: "ImageList_GetBkColor".} +proc ImageList_SetOverlayImage*(himl: HIMAGELIST, iImage: int32, iOverlay: int32): WINBOOL{. + stdcall, dynlib: "comctl32", importc: "ImageList_SetOverlayImage".} +proc ImageList_Draw*(himl: HIMAGELIST, i: int32, hdcDst: HDC, x: int32, + y: int32, fStyle: UINT): WINBOOL{.stdcall, + dynlib: "comctl32", importc: "ImageList_Draw".} +proc ImageList_Replace*(himl: HIMAGELIST, i: int32, hbmImage: HBITMAP, + hbmMask: HBITMAP): WINBOOL{.stdcall, dynlib: "comctl32", + importc: "ImageList_Replace".} +proc ImageList_AddMasked*(himl: HIMAGELIST, hbmImage: HBITMAP, crMask: COLORREF): int32{. + stdcall, dynlib: "comctl32", importc: "ImageList_AddMasked".} +proc ImageList_DrawEx*(himl: HIMAGELIST, i: int32, hdcDst: HDC, x: int32, + y: int32, dx: int32, dy: int32, rgbBk: COLORREF, + rgbFg: COLORREF, fStyle: UINT): WINBOOL{.stdcall, + dynlib: "comctl32", importc: "ImageList_DrawEx".} +proc ImageList_Remove*(himl: HIMAGELIST, i: int32): WINBOOL{.stdcall, + dynlib: "comctl32", importc: "ImageList_Remove".} +proc ImageList_GetIcon*(himl: HIMAGELIST, i: int32, flags: UINT): HICON{. + stdcall, dynlib: "comctl32", importc: "ImageList_GetIcon".} +proc ImageList_BeginDrag*(himlTrack: HIMAGELIST, iTrack: int32, + dxHotspot: int32, dyHotspot: int32): WINBOOL{.stdcall, + dynlib: "comctl32", importc: "ImageList_BeginDrag".} +proc ImageList_EndDrag*(){.stdcall, dynlib: "comctl32", + importc: "ImageList_EndDrag".} +proc ImageList_DragEnter*(hwndLock: HWND, x: int32, y: int32): WINBOOL{.stdcall, + dynlib: "comctl32", importc: "ImageList_DragEnter".} +proc ImageList_DragLeave*(hwndLock: HWND): WINBOOL{.stdcall, dynlib: "comctl32", + importc: "ImageList_DragLeave".} +proc ImageList_DragMove*(x: int32, y: int32): WINBOOL{.stdcall, + dynlib: "comctl32", importc: "ImageList_DragMove".} +proc ImageList_SetDragCursorImage*(himlDrag: HIMAGELIST, iDrag: int32, + dxHotspot: int32, dyHotspot: int32): WINBOOL{. + stdcall, dynlib: "comctl32", importc: "ImageList_SetDragCursorImage".} +proc ImageList_DragShowNolock*(fShow: WINBOOL): WINBOOL{.stdcall, + dynlib: "comctl32", importc: "ImageList_DragShowNolock".} +proc ImageList_GetDragImage*(ppt: LPPOINT, pptHotspot: LPPOINT): HIMAGELIST{. + stdcall, dynlib: "comctl32", importc: "ImageList_GetDragImage".} +proc ImageList_GetIconSize*(himl: HIMAGELIST, cx: var int32, cy: var int32): WINBOOL{. + stdcall, dynlib: "comctl32", importc: "ImageList_GetIconSize".} +proc ImageList_SetIconSize*(himl: HIMAGELIST, cx: int32, cy: int32): WINBOOL{. + stdcall, dynlib: "comctl32", importc: "ImageList_SetIconSize".} +proc ImageList_GetImageInfo*(himl: HIMAGELIST, i: int32, + pImageInfo: var IMAGEINFO): WINBOOL{.stdcall, + dynlib: "comctl32", importc: "ImageList_GetImageInfo".} +proc ImageList_Merge*(himl1: HIMAGELIST, i1: int32, himl2: HIMAGELIST, + i2: int32, dx: int32, dy: int32): HIMAGELIST{.stdcall, + dynlib: "comctl32", importc: "ImageList_Merge".} +proc ImageList_SetImageCount*(himl: HIMAGELIST, uNewCount: UINT): int{.stdcall, + dynlib: "comctl32.dll", importc: "ImageList_SetImageCount".} +proc CreateToolbarEx*(hwnd: HWND, ws: DWORD, wID: UINT, nBitmaps: int32, + hBMInst: HINST, wBMID: UINT, lpButtons: LPCTBBUTTON, + iNumButtons: int32, dxButton: int32, dyButton: int32, + dxBitmap: int32, dyBitmap: int32, uStructSize: UINT): HWND{. + stdcall, dynlib: "comctl32", importc: "CreateToolbarEx".} +proc CreateMappedBitmap*(hInstance: HINST, idBitmap: int32, wFlags: UINT, + lpColorMap: LPCOLORMAP, iNumMaps: int32): HBITMAP{. + stdcall, dynlib: "comctl32", importc: "CreateMappedBitmap".} +proc MenuHelp*(uMsg: UINT, wParam: WPARAM, lParam: LPARAM, hMainMenu: HMENU, + hInst: HINST, hwndStatus: HWND, lpwIDs: var UINT){.stdcall, + dynlib: "comctl32", importc: "MenuHelp".} +proc ShowHideMenuCtl*(hWnd: HWND, uFlags: UINT, lpInfo: LPINT): WINBOOL{. + stdcall, dynlib: "comctl32", importc: "ShowHideMenuCtl".} +proc GetEffectiveClientRect*(hWnd: HWND, lprc: LPRECT, lpInfo: LPINT){.stdcall, + dynlib: "comctl32", importc: "GetEffectiveClientRect".} +proc MakeDragList*(hLB: HWND): WINBOOL{.stdcall, dynlib: "comctl32", + importc: "MakeDragList".} +proc DrawInsert*(handParent: HWND, hLB: HWND, nItem: int32){.stdcall, + dynlib: "comctl32", importc: "DrawInsert".} +proc LBItemFromPt*(hLB: HWND, pt: POINT, bAutoScroll: WINBOOL): int32{.stdcall, + dynlib: "comctl32", importc: "LBItemFromPt".} +proc CreateUpDownControl*(dwStyle: DWORD, x: int32, y: int32, cx: int32, + cy: int32, hParent: HWND, nID: int32, hInst: HINST, + hBuddy: HWND, nUpper: int32, nLower: int32, + nPos: int32): HWND{.stdcall, dynlib: "comctl32", + importc: "CreateUpDownControl".} +proc RegCloseKey*(hKey: HKEY): LONG{.stdcall, dynlib: "advapi32", + importc: "RegCloseKey".} +proc RegSetKeySecurity*(hKey: HKEY, SecurityInformation: SECURITY_INFORMATION, + pSecurityDescriptor: PSECURITY_DESCRIPTOR): LONG{. + stdcall, dynlib: "advapi32", importc: "RegSetKeySecurity".} +proc RegFlushKey*(hKey: HKEY): LONG{.stdcall, dynlib: "advapi32", + importc: "RegFlushKey".} +proc RegGetKeySecurity*(hKey: HKEY, SecurityInformation: SECURITY_INFORMATION, + pSecurityDescriptor: PSECURITY_DESCRIPTOR, + lpcbSecurityDescriptor: LPDWORD): LONG{.stdcall, + dynlib: "advapi32", importc: "RegGetKeySecurity".} +proc RegNotifyChangeKeyValue*(hKey: HKEY, bWatchSubtree: WINBOOL, + dwNotifyFilter: DWORD, hEvent: HANDLE, + fAsynchronus: WINBOOL): LONG{.stdcall, + dynlib: "advapi32", importc: "RegNotifyChangeKeyValue".} +proc IsValidCodePage*(CodePage: UINT): WINBOOL{.stdcall, dynlib: "kernel32", + importc: "IsValidCodePage".} +proc GetACP*(): UINT{.stdcall, dynlib: "kernel32", importc: "GetACP".} +proc GetOEMCP*(): UINT{.stdcall, dynlib: "kernel32", importc: "GetOEMCP".} +proc GetCPInfo*(para1: UINT, para2: LPCPINFO): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "GetCPInfo".} +proc IsDBCSLeadByte*(TestChar: int8): WINBOOL{.stdcall, dynlib: "kernel32", + importc: "IsDBCSLeadByte".} +proc IsDBCSLeadByteEx*(CodePage: UINT, TestChar: int8): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "IsDBCSLeadByteEx".} +proc MultiByteToWideChar*(CodePage: UINT, dwFlags: DWORD, + lpMultiByteStr: LPCSTR, cchMultiByte: int32, + lpWideCharStr: LPWSTR, cchWideChar: int32): int32{. + stdcall, dynlib: "kernel32", importc: "MultiByteToWideChar".} +proc WideCharToMultiByte*(CodePage: UINT, dwFlags: DWORD, + lpWideCharStr: LPCWSTR, cchWideChar: int32, + lpMultiByteStr: LPSTR, cchMultiByte: int32, + lpDefaultChar: LPCSTR, lpUsedDefaultChar: LPBOOL): int32{. + stdcall, dynlib: "kernel32", importc: "WideCharToMultiByte".} +proc IsValidLocale*(Locale: LCID, dwFlags: DWORD): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "IsValidLocale".} +proc ConvertDefaultLocale*(Locale: LCID): LCID{.stdcall, dynlib: "kernel32", + importc: "ConvertDefaultLocale".} +proc GetThreadLocale*(): LCID{.stdcall, dynlib: "kernel32", + importc: "GetThreadLocale".} +proc SetThreadLocale*(Locale: LCID): WINBOOL{.stdcall, dynlib: "kernel32", + importc: "SetThreadLocale".} +proc GetSystemDefaultLangID*(): LANGID{.stdcall, dynlib: "kernel32", + importc: "GetSystemDefaultLangID".} +proc GetUserDefaultLangID*(): LANGID{.stdcall, dynlib: "kernel32", + importc: "GetUserDefaultLangID".} +proc GetSystemDefaultLCID*(): LCID{.stdcall, dynlib: "kernel32", + importc: "GetSystemDefaultLCID".} +proc GetUserDefaultLCID*(): LCID{.stdcall, dynlib: "kernel32", + importc: "GetUserDefaultLCID".} +proc ReadConsoleOutputAttribute*(hConsoleOutput: HANDLE, lpAttribute: LPWORD, + nLength: DWORD, dwReadCoord: COORD, + lpNumberOfAttrsRead: LPDWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "ReadConsoleOutputAttribute".} +proc WriteConsoleOutputAttribute*(hConsoleOutput: HANDLE, + lpAttribute: var int16, nLength: DWORD, + dwWriteCoord: COORD, + lpNumberOfAttrsWritten: LPDWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "WriteConsoleOutputAttribute".} +proc FillConsoleOutputAttribute*(hConsoleOutput: HANDLE, wAttribute: int16, + nLength: DWORD, dwWriteCoord: COORD, + lpNumberOfAttrsWritten: LPDWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "FillConsoleOutputAttribute".} +proc GetConsoleMode*(hConsoleHandle: HANDLE, lpMode: LPDWORD): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "GetConsoleMode".} +proc GetNumberOfConsoleInputEvents*(hConsoleInput: HANDLE, + lpNumberOfEvents: PDWORD): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "GetNumberOfConsoleInputEvents".} +proc GetConsoleScreenBufferInfo*(hConsoleOutput: HANDLE, + lpConsoleScreenBufferInfo: PCONSOLE_SCREEN_BUFFER_INFO): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "GetConsoleScreenBufferInfo".} +proc GetLargestConsoleWindowSize*(hConsoleOutput: HANDLE): COORD +proc GetConsoleCursorInfo*(hConsoleOutput: HANDLE, + lpConsoleCursorInfo: PCONSOLE_CURSOR_INFO): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "GetConsoleCursorInfo".} +proc GetNumberOfConsoleMouseButtons*(lpNumberOfMouseButtons: LPDWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "GetNumberOfConsoleMouseButtons".} +proc SetConsoleMode*(hConsoleHandle: HANDLE, dwMode: DWORD): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "SetConsoleMode".} +proc SetConsoleActiveScreenBuffer*(hConsoleOutput: HANDLE): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "SetConsoleActiveScreenBuffer".} +proc FlushConsoleInputBuffer*(hConsoleInput: HANDLE): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "FlushConsoleInputBuffer".} +proc SetConsoleScreenBufferSize*(hConsoleOutput: HANDLE, dwSize: COORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "SetConsoleScreenBufferSize".} +proc SetConsoleCursorPosition*(hConsoleOutput: HANDLE, dwCursorPosition: COORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "SetConsoleCursorPosition".} +proc SetConsoleCursorInfo*(hConsoleOutput: HANDLE, + lpConsoleCursorInfo: PCONSOLE_CURSOR_INFO): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "SetConsoleCursorInfo".} +proc SetConsoleWindowInfo*(hConsoleOutput: HANDLE, bAbsolute: WINBOOL, + lpConsoleWindow: var SMALL_RECT): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "SetConsoleWindowInfo".} +proc SetConsoleTextAttribute*(hConsoleOutput: HANDLE, wAttributes: int16): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "SetConsoleTextAttribute".} +proc SetConsoleCtrlHandler*(HandlerRoutine: PHANDLER_ROUTINE, Add: WINBOOL): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "SetConsoleCtrlHandler".} +proc GenerateConsoleCtrlEvent*(dwCtrlEvent: DWORD, dwProcessGroupId: DWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "GenerateConsoleCtrlEvent".} +proc AllocConsole*(): WINBOOL{.stdcall, dynlib: "kernel32", + importc: "AllocConsole".} +proc FreeConsole*(): WINBOOL{.stdcall, dynlib: "kernel32", + importc: "FreeConsole".} +proc CreateConsoleScreenBuffer*(dwDesiredAccess: DWORD, dwShareMode: DWORD, + lpSecurityAttributes: var SECURITY_ATTRIBUTES, + dwFlags: DWORD, lpScreenBufferData: LPVOID): HANDLE{. + stdcall, dynlib: "kernel32", importc: "CreateConsoleScreenBuffer".} +proc GetConsoleCP*(): UINT{.stdcall, dynlib: "kernel32", importc: "GetConsoleCP".} +proc SetConsoleCP*(wCodePageID: UINT): WINBOOL{.stdcall, dynlib: "kernel32", + importc: "SetConsoleCP".} +proc GetConsoleOutputCP*(): UINT{.stdcall, dynlib: "kernel32", + importc: "GetConsoleOutputCP".} +proc SetConsoleOutputCP*(wCodePageID: UINT): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "SetConsoleOutputCP".} +proc WNetConnectionDialog*(hwnd: HWND, dwType: DWORD): DWORD{.stdcall, + dynlib: "mpr", importc: "WNetConnectionDialog".} +proc WNetDisconnectDialog*(hwnd: HWND, dwType: DWORD): DWORD{.stdcall, + dynlib: "mpr", importc: "WNetDisconnectDialog".} +proc WNetCloseEnum*(hEnum: HANDLE): DWORD{.stdcall, dynlib: "mpr", + importc: "WNetCloseEnum".} +proc CloseServiceHandle*(hSCObject: SC_HANDLE): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "CloseServiceHandle".} +proc ControlService*(hService: SC_HANDLE, dwControl: DWORD, + lpServiceStatus: LPSERVICE_STATUS): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "ControlService".} +proc DeleteService*(hService: SC_HANDLE): WINBOOL{.stdcall, dynlib: "advapi32", + importc: "DeleteService".} +proc LockServiceDatabase*(hSCManager: SC_HANDLE): SC_LOCK{.stdcall, + dynlib: "advapi32", importc: "LockServiceDatabase".} +proc NotifyBootConfigStatus*(BootAcceptable: WINBOOL): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "NotifyBootConfigStatus".} +proc QueryServiceObjectSecurity*(hService: SC_HANDLE, + dwSecurityInformation: SECURITY_INFORMATION, + lpSecurityDescriptor: PSECURITY_DESCRIPTOR, + cbBufSize: DWORD, pcbBytesNeeded: LPDWORD): WINBOOL{. + stdcall, dynlib: "advapi32", importc: "QueryServiceObjectSecurity".} +proc QueryServiceStatus*(hService: SC_HANDLE, lpServiceStatus: LPSERVICE_STATUS): WINBOOL{. + stdcall, dynlib: "advapi32", importc: "QueryServiceStatus".} +proc SetServiceObjectSecurity*(hService: SC_HANDLE, + dwSecurityInformation: SECURITY_INFORMATION, + lpSecurityDescriptor: PSECURITY_DESCRIPTOR): WINBOOL{. + stdcall, dynlib: "advapi32", importc: "SetServiceObjectSecurity".} +proc SetServiceStatus*(hServiceStatus: SERVICE_STATUS_HANDLE, + lpServiceStatus: LPSERVICE_STATUS): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "SetServiceStatus".} +proc UnlockServiceDatabase*(ScLock: SC_LOCK): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "UnlockServiceDatabase".} +proc ChoosePixelFormat*(para1: HDC, para2: PPIXELFORMATDESCRIPTOR): int32{. + stdcall, dynlib: "gdi32", importc: "ChoosePixelFormat".} +proc DescribePixelFormat*(para1: HDC, para2: int32, para3: UINT, + para4: LPPIXELFORMATDESCRIPTOR): int32{.stdcall, + dynlib: "gdi32", importc: "DescribePixelFormat".} +proc SetPixelFormat*(para1: HDC, para2: int32, para3: PPIXELFORMATDESCRIPTOR): WINBOOL{. + stdcall, dynlib: "gdi32", importc: "SetPixelFormat".} +proc SwapBuffers*(para1: HDC): WINBOOL{.stdcall, dynlib: "gdi32", + importc: "SwapBuffers".} +proc DragQueryPoint*(para1: HDROP, para2: LPPOINT): WINBOOL{.stdcall, + dynlib: "shell32", importc: "DragQueryPoint".} +proc DragFinish*(para1: HDROP){.stdcall, dynlib: "shell32", + importc: "DragFinish".} +proc DragAcceptFiles*(para1: HWND, para2: WINBOOL){.stdcall, dynlib: "shell32", + importc: "DragAcceptFiles".} +proc DuplicateIcon*(para1: HINST, para2: HICON): HICON{.stdcall, + dynlib: "shell32", importc: "DuplicateIcon".} +proc DdeAbandonTransaction*(para1: DWORD, para2: HCONV, para3: DWORD): WINBOOL{. + stdcall, dynlib: "user32", importc: "DdeAbandonTransaction".} +proc DdeAccessData*(para1: HDDEDATA, para2: PDWORD): PBYTE{.stdcall, + dynlib: "user32", importc: "DdeAccessData".} +proc DdeAddData*(para1: HDDEDATA, para2: PBYTE, para3: DWORD, para4: DWORD): HDDEDATA{. + stdcall, dynlib: "user32", importc: "DdeAddData".} +proc DdeClientTransaction*(para1: PBYTE, para2: DWORD, para3: HCONV, para4: HSZ, + para5: UINT, para6: UINT, para7: DWORD, para8: PDWORD): HDDEDATA{. + stdcall, dynlib: "user32", importc: "DdeClientTransaction".} +proc DdeCmpStringHandles*(para1: HSZ, para2: HSZ): int32{.stdcall, + dynlib: "user32", importc: "DdeCmpStringHandles".} +proc DdeConnect*(para1: DWORD, para2: HSZ, para3: HSZ, para4: var CONVCONTEXT): HCONV{. + stdcall, dynlib: "user32", importc: "DdeConnect".} +proc DdeConnectList*(para1: DWORD, para2: HSZ, para3: HSZ, para4: HCONVLIST, + para5: PCONVCONTEXT): HCONVLIST{.stdcall, dynlib: "user32", + importc: "DdeConnectList".} +proc DdeCreateDataHandle*(para1: DWORD, para2: LPBYTE, para3: DWORD, + para4: DWORD, para5: HSZ, para6: UINT, para7: UINT): HDDEDATA{. + stdcall, dynlib: "user32", importc: "DdeCreateDataHandle".} +proc DdeDisconnect*(para1: HCONV): WINBOOL{.stdcall, dynlib: "user32", + importc: "DdeDisconnect".} +proc DdeDisconnectList*(para1: HCONVLIST): WINBOOL{.stdcall, dynlib: "user32", + importc: "DdeDisconnectList".} +proc DdeEnableCallback*(para1: DWORD, para2: HCONV, para3: UINT): WINBOOL{. + stdcall, dynlib: "user32", importc: "DdeEnableCallback".} +proc DdeFreeDataHandle*(para1: HDDEDATA): WINBOOL{.stdcall, dynlib: "user32", + importc: "DdeFreeDataHandle".} +proc DdeFreeStringHandle*(para1: DWORD, para2: HSZ): WINBOOL{.stdcall, + dynlib: "user32", importc: "DdeFreeStringHandle".} +proc DdeGetData*(para1: HDDEDATA, para2: LPBYTE, para3: DWORD, para4: DWORD): DWORD{. + stdcall, dynlib: "user32", importc: "DdeGetData".} +proc DdeGetLastError*(para1: DWORD): UINT{.stdcall, dynlib: "user32", + importc: "DdeGetLastError".} +proc DdeImpersonateClient*(para1: HCONV): WINBOOL{.stdcall, dynlib: "user32", + importc: "DdeImpersonateClient".} +proc DdeKeepStringHandle*(para1: DWORD, para2: HSZ): WINBOOL{.stdcall, + dynlib: "user32", importc: "DdeKeepStringHandle".} +proc DdeNameService*(para1: DWORD, para2: HSZ, para3: HSZ, para4: UINT): HDDEDATA{. + stdcall, dynlib: "user32", importc: "DdeNameService".} +proc DdePostAdvise*(para1: DWORD, para2: HSZ, para3: HSZ): WINBOOL{.stdcall, + dynlib: "user32", importc: "DdePostAdvise".} +proc DdeQueryConvInfo*(para1: HCONV, para2: DWORD, para3: PCONVINFO): UINT{. + stdcall, dynlib: "user32", importc: "DdeQueryConvInfo".} +proc DdeQueryNextServer*(para1: HCONVLIST, para2: HCONV): HCONV{.stdcall, + dynlib: "user32", importc: "DdeQueryNextServer".} +proc DdeReconnect*(para1: HCONV): HCONV{.stdcall, dynlib: "user32", + importc: "DdeReconnect".} +proc DdeSetUserHandle*(para1: HCONV, para2: DWORD, para3: DWORD): WINBOOL{. + stdcall, dynlib: "user32", importc: "DdeSetUserHandle".} +proc DdeUnaccessData*(para1: HDDEDATA): WINBOOL{.stdcall, dynlib: "user32", + importc: "DdeUnaccessData".} +proc DdeUninitialize*(para1: DWORD): WINBOOL{.stdcall, dynlib: "user32", + importc: "DdeUninitialize".} +proc SHAddToRecentDocs*(para1: UINT, para2: LPCVOID){.stdcall, + dynlib: "shell32", importc: "SHAddToRecentDocs".} +proc SHBrowseForFolder*(para1: LPBROWSEINFO): LPITEMIDLIST{.stdcall, + dynlib: "shell32", importc: "SHBrowseForFolder".} +proc SHChangeNotify*(para1: LONG, para2: UINT, para3: LPCVOID, para4: LPCVOID){. + stdcall, dynlib: "shell32", importc: "SHChangeNotify".} +proc SHFileOperation*(para1: LPSHFILEOPSTRUCT): int32{.stdcall, + dynlib: "shell32", importc: "SHFileOperation".} +proc SHFreeNameMappings*(para1: HANDLE){.stdcall, dynlib: "shell32", + importc: "SHFreeNameMappings".} +proc SHGetFileInfo*(para1: LPCTSTR, para2: DWORD, para3: var SHFILEINFO, + para4: UINT, para5: UINT): DWORD{.stdcall, + dynlib: "shell32", importc: "SHGetFileInfo".} +proc SHGetPathFromIDList*(para1: LPCITEMIDLIST, para2: LPTSTR): WINBOOL{. + stdcall, dynlib: "shell32", importc: "SHGetPathFromIDList".} +proc SHGetSpecialFolderLocation*(para1: HWND, para2: int32, + para3: var LPITEMIDLIST): HRESULT{.stdcall, + dynlib: "shell32", importc: "SHGetSpecialFolderLocation".} + # was missing, bug report 1808 PM +proc CommDlgExtendedError*(): DWORD{.stdcall, dynlib: "comdlg32", + importc: "CommDlgExtendedError".} + # wgl Windows OpenGL helper functions +proc wglUseFontBitmaps*(para1: HDC, para2: DWORD, para3: DWORD, para4: DWORD): WINBOOL{. + stdcall, dynlib: "opengl32", importc: "wglUseFontBitmapsA".} +proc wglCreateContext*(para1: HDC): HGLRC{.stdcall, dynlib: "opengl32", + importc: "wglCreateContext".} +proc wglCreateLayerContext*(para1: HDC, para2: int32): HGLRC{.stdcall, + dynlib: "opengl32", importc: "wglCreateLayerContext".} +proc wglCopyContext*(para1: HGLRC, para2: HGLRC, para3: UINT): WINBOOL{.stdcall, + dynlib: "opengl32", importc: "wglCopyContext".} +proc wglDeleteContext*(para1: HGLRC): WINBOOL{.stdcall, dynlib: "opengl32", + importc: "wglDeleteContext".} +proc wglGetCurrentContext*(): HGLRC{.stdcall, dynlib: "opengl32", + importc: "wglGetCurrentContext".} +proc wglGetCurrentDC*(): HDC{.stdcall, dynlib: "opengl32", + importc: "wglGetCurrentDC".} +proc wglMakeCurrent*(para1: HDC, para2: HGLRC): WINBOOL{.stdcall, + dynlib: "opengl32", importc: "wglMakeCurrent".} +proc wglShareLists*(para1: HGLRC, para2: HGLRC): WINBOOL{.stdcall, + dynlib: "opengl32", importc: "wglShareLists".} +proc wglUseFontBitmapsW*(para1: HDC, para2: DWORD, para3: DWORD, para4: DWORD): WINBOOL{. + stdcall, dynlib: "opengl32", importc: "wglUseFontBitmapsW".} + # Delphi doesn't declare these, but we do: +proc wglUseFontOutlines*(para1: HDC, para2: DWORD, para3: DWORD, para4: DWORD, + para5: float32, para6: float32, para7: int32, + para8: LPGLYPHMETRICSFLOAT): WINBOOL{.stdcall, + dynlib: "opengl32", importc: "wglUseFontOutlinesA".} +proc wglUseFontBitmapsA*(para1: HDC, para2: DWORD, para3: DWORD, para4: DWORD): WINBOOL{. + stdcall, dynlib: "opengl32", importc: "wglUseFontBitmapsA".} +proc wglUseFontOutlinesA*(para1: HDC, para2: DWORD, para3: DWORD, para4: DWORD, + para5: float32, para6: float32, para7: int32, + para8: LPGLYPHMETRICSFLOAT): WINBOOL{.stdcall, + dynlib: "opengl32", importc: "wglUseFontOutlinesA".} +proc wglDescribeLayerPlane*(para1: HDC, para2: int32, para3: int32, para4: UINT, + para5: LPLAYERPLANEDESCRIPTOR): WINBOOL{.stdcall, + dynlib: "opengl32", importc: "wglDescribeLayerPlane".} +proc wglGetLayerPaletteEntries*(para1: HDC, para2: int32, para3: int32, + para4: int32, para5: var COLORREF): int32{. + stdcall, dynlib: "opengl32", importc: "wglGetLayerPaletteEntries".} +proc wglGetProcAddress*(para1: LPCSTR): TProc{.stdcall, dynlib: "opengl32", + importc: "wglGetProcAddress".} +proc wglRealizeLayerPalette*(para1: HDC, para2: int32, para3: WINBOOL): WINBOOL{. + stdcall, dynlib: "opengl32", importc: "wglRealizeLayerPalette".} +proc wglSetLayerPaletteEntries*(para1: HDC, para2: int32, para3: int32, + para4: int32, para5: var COLORREF): int32{. + stdcall, dynlib: "opengl32", importc: "wglSetLayerPaletteEntries".} +proc wglSwapLayerBuffers*(para1: HDC, para2: UINT): WINBOOL{.stdcall, + dynlib: "opengl32", importc: "wglSwapLayerBuffers".} +proc wglUseFontOutlinesW*(para1: HDC, para2: DWORD, para3: DWORD, para4: DWORD, + para5: float32, para6: float32, para7: int32, + para8: LPGLYPHMETRICSFLOAT): WINBOOL{.stdcall, + dynlib: "opengl32", importc: "wglUseFontOutlinesW".} + # translated macros +proc Animate_Create*(hWndP: HWND, id: HMENU, dwStyle: DWORD, hInstance: HINST): HWND +proc Animate_Open*(hwnd: HWND, szName: LPTSTR): LRESULT +proc Animate_Play*(hwnd: HWND, `from`, `to`: int32, rep: UINT): LRESULT + +proc Animate_Stop*(hwnd: HWND): LRESULT +proc Animate_Close*(hwnd: HWND): LRESULT +proc Animate_Seek*(hwnd: HWND, frame: int32): LRESULT +proc PropSheet_AddPage*(hPropSheetDlg: HWND, hpage: HPROPSHEETPAGE): LRESULT +proc PropSheet_Apply*(hPropSheetDlg: HWND): LRESULT +proc PropSheet_CancelToClose*(hPropSheetDlg: HWND): LRESULT +proc PropSheet_Changed*(hPropSheetDlg, hwndPage: HWND): LRESULT +proc PropSheet_GetCurrentPageHwnd*(hDlg: HWND): LRESULT +proc PropSheet_GetTabControl*(hPropSheetDlg: HWND): LRESULT +proc PropSheet_IsDialogMessage*(hDlg: HWND, pMsg: int32): LRESULT +proc PropSheet_PressButton*(hPropSheetDlg: HWND, iButton: int32): LRESULT +proc PropSheet_QuerySiblings*(hPropSheetDlg: HWND, param1, param2: int32): LRESULT +proc PropSheet_RebootSystem*(hPropSheetDlg: HWND): LRESULT +proc PropSheet_RemovePage*(hPropSheetDlg: HWND, hpage: HPROPSHEETPAGE, + index: int32): LRESULT +proc PropSheet_RestartWindows*(hPropSheetDlg: HWND): LRESULT +proc PropSheet_SetCurSel*(hPropSheetDlg: HWND, hpage: HPROPSHEETPAGE, + index: int32): LRESULT +proc PropSheet_SetCurSelByID*(hPropSheetDlg: HWND, id: int32): LRESULT +proc PropSheet_SetFinishText*(hPropSheetDlg: HWND, lpszText: LPTSTR): LRESULT +proc PropSheet_SetTitle*(hPropSheetDlg: HWND, dwStyle: DWORD, lpszText: LPCTSTR): LRESULT +proc PropSheet_SetWizButtons*(hPropSheetDlg: HWND, dwFlags: DWORD): LRESULT +proc PropSheet_UnChanged*(hPropSheetDlg: HWND, hwndPage: HWND): LRESULT +proc Header_DeleteItem*(hwndHD: HWND, index: int32): WINBOOL +proc Header_GetItem*(hwndHD: HWND, index: int32, hdi: var HD_ITEM): WINBOOL +proc Header_GetItemCount*(hwndHD: HWND): int32 +proc Header_InsertItem*(hwndHD: HWND, index: int32, hdi: var HD_ITEM): int32 +proc Header_Layout*(hwndHD: HWND, layout: var HD_LAYOUT): WINBOOL +proc Header_SetItem*(hwndHD: HWND, index: int32, hdi: var HD_ITEM): WINBOOL +proc ListView_Arrange*(hwndLV: HWND, code: UINT): LRESULT +proc ListView_CreateDragImage*(hwnd: HWND, i: int32, lpptUpLeft: LPPOINT): LRESULT +proc ListView_DeleteAllItems*(hwnd: HWND): LRESULT +proc ListView_DeleteColumn*(hwnd: HWND, iCol: int32): LRESULT +proc ListView_DeleteItem*(hwnd: HWND, iItem: int32): LRESULT +proc ListView_EditLabel*(hwndLV: HWND, i: int32): LRESULT +proc ListView_EnsureVisible*(hwndLV: HWND, i, fPartialOK: int32): LRESULT +proc ListView_FindItem*(hwnd: HWND, iStart: int32, lvfi: var LV_FINDINFO): int32 +proc ListView_GetBkColor*(hwnd: HWND): LRESULT +proc ListView_GetCallbackMask*(hwnd: HWND): LRESULT +proc ListView_GetColumn*(hwnd: HWND, iCol: int32, col: var LV_COLUMN): LRESULT +proc ListView_GetColumnWidth*(hwnd: HWND, iCol: int32): LRESULT +proc ListView_GetCountPerPage*(hwndLV: HWND): LRESULT +proc ListView_GetEditControl*(hwndLV: HWND): LRESULT +proc ListView_GetImageList*(hwnd: HWND, iImageList: wINT): LRESULT +proc ListView_GetISearchString*(hwndLV: HWND, lpsz: LPTSTR): LRESULT +proc ListView_GetItem*(hwnd: HWND, item: var LV_ITEM): LRESULT +proc ListView_GetItemCount*(hwnd: HWND): LRESULT +proc ListView_GetItemPosition*(hwndLV: HWND, i: int32, pt: var POINT): int32 +proc ListView_GetItemSpacing*(hwndLV: HWND, fSmall: int32): LRESULT +proc ListView_GetItemState*(hwndLV: HWND, i, mask: int32): LRESULT +proc ListView_GetNextItem*(hwnd: HWND, iStart, flags: int32): LRESULT +proc ListView_GetOrigin*(hwndLV: HWND, pt: var POINT): LRESULT +proc ListView_GetSelectedCount*(hwndLV: HWND): LRESULT +proc ListView_GetStringWidth*(hwndLV: HWND, psz: LPCTSTR): LRESULT +proc ListView_GetTextBkColor*(hwnd: HWND): LRESULT +proc ListView_GetTextColor*(hwnd: HWND): LRESULT +proc ListView_GetTopIndex*(hwndLV: HWND): LRESULT +proc ListView_GetViewRect*(hwnd: HWND, rc: var RECT): LRESULT +proc ListView_HitTest*(hwndLV: HWND, info: var LV_HITTESTINFO): LRESULT +proc ListView_InsertColumn*(hwnd: HWND, iCol: int32, col: var LV_COLUMN): LRESULT +proc ListView_InsertItem*(hwnd: HWND, item: var LV_ITEM): LRESULT +proc ListView_RedrawItems*(hwndLV: HWND, iFirst, iLast: int32): LRESULT +proc ListView_Scroll*(hwndLV: HWND, dx, dy: int32): LRESULT +proc ListView_SetBkColor*(hwnd: HWND, clrBk: COLORREF): LRESULT +proc ListView_SetCallbackMask*(hwnd: HWND, mask: UINT): LRESULT +proc ListView_SetColumn*(hwnd: HWND, iCol: int32, col: var LV_COLUMN): LRESULT +proc ListView_SetColumnWidth*(hwnd: HWND, iCol, cx: int32): LRESULT +proc ListView_SetImageList*(hwnd: HWND, himl: int32, iImageList: HIMAGELIST): LRESULT +proc ListView_SetItem*(hwnd: HWND, item: var LV_ITEM): LRESULT +proc ListView_SetItemCount*(hwndLV: HWND, cItems: int32): LRESULT +proc ListView_SetItemPosition*(hwndLV: HWND, i, x, y: int32): LRESULT +proc ListView_SetItemPosition32*(hwndLV: HWND, i, x, y: int32): LRESULT +proc ListView_SetItemState*(hwndLV: HWND, i, data, mask: int32): LRESULT +proc ListView_SetItemText*(hwndLV: HWND, i, iSubItem_: int32, pszText_: LPTSTR): LRESULT +proc ListView_SetTextBkColor*(hwnd: HWND, clrTextBk: COLORREF): LRESULT +proc ListView_SetTextColor*(hwnd: HWND, clrText: COLORREF): LRESULT +proc ListView_SortItems*(hwndLV: HWND, pfnCompare: PFNLVCOMPARE, lPrm: LPARAM): LRESULT +proc ListView_Update*(hwndLV: HWND, i: int32): LRESULT +proc TreeView_InsertItem*(hwnd: HWND, lpis: LPTV_INSERTSTRUCT): LRESULT +proc TreeView_DeleteItem*(hwnd: HWND, hitem: HTREEITEM): LRESULT +proc TreeView_DeleteAllItems*(hwnd: HWND): LRESULT +proc TreeView_Expand*(hwnd: HWND, hitem: HTREEITEM, code: int32): LRESULT +proc TreeView_GetCount*(hwnd: HWND): LRESULT +proc TreeView_GetIndent*(hwnd: HWND): LRESULT +proc TreeView_SetIndent*(hwnd: HWND, indent: int32): LRESULT +proc TreeView_GetImageList*(hwnd: HWND, iImage: WPARAM): LRESULT +proc TreeView_SetImageList*(hwnd: HWND, himl: HIMAGELIST, iImage: WPARAM): LRESULT +proc TreeView_GetNextItem*(hwnd: HWND, hitem: HTREEITEM, code: int32): LRESULT +proc TreeView_GetChild*(hwnd: HWND, hitem: HTREEITEM): LRESULT +proc TreeView_GetNextSibling*(hwnd: HWND, hitem: HTREEITEM): LRESULT +proc TreeView_GetPrevSibling*(hwnd: HWND, hitem: HTREEITEM): LRESULT +proc TreeView_GetParent*(hwnd: HWND, hitem: HTREEITEM): LRESULT +proc TreeView_GetFirstVisible*(hwnd: HWND): LRESULT +proc TreeView_GetNextVisible*(hwnd: HWND, hitem: HTREEITEM): LRESULT +proc TreeView_GetPrevVisible*(hwnd: HWND, hitem: HTREEITEM): LRESULT +proc TreeView_GetSelection*(hwnd: HWND): LRESULT +proc TreeView_GetDropHilight*(hwnd: HWND): LRESULT +proc TreeView_GetRoot*(hwnd: HWND): LRESULT +proc TreeView_Select*(hwnd: HWND, hitem: HTREEITEM, code: int32): LRESULT +proc TreeView_SelectItem*(hwnd: HWND, hitem: HTREEITEM): LRESULT +proc TreeView_SelectDropTarget*(hwnd: HWND, hitem: HTREEITEM): LRESULT +proc TreeView_SelectSetFirstVisible*(hwnd: HWND, hitem: HTREEITEM): LRESULT +proc TreeView_GetItem*(hwnd: HWND, item: var TV_ITEM): LRESULT +proc TreeView_SetItem*(hwnd: HWND, item: var TV_ITEM): LRESULT +proc TreeView_EditLabel*(hwnd: HWND, hitem: HTREEITEM): LRESULT +proc TreeView_GetEditControl*(hwnd: HWND): LRESULT +proc TreeView_GetVisibleCount*(hwnd: HWND): LRESULT +proc TreeView_HitTest*(hwnd: HWND, lpht: LPTV_HITTESTINFO): LRESULT +proc TreeView_CreateDragImage*(hwnd: HWND, hitem: HTREEITEM): LRESULT +proc TreeView_SortChildren*(hwnd: HWND, hitem: HTREEITEM, recurse: int32): LRESULT +proc TreeView_EnsureVisible*(hwnd: HWND, hitem: HTREEITEM): LRESULT +proc TreeView_SortChildrenCB*(hwnd: HWND, psort: LPTV_SORTCB, recurse: int32): LRESULT +proc TreeView_EndEditLabelNow*(hwnd: HWND, fCancel: int32): LRESULT +proc TreeView_GetISearchString*(hwndTV: HWND, lpsz: LPTSTR): LRESULT +proc TabCtrl_GetImageList*(hwnd: HWND): LRESULT +proc TabCtrl_SetImageList*(hwnd: HWND, himl: HIMAGELIST): LRESULT +proc TabCtrl_GetItemCount*(hwnd: HWND): LRESULT +proc TabCtrl_GetItem*(hwnd: HWND, iItem: int32, item: var TC_ITEM): LRESULT +proc TabCtrl_SetItem*(hwnd: HWND, iItem: int32, item: var TC_ITEM): LRESULT +proc TabCtrl_InsertItem*(hwnd: HWND, iItem: int32, item: var TC_ITEM): LRESULT +proc TabCtrl_DeleteItem*(hwnd: HWND, i: int32): LRESULT +proc TabCtrl_DeleteAllItems*(hwnd: HWND): LRESULT +proc TabCtrl_GetItemRect*(hwnd: HWND, i: int32, rc: var RECT): LRESULT +proc TabCtrl_GetCurSel*(hwnd: HWND): LRESULT +proc TabCtrl_SetCurSel*(hwnd: HWND, i: int32): LRESULT +proc TabCtrl_HitTest*(hwndTC: HWND, info: var TC_HITTESTINFO): LRESULT +proc TabCtrl_SetItemExtra*(hwndTC: HWND, cb: int32): LRESULT +proc TabCtrl_AdjustRect*(hwnd: HWND, bLarger: WINBOOL, rc: var RECT): LRESULT +proc TabCtrl_SetItemSize*(hwnd: HWND, x, y: int32): LRESULT +proc TabCtrl_RemoveImage*(hwnd: HWND, i: WPARAM): LRESULT +proc TabCtrl_SetPadding*(hwnd: HWND, cx, cy: int32): LRESULT +proc TabCtrl_GetRowCount*(hwnd: HWND): LRESULT +proc TabCtrl_GetToolTips*(hwnd: HWND): LRESULT +proc TabCtrl_SetToolTips*(hwnd: HWND, hwndTT: int32): LRESULT +proc TabCtrl_GetCurFocus*(hwnd: HWND): LRESULT +proc TabCtrl_SetCurFocus*(hwnd: HWND, i: int32): LRESULT +proc SNDMSG*(hWnd: HWND, Msg: UINT, wParam: WPARAM, lParam: LPARAM): LRESULT +proc CommDlg_OpenSave_GetSpecA*(hdlg: HWND, psz: LPSTR, cbmax: int32): LRESULT +proc CommDlg_OpenSave_GetSpecW*(hdlg: HWND, psz: LPWSTR, cbmax: int32): LRESULT +when not(defined(winUnicode)): + proc CommDlg_OpenSave_GetSpec*(hdlg: HWND, psz: LPSTR, cbmax: int32): LRESULT +else: + proc CommDlg_OpenSave_GetSpec*(hdlg: HWND, psz: LPWSTR, cbmax: int32): LRESULT +proc CommDlg_OpenSave_GetFilePathA*(hdlg: HWND, psz: LPSTR, cbmax: int32): LRESULT +proc CommDlg_OpenSave_GetFilePathW*(hdlg: HWND, psz: LPWSTR, cbmax: int32): LRESULT +when not(defined(winUnicode)): + proc CommDlg_OpenSave_GetFilePath*(hdlg: HWND, psz: LPSTR, cbmax: int32): LRESULT +else: + proc CommDlg_OpenSave_GetFilePath*(hdlg: HWND, psz: LPWSTR, cbmax: int32): LRESULT +proc CommDlg_OpenSave_GetFolderPathA*(hdlg: HWND, psz: LPSTR, cbmax: int32): LRESULT +proc CommDlg_OpenSave_GetFolderPathW*(hdlg: HWND, psz: LPWSTR, cbmax: int32): LRESULT +when not(defined(winUnicode)): + proc CommDlg_OpenSave_GetFolderPath*(hdlg: HWND, psz: LPSTR, cbmax: int32): LRESULT +else: + proc CommDlg_OpenSave_GetFolderPath*(hdlg: HWND, psz: LPWSTR, cbmax: int32): LRESULT +proc CommDlg_OpenSave_GetFolderIDList*(hdlg: HWND, pidl: LPVOID, cbmax: int32): LRESULT +proc CommDlg_OpenSave_SetControlText*(hdlg: HWND, id: int32, text: LPSTR): LRESULT +proc CommDlg_OpenSave_HideControl*(hdlg: HWND, id: int32): LRESULT +proc CommDlg_OpenSave_SetDefExt*(hdlg: HWND, pszext: LPSTR): LRESULT +proc GetNextWindow*(hWnd: HWND, uCmd: UINT): HWND{.stdcall, dynlib: "user32", + importc: "GetWindow".} +proc GlobalAllocPtr*(flags, cb: DWord): Pointer +proc GlobalFreePtr*(lp: Pointer): Pointer +proc GlobalUnlockPtr*(lp: pointer): Pointer +proc GlobalLockPtr*(lp: pointer): Pointer +proc GlobalReAllocPtr*(lp: Pointer, cbNew, flags: DWord): Pointer +proc GlobalPtrHandle*(lp: pointer): Pointer +proc SetLayeredWindowAttributes*(HWND: hwnd, crKey: COLORREF, bAlpha: int8, + dwFlags: DWORD): WINBOOL{.stdcall, + dynlib: "user32", importc: "SetLayeredWindowAttributes".} +type + PIID* = PGUID + TIID* = TGUID + TFNDlgProc* = FARPROC + TFNThreadStartRoutine* = FARPROC + TFNTimerAPCRoutine* = FARPROC + TFNFiberStartRoutine* = FARPROC + TFNHookProc* = HOOKPROC + PObjectTypeList* = ptr TObjectTypeList + OBJECT_TYPE_LIST* = record + Level*: int16 + Sbz*: int16 + ObjectType*: PGUID + + TObjectTypeList* = OBJECT_TYPE_LIST + AUDIT_EVENT_TYPE* = DWORD + PBlendFunction* = ptr TBlendFunction + BLENDFUNCTION* = record + BlendOp*: int8 + BlendFlags*: int8 + SourceConstantAlpha*: int8 + AlphaFormat*: int8 + + TBlendFunction* = BLENDFUNCTION + WIN_CERTIFICATE* = record + dwLength*: DWord + wRevision*: int16 + wCertificateType*: int16 + bCertificate*: array[0..0, int8] + + TWinCertificate* = WIN_CERTIFICATE + PWinCertificate* = ptr TWinCertificate + TMaxLogPalette* = record + palVersion*: int16 + palNumEntries*: int16 + palPalEntry*: array[int8, TPaletteEntry] + + PMaxLogPalette* = ptr TMaxLogPalette + POSVersionInfoA* = POSVERSIONINFO + TBitmapFileHeader* = BITMAPFILEHEADER + PBitmapFileHeader* = ptr TBitmapFileHeader + +const # dll names + advapi32* = "advapi32.dll" + kernel32* = "kernel32.dll" + mpr* = "mpr.dll" + version* = "version.dll" + comctl32* = "comctl32.dll" + gdi32* = "gdi32.dll" + opengl32* = "opengl32.dll" + user32* = "user32.dll" + wintrust* = "wintrust.dll" # Openfile Share modes normally declared in sysutils + fmShareCompat* = 0x00000000 + fmShareExclusive* = 0x00000010 + fmShareDenyWrite* = 0x00000020 + fmShareDenyRead* = 0x00000030 + fmShareDenyNone* = 0x00000040 # HRESULT codes, delphilike + SIF_TRACKPOS* = 0x00000010 + HTBORDER* = 18 + CP_UTF7* = 65000 + CP_UTF8* = 65001 + CREATE_NO_WINDOW* = 0x08000000 + VK_ATTN* = 246 + VK_CRSEL* = 247 + VK_EXSEL* = 248 + VK_EREOF* = 249 + VK_PLAY* = 250 + VK_ZOOM* = 251 + VK_NONAME* = 252 + VK_PA1* = 253 + VK_OEM_CLEAR* = 254 + +const # Severity values + FACILITY_NT_BIT* = 0x10000000 + HFILE_ERROR* = HFILE(- 1) # + # A language ID is a 16 bit value which is the combination of a + # primary language ID and a secondary language ID. The bits are + # allocated as follows: + # + # +-----------------------+-------------------------+ + # | Sublanguage ID | Primary Language ID | + # +-----------------------+-------------------------+ + # 15 10 9 0 bit + # + # + # Language ID creation/extraction macros: + # + # MAKELANGID - construct language id from a primary language id and + # a sublanguage id. + # PRIMARYLANGID - extract primary language id from a language id. + # SUBLANGID - extract sublanguage id from a language id. + # + +proc MAKELANGID*(PrimaryLang, SubLang: USHORT): int16 +proc PRIMARYLANGID*(LangId: int16): int16 +proc SUBLANGID*(LangId: int16): int16 + # + # A locale ID is a 32 bit value which is the combination of a + # language ID, a sort ID, and a reserved area. The bits are + # allocated as follows: + # + # +-------------+---------+-------------------------+ + # | Reserved | Sort ID | Language ID | + # +-------------+---------+-------------------------+ + # 31 20 19 16 15 0 bit + # + # + # Locale ID creation/extraction macros: + # + # MAKELCID - construct the locale id from a language id and a sort id. + # MAKESORTLCID - construct the locale id from a language id, sort id, and sort version. + # LANGIDFROMLCID - extract the language id from a locale id. + # SORTIDFROMLCID - extract the sort id from a locale id. + # SORTVERSIONFROMLCID - extract the sort version from a locale id. + # +const + NLS_VALID_LOCALE_MASK* = 0x000FFFFF + +proc MAKELCID*(LangId, SortId: int16): DWORD +proc MAKESORTLCID*(LangId, SortId, SortVersion: int16): DWORD +proc LANGIDFROMLCID*(LocaleId: LCID): int16 +proc SORTIDFROMLCID*(LocaleId: LCID): int16 +proc SORTVERSIONFROMLCID*(LocaleId: LCID): int16 + # + # Default System and User IDs for language and locale. + # +proc LANG_SYSTEM_DEFAULT*(): int16 +proc LANG_USER_DEFAULT*(): int16 +proc LOCALE_NEUTRAL*(): DWORD +proc LOCALE_INVARIANT*(): DWORD +proc Succeeded*(Status: HRESULT): WINBOOL +proc Failed*(Status: HRESULT): WINBOOL +proc IsError*(Status: HRESULT): WINBOOL +proc HResultCode*(hr: HRESULT): int32 +proc HResultFacility*(hr: HRESULT): int32 +proc HResultSeverity*(hr: HRESULT): int32 +proc MakeResult*(p1, p2, mask: int32): HRESULT +proc HResultFromWin32*(x: int32): HRESULT +proc HResultFromNT*(x: int32): HRESULT +proc InitializeCriticalSection*(CriticalSection: var TRTLCriticalSection){. + stdcall, dynlib: "kernel32", importc: "InitializeCriticalSection".} +proc EnterCriticalSection*(CriticalSection: var TRTLCriticalSection){.stdcall, + dynlib: "kernel32", importc: "EnterCriticalSection".} +proc LeaveCriticalSection*(CriticalSection: var TRTLCriticalSection){.stdcall, + dynlib: "kernel32", importc: "LeaveCriticalSection".} +proc DeleteCriticalSection*(CriticalSection: var TRTLCriticalSection){.stdcall, + dynlib: "kernel32", importc: "DeleteCriticalSection".} +proc InitializeCriticalSectionAndSpinCount*( + CriticalSection: var TRTLCriticalSection, dwSpinCount: DWORD): WINBOOL{. + stdcall, dynlib: "kernel32", + importc: "InitializeCriticalSectionAndSpinCount".} +proc SetCriticalSectionSpinCount*(CriticalSection: var TRTLCriticalSection, + dwSpinCount: DWORD): DWORD{.stdcall, + dynlib: "kernel32", importc: "SetCriticalSectionSpinCount".} +proc TryEnterCriticalSection*(CriticalSection: var TRTLCriticalSection): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "TryEnterCriticalSection".} +proc ControlService*(hService: SC_HANDLE, dwControl: DWORD, + ServiceStatus: var TSERVICESTATUS): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "ControlService".} +proc QueryServiceStatus*(hService: SC_HANDLE, + lpServiceStatus: var TSERVICESTATUS): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "QueryServiceStatus".} +proc SetServiceStatus*(hServiceStatus: SERVICE_STATUS_HANDLE, + ServiceStatus: TSERVICESTATUS): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "SetServiceStatus".} +proc AdjustTokenPrivileges*(TokenHandle: THandle, DisableAllPrivileges: WINBOOL, + NewState: TTokenPrivileges, BufferLength: DWORD, + PreviousState: var TTokenPrivileges, + ReturnLength: var DWORD): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "AdjustTokenPrivileges".} +proc AdjustWindowRect*(lpRect: var TRect, dwStyle: DWORD, bMenu: WINBOOL): WINBOOL{. + stdcall, dynlib: "user32", importc: "AdjustWindowRect".} +proc AdjustWindowRectEx*(lpRect: var TRect, dwStyle: DWORD, bMenu: WINBOOL, + dwExStyle: DWORD): WINBOOL{.stdcall, dynlib: "user32", + importc: "AdjustWindowRectEx".} +proc AllocateAndInitializeSid*(pIdentifierAuthority: TSIDIdentifierAuthority, + nSubAuthorityCount: int8, + nSubAuthority0, nSubAuthority1: DWORD, + nSubAuthority2, nSubAuthority3, nSubAuthority4: DWORD, nSubAuthority5, + nSubAuthority6, nSubAuthority7: DWORD, pSid: var Pointer): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "AllocateAndInitializeSid".} +proc AllocateLocallyUniqueId*(Luid: var TLargeInteger): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "AllocateLocallyUniqueId".} +proc BackupRead*(hFile: THandle, lpBuffer: PByte, nNumberOfBytesToRead: DWORD, + lpNumberOfBytesRead: var DWORD, bAbort: WINBOOL, + bProcessSecurity: WINBOOL, lpContext: var Pointer): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "BackupRead".} +proc BackupSeek*(hFile: THandle, dwLowBytesToSeek, dwHighBytesToSeek: DWORD, + lpdwLowByteSeeked, lpdwHighByteSeeked: var DWORD, + lpContext: Pointer): WINBOOL{.stdcall, dynlib: "kernel32", + importc: "BackupSeek".} +proc BackupWrite*(hFile: THandle, lpBuffer: PByte, nNumberOfBytesToWrite: DWORD, + lpNumberOfBytesWritten: var DWORD, + bAbort, bProcessSecurity: WINBOOL, lpContext: var Pointer): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "BackupWrite".} +proc BeginPaint*(hWnd: HWND, lpPaint: var TPaintStruct): HDC{.stdcall, + dynlib: "user32", importc: "BeginPaint".} +proc BuildCommDCB*(lpDef: cstring, lpDCB: var TDCB): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "BuildCommDCBA".} +proc BuildCommDCBA*(lpDef: LPCSTR, lpDCB: var TDCB): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "BuildCommDCBA".} +proc BuildCommDCBAndTimeouts*(lpDef: cstring, lpDCB: var TDCB, + lpCommTimeouts: var TCommTimeouts): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "BuildCommDCBAndTimeoutsA".} +proc BuildCommDCBAndTimeoutsA*(lpDef: LPCSTR, lpDCB: var TDCB, + lpCommTimeouts: var TCommTimeouts): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "BuildCommDCBAndTimeoutsA".} +proc BuildCommDCBAndTimeoutsW*(lpDef: LPWSTR, lpDCB: var TDCB, + lpCommTimeouts: var TCommTimeouts): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "BuildCommDCBAndTimeoutsW".} +proc BuildCommDCBW*(lpDef: LPWSTR, lpDCB: var TDCB): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "BuildCommDCBW".} +proc CallMsgFilter*(lpMsg: var TMsg, nCode: int): WINBOOL{.stdcall, + dynlib: "user32", importc: "CallMsgFilterA".} +proc CallMsgFilterA*(lpMsg: var TMsg, nCode: int): WINBOOL{.stdcall, + dynlib: "user32", importc: "CallMsgFilterA".} +proc CallMsgFilterW*(lpMsg: var TMsg, nCode: int): WINBOOL{.stdcall, + dynlib: "user32", importc: "CallMsgFilterW".} +proc CallNamedPipe*(lpNamedPipeName: cstring, lpInBuffer: Pointer, + nInBufferSize: DWORD, lpOutBuffer: Pointer, + nOutBufferSize: DWORD, lpBytesRead: var DWORD, + nTimeOut: DWORD): WINBOOL{.stdcall, dynlib: "kernel32", + importc: "CallNamedPipeA".} +proc CallNamedPipeA*(lpNamedPipeName: LPCSTR, lpInBuffer: Pointer, + nInBufferSize: DWORD, lpOutBuffer: Pointer, + nOutBufferSize: DWORD, lpBytesRead: var DWORD, + nTimeOut: DWORD): WINBOOL{.stdcall, dynlib: "kernel32", + importc: "CallNamedPipeA".} +proc CallNamedPipeW*(lpNamedPipeName: LPWSTR, lpInBuffer: Pointer, + nInBufferSize: DWORD, lpOutBuffer: Pointer, + nOutBufferSize: DWORD, lpBytesRead: var DWORD, + nTimeOut: DWORD): WINBOOL{.stdcall, dynlib: "kernel32", + importc: "CallNamedPipeW".} +proc CoRegisterClassObject*(para1: TCLSID, para2: pointer, para3: DWORD, + para4: DWORD, out_para5: DWORD): HRESULT{.stdcall, + dynlib: "ole32.dll", importc: "CoRegisterClassObject".} +proc ChangeDisplaySettings*(lpDevMode: var TDeviceMode, dwFlags: DWORD): int32{. + stdcall, dynlib: "user32", importc: "ChangeDisplaySettingsA".} +proc ChangeDisplaySettingsA*(lpDevMode: var TDeviceModeA, dwFlags: DWORD): int32{. + stdcall, dynlib: "user32", importc: "ChangeDisplaySettingsA".} +proc ChangeDisplaySettingsEx*(lpszDeviceName: cstring, + lpDevMode: var TDeviceMode, wnd: HWND, + dwFlags: DWORD, lParam: Pointer): int32{.stdcall, + dynlib: "user32", importc: "ChangeDisplaySettingsExA".} +proc ChangeDisplaySettingsExA*(lpszDeviceName: LPCSTR, + lpDevMode: var TDeviceModeA, wnd: HWND, + dwFlags: DWORD, lParam: Pointer): int32{.stdcall, + dynlib: "user32", importc: "ChangeDisplaySettingsExA".} +proc ChangeDisplaySettingsExW*(lpszDeviceName: LPWSTR, + lpDevMode: var TDeviceModeW, wnd: HWND, + dwFlags: DWORD, lParam: Pointer): int32{.stdcall, + dynlib: "user32", importc: "ChangeDisplaySettingsExW".} +proc ChangeDisplaySettingsW*(lpDevMode: var TDeviceModeW, dwFlags: DWORD): int32{. + stdcall, dynlib: "user32", importc: "ChangeDisplaySettingsW".} + #function CheckColorsInGamut(DC: HDC; var RGBQuads, Results; Count: DWORD): WINBOOL; stdcall; external 'gdi32' name 'CheckColorsInGamut'; +proc ChoosePixelFormat*(para1: HDC, para2: var PIXELFORMATDESCRIPTOR): int32{. + stdcall, dynlib: "gdi32", importc: "ChoosePixelFormat".} +proc ClearCommError*(hFile: THandle, lpErrors: var DWORD, lpStat: PComStat): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "ClearCommError".} +proc ClientToScreen*(hWnd: HWND, lpPoint: var TPoint): WINBOOL{.stdcall, + dynlib: "user32", importc: "ClientToScreen".} +proc ClipCursor*(lpRect: var RECT): WINBOOL{.stdcall, dynlib: "user32", + importc: "ClipCursor".} + #function CombineTransform(var p1: TXForm; const p2, p3: TXForm): WINBOOL; stdcall; external 'gdi32' name 'CombineTransform'; +proc CommConfigDialog*(lpszName: cstring, hWnd: HWND, lpCC: var TCommConfig): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "CommConfigDialogA".} +proc CommConfigDialogA*(lpszName: LPCSTR, hWnd: HWND, lpCC: var TCommConfig): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "CommConfigDialogA".} +proc CommConfigDialogW*(lpszName: LPWSTR, hWnd: HWND, lpCC: var TCommConfig): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "CommConfigDialogW".} + #function CompareFileTime(const lpFileTime1, lpFileTime2: TFileTime): Longint; stdcall; external 'kernel32' name 'CompareFileTime'; + #function ConvertToAutoInheritPrivateObjectSecurity(ParentDescriptor, CurrentSecurityDescriptor: PSecurityDescriptor; var NewDescriptor: PSecurityDescriptor; ObjectType: PGUID; IsDirectoryObject: WINBOOL; const GenericMapping: TGenericMapping): WINBOOL; + # stdcall; external 'advapi32' name 'ConvertToAutoInheritPrivateObjectSecurity'; +proc CopyAcceleratorTable*(hAccelSrc: HACCEL, lpAccelDst: pointer, + cAccelEntries: int): int{.stdcall, dynlib: "user32", + importc: "CopyAcceleratorTableA".} +proc CopyAcceleratorTableA*(hAccelSrc: HACCEL, lpAccelDst: pointer, + cAccelEntries: int): int{.stdcall, dynlib: "user32", + importc: "CopyAcceleratorTableA".} +proc CopyAcceleratorTableW*(hAccelSrc: HACCEL, lpAccelDst: pointer, + cAccelEntries: int): int{.stdcall, dynlib: "user32", + importc: "CopyAcceleratorTableW".} +proc CopyRect*(lprcDst: var TRect, lprcSrc: TRect): WINBOOL{.stdcall, + dynlib: "user32", importc: "CopyRect".} +proc CreateAcceleratorTable*(Accel: pointer, Count: int): HACCEL{.stdcall, + dynlib: "user32", importc: "CreateAcceleratorTableA".} +proc CreateAcceleratorTableA*(Accel: pointer, Count: int): HACCEL{.stdcall, + dynlib: "user32", importc: "CreateAcceleratorTableA".} +proc CreateAcceleratorTableW*(Accel: pointer, Count: int): HACCEL{.stdcall, + dynlib: "user32", importc: "CreateAcceleratorTableW".} + #function CreateBitmapIndirect(const p1: TBitmap): HBITMAP; stdcall; external 'gdi32' name 'CreateBitmapIndirect'; + #function CreateBrushIndirect(const p1: TLogBrush): HBRUSH; stdcall; external 'gdi32' name 'CreateBrushIndirect'; +proc CreateColorSpace*(ColorSpace: var TLogColorSpace): HCOLORSPACE{.stdcall, + dynlib: "gdi32", importc: "CreateColorSpaceA".} +proc CreateColorSpaceA*(ColorSpace: var TLogColorSpaceA): HCOLORSPACE{.stdcall, + dynlib: "gdi32", importc: "CreateColorSpaceA".} + #function CreateColorSpaceW(var ColorSpace: TLogColorSpaceW): HCOLORSPACE; stdcall; external 'gdi32' name 'CreateColorSpaceW'; +proc CreateDialogIndirectParam*(hInstance: HINST, lpTemplate: TDlgTemplate, + hWndParent: HWND, lpDialogFunc: TFNDlgProc, + dwInitParam: LPARAM): HWND{.stdcall, + dynlib: "user32", importc: "CreateDialogIndirectParamA".} + #function CreateDialogIndirectParamA(hInstance: HINST; const lpTemplate: TDlgTemplate; hWndParent: HWND; lpDialogFunc: TFNDlgProc; dwInitParam: LPARAM): HWND; stdcall; external 'user32' name 'CreateDialogIndirectParamA'; + #function CreateDialogIndirectParamW(hInstance: HINST; const lpTemplate: TDlgTemplate; hWndParent: HWND; lpDialogFunc: TFNDlgProc; dwInitParam: LPARAM): HWND; stdcall; external 'user32' name 'CreateDialogIndirectParamW'; + #function CreateDIBitmap(DC: HDC; var InfoHeader: TBitmapInfoHeader; dwUsage: DWORD; InitBits: PChar; var InitInfo: TBitmapInfo; wUsage: UINT): HBITMAP; stdcall; external 'gdi32' name 'CreateDIBitmap'; + #function CreateDIBPatternBrushPt(const p1: Pointer; p2: UINT): HBRUSH; stdcall; external 'gdi32' name 'CreateDIBPatternBrushPt'; + #function CreateDIBSection(DC: HDC; const p2: TBitmapInfo; p3: UINT; var p4: Pointer; p5: THandle; p6: DWORD): HBITMAP; stdcall; external 'gdi32' name 'CreateDIBSection'; + #function CreateEllipticRgnIndirect(const p1: TRect): HRGN; stdcall; external 'gdi32' name 'CreateEllipticRgnIndirect'; + #function CreateFontIndirect(const p1: TLogFont): HFONT;stdcall; external 'gdi32' name 'CreateFontIndirectA'; + #function CreateFontIndirectA(const p1: TLogFontA): HFONT; stdcall; external 'gdi32' name 'CreateFontIndirectA'; + #function CreateFontIndirectEx(const p1: PEnumLogFontExDV): HFONT;stdcall; external 'gdi32' name 'CreateFontIndirectExA'; + #function CreateFontIndirectExA(const p1: PEnumLogFontExDVA): HFONT;stdcall; external 'gdi32' name 'CreateFontIndirectExA'; + #function CreateFontIndirectExW(const p1: PEnumLogFontExDVW): HFONT;stdcall; external 'gdi32' name 'CreateFontIndirectExW'; + #function CreateFontIndirectW(const p1: TLogFontW): HFONT; stdcall; external 'gdi32' name 'CreateFontIndirectW'; +proc CreateIconIndirect*(piconinfo: var TIconInfo): HICON{.stdcall, + dynlib: "user32", importc: "CreateIconIndirect".} + #function CreatePalette(const LogPalette: TLogPalette): HPalette; stdcall; external 'gdi32' name 'CreatePalette'; + #function CreatePenIndirect(const LogPen: TLogPen): HPEN; stdcall; external 'gdi32' name 'CreatePenIndirect'; +proc CreatePipe*(hReadPipe, hWritePipe: var THandle, + lpPipeAttributes: PSecurityAttributes, nSize: DWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "CreatePipe".} +proc CreatePolygonRgn*(Points: pointer, Count, FillMode: int): HRGN{.stdcall, + dynlib: "gdi32", importc: "CreatePolygonRgn".} +proc CreatePolyPolygonRgn*(pPtStructs: pointer, pIntArray: pointer, p3, p4: int): HRGN{. + stdcall, dynlib: "gdi32", importc: "CreatePolyPolygonRgn".} + #function CreatePrivateObjectSecurity(ParentDescriptor, CreatorDescriptor: PSecurityDescriptor; var NewDescriptor: PSecurityDescriptor; IsDirectoryObject: WINBOOL; Token: THandle; const GenericMapping: TGenericMapping): WINBOOL; + # stdcall; external 'advapi32' name 'CreatePrivateObjectSecurity'; + #function CreatePrivateObjectSecurityEx(ParentDescriptor, CreatorDescriptor: PSecurityDescriptor; var NewDescriptor: PSecurityDescriptor; ObjectType: PGUID; IsContainerObject: WINBOOL; AutoInheritFlags: ULONG; Token: THandle; + # const GenericMapping: TGenericMapping): WINBOOL;stdcall; external 'advapi32' name 'CreatePrivateObjectSecurityEx'; +proc CreateProcess*(lpApplicationName: cstring, lpCommandLine: cstring, + lpProcessAttributes, lpThreadAttributes: PSecurityAttributes, + bInheritHandles: WINBOOL, dwCreationFlags: DWORD, + lpEnvironment: Pointer, lpCurrentDirectory: cstring, + lpStartupInfo: TStartupInfo, + lpProcessInformation: var TProcessInformation): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "CreateProcessA".} +proc CreateProcessA*(lpApplicationName: LPCSTR, lpCommandLine: LPCSTR, + lpProcessAttributes, lpThreadAttributes: PSecurityAttributes, + bInheritHandles: WINBOOL, dwCreationFlags: DWORD, + lpEnvironment: Pointer, lpCurrentDirectory: LPCSTR, + lpStartupInfo: TStartupInfo, + lpProcessInformation: var TProcessInformation): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "CreateProcessA".} + #function CreateProcessAsUser(hToken: THandle; lpApplicationName: PChar; lpCommandLine: PChar; lpProcessAttributes: PSecurityAttributes; lpThreadAttributes: PSecurityAttributes; bInheritHandles: WINBOOL; dwCreationFlags: DWORD; + # lpEnvironment: Pointer; lpCurrentDirectory: PChar; const lpStartupInfo: TStartupInfo; var lpProcessInformation: TProcessInformation): WINBOOL;stdcall; external 'advapi32' name 'CreateProcessAsUserA'; + #function CreateProcessAsUserA(hToken: THandle; lpApplicationName: LPCSTR; lpCommandLine: LPCSTR; lpProcessAttributes: PSecurityAttributes; lpThreadAttributes: PSecurityAttributes; bInheritHandles: WINBOOL; dwCreationFlags: DWORD; + # lpEnvironment: Pointer; lpCurrentDirectory: LPCSTR; const lpStartupInfo: TStartupInfo; var lpProcessInformation: TProcessInformation): WINBOOL; stdcall; external 'advapi32' name 'CreateProcessAsUserA'; + #function CreateProcessAsUserW(hToken: THandle; lpApplicationName: LPWSTR; lpCommandLine: LPWSTR; lpProcessAttributes: PSecurityAttributes; lpThreadAttributes: PSecurityAttributes; bInheritHandles: WINBOOL; dwCreationFlags: DWORD; + # lpEnvironment: Pointer; lpCurrentDirectory: LPWSTR; const lpStartupInfo: TStartupInfo; var lpProcessInformation: TProcessInformation): WINBOOL; stdcall; external 'advapi32' name 'CreateProcessAsUserW'; +proc CreateProcessW*(lpApplicationName: LPWSTR, lpCommandLine: LPWSTR, + lpProcessAttributes, lpThreadAttributes: PSecurityAttributes, + bInheritHandles: WINBOOL, dwCreationFlags: DWORD, + lpEnvironment: Pointer, lpCurrentDirectory: LPWSTR, + lpStartupInfo: TStartupInfo, + lpProcessInformation: var TProcessInformation): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "CreateProcessW".} + #function CreateRectRgnIndirect(const p1: TRect): HRGN; stdcall; external 'gdi32' name 'CreateRectRgnIndirect'; +proc CreateRemoteThread*(hProcess: THandle, lpThreadAttributes: Pointer, + dwStackSize: DWORD, + lpStartAddress: TFNThreadStartRoutine, + lpParameter: Pointer, dwCreationFlags: DWORD, + lpThreadId: var DWORD): THandle{.stdcall, + dynlib: "kernel32", importc: "CreateRemoteThread".} +proc CreateThread*(lpThreadAttributes: Pointer, dwStackSize: DWORD, + lpStartAddress: TFNThreadStartRoutine, lpParameter: Pointer, + dwCreationFlags: DWORD, lpThreadId: var DWORD): THandle{. + stdcall, dynlib: "kernel32", importc: "CreateThread".} +proc DdeSetQualityOfService*(hWndClient: HWnd, + pqosNew: TSecurityQualityOfService, + pqosPrev: PSecurityQualityOfService): WINBOOL{. + stdcall, dynlib: "user32", importc: "DdeSetQualityOfService".} + #function DeleteAce(var pAcl: TACL; dwAceIndex: DWORD): WINBOOL; stdcall; external 'advapi32' name 'DeleteAce'; +proc DescribePixelFormat*(DC: HDC, p2: int, p3: UINT, + p4: var TPixelFormatDescriptor): WINBOOL{.stdcall, + dynlib: "gdi32", importc: "DescribePixelFormat".} + #function DestroyPrivateObjectSecurity(var ObjectDescriptor: PSecurityDescriptor): WINBOOL; stdcall; external 'advapi32' name 'DestroyPrivateObjectSecurity'; +proc DeviceIoControl*(hDevice: THandle, dwIoControlCode: DWORD, + lpInBuffer: Pointer, nInBufferSize: DWORD, + lpOutBuffer: Pointer, nOutBufferSize: DWORD, + lpBytesReturned: var DWORD, lpOverlapped: POverlapped): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "DeviceIoControl".} +proc DialogBoxIndirectParam*(hInstance: HINST, lpDialogTemplate: TDlgTemplate, + hWndParent: HWND, lpDialogFunc: TFNDlgProc, + dwInitParam: LPARAM): int{.stdcall, + dynlib: "user32", importc: "DialogBoxIndirectParamA".} +proc DialogBoxIndirectParamA*(hInstance: HINST, lpDialogTemplate: TDlgTemplate, + hWndParent: HWND, lpDialogFunc: TFNDlgProc, + dwInitParam: LPARAM): int{.stdcall, + dynlib: "user32", importc: "DialogBoxIndirectParamA".} +proc DialogBoxIndirectParamW*(hInstance: HINST, lpDialogTemplate: TDlgTemplate, + hWndParent: HWND, lpDialogFunc: TFNDlgProc, + dwInitParam: LPARAM): int{.stdcall, + dynlib: "user32", importc: "DialogBoxIndirectParamW".} +proc DispatchMessage*(lpMsg: TMsg): int32{.stdcall, dynlib: "user32", + importc: "DispatchMessageA".} +proc DispatchMessageA*(lpMsg: TMsg): int32{.stdcall, dynlib: "user32", + importc: "DispatchMessageA".} +proc DispatchMessageW*(lpMsg: TMsg): int32{.stdcall, dynlib: "user32", + importc: "DispatchMessageW".} +proc DosDateTimeToFileTime*(wFatDate, wFatTime: int16, lpFileTime: var TFileTime): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "DosDateTimeToFileTime".} +proc DPtoLP*(DC: HDC, Points: pointer, Count: int): WINBOOL{.stdcall, + dynlib: "gdi32", importc: "DPtoLP".} + # function DrawAnimatedRects(hwnd: HWND; idAni: Integer; const lprcFrom, lprcTo: TRect): WINBOOL; stdcall; external 'user32' name 'DrawAnimatedRects'; + #function DrawCaption(p1: HWND; p2: HDC; const p3: TRect; p4: UINT): WINBOOL; stdcall; external 'user32' name 'DrawCaption'; +proc DrawEdge*(hdc: HDC, qrc: var TRect, edge: UINT, grfFlags: UINT): WINBOOL{. + stdcall, dynlib: "user32", importc: "DrawEdge".} + #function DrawFocusRect(hDC: HDC; const lprc: TRect): WINBOOL; stdcall; external 'user32' name 'DrawFocusRect'; +proc DrawFrameControl*(DC: HDC, Rect: TRect, uType, uState: UINT): WINBOOL{. + stdcall, dynlib: "user32", importc: "DrawFrameControl".} +proc DrawText*(hDC: HDC, lpString: cstring, nCount: int, lpRect: var TRect, + uFormat: UINT): int{.stdcall, dynlib: "user32", + importc: "DrawTextA".} +proc DrawTextA*(hDC: HDC, lpString: LPCSTR, nCount: int, lpRect: var TRect, + uFormat: UINT): int{.stdcall, dynlib: "user32", + importc: "DrawTextA".} +proc DrawTextEx*(DC: HDC, lpchText: cstring, cchText: int, p4: var TRect, + dwDTFormat: UINT, DTParams: PDrawTextParams): int{.stdcall, + dynlib: "user32", importc: "DrawTextExA".} +proc DrawTextExA*(DC: HDC, lpchText: LPCSTR, cchText: int, p4: var TRect, + dwDTFormat: UINT, DTParams: PDrawTextParams): int{.stdcall, + dynlib: "user32", importc: "DrawTextExA".} +proc DrawTextExW*(DC: HDC, lpchText: LPWSTR, cchText: int, p4: var TRect, + dwDTFormat: UINT, DTParams: PDrawTextParams): int{.stdcall, + dynlib: "user32", importc: "DrawTextExW".} +proc DrawTextW*(hDC: HDC, lpString: LPWSTR, nCount: int, lpRect: var TRect, + uFormat: UINT): int{.stdcall, dynlib: "user32", + importc: "DrawTextW".} + #function DuplicateTokenEx(hExistingToken: THandle; dwDesiredAccess: DWORD; lpTokenAttributes: PSecurityAttributes; ImpersonationLevel: TSecurityImpersonationLevel; TokenType: TTokenType; var phNewToken: THandle): WINBOOL; + # stdcall; external 'advapi32' name 'DuplicateTokenEx'; +proc EndPaint*(hWnd: HWND, lpPaint: TPaintStruct): WINBOOL{.stdcall, + dynlib: "user32", importc: "EndPaint".} + #function EnumDisplayDevices(Unused: Pointer; iDevNum: DWORD; var lpDisplayDevice: TDisplayDevice; dwFlags: DWORD): WINBOOL;stdcall; external 'user32' name 'EnumDisplayDevicesA'; + #function EnumDisplayDevicesA(Unused: Pointer; iDevNum: DWORD; var lpDisplayDevice: TDisplayDeviceA; dwFlags: DWORD): WINBOOL;stdcall; external 'user32' name 'EnumDisplayDevicesA'; + #function EnumDisplayDevicesW(Unused: Pointer; iDevNum: DWORD; var lpDisplayDevice: TDisplayDeviceW; dwFlags: DWORD): WINBOOL;stdcall; external 'user32' name 'EnumDisplayDevicesW'; +proc EnumDisplaySettings*(lpszDeviceName: cstring, iModeNum: DWORD, + lpDevMode: var TDeviceMode): WINBOOL{.stdcall, + dynlib: "user32", importc: "EnumDisplaySettingsA".} +proc EnumDisplaySettingsA*(lpszDeviceName: LPCSTR, iModeNum: DWORD, + lpDevMode: var TDeviceModeA): WINBOOL{.stdcall, + dynlib: "user32", importc: "EnumDisplaySettingsA".} +proc EnumDisplaySettingsW*(lpszDeviceName: LPWSTR, iModeNum: DWORD, + lpDevMode: var TDeviceModeW): WINBOOL{.stdcall, + dynlib: "user32", importc: "EnumDisplaySettingsW".} + #function EnumEnhMetaFile(DC: HDC; p2: HENHMETAFILE; p3: TFNEnhMFEnumProc; p4: Pointer; const p5: TRect): WINBOOL; stdcall; external 'gdi32' name 'EnumEnhMetaFile'; + #function EnumFontFamiliesEx(DC: HDC; var p2: TLogFont; p3: TFNFontEnumProc; p4: LPARAM; p5: DWORD): WINBOOL;stdcall; external 'gdi32' name 'EnumFontFamiliesExA'; + #function EnumFontFamiliesExA(DC: HDC; var p2: TLogFontA; p3: TFNFontEnumProcA; p4: LPARAM; p5: DWORD): WINBOOL; stdcall; external 'gdi32' name 'EnumFontFamiliesExA'; + #function EnumFontFamiliesExW(DC: HDC; var p2: TLogFontW; p3: TFNFontEnumProcW; p4: LPARAM; p5: DWORD): WINBOOL; stdcall; external 'gdi32' name 'EnumFontFamiliesExW'; + #function EqualRect(const lprc1, lprc2: TRect): WINBOOL; stdcall; external 'user32' name 'EqualRect'; +proc ExtCreatePen*(PenStyle, Width: DWORD, Brush: TLogBrush, StyleCount: DWORD, + Style: Pointer): HPEN{.stdcall, dynlib: "gdi32", + importc: "ExtCreatePen".} +proc ExtCreateRegion*(p1: PXForm, p2: DWORD, p3: TRgnData): HRGN{.stdcall, + dynlib: "gdi32", importc: "ExtCreateRegion".} + # function ExtEscape(DC: HDC; p2, p3: Integer; const p4: LPCSTR; p5: Integer; p6: LPSTR): Integer; stdcall; external 'gdi32' name 'ExtEscape'; +proc FileTimeToDosDateTime*(lpFileTime: TFileTime, + lpFatDate, lpFatTime: var int16): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "FileTimeToDosDateTime".} +proc FileTimeToLocalFileTime*(lpFileTime: TFileTime, + lpLocalFileTime: var TFileTime): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "FileTimeToLocalFileTime".} +proc FileTimeToSystemTime*(lpFileTime: TFileTime, lpSystemTime: var TSystemTime): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "FileTimeToSystemTime".} +proc FillConsoleOutputAttribute*(hConsoleOutput: THandle, wAttribute: int16, + nLength: DWORD, dwWriteCoord: TCoord, + lpNumberOfAttrsWritten: var DWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "FillConsoleOutputAttribute".} +proc FillConsoleOutputCharacter*(hConsoleOutput: THandle, cCharacter: Char, + nLength: DWORD, dwWriteCoord: TCoord, + lpNumberOfCharsWritten: var DWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "FillConsoleOutputCharacterA".} +proc FillConsoleOutputCharacterA*(hConsoleOutput: THandle, cCharacter: char, + nLength: DWORD, dwWriteCoord: TCoord, + lpNumberOfCharsWritten: var DWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "FillConsoleOutputCharacterA".} +proc FillConsoleOutputCharacterW*(hConsoleOutput: THandle, cCharacter: WideChar, + nLength: DWORD, dwWriteCoord: TCoord, + lpNumberOfCharsWritten: var DWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "FillConsoleOutputCharacterW".} + #function FillRect(hDC: HDC; const lprc: TRect; hbr: HBRUSH): Integer; stdcall; external 'user32' name 'FillRect'; +proc FindFirstFile*(lpFileName: cstring, lpFindFileData: var TWIN32FindData): THandle{. + stdcall, dynlib: "kernel32", importc: "FindFirstFileA".} +proc FindFirstFileA*(lpFileName: LPCSTR, lpFindFileData: var TWIN32FindDataA): THandle{. + stdcall, dynlib: "kernel32", importc: "FindFirstFileA".} +proc FindFirstFileW*(lpFileName: LPWSTR, lpFindFileData: var TWIN32FindDataW): THandle{. + stdcall, dynlib: "kernel32", importc: "FindFirstFileW".} + #function FindFirstFreeAce(var pAcl: TACL; var pAce: Pointer): WINBOOL; stdcall; external 'advapi32' name 'FindFirstFreeAce'; +proc FindNextFile*(hFindFile: THandle, lpFindFileData: var TWIN32FindData): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "FindNextFileA".} +proc FindNextFileA*(hFindFile: THandle, lpFindFileData: var TWIN32FindDataA): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "FindNextFileA".} +proc FindNextFileW*(hFindFile: THandle, lpFindFileData: var TWIN32FindDataW): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "FindNextFileW".} + #function FlushInstructionCache(hProcess: THandle; const lpBaseAddress: Pointer; dwSize: DWORD): WINBOOL; stdcall; external 'kernel32' name 'FlushInstructionCache'; + #function FlushViewOfFile(const lpBaseAddress: Pointer; dwNumberOfBytesToFlush: DWORD): WINBOOL; stdcall; external 'kernel32' name 'FlushViewOfFile'; + #function FrameRect(hDC: HDC; const lprc: TRect; hbr: HBRUSH): Integer; stdcall; external 'user32' name 'FrameRect'; + #function GetAce(const pAcl: TACL; dwAceIndex: DWORD; var pAce: Pointer): WINBOOL; stdcall; external 'advapi32' name 'GetAce'; + #function GetAclInformation(const pAcl: TACL; pAclInformation: Pointer; nAclInformationLength: DWORD; dwAclInformationClass: TAclInformationClass): WINBOOL; stdcall; external 'advapi32' name 'GetAclInformation'; + #function GetAltTabInfo(hwnd: HWND; iItem: Integer; var pati: TAltTabInfo; pszItemText: PChar; cchItemText: UINT): WINBOOL;stdcall; external 'user32' name 'GetAltTabInfoA'; + #function GetAltTabInfoA(hwnd: HWND; iItem: Integer; var pati: TAltTabInfo; pszItemText: LPCSTR; cchItemText: UINT): WINBOOL;stdcall; external 'user32' name 'GetAltTabInfoA'; + #function GetAltTabInfoW(hwnd: HWND; iItem: Integer; var pati: TAltTabInfo; pszItemText: LPWSTR; cchItemText: UINT): WINBOOL;stdcall; external 'user32' name 'GetAltTabInfoW'; +proc GetAspectRatioFilterEx*(DC: HDC, p2: var TSize): WINBOOL{.stdcall, + dynlib: "gdi32", importc: "GetAspectRatioFilterEx".} +proc GetBinaryType*(lpApplicationName: cstring, lpBinaryType: var DWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "GetBinaryTypeA".} +proc GetBinaryTypeA*(lpApplicationName: LPCSTR, lpBinaryType: var DWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "GetBinaryTypeA".} +proc GetBinaryTypeW*(lpApplicationName: LPWSTR, lpBinaryType: var DWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "GetBinaryTypeW".} +proc GetBitmapDimensionEx*(p1: HBITMAP, p2: var TSize): WINBOOL{.stdcall, + dynlib: "gdi32", importc: "GetBitmapDimensionEx".} +proc GetBoundsRect*(DC: HDC, p2: var TRect, p3: UINT): UINT{.stdcall, + dynlib: "gdi32", importc: "GetBoundsRect".} +proc GetBrushOrgEx*(DC: HDC, p2: var TPoint): WINBOOL{.stdcall, dynlib: "gdi32", + importc: "GetBrushOrgEx".} +proc GetCaretPos*(lpPoint: var TPoint): WINBOOL{.stdcall, dynlib: "user32", + importc: "GetCaretPos".} +proc GetCharABCWidths*(DC: HDC, p2, p3: UINT, ABCStructs: pointer): WINBOOL{. + stdcall, dynlib: "gdi32", importc: "GetCharABCWidthsA".} +proc GetCharABCWidthsA*(DC: HDC, p2, p3: UINT, ABCStructs: pointer): WINBOOL{. + stdcall, dynlib: "gdi32", importc: "GetCharABCWidthsA".} +proc GetCharABCWidthsFloat*(DC: HDC, p2, p3: UINT, ABCFloatSturcts: pointer): WINBOOL{. + stdcall, dynlib: "gdi32", importc: "GetCharABCWidthsFloatA".} +proc GetCharABCWidthsFloatA*(DC: HDC, p2, p3: UINT, ABCFloatSturcts: pointer): WINBOOL{. + stdcall, dynlib: "gdi32", importc: "GetCharABCWidthsFloatA".} +proc GetCharABCWidthsFloatW*(DC: HDC, p2, p3: UINT, ABCFloatSturcts: pointer): WINBOOL{. + stdcall, dynlib: "gdi32", importc: "GetCharABCWidthsFloatW".} + #function GetCharABCWidthsI(DC: HDC; p2, p3: UINT; p4: PWORD; const Widths): WINBOOL;stdcall; external 'gdi32' name 'GetCharABCWidthsI'; +proc GetCharABCWidthsW*(DC: HDC, p2, p3: UINT, ABCStructs: pointer): WINBOOL{. + stdcall, dynlib: "gdi32", importc: "GetCharABCWidthsW".} +proc GetCharacterPlacement*(DC: HDC, p2: cstring, p3, p4: WINBOOL, + p5: var TGCPResults, p6: DWORD): DWORD{.stdcall, + dynlib: "gdi32", importc: "GetCharacterPlacementA".} +proc GetCharacterPlacementA*(DC: HDC, p2: LPCSTR, p3, p4: WINBOOL, + p5: var TGCPResults, p6: DWORD): DWORD{.stdcall, + dynlib: "gdi32", importc: "GetCharacterPlacementA".} +proc GetCharacterPlacementW*(DC: HDC, p2: LPWSTR, p3, p4: WINBOOL, + p5: var TGCPResults, p6: DWORD): DWORD{.stdcall, + dynlib: "gdi32", importc: "GetCharacterPlacementW".} +proc GetCharWidth*(DC: HDC, p2, p3: UINT, Widths: pointer): WINBOOL{.stdcall, + dynlib: "gdi32", importc: "GetCharWidthA".} +proc GetCharWidth32*(DC: HDC, p2, p3: UINT, Widths: pointer): WINBOOL{.stdcall, + dynlib: "gdi32", importc: "GetCharWidth32A".} +proc GetCharWidth32A*(DC: HDC, p2, p3: UINT, Widths: pointer): WINBOOL{.stdcall, + dynlib: "gdi32", importc: "GetCharWidth32A".} +proc GetCharWidth32W*(DC: HDC, p2, p3: UINT, Widths: pointer): WINBOOL{.stdcall, + dynlib: "gdi32", importc: "GetCharWidth32W".} +proc GetCharWidthA*(DC: HDC, p2, p3: UINT, Widths: pointer): WINBOOL{.stdcall, + dynlib: "gdi32", importc: "GetCharWidthA".} +proc GetCharWidthFloat*(DC: HDC, p2, p3: UINT, Widths: pointer): WINBOOL{. + stdcall, dynlib: "gdi32", importc: "GetCharWidthFloatA".} +proc GetCharWidthFloatA*(DC: HDC, p2, p3: UINT, Widths: pointer): WINBOOL{. + stdcall, dynlib: "gdi32", importc: "GetCharWidthFloatA".} +proc GetCharWidthFloatW*(DC: HDC, p2, p3: UINT, Widths: pointer): WINBOOL{. + stdcall, dynlib: "gdi32", importc: "GetCharWidthFloatW".} + #function GetCharWidthI(DC: HDC; p2, p3: UINT; p4: PWORD; const Widths:pointer): WINBOOL;stdcall; external 'gdi32' name 'GetCharWidthI'; +proc GetCharWidthW*(DC: HDC, p2, p3: UINT, Widths: pointer): WINBOOL{.stdcall, + dynlib: "gdi32", importc: "GetCharWidthW".} +proc GetClassInfo*(hInstance: HINST, lpClassName: cstring, + lpWndClass: var TWndClass): WINBOOL{.stdcall, + dynlib: "user32", importc: "GetClassInfoA".} +proc GetClassInfoA*(hInstance: HINST, lpClassName: LPCSTR, + lpWndClass: var TWndClassA): WINBOOL{.stdcall, + dynlib: "user32", importc: "GetClassInfoA".} +proc GetClassInfoEx*(Instance: HINST, Classname: cstring, + WndClass: var TWndClassEx): WINBOOL{.stdcall, + dynlib: "user32", importc: "GetClassInfoExA".} + #function GetClassInfoExA(Instance: HINST; Classname: LPCSTR; var WndClass: TWndClassExA): WINBOOL; stdcall; external 'user32' name 'GetClassInfoExA'; + #function GetClassInfoExW(Instance: HINST; Classname: LPWSTR; var WndClass: TWndClassExW): WINBOOL; stdcall; external 'user32' name 'GetClassInfoExW'; + #function GetClassInfoW(hInstance: HINST; lpClassName: LPWSTR; var lpWndClass: TWndClassW): WINBOOL; stdcall; external 'user32' name 'GetClassInfoW'; +proc GetClientRect*(hWnd: HWND, lpRect: var TRect): WINBOOL{.stdcall, + dynlib: "user32", importc: "GetClientRect".} +proc GetClipBox*(DC: HDC, Rect: var TRect): int{.stdcall, dynlib: "gdi32", + importc: "GetClipBox".} +proc GetClipCursor*(lpRect: var TRect): WINBOOL{.stdcall, dynlib: "user32", + importc: "GetClipCursor".} +proc GetColorAdjustment*(DC: HDC, p2: var TColorAdjustment): WINBOOL{.stdcall, + dynlib: "gdi32", importc: "GetColorAdjustment".} +proc GetCommConfig*(hCommDev: THandle, lpCC: var TCommConfig, + lpdwSize: var DWORD): WINBOOL{.stdcall, dynlib: "kernel32", + importc: "GetCommConfig".} +proc GetCommMask*(hFile: THandle, lpEvtMask: var DWORD): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "GetCommMask".} +proc GetCommModemStatus*(hFile: THandle, lpModemStat: var DWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "GetCommModemStatus".} +proc GetCommProperties*(hFile: THandle, lpCommProp: var TCommProp): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "GetCommProperties".} +proc GetCommState*(hFile: THandle, lpDCB: var TDCB): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "GetCommState".} +proc GetCommTimeouts*(hFile: THandle, lpCommTimeouts: var TCommTimeouts): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "GetCommTimeouts".} +proc GetComputerName*(lpBuffer: cstring, nSize: var DWORD): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "GetComputerNameA".} +proc GetComputerNameA*(lpBuffer: LPCSTR, nSize: var DWORD): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "GetComputerNameA".} +proc GetComputerNameW*(lpBuffer: LPWSTR, nSize: var DWORD): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "GetComputerNameW".} +proc GetConsoleCursorInfo*(hConsoleOutput: THandle, + lpConsoleCursorInfo: var TConsoleCursorInfo): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "GetConsoleCursorInfo".} +proc GetConsoleMode*(hConsoleHandle: THandle, lpMode: var DWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "GetConsoleMode".} +proc GetConsoleScreenBufferInfo*(hConsoleOutput: THandle, + lpConsoleScreenBufferInfo: var TConsoleScreenBufferInfo): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "GetConsoleScreenBufferInfo".} +proc GetCPInfo*(CodePage: UINT, lpCPInfo: var TCPInfo): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "GetCPInfo".} + #function GetCurrentHwProfile(var lpHwProfileInfo: THWProfileInfo): WINBOOL;stdcall; external 'advapi32' name 'GetCurrentHwProfileA'; + #function GetCurrentHwProfileA(var lpHwProfileInfo: THWProfileInfoA): WINBOOL;stdcall; external 'advapi32' name 'GetCurrentHwProfileA'; + #function GetCurrentHwProfileW(var lpHwProfileInfo: THWProfileInfoW): WINBOOL;stdcall; external 'advapi32' name 'GetCurrentHwProfileW'; +proc GetCursorInfo*(pci: var TCursorInfo): WINBOOL{.stdcall, dynlib: "user32", + importc: "GetCursorInfo".} +proc GetCursorPos*(lpPoint: var TPoint): WINBOOL{.stdcall, dynlib: "user32", + importc: "GetCursorPos".} +proc GetDCOrgEx*(DC: HDC, Origin: var TPoint): WINBOOL{.stdcall, + dynlib: "gdi32", importc: "GetDCOrgEx".} +proc GetDefaultCommConfig*(lpszName: cstring, lpCC: var TCommConfig, + lpdwSize: var DWORD): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "GetDefaultCommConfigA".} +proc GetDefaultCommConfigA*(lpszName: LPCSTR, lpCC: var TCommConfig, + lpdwSize: var DWORD): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "GetDefaultCommConfigA".} +proc GetDefaultCommConfigW*(lpszName: LPWSTR, lpCC: var TCommConfig, + lpdwSize: var DWORD): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "GetDefaultCommConfigW".} +proc GetDIBColorTable*(DC: HDC, p2, p3: UINT, RGBQuadStructs: pointer): UINT{. + stdcall, dynlib: "gdi32", importc: "GetDIBColorTable".} +proc GetDIBits*(DC: HDC, Bitmap: HBitmap, StartScan, NumScans: UINT, + Bits: Pointer, BitInfo: var TBitmapInfo, Usage: UINT): int{. + stdcall, dynlib: "gdi32", importc: "GetDIBits".} +proc GetDiskFreeSpace*(lpRootPathName: cstring, lpSectorsPerCluster, + lpBytesPerSector, lpNumberOfFreeClusters, lpTotalNumberOfClusters: var DWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "GetDiskFreeSpaceA".} +proc GetDiskFreeSpaceA*(lpRootPathName: LPCSTR, lpSectorsPerCluster, + lpBytesPerSector, lpNumberOfFreeClusters, lpTotalNumberOfClusters: var DWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "GetDiskFreeSpaceA".} +proc GetDiskFreeSpaceEx*(lpDirectoryName: cstring, lpFreeBytesAvailableToCaller, + lpTotalNumberOfBytes: var TLargeInteger, + lpTotalNumberOfFreeBytes: PLargeInteger): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "GetDiskFreeSpaceExA".} +proc GetDiskFreeSpaceExA*(lpDirectoryName: LPCSTR, lpFreeBytesAvailableToCaller, + lpTotalNumberOfBytes: var TLargeInteger, + lpTotalNumberOfFreeBytes: PLargeInteger): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "GetDiskFreeSpaceExA".} +proc GetDiskFreeSpaceExW*(lpDirectoryName: LPWSTR, lpFreeBytesAvailableToCaller, + lpTotalNumberOfBytes: var TLargeInteger, + lpTotalNumberOfFreeBytes: PLargeInteger): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "GetDiskFreeSpaceExW".} +proc GetDiskFreeSpaceW*(lpRootPathName: LPWSTR, lpSectorsPerCluster, + lpBytesPerSector, lpNumberOfFreeClusters, lpTotalNumberOfClusters: var DWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "GetDiskFreeSpaceW".} +proc GetDiskFreeSpaceEx*(lpDirectoryName: cstring, lpFreeBytesAvailableToCaller, + lpTotalNumberOfBytes: pLargeInteger, lpTotalNumberOfFreeBytes: PLargeInteger): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "GetDiskFreeSpaceExA".} +proc GetDiskFreeSpaceExA*(lpDirectoryName: LPCSTR, lpFreeBytesAvailableToCaller, + lpTotalNumberOfBytes: pLargeInteger, lpTotalNumberOfFreeBytes: PLargeInteger): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "GetDiskFreeSpaceExA".} +proc GetDiskFreeSpaceExW*(lpDirectoryName: LPWSTR, lpFreeBytesAvailableToCaller, + lpTotalNumberOfBytes: pLargeInteger, lpTotalNumberOfFreeBytes: PLargeInteger): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "GetDiskFreeSpaceExW".} + #function GetEnhMetaFilePixelFormat(p1: HENHMETAFILE; p2: Cardinal; var p3: TPixelFormatDescriptor): UINT;stdcall; external 'gdi32' name 'GetEnhMetaFilePixelFormat'; +proc GetExitCodeProcess*(hProcess: THandle, lpExitCode: var DWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "GetExitCodeProcess".} +proc GetExitCodeThread*(hThread: THandle, lpExitCode: var DWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "GetExitCodeThread".} +proc GetFileInformationByHandle*(hFile: THandle, lpFileInformation: var TByHandleFileInformation): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "GetFileInformationByHandle".} + #function GetFileSecurity(lpFileName: PChar; RequestedInformation: SECURITY_INFORMATION; pSecurityDescriptor: PSecurityDescriptor; nLength: DWORD; var lpnLengthNeeded: DWORD): WINBOOL;stdcall; external 'advapi32' name 'GetFileSecurityA'; + #function GetFileSecurityA(lpFileName: LPCSTR; RequestedInformation: SECURITY_INFORMATION; pSecurityDescriptor: PSecurityDescriptor; nLength: DWORD; var lpnLengthNeeded: DWORD): WINBOOL; stdcall; external 'advapi32' name 'GetFileSecurityA'; + #function GetFileSecurityW(lpFileName: LPWSTR; RequestedInformation: SECURITY_INFORMATION; pSecurityDescriptor: PSecurityDescriptor; nLength: DWORD; var lpnLengthNeeded: DWORD): WINBOOL; stdcall; external 'advapi32' name 'GetFileSecurityW'; +proc GetFileVersionInfoSize*(lptstrFilename: cstring, lpdwHandle: var DWORD): DWORD{. + stdcall, dynlib: "version", importc: "GetFileVersionInfoSizeA".} +proc GetFileVersionInfoSizeA*(lptstrFilename: LPCSTR, lpdwHandle: var DWORD): DWORD{. + stdcall, dynlib: "version", importc: "GetFileVersionInfoSizeA".} +proc GetFileVersionInfoSizeW*(lptstrFilename: LPWSTR, lpdwHandle: var DWORD): DWORD{. + stdcall, dynlib: "version", importc: "GetFileVersionInfoSizeW".} + # removed because old definition was wrong ! + # function GetFullPathName(lpFileName: PChar; nBufferLength: DWORD; lpBuffer: PChar; var lpFilePart: PChar): DWORD;stdcall; external 'kernel32' name 'GetFullPathNameA'; + # function GetFullPathNameA(lpFileName: LPCSTR; nBufferLength: DWORD; lpBuffer: LPCSTR; var lpFilePart: LPCSTR): DWORD; stdcall; external 'kernel32' name 'GetFullPathNameA'; + # function GetFullPathNameW(lpFileName: LPWSTR; nBufferLength: DWORD; lpBuffer: LPWSTR; var lpFilePart: LPWSTR): DWORD; stdcall; external 'kernel32' name 'GetFullPathNameW'; +proc GetGlyphOutline*(DC: HDC, p2, p3: UINT, p4: TGlyphMetrics, p5: DWORD, + p6: Pointer, p7: TMat2): DWORD{.stdcall, dynlib: "gdi32", + importc: "GetGlyphOutlineA".} +proc GetGlyphOutlineA*(DC: HDC, p2, p3: UINT, p4: TGlyphMetrics, p5: DWORD, + p6: Pointer, p7: TMat2): DWORD{.stdcall, dynlib: "gdi32", + importc: "GetGlyphOutlineA".} +proc GetGlyphOutlineW*(DC: HDC, p2, p3: UINT, p4: TGlyphMetrics, p5: DWORD, + p6: Pointer, p7: TMat2): DWORD{.stdcall, dynlib: "gdi32", + importc: "GetGlyphOutlineW".} + #function GetGUIThreadInfo(idThread: DWORD; var pgui: TGUIThreadinfo): WINBOOL;stdcall; external 'user32' name 'GetGUIThreadInfo'; +proc GetHandleInformation*(hObject: THandle, lpdwFlags: var DWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "GetHandleInformation".} + #function GetICMProfile(DC: HDC; var Size: DWORD; Name: PChar): WINBOOL;stdcall; external 'gdi32' name 'GetICMProfileA'; + #function GetICMProfileA(DC: HDC; var Size: DWORD; Name: LPCSTR): WINBOOL; stdcall; external 'gdi32' name 'GetICMProfileA'; + #function GetICMProfileW(DC: HDC; var Size: DWORD; Name: LPWSTR): WINBOOL; stdcall; external 'gdi32' name 'GetICMProfileW'; +proc GetIconInfo*(hIcon: HICON, piconinfo: var TIconInfo): WINBOOL{.stdcall, + dynlib: "user32", importc: "GetIconInfo".} + #function GetKernelObjectSecurity(Handle: THandle; RequestedInformation: SECURITY_INFORMATION; pSecurityDescriptor: PSecurityDescriptor; nLength: DWORD; var lpnLengthNeeded: DWORD): WINBOOL; stdcall; external 'advapi32' name 'GetKernelObjectSecurity'; +proc GetKerningPairs*(DC: HDC, Count: DWORD, KerningPairs: pointer): DWORD{. + stdcall, dynlib: "gdi32", importc: "GetKerningPairs".} +proc GetKeyboardLayoutList*(nBuff: int, List: pointer): UINT{.stdcall, + dynlib: "user32", importc: "GetKeyboardLayoutList".} + #function GetKeyboardState(var KeyState: TKeyboardState): WINBOOL; stdcall; external 'user32' name 'GetKeyboardState'; + #function GetLastInputInfo(var plii: TLastInputInfo): WINBOOL;stdcall; external 'user32' name 'GetLastInputInfo'; +proc GetSystemTime*(lpSystemTime: var SYSTEMTIME){.stdcall, dynlib: "kernel32", + importc: "GetSystemTime".} +proc GetLocalTime*(SystemTime: var SYSTEMTIME){.stdcall, dynlib: "kernel32", + importc: "GetLocalTime".} +proc GetSystemInfo*(SystemInfo: var SYSTEM_INFO){.stdcall, dynlib: "kernel32", + importc: "GetSystemInfo".} +proc SetSystemTime*(lpSystemTime: var SYSTEMTIME): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "SetSystemTime".} +proc SetLocalTime*(lpSystemTime: var SYSTEMTIME): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "SetLocalTime".} +proc GetLogColorSpace*(p1: HCOLORSPACE, ColorSpace: var TLogColorSpace, + Size: DWORD): WINBOOL{.stdcall, dynlib: "gdi32", + importc: "GetLogColorSpaceA".} +proc GetLogColorSpaceA*(p1: HCOLORSPACE, ColorSpace: var TLogColorSpaceA, + Size: DWORD): WINBOOL{.stdcall, dynlib: "gdi32", + importc: "GetLogColorSpaceA".} + #function GetLogColorSpaceW(p1: HCOLORSPACE; var ColorSpace: TLogColorSpaceW; Size: DWORD): WINBOOL; stdcall; external 'gdi32' name 'GetLogColorSpaceW'; +proc GetMailslotInfo*(hMailslot: THandle, lpMaxMessageSize: Pointer, + lpNextSize: var DWORD, + lpMessageCount, lpReadTimeout: Pointer): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "GetMailslotInfo".} + #function GetMenuBarInfo(hend: HWND; idObject, idItem: Longint; var pmbi: TMenuBarInfo): WINBOOL;stdcall; external 'user32' name 'GetMenuBarInfo'; + #function GetMenuInfo(hMenu: HMENU; var lpmi: TMenuInfo): WINBOOL;stdcall; external 'user32' name 'GetMenuInfo'; +proc GetMenuItemInfo*(p1: HMENU, p2: UINT, p3: WINBOOL, p4: var TMenuItemInfo): WINBOOL{. + stdcall, dynlib: "user32", importc: "GetMenuItemInfoA".} +proc GetMenuItemInfoA*(p1: HMENU, p2: UINT, p3: WINBOOL, p4: var TMenuItemInfoA): WINBOOL{. + stdcall, dynlib: "user32", importc: "GetMenuItemInfoA".} + #function GetMenuItemInfoW(p1: HMENU; p2: UINT; p3: WINBOOL; var p4: TMenuItemInfoW): WINBOOL; stdcall; external 'user32' name 'GetMenuItemInfoW'; +proc GetMenuItemRect*(hWnd: HWND, hMenu: HMENU, uItem: UINT, lprcItem: var TRect): WINBOOL{. + stdcall, dynlib: "user32", importc: "GetMenuItemRect".} +proc GetMessage*(lpMsg: var TMsg, hWnd: HWND, wMsgFilterMin, wMsgFilterMax: UINT): WINBOOL{. + stdcall, dynlib: "user32", importc: "GetMessageA".} +proc GetMessageA*(lpMsg: var TMsg, hWnd: HWND, + wMsgFilterMin, wMsgFilterMax: UINT): WINBOOL{.stdcall, + dynlib: "user32", importc: "GetMessageA".} +proc GetMessageW*(lpMsg: var TMsg, hWnd: HWND, + wMsgFilterMin, wMsgFilterMax: UINT): WINBOOL{.stdcall, + dynlib: "user32", importc: "GetMessageW".} +proc GetMiterLimit*(DC: HDC, Limit: var float32): WINBOOL{.stdcall, + dynlib: "gdi32", importc: "GetMiterLimit".} + #function GetMouseMovePoints(cbSize: UINT; var lppt, lpptBuf: TMouseMovePoint; nBufPoints: Integer; resolution: DWORD): Integer;stdcall; external 'user32' name 'GetMouseMovePoints'; +proc GetNamedPipeInfo*(hNamedPipe: THandle, lpFlags: var DWORD, + lpOutBufferSize, lpInBufferSize, lpMaxInstances: Pointer): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "GetNamedPipeInfo".} +proc GetNumberOfConsoleInputEvents*(hConsoleInput: THandle, + lpNumberOfEvents: var DWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "GetNumberOfConsoleInputEvents".} +proc GetNumberOfConsoleMouseButtons*(lpNumberOfMouseButtons: var DWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "GetNumberOfConsoleMouseButtons".} + #function GetNumberOfEventLogRecords(hEventLog: THandle; var NumberOfRecords: DWORD): WINBOOL; stdcall; external 'advapi32' name 'GetNumberOfEventLogRecords'; + #function GetOldestEventLogRecord(hEventLog: THandle; var OldestRecord: DWORD): WINBOOL; stdcall; external 'advapi32' name 'GetOldestEventLogRecord'; +proc GetOverlappedResult*(hFile: THandle, lpOverlapped: TOverlapped, + lpNumberOfBytesTransferred: var DWORD, bWait: WINBOOL): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "GetOverlappedResult".} +proc GetPaletteEntries*(Palette: HPALETTE, StartIndex, NumEntries: UINT, + PaletteEntries: pointer): UINT{.stdcall, + dynlib: "gdi32", importc: "GetPaletteEntries".} +proc GetPath*(DC: HDC, Points, Types: pointer, nSize: int): int{.stdcall, + dynlib: "gdi32", importc: "GetPath".} +proc GetPriorityClipboardFormat*(paFormatPriorityList: pointer, cFormats: int): int{. + stdcall, dynlib: "user32", importc: "GetPriorityClipboardFormat".} + #function GetPrivateObjectSecurity(ObjectDescriptor: PSecurityDescriptor; SecurityInformation: SECURITY_INFORMATION; ResultantDescriptor: PSecurityDescriptor; DescriptorLength: DWORD; var ReturnLength: DWORD): WINBOOL; + # stdcall; external 'advapi32' name 'GetPrivateObjectSecurity'; +proc GetPrivateProfileSectionNamesA*(lpszReturnBuffer: LPSTR, nSize: DWORD, + lpFileName: LPCSTR): DWORD{.stdcall, + dynlib: "kernel32", importc: "GetPrivateProfileSectionNamesA".} +proc GetPrivateProfileSectionNamesW*(lpszReturnBuffer: LPWSTR, nSize: DWORD, + lpFileName: LPCWSTR): DWORD{.stdcall, + dynlib: "kernel32", importc: "GetPrivateProfileSectionNamesW".} +proc GetPrivateProfileSectionNames*(lpszReturnBuffer: LPTSTR, nSize: DWORD, + lpFileName: LPCTSTR): DWORD{.stdcall, + dynlib: "kernel32", importc: "GetPrivateProfileSectionNamesA".} +proc GetPrivateProfileStructA*(lpszSection, lpszKey: LPCSTR, lpStruct: LPVOID, + uSizeStruct: UINT, szFile: LPCSTR): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "GetPrivateProfileStructA".} +proc GetPrivateProfileStructW*(lpszSection, lpszKey: LPCWSTR, lpStruct: LPVOID, + uSizeStruct: UINT, szFile: LPCWSTR): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "GetPrivateProfileStructW".} +proc GetPrivateProfileStruct*(lpszSection, lpszKey: LPCTSTR, lpStruct: LPVOID, + uSizeStruct: UINT, szFile: LPCTSTR): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "GetPrivateProfileStructA".} +proc GetProcessAffinityMask*(hProcess: THandle, lpProcessAffinityMask, + lpSystemAffinityMask: var DWORD): WINBOOL{.stdcall, dynlib: "kernel32", + importc: "GetProcessAffinityMask".} +proc GetProcessHeaps*(NumberOfHeaps: DWORD, ProcessHeaps: var THandle): DWORD{. + stdcall, dynlib: "kernel32", importc: "GetProcessHeaps".} +proc GetProcessPriorityBoost*(hThread: THandle, + DisablePriorityBoost: var WINBOOL): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "GetProcessPriorityBoost".} +proc GetProcessShutdownParameters*(lpdwLevel, lpdwFlags: var DWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "GetProcessShutdownParameters".} +proc GetProcessTimes*(hProcess: THandle, lpCreationTime, lpExitTime, + lpKernelTime, lpUserTime: var TFileTime): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "GetProcessTimes".} +proc GetProcessWorkingSetSize*(hProcess: THandle, lpMinimumWorkingSetSize, + lpMaximumWorkingSetSize: var DWORD): WINBOOL{.stdcall, dynlib: "kernel32", + importc: "GetProcessWorkingSetSize".} +proc GetQueuedCompletionStatus*(CompletionPort: THandle, + lpNumberOfBytesTransferred, lpCompletionKey: var DWORD, + lpOverlapped: var POverlapped, + dwMilliseconds: DWORD): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "GetQueuedCompletionStatus".} +proc GetRasterizerCaps*(p1: var TRasterizerStatus, p2: UINT): WINBOOL{.stdcall, + dynlib: "gdi32", importc: "GetRasterizerCaps".} +proc GetRgnBox*(RGN: HRGN, p2: var TRect): int{.stdcall, dynlib: "gdi32", + importc: "GetRgnBox".} +proc GetScrollInfo*(hWnd: HWND, BarFlag: int, ScrollInfo: var TScrollInfo): WINBOOL{. + stdcall, dynlib: "user32", importc: "GetScrollInfo".} +proc GetScrollRange*(hWnd: HWND, nBar: int, lpMinPos, lpMaxPos: var int): WINBOOL{. + stdcall, dynlib: "user32", importc: "GetScrollRange".} + #function GetSecurityDescriptorControl(pSecurityDescriptor: PSecurityDescriptor; var pControl: SECURITY_DESCRIPTOR_CONTROL; var lpdwRevision: DWORD): WINBOOL; stdcall; external 'advapi32' name 'GetSecurityDescriptorControl'; + #function GetSecurityDescriptorDacl(pSecurityDescriptor: PSecurityDescriptor; var lpbDaclPresent: WINBOOL; var pDacl: PACL; var lpbDaclDefaulted: WINBOOL): WINBOOL; stdcall; external 'advapi32' name 'GetSecurityDescriptorDacl'; + #function GetSecurityDescriptorGroup(pSecurityDescriptor: PSecurityDescriptor; var pGroup: PSID; var lpbGroupDefaulted: WINBOOL): WINBOOL; stdcall; external 'advapi32' name 'GetSecurityDescriptorGroup'; + #function GetSecurityDescriptorOwner(pSecurityDescriptor: PSecurityDescriptor; var pOwner: PSID; var lpbOwnerDefaulted: WINBOOL): WINBOOL; stdcall; external 'advapi32' name 'GetSecurityDescriptorOwner'; + #function GetSecurityDescriptorSacl(pSecurityDescriptor: PSecurityDescriptor; var lpbSaclPresent: WINBOOL; var pSacl: PACL; var lpbSaclDefaulted: WINBOOL): WINBOOL; stdcall; external 'advapi32' name 'GetSecurityDescriptorSacl'; +proc GetStartupInfo*(lpStartupInfo: var TSTARTUPINFO){.stdcall, + dynlib: "kernel32", importc: "GetStartupInfoA".} +proc GetStringTypeA*(Locale: LCID, dwInfoType: DWORD, lpSrcStr: LPCSTR, + cchSrc: WINBOOL, lpCharType: var int16): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "GetStringTypeA".} +proc GetStringTypeEx*(Locale: LCID, dwInfoType: DWORD, lpSrcStr: cstring, + cchSrc: int, lpCharType: var int16): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "GetStringTypeExA".} +proc GetStringTypeExA*(Locale: LCID, dwInfoType: DWORD, lpSrcStr: LPCSTR, + cchSrc: int, lpCharType: var int16): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "GetStringTypeExA".} +proc GetStringTypeExW*(Locale: LCID, dwInfoType: DWORD, lpSrcStr: LPWSTR, + cchSrc: int, lpCharType: var int16): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "GetStringTypeExW".} +proc GetStringTypeW*(dwInfoType: DWORD, lpSrcStr: WCHAR, cchSrc: WINBOOL, + lpCharType: var int16): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "GetStringTypeW".} +proc GetSystemPaletteEntries*(DC: HDC, StartIndex, NumEntries: UINT, + PaletteEntries: pointer): UINT{.stdcall, + dynlib: "gdi32", importc: "GetSystemPaletteEntries".} +proc GetSystemPowerStatus*(lpSystemPowerStatus: var TSystemPowerStatus): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "GetSystemPowerStatus".} +proc GetSystemTimeAdjustment*(lpTimeAdjustment, lpTimeIncrement: var DWORD, + lpTimeAdjustmentDisabled: var WINBOOL): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "GetSystemTimeAdjustment".} +proc GetSystemTimeAsFileTime*(lpSystemTimeAsFileTime: var TFILETIME){.stdcall, + dynlib: "kernel32", importc: "GetSystemTimeAsFileTime".} +proc GetTabbedTextExtent*(hDC: HDC, lpString: cstring, + nCount, nTabPositions: int, + lpnTabStopPositions: pointer): DWORD{.stdcall, + dynlib: "user32", importc: "GetTabbedTextExtentA".} +proc GetTabbedTextExtentA*(hDC: HDC, lpString: LPCSTR, + nCount, nTabPositions: int, + lpnTabStopPositions: pointer): DWORD{.stdcall, + dynlib: "user32", importc: "GetTabbedTextExtentA".} +proc GetTabbedTextExtentW*(hDC: HDC, lpString: LPWSTR, + nCount, nTabPositions: int, + lpnTabStopPositions: pointer): DWORD{.stdcall, + dynlib: "user32", importc: "GetTabbedTextExtentW".} +proc GetTapeParameters*(hDevice: THandle, dwOperation: DWORD, + lpdwSize: var DWORD, lpTapeInformation: Pointer): DWORD{. + stdcall, dynlib: "kernel32", importc: "GetTapeParameters".} +proc GetTapePosition*(hDevice: THandle, dwPositionType: DWORD, + lpdwPartition, lpdwOffsetLow: var DWORD, + lpdwOffsetHigh: Pointer): DWORD{.stdcall, + dynlib: "kernel32", importc: "GetTapePosition".} +proc GetTextExtentExPoint*(DC: HDC, p2: cstring, p3, p4: int, p5, p6: PInteger, + p7: var TSize): WINBOOL{.stdcall, dynlib: "gdi32", + importc: "GetTextExtentExPointA".} +proc GetTextExtentExPointA*(DC: HDC, p2: LPCSTR, p3, p4: int, p5, p6: PInteger, + p7: var TSize): WINBOOL{.stdcall, dynlib: "gdi32", + importc: "GetTextExtentExPointA".} + #function GetTextExtentExPointI(DC: HDC; p2: PWORD; p3, p4: Integer; p5, p6: PINT; var p7: TSize): WINBOOL;stdcall; external 'gdi32' name 'GetTextExtentExPointI'; +proc GetTextExtentExPointW*(DC: HDC, p2: LPWSTR, p3, p4: int, p5, p6: PInteger, + p7: var TSize): WINBOOL{.stdcall, dynlib: "gdi32", + importc: "GetTextExtentExPointW".} +proc GetTextExtentPoint*(DC: HDC, Str: cstring, Count: int, Size: var TSize): WINBOOL{. + stdcall, dynlib: "gdi32", importc: "GetTextExtentPointA".} +proc GetTextExtentPoint32*(DC: HDC, Str: cstring, Count: int, Size: var TSize): WINBOOL{. + stdcall, dynlib: "gdi32", importc: "GetTextExtentPoint32A".} +proc GetTextExtentPoint32A*(DC: HDC, Str: LPCSTR, Count: int, Size: var TSize): WINBOOL{. + stdcall, dynlib: "gdi32", importc: "GetTextExtentPoint32A".} +proc GetTextExtentPoint32W*(DC: HDC, Str: LPWSTR, Count: int, Size: var TSize): WINBOOL{. + stdcall, dynlib: "gdi32", importc: "GetTextExtentPoint32W".} +proc GetTextExtentPointA*(DC: HDC, Str: LPCSTR, Count: int, Size: var TSize): WINBOOL{. + stdcall, dynlib: "gdi32", importc: "GetTextExtentPointA".} + #function GetTextExtentPointI(DC: HDC; p2: PWORD; p3: Integer; var p4: TSize): WINBOOL;stdcall; external 'gdi32' name 'GetTextExtentPointI'; +proc GetTextExtentPointW*(DC: HDC, Str: LPWSTR, Count: int, Size: var TSize): WINBOOL{. + stdcall, dynlib: "gdi32", importc: "GetTextExtentPointW".} +proc GetTextMetrics*(DC: HDC, TM: var TTextMetric): WINBOOL{.stdcall, + dynlib: "gdi32", importc: "GetTextMetricsA".} + #function GetTextMetricsA(DC: HDC; var TM: TTextMetricA): WINBOOL; stdcall; external 'gdi32' name 'GetTextMetricsA'; + #function GetTextMetricsW(DC: HDC; var TM: TTextMetricW): WINBOOL; stdcall; external 'gdi32' name 'GetTextMetricsW'; +proc GetThreadContext*(hThread: THandle, lpContext: var TContext): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "GetThreadContext".} +proc GetThreadPriorityBoost*(hThread: THandle, DisablePriorityBoost: var WINBOOL): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "GetThreadPriorityBoost".} +proc GetThreadSelectorEntry*(hThread: THandle, dwSelector: DWORD, + lpSelectorEntry: var TLDTEntry): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "GetThreadSelectorEntry".} +proc GetThreadTimes*(hThread: THandle, lpCreationTime, lpExitTime, lpKernelTime, + lpUserTime: var TFileTime): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "GetThreadTimes".} +proc GetTimeZoneInformation*(lpTimeZoneInformation: var TTimeZoneInformation): DWORD{. + stdcall, dynlib: "kernel32", importc: "GetTimeZoneInformation".} + #function GetTitleBarInfo(hwnd: HWND; var pti: TTitleBarInfo): WINBOOL;stdcall; external 'user32' name 'GetTitleBarInfo'; + #function GetTokenInformation(TokenHandle: THandle; TokenInformationClass: TTokenInformationClass; TokenInformation: Pointer; TokenInformationLength: DWORD; var ReturnLength: DWORD): WINBOOL; stdcall; external 'advapi32' name 'GetTokenInformation'; +proc GetUpdateRect*(hWnd: HWND, lpRect: var TRect, bErase: WINBOOL): WINBOOL{. + stdcall, dynlib: "user32", importc: "GetUpdateRect".} +proc GetUserName*(lpBuffer: cstring, nSize: var DWORD): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "GetUserNameA".} +proc GetUserNameA*(lpBuffer: LPCSTR, nSize: var DWORD): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "GetUserNameA".} +proc GetUserNameW*(lpBuffer: LPWSTR, nSize: var DWORD): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "GetUserNameW".} +proc GetUserObjectInformation*(hObj: THandle, nIndex: int, pvInfo: Pointer, + nLength: DWORD, lpnLengthNeeded: var DWORD): WINBOOL{. + stdcall, dynlib: "user32", importc: "GetUserObjectInformationA".} +proc GetUserObjectInformationA*(hObj: THandle, nIndex: int, pvInfo: Pointer, + nLength: DWORD, lpnLengthNeeded: var DWORD): WINBOOL{. + stdcall, dynlib: "user32", importc: "GetUserObjectInformationA".} +proc GetUserObjectInformationW*(hObj: THandle, nIndex: int, pvInfo: Pointer, + nLength: DWORD, lpnLengthNeeded: var DWORD): WINBOOL{. + stdcall, dynlib: "user32", importc: "GetUserObjectInformationW".} +proc GetUserObjectSecurity*(hObj: THandle, pSIRequested: var DWORD, + pSID: PSecurityDescriptor, nLength: DWORD, + lpnLengthNeeded: var DWORD): WINBOOL{.stdcall, + dynlib: "user32", importc: "GetUserObjectSecurity".} +proc GetVersionEx*(lpVersionInformation: var TOSVersionInfo): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "GetVersionExA".} +proc GetVersionExA*(lpVersionInformation: var TOSVersionInfo): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "GetVersionExA".} +proc GetVersionExW*(lpVersionInformation: var TOSVersionInfoW): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "GetVersionExW".} +proc GetViewportExtEx*(DC: HDC, Size: var TSize): WINBOOL{.stdcall, + dynlib: "gdi32", importc: "GetViewportExtEx".} +proc GetViewportOrgEx*(DC: HDC, Point: var TPoint): WINBOOL{.stdcall, + dynlib: "gdi32", importc: "GetViewportOrgEx".} +proc GetVolumeInformation*(lpRootPathName: cstring, lpVolumeNameBuffer: cstring, + nVolumeNameSize: DWORD, lpVolumeSerialNumber: PDWORD, + lpMaximumComponentLength, lpFileSystemFlags: var DWORD, + lpFileSystemNameBuffer: cstring, + nFileSystemNameSize: DWORD): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "GetVolumeInformationA".} +proc GetVolumeInformationA*(lpRootPathName: LPCSTR, lpVolumeNameBuffer: LPCSTR, + nVolumeNameSize: DWORD, + lpVolumeSerialNumber: PDWORD, + lpMaximumComponentLength, lpFileSystemFlags: var DWORD, + lpFileSystemNameBuffer: LPCSTR, + nFileSystemNameSize: DWORD): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "GetVolumeInformationA".} +proc GetVolumeInformationW*(lpRootPathName: LPWSTR, lpVolumeNameBuffer: LPWSTR, + nVolumeNameSize: DWORD, + lpVolumeSerialNumber: PDWORD, + lpMaximumComponentLength, lpFileSystemFlags: var DWORD, + lpFileSystemNameBuffer: LPWSTR, + nFileSystemNameSize: DWORD): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "GetVolumeInformationW".} +proc GetWindowExtEx*(DC: HDC, Size: var TSize): WINBOOL{.stdcall, + dynlib: "gdi32", importc: "GetWindowExtEx".} + #function GetWindowInfo(hwnd: HWND; var pwi: TWindowInfo): WINBOOL;stdcall; external 'user32' name 'GetWindowInfo'; +proc GetWindowOrgEx*(DC: HDC, Point: var TPoint): WINBOOL{.stdcall, + dynlib: "gdi32", importc: "GetWindowOrgEx".} +proc GetWindowRect*(hWnd: HWND, lpRect: var TRect): WINBOOL{.stdcall, + dynlib: "user32", importc: "GetWindowRect".} +proc GetWorldTransform*(DC: HDC, p2: var TXForm): WINBOOL{.stdcall, + dynlib: "gdi32", importc: "GetWorldTransform".} + #function GradientFill(DC: HDC; var p2: TTriVertex; p3: ULONG; p4: Pointer; p5, p6: ULONG): WINBOOL;stdcall; external 'gdi32' name 'GradientFill'; +proc GlobalMemoryStatus*(Buffer: var MEMORYSTATUS){.stdcall, dynlib: "kernel32", + importc: "GlobalMemoryStatus".} +proc HeapWalk*(hHeap: THandle, lpEntry: var TProcessHeapEntry): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "HeapWalk".} +proc ImageList_GetDragImage*(ppt: var POINT, pptHotspot: var POINT): HIMAGELIST{. + stdcall, dynlib: "comctl32", importc: "ImageList_GetDragImage".} +proc InflateRect*(lprc: var TRect, dx, dy: int): WINBOOL{.stdcall, + dynlib: "user32", importc: "InflateRect".} +proc InitializeAcl*(pAcl: var TACL, nAclLength, dwAclRevision: DWORD): WINBOOL{. + stdcall, dynlib: "advapi32", importc: "InitializeAcl".} +proc InitializeCriticalSectionAndSpinCount*( + lpCriticalSection: var TRTLCriticalSection, dwSpinCount: DWORD): WINBOOL{. + stdcall, dynlib: "kernel32", + importc: "InitializeCriticalSectionAndSpinCount".} +proc InitializeSid*(Sid: Pointer, pIdentifierAuthority: TSIDIdentifierAuthority, + nSubAuthorityCount: int8): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "InitializeSid".} +proc InsertMenuItem*(p1: HMENU, p2: UINT, p3: WINBOOL, p4: TMenuItemInfo): WINBOOL{. + stdcall, dynlib: "user32", importc: "InsertMenuItemA".} +proc InsertMenuItemA*(p1: HMENU, p2: UINT, p3: WINBOOL, p4: TMenuItemInfoA): WINBOOL{. + stdcall, dynlib: "user32", importc: "InsertMenuItemA".} + #function InsertMenuItemW(p1: HMENU; p2: UINT; p3: WINBOOL; const p4: TMenuItemInfoW): WINBOOL; stdcall; external 'user32' name 'InsertMenuItemW'; +proc IntersectRect*(lprcDst: var TRect, lprcSrc1, lprcSrc2: TRect): WINBOOL{. + stdcall, dynlib: "user32", importc: "IntersectRect".} + #function InvertRect(hDC: HDC; const lprc: TRect): WINBOOL; stdcall; external 'user32' name 'InvertRect'; +proc IsDialogMessage*(hDlg: HWND, lpMsg: var TMsg): WINBOOL{.stdcall, + dynlib: "user32", importc: "IsDialogMessageA".} +proc IsDialogMessageA*(hDlg: HWND, lpMsg: var TMsg): WINBOOL{.stdcall, + dynlib: "user32", importc: "IsDialogMessageA".} +proc IsDialogMessageW*(hDlg: HWND, lpMsg: var TMsg): WINBOOL{.stdcall, + dynlib: "user32", importc: "IsDialogMessageW".} + #function IsRectEmpty(const lprc: TRect): WINBOOL; stdcall; external 'user32' name 'IsRectEmpty'; +proc IsValidAcl*(pAcl: TACL): WINBOOL{.stdcall, dynlib: "advapi32", + importc: "IsValidAcl".} +proc LocalFileTimeToFileTime*(lpLocalFileTime: TFileTime, + lpFileTime: var TFileTime): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "LocalFileTimeToFileTime".} +proc LockFileEx*(hFile: THandle, dwFlags, dwReserved: DWORD, + nNumberOfBytesToLockLow, nNumberOfBytesToLockHigh: DWORD, + lpOverlapped: TOverlapped): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "LockFileEx".} +proc LogonUser*(lpszUsername, lpszDomain, lpszPassword: cstring, + dwLogonType, dwLogonProvider: DWORD, phToken: var THandle): WINBOOL{. + stdcall, dynlib: "advapi32", importc: "LogonUserA".} +proc LogonUserA*(lpszUsername, lpszDomain, lpszPassword: LPCSTR, + dwLogonType, dwLogonProvider: DWORD, phToken: var THandle): WINBOOL{. + stdcall, dynlib: "advapi32", importc: "LogonUserA".} +proc LogonUserW*(lpszUsername, lpszDomain, lpszPassword: LPWSTR, + dwLogonType, dwLogonProvider: DWORD, phToken: var THandle): WINBOOL{. + stdcall, dynlib: "advapi32", importc: "LogonUserW".} +proc LookupAccountName*(lpSystemName, lpAccountName: cstring, Sid: PSID, + cbSid: var DWORD, ReferencedDomainName: cstring, + cbReferencedDomainName: var DWORD, + peUse: var SID_NAME_USE): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "LookupAccountNameA".} +proc LookupAccountNameA*(lpSystemName, lpAccountName: LPCSTR, Sid: PSID, + cbSid: var DWORD, ReferencedDomainName: LPCSTR, + cbReferencedDomainName: var DWORD, + peUse: var SID_NAME_USE): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "LookupAccountNameA".} +proc LookupAccountNameW*(lpSystemName, lpAccountName: LPWSTR, Sid: PSID, + cbSid: var DWORD, ReferencedDomainName: LPWSTR, + cbReferencedDomainName: var DWORD, + peUse: var SID_NAME_USE): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "LookupAccountNameW".} +proc LookupAccountSid*(lpSystemName: cstring, Sid: PSID, Name: cstring, + cbName: var DWORD, ReferencedDomainName: cstring, + cbReferencedDomainName: var DWORD, + peUse: var SID_NAME_USE): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "LookupAccountSidA".} +proc LookupAccountSidA*(lpSystemName: LPCSTR, Sid: PSID, Name: LPCSTR, + cbName: var DWORD, ReferencedDomainName: LPCSTR, + cbReferencedDomainName: var DWORD, + peUse: var SID_NAME_USE): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "LookupAccountSidA".} +proc LookupAccountSidW*(lpSystemName: LPWSTR, Sid: PSID, Name: LPWSTR, + cbName: var DWORD, ReferencedDomainName: LPWSTR, + cbReferencedDomainName: var DWORD, + peUse: var SID_NAME_USE): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "LookupAccountSidW".} +proc LookupPrivilegeDisplayName*(lpSystemName, lpName: LPCSTR, + lpDisplayName: cstring, + cbDisplayName, lpLanguageId: var DWORD): WINBOOL{. + stdcall, dynlib: "advapi32", importc: "LookupPrivilegeDisplayNameA".} +proc LookupPrivilegeDisplayNameA*(lpSystemName, lpName: LPCSTR, + lpDisplayName: LPCSTR, + cbDisplayName, lpLanguageId: var DWORD): WINBOOL{. + stdcall, dynlib: "advapi32", importc: "LookupPrivilegeDisplayNameA".} +proc LookupPrivilegeDisplayNameW*(lpSystemName, lpName: LPCSTR, + lpDisplayName: LPWSTR, + cbDisplayName, lpLanguageId: var DWORD): WINBOOL{. + stdcall, dynlib: "advapi32", importc: "LookupPrivilegeDisplayNameW".} +proc LookupPrivilegeName*(lpSystemName: cstring, lpLuid: var TLargeInteger, + lpName: cstring, cbName: var DWORD): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "LookupPrivilegeNameA".} +proc LookupPrivilegeNameA*(lpSystemName: LPCSTR, lpLuid: var TLargeInteger, + lpName: LPCSTR, cbName: var DWORD): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "LookupPrivilegeNameA".} +proc LookupPrivilegeNameW*(lpSystemName: LPWSTR, lpLuid: var TLargeInteger, + lpName: LPWSTR, cbName: var DWORD): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "LookupPrivilegeNameW".} +proc LookupPrivilegeValue*(lpSystemName, lpName: cstring, + lpLuid: var TLargeInteger): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "LookupPrivilegeValueA".} +proc LookupPrivilegeValueA*(lpSystemName, lpName: LPCSTR, + lpLuid: var TLargeInteger): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "LookupPrivilegeValueA".} +proc LookupPrivilegeValueW*(lpSystemName, lpName: LPWSTR, + lpLuid: var TLargeInteger): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "LookupPrivilegeValueW".} +proc LPtoDP*(DC: HDC, Points: pointer, Count: int): WINBOOL{.stdcall, + dynlib: "gdi32", importc: "LPtoDP".} +proc MakeAbsoluteSD*(pSelfRelativeSecurityDescriptor: PSecurityDescriptor, + pAbsoluteSecurityDescriptor: PSecurityDescriptor, + lpdwAbsoluteSecurityDescriptorSi: var DWORD, + pDacl: var TACL, lpdwDaclSize: var DWORD, pSacl: var TACL, + lpdwSaclSize: var DWORD, pOwner: PSID, + lpdwOwnerSize: var DWORD, pPrimaryGroup: Pointer, + lpdwPrimaryGroupSize: var DWORD): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "MakeAbsoluteSD".} +proc MakeSelfRelativeSD*(pAbsoluteSecurityDescriptor: PSecurityDescriptor, + pSelfRelativeSecurityDescriptor: PSecurityDescriptor, + lpdwBufferLength: var DWORD): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "MakeSelfRelativeSD".} +proc MapDialogRect*(hDlg: HWND, lpRect: var TRect): WINBOOL{.stdcall, + dynlib: "user32", importc: "MapDialogRect".} +proc MapWindowPoints*(hWndFrom, hWndTo: HWND, lpPoints: pointer, cPoints: UINT): int{. + stdcall, dynlib: "user32", importc: "MapWindowPoints".} +proc MessageBoxIndirect*(MsgBoxParams: TMsgBoxParams): WINBOOL{.stdcall, + dynlib: "user32", importc: "MessageBoxIndirectA".} +proc MessageBoxIndirectA*(MsgBoxParams: TMsgBoxParamsA): WINBOOL{.stdcall, + dynlib: "user32", importc: "MessageBoxIndirectA".} + #function MessageBoxIndirectW(const MsgBoxParams: TMsgBoxParamsW): WINBOOL; stdcall; external 'user32' name 'MessageBoxIndirectW'; + #function ModifyWorldTransform(DC: HDC; const p2: TXForm; p3: DWORD): WINBOOL; stdcall; external 'gdi32' name 'ModifyWorldTransform'; +proc MsgWaitForMultipleObjects*(nCount: DWORD, pHandles: pointer, + fWaitAll: WINBOOL, + dwMilliseconds, dwWakeMask: DWORD): DWORD{. + stdcall, dynlib: "user32", importc: "MsgWaitForMultipleObjects".} +proc MsgWaitForMultipleObjectsEx*(nCount: DWORD, pHandles: pointer, + dwMilliseconds, dwWakeMask, dwFlags: DWORD): DWORD{. + stdcall, dynlib: "user32", importc: "MsgWaitForMultipleObjectsEx".} + # function MultiByteToWideChar(CodePage: UINT; dwFlags: DWORD; const lpMultiByteStr: LPCSTR; cchMultiByte: Integer; lLPWSTRStr: LPWSTR; cchWideChar: Integer): Integer; stdcall; external 'kernel32' name 'MultiByteToWideChar'; +proc ObjectOpenAuditAlarm*(SubsystemName: cstring, HandleId: Pointer, + ObjectTypeName: cstring, ObjectName: cstring, + pSecurityDescriptor: PSecurityDescriptor, + ClientToken: THandle, + DesiredAccess, GrantedAccess: DWORD, + Privileges: var TPrivilegeSet, + ObjectCreation, AccessGranted: WINBOOL, + GenerateOnClose: var WINBOOL): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "ObjectOpenAuditAlarmA".} +proc ObjectOpenAuditAlarmA*(SubsystemName: LPCSTR, HandleId: Pointer, + ObjectTypeName: LPCSTR, ObjectName: LPCSTR, + pSecurityDescriptor: PSecurityDescriptor, + ClientToken: THandle, + DesiredAccess, GrantedAccess: DWORD, + Privileges: var TPrivilegeSet, + ObjectCreation, AccessGranted: WINBOOL, + GenerateOnClose: var WINBOOL): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "ObjectOpenAuditAlarmA".} +proc ObjectOpenAuditAlarmW*(SubsystemName: LPWSTR, HandleId: Pointer, + ObjectTypeName: LPWSTR, ObjectName: LPWSTR, + pSecurityDescriptor: PSecurityDescriptor, + ClientToken: THandle, + DesiredAccess, GrantedAccess: DWORD, + Privileges: var TPrivilegeSet, + ObjectCreation, AccessGranted: WINBOOL, + GenerateOnClose: var WINBOOL): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "ObjectOpenAuditAlarmW".} +proc ObjectPrivilegeAuditAlarm*(SubsystemName: cstring, HandleId: Pointer, + ClientToken: THandle, DesiredAccess: DWORD, + Privileges: var TPrivilegeSet, + AccessGranted: WINBOOL): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "ObjectPrivilegeAuditAlarmA".} +proc ObjectPrivilegeAuditAlarmA*(SubsystemName: LPCSTR, HandleId: Pointer, + ClientToken: THandle, DesiredAccess: DWORD, + Privileges: var TPrivilegeSet, + AccessGranted: WINBOOL): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "ObjectPrivilegeAuditAlarmA".} +proc ObjectPrivilegeAuditAlarmW*(SubsystemName: LPWSTR, HandleId: Pointer, + ClientToken: THandle, DesiredAccess: DWORD, + Privileges: var TPrivilegeSet, + AccessGranted: WINBOOL): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "ObjectPrivilegeAuditAlarmW".} +proc OffsetRect*(lprc: var TRect, dx, dy: int): WINBOOL{.stdcall, + dynlib: "user32", importc: "OffsetRect".} +proc OffsetViewportOrgEx*(DC: HDC, X, Y: int, Points: pointer): WINBOOL{. + stdcall, dynlib: "gdi32", importc: "OffsetViewportOrgEx".} +proc OffsetWindowOrgEx*(DC: HDC, X, Y: int, Points: pointer): WINBOOL{.stdcall, + dynlib: "gdi32", importc: "OffsetWindowOrgEx".} +proc OpenFile*(lpFileName: LPCSTR, lpReOpenBuff: var TOFStruct, uStyle: UINT): HFILE{. + stdcall, dynlib: "kernel32", importc: "OpenFile".} +proc OpenProcessToken*(ProcessHandle: THandle, DesiredAccess: DWORD, + TokenHandle: var THandle): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "OpenProcessToken".} +proc OpenThreadToken*(ThreadHandle: THandle, DesiredAccess: DWORD, + OpenAsSelf: WINBOOL, TokenHandle: var THandle): WINBOOL{. + stdcall, dynlib: "advapi32", importc: "OpenThreadToken".} +proc PeekConsoleInput*(hConsoleInput: THandle, lpBuffer: var TInputRecord, + nLength: DWORD, lpNumberOfEventsRead: var DWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "PeekConsoleInputA".} +proc PeekConsoleInputA*(hConsoleInput: THandle, lpBuffer: var TInputRecord, + nLength: DWORD, lpNumberOfEventsRead: var DWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "PeekConsoleInputA".} +proc PeekConsoleInputW*(hConsoleInput: THandle, lpBuffer: var TInputRecord, + nLength: DWORD, lpNumberOfEventsRead: var DWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "PeekConsoleInputW".} +proc PeekMessage*(lpMsg: var TMsg, hWnd: HWND, + wMsgFilterMin, wMsgFilterMax, wRemoveMsg: UINT): WINBOOL{. + stdcall, dynlib: "user32", importc: "PeekMessageA".} +proc PeekMessageA*(lpMsg: var TMsg, hWnd: HWND, + wMsgFilterMin, wMsgFilterMax, wRemoveMsg: UINT): WINBOOL{. + stdcall, dynlib: "user32", importc: "PeekMessageA".} +proc PeekMessageW*(lpMsg: var TMsg, hWnd: HWND, + wMsgFilterMin, wMsgFilterMax, wRemoveMsg: UINT): WINBOOL{. + stdcall, dynlib: "user32", importc: "PeekMessageW".} + #function PlayEnhMetaFile(DC: HDC; p2: HENHMETAFILE; const p3: TRect): WINBOOL; stdcall; external 'gdi32' name 'PlayEnhMetaFile'; +proc PlayEnhMetaFileRecord*(DC: HDC, p2: var THandleTable, p3: TEnhMetaRecord, + p4: UINT): WINBOOL{.stdcall, dynlib: "gdi32", + importc: "PlayEnhMetaFileRecord".} +proc PlayMetaFileRecord*(DC: HDC, p2: THandleTable, p3: TMetaRecord, p4: UINT): WINBOOL{. + stdcall, dynlib: "gdi32", importc: "PlayMetaFileRecord".} +proc PlgBlt*(DC: HDC, PointsArray: pointer, p3: HDC, p4, p5, p6, p7: int, + p8: HBITMAP, p9, p10: int): WINBOOL{.stdcall, dynlib: "gdi32", + importc: "PlgBlt".} +proc PolyBezier*(DC: HDC, Points: pointer, Count: DWORD): WINBOOL{.stdcall, + dynlib: "gdi32", importc: "PolyBezier".} +proc PolyBezierTo*(DC: HDC, Points: pointer, Count: DWORD): WINBOOL{.stdcall, + dynlib: "gdi32", importc: "PolyBezierTo".} +proc PolyDraw*(DC: HDC, Points, Types: pointer, cCount: int): WINBOOL{.stdcall, + dynlib: "gdi32", importc: "PolyDraw".} +proc Polygon*(DC: HDC, Points: pointer, Count: int): WINBOOL{.stdcall, + dynlib: "gdi32", importc: "Polygon".} +proc Polyline*(DC: HDC, Points: pointer, Count: int): WINBOOL{.stdcall, + dynlib: "gdi32", importc: "Polyline".} +proc PolyLineTo*(DC: HDC, Points: pointer, Count: DWORD): WINBOOL{.stdcall, + dynlib: "gdi32", importc: "PolylineTo".} +proc PolyPolygon*(DC: HDC, Points: pointer, nPoints: pointer, p4: int): WINBOOL{. + stdcall, dynlib: "gdi32", importc: "PolyPolygon".} +proc PolyPolyline*(DC: HDC, PointStructs: pointer, Points: pointer, p4: DWORD): WINBOOL{. + stdcall, dynlib: "gdi32", importc: "PolyPolyline".} +proc PolyTextOut*(DC: HDC, PolyTextArray: pointer, Strings: int): WINBOOL{. + stdcall, dynlib: "gdi32", importc: "PolyTextOutA".} +proc PolyTextOutA*(DC: HDC, PolyTextArray: pointer, Strings: int): WINBOOL{. + stdcall, dynlib: "gdi32", importc: "PolyTextOutA".} +proc PolyTextOutW*(DC: HDC, PolyTextArray: pointer, Strings: int): WINBOOL{. + stdcall, dynlib: "gdi32", importc: "PolyTextOutW".} +proc PrivilegeCheck*(ClientToken: THandle, RequiredPrivileges: TPrivilegeSet, + pfResult: var WINBOOL): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "PrivilegeCheck".} +proc PrivilegedServiceAuditAlarm*(SubsystemName, ServiceName: cstring, + ClientToken: THandle, + Privileges: var TPrivilegeSet, + AccessGranted: WINBOOL): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "PrivilegedServiceAuditAlarmA".} +proc PrivilegedServiceAuditAlarmA*(SubsystemName, ServiceName: LPCSTR, + ClientToken: THandle, + Privileges: var TPrivilegeSet, + AccessGranted: WINBOOL): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "PrivilegedServiceAuditAlarmA".} +proc PrivilegedServiceAuditAlarmW*(SubsystemName, ServiceName: LPWSTR, + ClientToken: THandle, + Privileges: var TPrivilegeSet, + AccessGranted: WINBOOL): WINBOOL{.stdcall, + dynlib: "advapi32", importc: "PrivilegedServiceAuditAlarmW".} + #function PtInRect(const lprc: TRect; pt: TPoint): WINBOOL; stdcall; external 'user32' name 'PtInRect'; +proc QueryPerformanceCounter*(lpPerformanceCount: var TLargeInteger): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "QueryPerformanceCounter".} +proc QueryPerformanceFrequency*(lpFrequency: var TLargeInteger): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "QueryPerformanceFrequency".} + #function QueryRecoveryAgents(p1: PChar; var p2: Pointer; var p3: TRecoveryAgentInformation): DWORD;stdcall; external 'kernel32' name 'QueryRecoveryAgentsA'; + #function QueryRecoveryAgentsA(p1: LPCSTR; var p2: Pointer; var p3: TRecoveryAgentInformationA): DWORD;stdcall; external 'kernel32' name 'QueryRecoveryAgentsA'; + #function QueryRecoveryAgentsW(p1: LPWSTR; var p2: Pointer; var p3: TRecoveryAgentInformationW): DWORD;stdcall; external 'kernel32' name 'QueryRecoveryAgentsW'; +proc RaiseException*(dwExceptionCode: DWORD, dwExceptionFlags: DWORD, + nNumberOfArguments: DWORD, lpArguments: var DWORD){. + stdcall, dynlib: "kernel32", importc: "RaiseException".} +proc UnhandledExceptionFilter*(ExceptionInfo: var emptyrecord): LONG{.stdcall, + dynlib: "kernel32", importc: "UnhandledExceptionFilter".} +proc ReadConsole*(hConsoleInput: THandle, lpBuffer: Pointer, + nNumberOfCharsToRead: DWORD, lpNumberOfCharsRead: var DWORD, + lpReserved: Pointer): WINBOOL{.stdcall, dynlib: "kernel32", + importc: "ReadConsoleA".} +proc ReadConsoleA*(hConsoleInput: THandle, lpBuffer: Pointer, + nNumberOfCharsToRead: DWORD, lpNumberOfCharsRead: var DWORD, + lpReserved: Pointer): WINBOOL{.stdcall, dynlib: "kernel32", + importc: "ReadConsoleA".} +proc ReadConsoleInput*(hConsoleInput: THandle, lpBuffer: var TInputRecord, + nLength: DWORD, lpNumberOfEventsRead: var DWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "ReadConsoleInputA".} +proc ReadConsoleInputA*(hConsoleInput: THandle, lpBuffer: var TInputRecord, + nLength: DWORD, lpNumberOfEventsRead: var DWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "ReadConsoleInputA".} +proc ReadConsoleInputW*(hConsoleInput: THandle, lpBuffer: var TInputRecord, + nLength: DWORD, lpNumberOfEventsRead: var DWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "ReadConsoleInputW".} +proc ReadConsoleOutput*(hConsoleOutput: THandle, lpBuffer: Pointer, + dwBufferSize, dwBufferCoord: TCoord, + lpReadRegion: var TSmallRect): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "ReadConsoleOutputA".} +proc ReadConsoleOutputA*(hConsoleOutput: THandle, lpBuffer: Pointer, + dwBufferSize, dwBufferCoord: TCoord, + lpReadRegion: var TSmallRect): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "ReadConsoleOutputA".} +proc ReadConsoleOutputAttribute*(hConsoleOutput: THandle, lpAttribute: Pointer, + nLength: DWORD, dwReadCoord: TCoord, + lpNumberOfAttrsRead: var DWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "ReadConsoleOutputAttribute".} +proc ReadConsoleOutputCharacter*(hConsoleOutput: THandle, lpCharacter: LPCSTR, + nLength: DWORD, dwReadCoord: TCoord, + lpNumberOfCharsRead: var DWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "ReadConsoleOutputCharacterA".} +proc ReadConsoleOutputCharacterA*(hConsoleOutput: THandle, lpCharacter: LPCSTR, + nLength: DWORD, dwReadCoord: TCoord, + lpNumberOfCharsRead: var DWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "ReadConsoleOutputCharacterA".} +proc ReadConsoleOutputCharacterW*(hConsoleOutput: THandle, lpCharacter: LPCSTR, + nLength: DWORD, dwReadCoord: TCoord, + lpNumberOfCharsRead: var DWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "ReadConsoleOutputCharacterW".} +proc ReadConsoleOutputW*(hConsoleOutput: THandle, lpBuffer: Pointer, + dwBufferSize, dwBufferCoord: TCoord, + lpReadRegion: var TSmallRect): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "ReadConsoleOutputW".} +proc ReadConsoleW*(hConsoleInput: THandle, lpBuffer: Pointer, + nNumberOfCharsToRead: DWORD, lpNumberOfCharsRead: var DWORD, + lpReserved: Pointer): WINBOOL{.stdcall, dynlib: "kernel32", + importc: "ReadConsoleW".} +proc ReadEventLog*(hEventLog: THandle, dwReadFlags, dwRecordOffset: DWORD, + lpBuffer: Pointer, nNumberOfBytesToRead: DWORD, + pnBytesRead, pnMinNumberOfBytesNeeded: var DWORD): WINBOOL{. + stdcall, dynlib: "advapi32", importc: "ReadEventLogA".} +proc ReadEventLogA*(hEventLog: THandle, dwReadFlags, dwRecordOffset: DWORD, + lpBuffer: Pointer, nNumberOfBytesToRead: DWORD, + pnBytesRead, pnMinNumberOfBytesNeeded: var DWORD): WINBOOL{. + stdcall, dynlib: "advapi32", importc: "ReadEventLogA".} +proc ReadEventLogW*(hEventLog: THandle, dwReadFlags, dwRecordOffset: DWORD, + lpBuffer: Pointer, nNumberOfBytesToRead: DWORD, + pnBytesRead, pnMinNumberOfBytesNeeded: var DWORD): WINBOOL{. + stdcall, dynlib: "advapi32", importc: "ReadEventLogW".} +proc ReadFile*(hFile: THandle, Buffer: pointer, nNumberOfBytesToRead: DWORD, + lpNumberOfBytesRead: var DWORD, lpOverlapped: POverlapped): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "ReadFile".} +proc ReadProcessMemory*(hProcess: THandle, lpBaseAddress: Pointer, + lpBuffer: Pointer, nSize: DWORD, + lpNumberOfBytesRead: var DWORD): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "ReadProcessMemory".} + #function RectInRegion(RGN: HRGN; const p2: TRect): WINBOOL; stdcall; external 'gdi32' name 'RectInRegion'; + #function RectVisible(DC: HDC; const Rect: TRect): WINBOOL; stdcall; external 'gdi32' name 'RectVisible'; +proc RegConnectRegistry*(lpMachineName: cstring, hKey: HKEY, phkResult: var HKEY): int32{. + stdcall, dynlib: "advapi32", importc: "RegConnectRegistryA".} +proc RegConnectRegistryA*(lpMachineName: LPCSTR, hKey: HKEY, phkResult: var HKEY): int32{. + stdcall, dynlib: "advapi32", importc: "RegConnectRegistryA".} +proc RegConnectRegistryW*(lpMachineName: LPWSTR, hKey: HKEY, phkResult: var HKEY): int32{. + stdcall, dynlib: "advapi32", importc: "RegConnectRegistryW".} +proc RegCreateKey*(hKey: HKEY, lpSubKey: cstring, phkResult: var HKEY): int32{. + stdcall, dynlib: "advapi32", importc: "RegCreateKeyA".} +proc RegCreateKeyA*(hKey: HKEY, lpSubKey: LPCSTR, phkResult: var HKEY): int32{. + stdcall, dynlib: "advapi32", importc: "RegCreateKeyA".} +proc RegCreateKeyEx*(hKey: HKEY, lpSubKey: cstring, Reserved: DWORD, + lpClass: cstring, dwOptions: DWORD, samDesired: REGSAM, + lpSecurityAttributes: PSecurityAttributes, + phkResult: var HKEY, lpdwDisposition: PDWORD): int32{. + stdcall, dynlib: "advapi32", importc: "RegCreateKeyExA".} +proc RegCreateKeyExA*(hKey: HKEY, lpSubKey: LPCSTR, Reserved: DWORD, + lpClass: LPCSTR, dwOptions: DWORD, samDesired: REGSAM, + lpSecurityAttributes: PSecurityAttributes, + phkResult: var HKEY, lpdwDisposition: PDWORD): int32{. + stdcall, dynlib: "advapi32", importc: "RegCreateKeyExA".} +proc RegCreateKeyExW*(hKey: HKEY, lpSubKey: LPWSTR, Reserved: DWORD, + lpClass: LPWSTR, dwOptions: DWORD, samDesired: REGSAM, + lpSecurityAttributes: PSecurityAttributes, + phkResult: var HKEY, lpdwDisposition: PDWORD): int32{. + stdcall, dynlib: "advapi32", importc: "RegCreateKeyExW".} +proc RegCreateKeyW*(hKey: HKEY, lpSubKey: LPWSTR, phkResult: var HKEY): int32{. + stdcall, dynlib: "advapi32", importc: "RegCreateKeyW".} +proc RegEnumKeyEx*(hKey: HKEY, dwIndex: DWORD, lpName: cstring, + lpcbName: var DWORD, lpReserved: Pointer, lpClass: cstring, + lpcbClass: PDWORD, lpftLastWriteTime: PFileTime): int32{. + stdcall, dynlib: "advapi32", importc: "RegEnumKeyExA".} +proc RegEnumKeyExA*(hKey: HKEY, dwIndex: DWORD, lpName: LPCSTR, + lpcbName: var DWORD, lpReserved: Pointer, lpClass: LPCSTR, + lpcbClass: PDWORD, lpftLastWriteTime: PFileTime): int32{. + stdcall, dynlib: "advapi32", importc: "RegEnumKeyExA".} +proc RegEnumKeyExW*(hKey: HKEY, dwIndex: DWORD, lpName: LPWSTR, + lpcbName: var DWORD, lpReserved: Pointer, lpClass: LPWSTR, + lpcbClass: PDWORD, lpftLastWriteTime: PFileTime): int32{. + stdcall, dynlib: "advapi32", importc: "RegEnumKeyExW".} +proc RegEnumValue*(hKey: HKEY, dwIndex: DWORD, lpValueName: cstring, + lpcbValueName: var DWORD, lpReserved: Pointer, + lpType: PDWORD, lpData: PByte, lpcbData: PDWORD): int32{. + stdcall, dynlib: "advapi32", importc: "RegEnumValueA".} +proc RegEnumValueA*(hKey: HKEY, dwIndex: DWORD, lpValueName: cstring, + lpcbValueName: var DWORD, lpReserved: Pointer, + lpType: PDWORD, lpData: PByte, lpcbData: PDWORD): int32{. + stdcall, dynlib: "advapi32", importc: "RegEnumValueA".} +proc RegEnumValueW*(hKey: HKEY, dwIndex: DWORD, lpValueName: cstring, + lpcbValueName: var DWORD, lpReserved: Pointer, + lpType: PDWORD, lpData: PByte, lpcbData: PDWORD): int32{. + stdcall, dynlib: "advapi32", importc: "RegEnumValueW".} +proc RegGetKeySecurity*(hKey: HKEY, SecurityInformation: SECURITY_INFORMATION, + pSecurityDescriptor: PSecurityDescriptor, + lpcbSecurityDescriptor: var DWORD): int32{.stdcall, + dynlib: "advapi32", importc: "RegGetKeySecurity".} +proc RegSetValueEx*(hKey: HKEY, lpValueName: LPCSTR, Reserved: DWORD, + dwType: DWORD, lpData: pointer, cbData: DWORD): LONG{. + stdcall, dynlib: "advapi32", importc: "RegSetValueExA".} +proc RegSetValueExA*(hKey: HKEY, lpValueName: LPCSTR, Reserved: DWORD, + dwType: DWORD, lpData: pointer, cbData: DWORD): LONG{. + stdcall, dynlib: "advapi32", importc: "RegSetValueExA".} +proc RegSetValueExW*(hKey: HKEY, lpValueName: LPCWSTR, Reserved: DWORD, + dwType: DWORD, lpData: pointer, cbData: DWORD): LONG{. + stdcall, dynlib: "advapi32", importc: "RegSetValueExW".} +proc RegisterClass*(lpWndClass: TWndClass): ATOM{.stdcall, dynlib: "user32", + importc: "RegisterClassA".} +proc RegisterClassA*(lpWndClass: TWndClassA): ATOM{.stdcall, dynlib: "user32", + importc: "RegisterClassA".} +proc RegisterClassEx*(WndClass: TWndClassEx): ATOM{.stdcall, dynlib: "user32", + importc: "RegisterClassExA".} +proc RegisterClassExA*(WndClass: TWndClassExA): ATOM{.stdcall, dynlib: "user32", + importc: "RegisterClassExA".} +proc RegisterClassExW*(WndClass: TWndClassExW): ATOM{.stdcall, dynlib: "user32", + importc: "RegisterClassExW".} +proc RegisterClassW*(lpWndClass: TWndClassW): ATOM{.stdcall, dynlib: "user32", + importc: "RegisterClassW".} +proc RegOpenKey*(hKey: HKEY, lpSubKey: cstring, phkResult: var HKEY): int32{. + stdcall, dynlib: "advapi32", importc: "RegOpenKeyA".} +proc RegOpenKeyA*(hKey: HKEY, lpSubKey: LPCSTR, phkResult: var HKEY): int32{. + stdcall, dynlib: "advapi32", importc: "RegOpenKeyA".} +proc RegOpenKeyEx*(hKey: HKEY, lpSubKey: cstring, ulOptions: DWORD, + samDesired: REGSAM, phkResult: var HKEY): int32{.stdcall, + dynlib: "advapi32", importc: "RegOpenKeyExA".} +proc RegOpenKeyExA*(hKey: HKEY, lpSubKey: LPCSTR, ulOptions: DWORD, + samDesired: REGSAM, phkResult: var HKEY): int32{.stdcall, + dynlib: "advapi32", importc: "RegOpenKeyExA".} +proc RegOpenKeyExW*(hKey: HKEY, lpSubKey: LPWSTR, ulOptions: DWORD, + samDesired: REGSAM, phkResult: var HKEY): int32{.stdcall, + dynlib: "advapi32", importc: "RegOpenKeyExW".} +proc RegOpenKeyW*(hKey: HKEY, lpSubKey: LPWSTR, phkResult: var HKEY): int32{. + stdcall, dynlib: "advapi32", importc: "RegOpenKeyW".} +proc RegQueryMultipleValues*(hKey: HKEY, ValList: pointer, NumVals: DWORD, + lpValueBuf: cstring, ldwTotsize: var DWORD): int32{. + stdcall, dynlib: "advapi32", importc: "RegQueryMultipleValuesA".} +proc RegQueryMultipleValuesA*(hKey: HKEY, ValList: pointer, NumVals: DWORD, + lpValueBuf: LPCSTR, ldwTotsize: var DWORD): int32{. + stdcall, dynlib: "advapi32", importc: "RegQueryMultipleValuesA".} +proc RegQueryMultipleValuesW*(hKey: HKEY, ValList: pointer, NumVals: DWORD, + lpValueBuf: LPWSTR, ldwTotsize: var DWORD): int32{. + stdcall, dynlib: "advapi32", importc: "RegQueryMultipleValuesW".} +proc RegQueryValue*(hKey: HKEY, lpSubKey: cstring, lpValue: cstring, + lpcbValue: var int32): int32{.stdcall, dynlib: "advapi32", + importc: "RegQueryValueA".} +proc RegQueryValueA*(hKey: HKEY, lpSubKey: LPCSTR, lpValue: LPCSTR, + lpcbValue: var int32): int32{.stdcall, dynlib: "advapi32", + importc: "RegQueryValueA".} +proc RegQueryValueW*(hKey: HKEY, lpSubKey: LPWSTR, lpValue: LPWSTR, + lpcbValue: var int32): int32{.stdcall, dynlib: "advapi32", + importc: "RegQueryValueW".} +proc ResetDC*(DC: HDC, p2: TDeviceMode): HDC{.stdcall, dynlib: "gdi32", + importc: "ResetDCA".} +proc ResetDCA*(DC: HDC, p2: TDeviceModeA): HDC{.stdcall, dynlib: "gdi32", + importc: "ResetDCA".} + #function ResetDCW(DC: HDC; const p2: TDeviceModeW): HDC; stdcall; external 'gdi32' name 'ResetDCW'; +proc ScreenToClient*(hWnd: HWND, lpPoint: var TPoint): WINBOOL{.stdcall, + dynlib: "user32", importc: "ScreenToClient".} +proc ScrollConsoleScreenBuffer*(hConsoleOutput: THandle, + lpScrollRectangle: TSmallRect, + lpClipRectangle: TSmallRect, + dwDestinationOrigin: TCoord, + lpFill: var TCharInfo): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "ScrollConsoleScreenBufferA".} +proc ScrollConsoleScreenBufferA*(hConsoleOutput: THandle, + lpScrollRectangle: TSmallRect, + lpClipRectangle: TSmallRect, + dwDestinationOrigin: TCoord, + lpFill: var TCharInfo): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "ScrollConsoleScreenBufferA".} +proc ScrollConsoleScreenBufferW*(hConsoleOutput: THandle, + lpScrollRectangle: TSmallRect, + lpClipRectangle: TSmallRect, + dwDestinationOrigin: TCoord, + lpFill: var TCharInfo): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "ScrollConsoleScreenBufferW".} +proc ScrollWindow*(hWnd: HWND, XAmount: int32, YAmount: int32, lpRect: lpRECT, + lpClipRect: lpRECT): WINBOOL{.stdcall, dynlib: "user32", + importc: "ScrollWindow".} +proc ScrollWindowEx*(hWnd: HWND, dx: int32, dy: int32, prcScroll: lpRECT, + prcClip: lpRECT, hrgnUpdate: HRGN, prcUpdate: LPRECT, + flags: UINT): int32{.stdcall, dynlib: "user32", + importc: "ScrollWindowEx".} + #function ScrollDC(DC: HDC; DX, DY: Integer; var Scroll, Clip: TRect; Rgn: HRGN; Update: PRect): WINBOOL; stdcall; external 'user32' name 'ScrollDC'; + #function SearchPath(lpPath, lpFileName, lpExtension: PChar; nBufferLength: DWORD; lpBuffer: PChar; var lpFilePart: PChar): DWORD;stdcall; external 'kernel32' name 'SearchPathA'; + #function SearchPathA(lpPath, lpFileName, lpExtension: LPCSTR; nBufferLength: DWORD; lpBuffer: LPCSTR; var lpFilePart: LPCSTR): DWORD; stdcall; external 'kernel32' name 'SearchPathA'; + #function SearchPathW(lpPath, lpFileName, lpExtension: LPWSTR; nBufferLength: DWORD; lpBuffer: LPWSTR; var lpFilePart: LPWSTR): DWORD; stdcall; external 'kernel32' name 'SearchPathW'; + #function SendInput(cInputs: UINT; var pInputs: TInput; cbSize: Integer): UINT;stdcall; external 'user32' name 'SendInput'; +proc SendMessageTimeout*(hWnd: HWND, Msg: UINT, wParam: WPARAM, lParam: LPARAM, + fuFlags, uTimeout: UINT, lpdwResult: var DWORD): LRESULT{. + stdcall, dynlib: "user32", importc: "SendMessageTimeoutA".} +proc SendMessageTimeoutA*(hWnd: HWND, Msg: UINT, wParam: WPARAM, lParam: LPARAM, + fuFlags, uTimeout: UINT, lpdwResult: var DWORD): LRESULT{. + stdcall, dynlib: "user32", importc: "SendMessageTimeoutA".} +proc SendMessageTimeoutW*(hWnd: HWND, Msg: UINT, wParam: WPARAM, lParam: LPARAM, + fuFlags, uTimeout: UINT, lpdwResult: var DWORD): LRESULT{. + stdcall, dynlib: "user32", importc: "SendMessageTimeoutW".} + #function SetAclInformation(var pAcl: TACL; pAclInformation: Pointer; nAclInformationLength: DWORD; dwAclInformationClass: TAclInformationClass): WINBOOL; stdcall; external 'advapi32' name 'SetAclInformation'; + #function SetColorAdjustment(DC: HDC; const p2: TColorAdjustment): WINBOOL; stdcall; external 'gdi32' name 'SetColorAdjustment'; +proc SetCommConfig*(hCommDev: THandle, lpCC: TCommConfig, dwSize: DWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "SetCommConfig".} +proc SetCommState*(hFile: THandle, lpDCB: TDCB): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "SetCommState".} +proc SetCommTimeouts*(hFile: THandle, lpCommTimeouts: TCommTimeouts): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "SetCommTimeouts".} +proc SetConsoleCursorInfo*(hConsoleOutput: THandle, + lpConsoleCursorInfo: TConsoleCursorInfo): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "SetConsoleCursorInfo".} + #function SetConsoleWindowInfo(hConsoleOutput: THandle; bAbsolute: WINBOOL; const lpConsoleWindow: TSmallRect): WINBOOL; stdcall; external 'kernel32' name 'SetConsoleWindowInfo'; +proc SetCriticalSectionSpinCount*(lpCriticalSection: var TRTLCriticalSection, + dwSpinCount: DWORD): DWORD{.stdcall, + dynlib: "kernel32", importc: "SetCriticalSectionSpinCount".} +proc SetDeviceGammaRamp*(DC: HDC, Ramp: pointer): WINBOOL{.stdcall, + dynlib: "gdi32", importc: "SetDeviceGammaRamp".} +proc SetDIBColorTable*(DC: HDC, p2, p3: UINT, RGBQuadSTructs: pointer): UINT{. + stdcall, dynlib: "gdi32", importc: "SetDIBColorTable".} +proc SetDIBits*(DC: HDC, Bitmap: HBITMAP, StartScan, NumScans: UINT, + Bits: Pointer, BitsInfo: var TBitmapInfo, Usage: UINT): int{. + stdcall, dynlib: "gdi32", importc: "SetDIBits".} + #function SetDIBitsToDevice(DC: HDC; DestX, DestY: Integer; Width, Height: DWORD; SrcX, SrcY: Integer; nStartScan, NumScans: UINT; Bits: Pointer; var BitsInfo: TBitmapInfo; Usage: UINT): Integer; stdcall; external 'gdi32' name 'SetDIBitsToDevice'; +proc SetEnhMetaFileBits*(para1: UINT, para2: pointer): HENHMETAFILE{.stdcall, + dynlib: "gdi32", importc: "SetEnhMetaFileBits".} +proc SetFileTime*(hFile: HANDLE, lpCreationTime: var FILETIME, + lpLastAccessTime: var FILETIME, lpLastWriteTime: var FILETIME): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "SetFileTime".} + #function SetKeyboardState(var KeyState: TKeyboardState): WINBOOL; stdcall; external 'user32' name 'SetKeyboardState'; + #function SetLocalTime(const lpSystemTime: TSystemTime): WINBOOL; stdcall; external 'kernel32' name 'SetLocalTime'; + #function SetMenuInfo(hMenu: HMENU; const lpcmi: TMenuInfo): WINBOOL;stdcall; external 'user32' name 'SetMenuInfo'; +proc SetMenuItemInfo*(p1: HMENU, p2: UINT, p3: WINBOOL, p4: TMenuItemInfo): WINBOOL{. + stdcall, dynlib: "user32", importc: "SetMenuItemInfoA".} +proc SetMenuItemInfoA*(p1: HMENU, p2: UINT, p3: WINBOOL, p4: TMenuItemInfoA): WINBOOL{. + stdcall, dynlib: "user32", importc: "SetMenuItemInfoA".} + #function SetMenuItemInfoW(p1: HMENU; p2: UINT; p3: WINBOOL; const p4: TMenuItemInfoW): WINBOOL; stdcall; external 'user32' name 'SetMenuItemInfoW'; +proc SetMetaFileBitsEx*(p1: UINT, p2: cstring): HMETAFILE{.stdcall, + dynlib: "gdi32", importc: "SetMetaFileBitsEx".} +proc SetNamedPipeHandleState*(hNamedPipe: THandle, lpMode: var DWORD, + lpMaxCollectionCount, lpCollectDataTimeout: Pointer): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "SetNamedPipeHandleState".} +proc SetPaletteEntries*(Palette: HPALETTE, StartIndex, NumEntries: UINT, + PaletteEntries: pointer): UINT{.stdcall, + dynlib: "gdi32", importc: "SetPaletteEntries".} + #function SetPrivateObjectSecurity(SecurityInformation: SECURITY_INFORMATION; ModificationDescriptor: PSecurityDescriptor; var ObjectsSecurityDescriptor: PSecurityDescriptor; const GenericMapping: TGenericMapping; Token: THandle): WINBOOL; + # stdcall; external 'advapi32' name 'SetPrivateObjectSecurity'; + #function SetPrivateObjectSecurityEx(SecurityInformation: SECURITY_INFORMATION; ModificationDescriptor: PSecurityDescriptor; var ObjectsSecurityDescriptor: PSecurityDescriptor; AutoInheritFlags: ULONG; + # const GenericMapping: TGenericMapping; Token: THandle): WINBOOL;stdcall; external 'advapi32' name 'SetPrivateObjectSecurityEx'; +proc SetRect*(lprc: var TRect, xLeft, yTop, xRight, yBottom: int): WINBOOL{. + stdcall, dynlib: "user32", importc: "SetRect".} +proc SetRectEmpty*(lprc: var TRect): WINBOOL{.stdcall, dynlib: "user32", + importc: "SetRectEmpty".} +proc SetScrollInfo*(hWnd: HWND, BarFlag: int, ScrollInfo: TScrollInfo, + Redraw: WINBOOL): int{.stdcall, dynlib: "user32", + importc: "SetScrollInfo".} +proc SetSysColors*(cElements: int, lpaElements: pointer, lpaRgbValues: pointer): WINBOOL{. + stdcall, dynlib: "user32", importc: "SetSysColors".} + #function SetSystemTime(const lpSystemTime: TSystemTime): WINBOOL; stdcall; external 'kernel32' name 'SetSystemTime'; +proc SetThreadContext*(hThread: THandle, lpContext: TContext): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "SetThreadContext".} + #function SetTimeZoneInformation(const lpTimeZoneInformation: TTimeZoneInformation): WINBOOL; stdcall; external 'kernel32' name 'SetTimeZoneInformation'; +proc SetUserObjectSecurity*(hObj: THandle, pSIRequested: var DWORD, + pSID: PSecurityDescriptor): WINBOOL{.stdcall, + dynlib: "user32", importc: "SetUserObjectSecurity".} +proc SetWaitableTimer*(hTimer: THandle, lpDueTime: var TLargeInteger, + lPeriod: int32, pfnCompletionRoutine: TFNTimerAPCRoutine, + lpArgToCompletionRoutine: Pointer, fResume: WINBOOL): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "SetWaitableTimer".} +proc SetWinMetaFileBits*(p1: UINT, p2: cstring, p3: HDC, p4: TMetaFilePict): HENHMETAFILE{. + stdcall, dynlib: "gdi32", importc: "SetWinMetaFileBits".} + #function SetWorldTransform(DC: HDC; const p2: TXForm): WINBOOL; stdcall; external 'gdi32' name 'SetWorldTransform'; +proc StartDoc*(DC: HDC, p2: TDocInfo): int{.stdcall, dynlib: "gdi32", + importc: "StartDocA".} +proc StartDocA*(DC: HDC, p2: TDocInfoA): int{.stdcall, dynlib: "gdi32", + importc: "StartDocA".} + #function StartDocW(DC: HDC; const p2: TDocInfoW): Integer; stdcall; external 'gdi32' name 'StartDocW'; + #function StretchDIBits(DC: HDC; DestX, DestY, DestWidth, DestHegiht, SrcX, SrcY, SrcWidth, SrcHeight: Integer; Bits: Pointer; var BitsInfo: TBitmapInfo; Usage: UINT; Rop: DWORD): Integer; stdcall; external 'gdi32' name 'StretchDIBits'; +proc SubtractRect*(lprcDst: var TRect, lprcSrc1, lprcSrc2: TRect): WINBOOL{. + stdcall, dynlib: "user32", importc: "SubtractRect".} +proc SystemTimeToFileTime*(lpSystemTime: TSystemTime, lpFileTime: var TFileTime): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "SystemTimeToFileTime".} +proc SystemTimeToTzSpecificLocalTime*(lpTimeZoneInformation: PTimeZoneInformation, + lpUniversalTime, lpLocalTime: var TSystemTime): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "SystemTimeToTzSpecificLocalTime".} +proc TabbedTextOut*(hDC: HDC, X, Y: int, lpString: cstring, + nCount, nTabPositions: int, lpnTabStopPositions: pointer, + nTabOrigin: int): int32{.stdcall, dynlib: "user32", + importc: "TabbedTextOutA".} +proc TabbedTextOutA*(hDC: HDC, X, Y: int, lpString: LPCSTR, + nCount, nTabPositions: int, lpnTabStopPositions: pointer, + nTabOrigin: int): int32{.stdcall, dynlib: "user32", + importc: "TabbedTextOutA".} +proc TabbedTextOutW*(hDC: HDC, X, Y: int, lpString: LPWSTR, + nCount, nTabPositions: int, lpnTabStopPositions: pointer, + nTabOrigin: int): int32{.stdcall, dynlib: "user32", + importc: "TabbedTextOutW".} + #function ToAscii(uVirtKey, uScanCode: UINT; const KeyState: TKeyboardState; lpChar: PChar; uFlags: UINT): Integer; stdcall; external 'user32' name 'ToAscii'; + #function ToAsciiEx(uVirtKey: UINT; uScanCode: UINT; const KeyState: TKeyboardState; lpChar: PChar; uFlags: UINT; dwhkl: HKL): Integer; stdcall; external 'user32' name 'ToAsciiEx'; + #function ToUnicode(wVirtKey, wScanCode: UINT; const KeyState: TKeyboardState; var pwszBuff; cchBuff: Integer; wFlags: UINT): Integer; stdcall; external 'user32' name 'ToUnicode'; + # Careful, NT and higher only. +proc TrackMouseEvent*(EventTrack: var TTrackMouseEvent): WINBOOL{.stdcall, + dynlib: "user32", importc: "TrackMouseEvent".} +proc TrackMouseEvent*(lpEventTrack: PTrackMouseEvent): WINBOOL{.stdcall, + dynlib: "user32", importc: "TrackMouseEvent".} +proc TrackPopupMenu*(hMenu: HMENU, uFlags: UINT, x: int32, y: int32, + nReserved: int32, hWnd: HWND, prcRect: PRect): WINBOOL{. + stdcall, dynlib: "user32", importc: "TrackPopupMenu".} +proc TransactNamedPipe*(hNamedPipe: THandle, lpInBuffer: Pointer, + nInBufferSize: DWORD, lpOutBuffer: Pointer, + nOutBufferSize: DWORD, lpBytesRead: var DWORD, + lpOverlapped: POverlapped): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "TransactNamedPipe".} +proc TranslateAccelerator*(hWnd: HWND, hAccTable: HACCEL, lpMsg: var TMsg): int{. + stdcall, dynlib: "user32", importc: "TranslateAcceleratorA".} +proc TranslateAcceleratorA*(hWnd: HWND, hAccTable: HACCEL, lpMsg: var TMsg): int{. + stdcall, dynlib: "user32", importc: "TranslateAcceleratorA".} +proc TranslateAcceleratorW*(hWnd: HWND, hAccTable: HACCEL, lpMsg: var TMsg): int{. + stdcall, dynlib: "user32", importc: "TranslateAcceleratorW".} +proc TranslateCharsetInfo*(lpSrc: var DWORD, lpCs: var TCharsetInfo, + dwFlags: DWORD): WINBOOL{.stdcall, dynlib: "gdi32", + importc: "TranslateCharsetInfo".} +proc TranslateMDISysAccel*(hWndClient: HWND, lpMsg: TMsg): WINBOOL{.stdcall, + dynlib: "user32", importc: "TranslateMDISysAccel".} +proc TranslateMessage*(lpMsg: TMsg): WINBOOL{.stdcall, dynlib: "user32", + importc: "TranslateMessage".} + #function TransparentDIBits(DC: HDC; p2, p3, p4, p5: Integer; const p6: Pointer; const p7: PBitmapInfo; p8: UINT; p9, p10, p11, p12: Integer; p13: UINT): WINBOOL;stdcall; external 'gdi32' name 'TransparentDIBits'; +proc TryEnterCriticalSection*(lpCriticalSection: var TRTLCriticalSection): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "TryEnterCriticalSection".} +proc UnhandledExceptionFilter*(ExceptionInfo: TExceptionPointers): int32{. + stdcall, dynlib: "kernel32", importc: "UnhandledExceptionFilter".} +proc UnionRect*(lprcDst: var TRect, lprcSrc1, lprcSrc2: TRect): WINBOOL{. + stdcall, dynlib: "user32", importc: "UnionRect".} +proc UnlockFileEx*(hFile: THandle, dwReserved, nNumberOfBytesToUnlockLow: DWORD, + nNumberOfBytesToUnlockHigh: DWORD, lpOverlapped: TOverlapped): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "UnlockFileEx".} +proc VerFindFile*(uFlags: DWORD, + szFileName, szWinDir, szAppDir, szCurDir: cstring, + lpuCurDirLen: var UINT, szDestDir: cstring, + lpuDestDirLen: var UINT): DWORD{.stdcall, dynlib: "version", + importc: "VerFindFileA".} +proc VerFindFileA*(uFlags: DWORD, + szFileName, szWinDir, szAppDir, szCurDir: LPCSTR, + lpuCurDirLen: var UINT, szDestDir: LPCSTR, + lpuDestDirLen: var UINT): DWORD{.stdcall, dynlib: "version", + importc: "VerFindFileA".} +proc VerFindFileW*(uFlags: DWORD, + szFileName, szWinDir, szAppDir, szCurDir: LPWSTR, + lpuCurDirLen: var UINT, szDestDir: LPWSTR, + lpuDestDirLen: var UINT): DWORD{.stdcall, dynlib: "version", + importc: "VerFindFileW".} +proc VerInstallFile*(uFlags: DWORD, szSrcFileName, szDestFileName, szSrcDir, + szDestDir, szCurDir, szTmpFile: cstring, + lpuTmpFileLen: var UINT): DWORD{.stdcall, + dynlib: "version", importc: "VerInstallFileA".} +proc VerInstallFileA*(uFlags: DWORD, szSrcFileName, szDestFileName, szSrcDir, + szDestDir, szCurDir, szTmpFile: LPCSTR, + lpuTmpFileLen: var UINT): DWORD{.stdcall, + dynlib: "version", importc: "VerInstallFileA".} +proc VerInstallFileW*(uFlags: DWORD, szSrcFileName, szDestFileName, szSrcDir, + szDestDir, szCurDir, szTmpFile: LPWSTR, + lpuTmpFileLen: var UINT): DWORD{.stdcall, + dynlib: "version", importc: "VerInstallFileW".} +proc VerQueryValue*(pBlock: Pointer, lpSubBlock: cstring, + lplpBuffer: var Pointer, puLen: var UINT): WINBOOL{.stdcall, + dynlib: "version", importc: "VerQueryValueA".} +proc VerQueryValueA*(pBlock: Pointer, lpSubBlock: LPCSTR, + lplpBuffer: var Pointer, puLen: var UINT): WINBOOL{. + stdcall, dynlib: "version", importc: "VerQueryValueA".} +proc VerQueryValueW*(pBlock: Pointer, lpSubBlock: LPWSTR, + lplpBuffer: var Pointer, puLen: var UINT): WINBOOL{. + stdcall, dynlib: "version", importc: "VerQueryValueW".} +proc VirtualQuery*(lpAddress: Pointer, lpBuffer: var TMemoryBasicInformation, + dwLength: DWORD): DWORD{.stdcall, dynlib: "kernel32", + importc: "VirtualQuery".} +proc VirtualQueryEx*(hProcess: THandle, lpAddress: Pointer, + lpBuffer: var TMemoryBasicInformation, dwLength: DWORD): DWORD{. + stdcall, dynlib: "kernel32", importc: "VirtualQueryEx".} +proc WaitCommEvent*(hFile: THandle, lpEvtMask: var DWORD, + lpOverlapped: POverlapped): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "WaitCommEvent".} +proc WaitForDebugEvent*(lpDebugEvent: var TDebugEvent, dwMilliseconds: DWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "WaitForDebugEvent".} +proc wglDescribeLayerPlane*(p1: HDC, p2, p3: int, p4: int, + p5: var TLayerPlaneDescriptor): WINBOOL{.stdcall, + dynlib: "opengl32", importc: "wglDescribeLayerPlane".} +proc wglGetLayerPaletteEntries*(p1: HDC, p2, p3, p4: int, pcr: pointer): int{. + stdcall, dynlib: "opengl32", importc: "wglGetLayerPaletteEntries".} +proc wglSetLayerPaletteEntries*(p1: HDC, p2, p3, p4: int, pcr: pointer): int{. + stdcall, dynlib: "opengl32", importc: "wglSetLayerPaletteEntries".} + #function wglSwapMultipleBuffers(p1: UINT; const p2: PWGLSwap): DWORD;stdcall; external 'opengl32' name 'wglSwapMultipleBuffers'; + #function WinSubmitCertificate(var lpCertificate: TWinCertificate): WINBOOL;stdcall; external 'imaghlp' name 'WinSubmitCertificate'; + #function WinVerifyTrust(hwnd: HWND; const ActionID: TGUID; ActionData: Pointer): Longint;stdcall; external 'imaghlp' name 'WinVerifyTrust'; +proc WNetAddConnection2*(lpNetResource: var TNetResource, + lpPassword, lpUserName: cstring, dwFlags: DWORD): DWORD{. + stdcall, dynlib: "mpr", importc: "WNetAddConnection2A".} +proc WNetAddConnection2A*(lpNetResource: var TNetResourceA, + lpPassword, lpUserName: LPCSTR, dwFlags: DWORD): DWORD{. + stdcall, dynlib: "mpr", importc: "WNetAddConnection2A".} + #function WNetAddConnection2W(var lpNetResource: TNetResourceW; lpPassword, lpUserName: LPWSTR; dwFlags: DWORD): DWORD; stdcall; external 'mpr' name 'WNetAddConnection2W'; +proc WNetAddConnection3*(hwndOwner: HWND, lpNetResource: var TNetResource, + lpPassword, lpUserName: cstring, dwFlags: DWORD): DWORD{. + stdcall, dynlib: "mpr", importc: "WNetAddConnection3A".} +proc WNetAddConnection3A*(hwndOwner: HWND, lpNetResource: var TNetResourceA, + lpPassword, lpUserName: LPCSTR, dwFlags: DWORD): DWORD{. + stdcall, dynlib: "mpr", importc: "WNetAddConnection3A".} + #function WNetAddConnection3W(hwndOwner: HWND; var lpNetResource: TNetResourceW; lpPassword, lpUserName: LPWSTR; dwFlags: DWORD): DWORD; stdcall; external 'mpr' name 'WNetAddConnection3W'; +proc WNetConnectionDialog1*(lpConnDlgStruct: var TConnectDlgStruct): DWORD{. + stdcall, dynlib: "mpr", importc: "WNetConnectionDialog1A".} +proc WNetConnectionDialog1A*(lpConnDlgStruct: var TConnectDlgStruct): DWORD{. + stdcall, dynlib: "mpr", importc: "WNetConnectionDialog1A".} + #function WNetConnectionDialog1W(var lpConnDlgStruct: TConnectDlgStruct): DWORD; stdcall; external 'mpr' name 'WNetConnectionDialog1W'; +proc WNetDisconnectDialog1*(lpConnDlgStruct: var TDiscDlgStruct): DWORD{. + stdcall, dynlib: "mpr", importc: "WNetDisconnectDialog1A".} +proc WNetDisconnectDialog1A*(lpConnDlgStruct: var TDiscDlgStructA): DWORD{. + stdcall, dynlib: "mpr", importc: "WNetDisconnectDialog1A".} + #function WNetDisconnectDialog1W(var lpConnDlgStruct: TDiscDlgStructW): DWORD; stdcall; external 'mpr' name 'WNetDisconnectDialog1W'; +proc WNetEnumResource*(hEnum: THandle, lpcCount: var DWORD, lpBuffer: Pointer, + lpBufferSize: var DWORD): DWORD{.stdcall, dynlib: "mpr", + importc: "WNetEnumResourceA".} +proc WNetEnumResourceA*(hEnum: THandle, lpcCount: var DWORD, lpBuffer: Pointer, + lpBufferSize: var DWORD): DWORD{.stdcall, dynlib: "mpr", + importc: "WNetEnumResourceA".} +proc WNetEnumResourceW*(hEnum: THandle, lpcCount: var DWORD, lpBuffer: Pointer, + lpBufferSize: var DWORD): DWORD{.stdcall, dynlib: "mpr", + importc: "WNetEnumResourceW".} +proc WNetGetConnection*(lpLocalName: cstring, lpRemoteName: cstring, + lpnLength: var DWORD): DWORD{.stdcall, dynlib: "mpr", + importc: "WNetGetConnectionA".} +proc WNetGetConnectionA*(lpLocalName: LPCSTR, lpRemoteName: LPCSTR, + lpnLength: var DWORD): DWORD{.stdcall, dynlib: "mpr", + importc: "WNetGetConnectionA".} +proc WNetGetConnectionW*(lpLocalName: LPWSTR, lpRemoteName: LPWSTR, + lpnLength: var DWORD): DWORD{.stdcall, dynlib: "mpr", + importc: "WNetGetConnectionW".} +proc WNetGetLastError*(lpError: var DWORD, lpErrorBuf: cstring, + nErrorBufSize: DWORD, lpNameBuf: cstring, + nNameBufSize: DWORD): DWORD{.stdcall, dynlib: "mpr", + importc: "WNetGetLastErrorA".} +proc WNetGetLastErrorA*(lpError: var DWORD, lpErrorBuf: LPCSTR, + nErrorBufSize: DWORD, lpNameBuf: LPCSTR, + nNameBufSize: DWORD): DWORD{.stdcall, dynlib: "mpr", + importc: "WNetGetLastErrorA".} +proc WNetGetLastErrorW*(lpError: var DWORD, lpErrorBuf: LPWSTR, + nErrorBufSize: DWORD, lpNameBuf: LPWSTR, + nNameBufSize: DWORD): DWORD{.stdcall, dynlib: "mpr", + importc: "WNetGetLastErrorW".} +proc WNetGetNetworkInformation*(lpProvider: cstring, + lpNetInfoStruct: var TNetInfoStruct): DWORD{. + stdcall, dynlib: "mpr", importc: "WNetGetNetworkInformationA".} +proc WNetGetNetworkInformationA*(lpProvider: LPCSTR, + lpNetInfoStruct: var TNetInfoStruct): DWORD{. + stdcall, dynlib: "mpr", importc: "WNetGetNetworkInformationA".} +proc WNetGetNetworkInformationW*(lpProvider: LPWSTR, + lpNetInfoStruct: var TNetInfoStruct): DWORD{. + stdcall, dynlib: "mpr", importc: "WNetGetNetworkInformationW".} +proc WNetGetProviderName*(dwNetType: DWORD, lpProviderName: cstring, + lpBufferSize: var DWORD): DWORD{.stdcall, + dynlib: "mpr", importc: "WNetGetProviderNameA".} +proc WNetGetProviderNameA*(dwNetType: DWORD, lpProviderName: LPCSTR, + lpBufferSize: var DWORD): DWORD{.stdcall, + dynlib: "mpr", importc: "WNetGetProviderNameA".} +proc WNetGetProviderNameW*(dwNetType: DWORD, lpProviderName: LPWSTR, + lpBufferSize: var DWORD): DWORD{.stdcall, + dynlib: "mpr", importc: "WNetGetProviderNameW".} +proc WNetGetResourceParent*(lpNetResource: PNetResource, lpBuffer: Pointer, + cbBuffer: var DWORD): DWORD{.stdcall, dynlib: "mpr", + importc: "WNetGetResourceParentA".} +proc WNetGetResourceParentA*(lpNetResource: PNetResourceA, lpBuffer: Pointer, + cbBuffer: var DWORD): DWORD{.stdcall, + dynlib: "mpr", importc: "WNetGetResourceParentA".} + #function WNetGetResourceParentW(lpNetResource: PNetResourceW; lpBuffer: Pointer; var cbBuffer: DWORD): DWORD;stdcall; external 'mpr' name 'WNetGetResourceParentW'; +proc WNetGetUniversalName*(lpLocalPath: cstring, dwInfoLevel: DWORD, + lpBuffer: Pointer, lpBufferSize: var DWORD): DWORD{. + stdcall, dynlib: "mpr", importc: "WNetGetUniversalNameA".} +proc WNetGetUniversalNameA*(lpLocalPath: LPCSTR, dwInfoLevel: DWORD, + lpBuffer: Pointer, lpBufferSize: var DWORD): DWORD{. + stdcall, dynlib: "mpr", importc: "WNetGetUniversalNameA".} +proc WNetGetUniversalNameW*(lpLocalPath: LPWSTR, dwInfoLevel: DWORD, + lpBuffer: Pointer, lpBufferSize: var DWORD): DWORD{. + stdcall, dynlib: "mpr", importc: "WNetGetUniversalNameW".} +proc WNetGetUser*(lpName: cstring, lpUserName: cstring, lpnLength: var DWORD): DWORD{. + stdcall, dynlib: "mpr", importc: "WNetGetUserA".} +proc WNetGetUserA*(lpName: LPCSTR, lpUserName: LPCSTR, lpnLength: var DWORD): DWORD{. + stdcall, dynlib: "mpr", importc: "WNetGetUserA".} +proc WNetGetUserW*(lpName: LPWSTR, lpUserName: LPWSTR, lpnLength: var DWORD): DWORD{. + stdcall, dynlib: "mpr", importc: "WNetGetUserW".} +proc WNetOpenEnum*(dwScope, dwType, dwUsage: DWORD, lpNetResource: PNetResource, + lphEnum: var THandle): DWORD{.stdcall, dynlib: "mpr", + importc: "WNetOpenEnumA".} +proc WNetOpenEnumA*(dwScope, dwType, dwUsage: DWORD, + lpNetResource: PNetResourceA, lphEnum: var THandle): DWORD{. + stdcall, dynlib: "mpr", importc: "WNetOpenEnumA".} + #function WNetOpenEnumW(dwScope, dwType, dwUsage: DWORD; lpNetResource: PNetResourceW; var lphEnum: THandle): DWORD; stdcall; external 'mpr' name 'WNetOpenEnumW'; +proc WNetUseConnection*(hwndOwner: HWND, lpNetResource: var TNetResource, + lpUserID: cstring, lpPassword: cstring, dwFlags: DWORD, + lpAccessName: cstring, lpBufferSize: var DWORD, + lpResult: var DWORD): DWORD{.stdcall, dynlib: "mpr", + importc: "WNetUseConnectionA".} +proc WNetUseConnectionA*(hwndOwner: HWND, lpNetResource: var TNetResourceA, + lpUserID: LPCSTR, lpPassword: LPCSTR, dwFlags: DWORD, + lpAccessName: LPCSTR, lpBufferSize: var DWORD, + lpResult: var DWORD): DWORD{.stdcall, dynlib: "mpr", + importc: "WNetUseConnectionA".} + #function WNetUseConnectionW(hwndOwner: HWND; var lpNetResource: TNetResourceW; lpUserID: LPWSTR; lpPassword: LPWSTR; dwFlags: DWORD; lpAccessName: LPWSTR; var lpBufferSize: DWORD; var lpResult: DWORD): DWORD; stdcall; external 'mpr' name 'WNetUseConnectionW'; +proc WriteConsole*(hConsoleOutput: THandle, lpBuffer: Pointer, + nNumberOfCharsToWrite: DWORD, + lpNumberOfCharsWritten: var DWORD, lpReserved: Pointer): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "WriteConsoleA".} +proc WriteConsoleA*(hConsoleOutput: THandle, lpBuffer: Pointer, + nNumberOfCharsToWrite: DWORD, + lpNumberOfCharsWritten: var DWORD, lpReserved: Pointer): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "WriteConsoleA".} +proc WriteConsoleInput*(hConsoleInput: THandle, lpBuffer: TInputRecord, + nLength: DWORD, lpNumberOfEventsWritten: var DWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "WriteConsoleInputA".} +proc WriteConsoleInputA*(hConsoleInput: THandle, lpBuffer: TInputRecord, + nLength: DWORD, lpNumberOfEventsWritten: var DWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "WriteConsoleInputA".} +proc WriteConsoleInputW*(hConsoleInput: THandle, lpBuffer: TInputRecord, + nLength: DWORD, lpNumberOfEventsWritten: var DWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "WriteConsoleInputW".} +proc WriteConsoleOutput*(hConsoleOutput: THandle, lpBuffer: Pointer, + dwBufferSize, dwBufferCoord: TCoord, + lpWriteRegion: var TSmallRect): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "WriteConsoleOutputA".} +proc WriteConsoleOutputA*(hConsoleOutput: THandle, lpBuffer: Pointer, + dwBufferSize, dwBufferCoord: TCoord, + lpWriteRegion: var TSmallRect): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "WriteConsoleOutputA".} +proc WriteConsoleOutputAttribute*(hConsoleOutput: THandle, lpAttribute: Pointer, + nLength: DWORD, dwWriteCoord: TCoord, + lpNumberOfAttrsWritten: var DWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "WriteConsoleOutputAttribute".} +proc WriteConsoleOutputCharacter*(hConsoleOutput: THandle, lpCharacter: cstring, + nLength: DWORD, dwWriteCoord: TCoord, + lpNumberOfCharsWritten: var DWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "WriteConsoleOutputCharacterA".} +proc WriteConsoleOutputCharacterA*(hConsoleOutput: THandle, lpCharacter: LPCSTR, + nLength: DWORD, dwWriteCoord: TCoord, + lpNumberOfCharsWritten: var DWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "WriteConsoleOutputCharacterA".} +proc WriteConsoleOutputCharacterW*(hConsoleOutput: THandle, lpCharacter: LPWSTR, + nLength: DWORD, dwWriteCoord: TCoord, + lpNumberOfCharsWritten: var DWORD): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "WriteConsoleOutputCharacterW".} +proc WriteConsoleOutputW*(hConsoleOutput: THandle, lpBuffer: Pointer, + dwBufferSize, dwBufferCoord: TCoord, + lpWriteRegion: var TSmallRect): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "WriteConsoleOutputW".} +proc WriteConsoleW*(hConsoleOutput: THandle, lpBuffer: Pointer, + nNumberOfCharsToWrite: DWORD, + lpNumberOfCharsWritten: var DWORD, lpReserved: Pointer): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "WriteConsoleW".} +proc WriteFile*(hFile: THandle, Buffer: pointer, nNumberOfBytesToWrite: DWORD, + lpNumberOfBytesWritten: var DWORD, lpOverlapped: POverlapped): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "WriteFile".} +proc WriteFileEx*(hFile: THandle, lpBuffer: Pointer, + nNumberOfBytesToWrite: DWORD, lpOverlapped: TOverlapped, + lpCompletionRoutine: FARPROC): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "WriteFileEx".} +proc WritePrivateProfileStructA*(lpszSection, lpszKey: LPCSTR, lpStruct: LPVOID, + uSizeStruct: UINT, szFile: LPCSTR): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "WritePrivateProfileStructA".} +proc WritePrivateProfileStructW*(lpszSection, lpszKey: LPCWSTR, + lpStruct: LPVOID, uSizeStruct: UINT, + szFile: LPCWSTR): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "WritePrivateProfileStructW".} +proc WritePrivateProfileStruct*(lpszSection, lpszKey: LPCTSTR, lpStruct: LPVOID, + uSizeStruct: UINT, szFile: LPCTSTR): WINBOOL{. + stdcall, dynlib: "kernel32", importc: "WritePrivateProfileStructA".} +proc WriteProcessMemory*(hProcess: THandle, lpBaseAddress: Pointer, + lpBuffer: Pointer, nSize: DWORD, + lpNumberOfBytesWritten: var DWORD): WINBOOL{.stdcall, + dynlib: "kernel32", importc: "WriteProcessMemory".} +proc SHFileOperation*(para1: var SHFILEOPSTRUCT): int32{.stdcall, + dynlib: "shell32", importc: "SHFileOperation".} + # these are old Win16 funcs that under win32 are aliases for several char* funcs. + # exist under Win32 (even in SDK's from 2002), but are officially "depreciated" +proc AnsiNext*(lpsz: LPCSTR): LPSTR{.stdcall, dynlib: "user32", + importc: "CharNextA".} +proc AnsiPrev*(lpszStart: LPCSTR, lpszCurrent: LPCSTR): LPSTR{.stdcall, + dynlib: "user32", importc: "CharPrevA".} +proc AnsiToOem*(lpszSrc: LPCSTR, lpszDst: LPSTR): WINBOOL{.stdcall, + dynlib: "user32", importc: "CharToOemA".} +proc OemToAnsi*(lpszSrc: LPCSTR, lpszDst: LPSTR): WINBOOL{.stdcall, + dynlib: "user32", importc: "OemToCharA".} +proc AnsiToOemBuff*(lpszSrc: LPCSTR, lpszDst: LPSTR, cchDstLength: DWORD): WINBOOL{. + stdcall, dynlib: "user32", importc: "CharToOemBuffA".} +proc OemToAnsiBuff*(lpszSrc: LPCSTR, lpszDst: LPSTR, cchDstLength: DWORD): WINBOOL{. + stdcall, dynlib: "user32", importc: "OemToCharBuffA".} +proc AnsiUpper*(lpsz: LPSTR): LPSTR{.stdcall, dynlib: "user32", + importc: "CharUpperA".} +proc AnsiUpperBuff*(lpsz: LPSTR, cchLength: DWORD): DWORD{.stdcall, + dynlib: "user32", importc: "CharUpperBuffA".} +proc AnsiLower*(lpsz: LPSTR): LPSTR{.stdcall, dynlib: "user32", + importc: "CharLowerA".} +proc AnsiLowerBuff*(lpsz: LPSTR, cchLength: DWORD): DWORD{.stdcall, + dynlib: "user32", importc: "CharLowerBuffA".} +# implementation +# was #define dname(params) def_expr +# argument types are unknown + +proc GetBValue(rgb: int32): int8 = + result = int8(rgb shr 16) + +proc GetGValue(rgb: int32): int8 = + result = int8((int16(rgb)) shr 8) + +proc GetRValue(rgb: int32): int8 = + result = int8(rgb) + +proc RGB(r, g, b: int32): DWORD = + result = DWORD(((DWORD(int8(r))) or ((DWORD(int16(g))) shl 8)) or + ((DWORD(int8(b))) shl 16)) + +proc HIBYTE(w: int32): int8 = + result = int8(((int16(w)) shr 8) and 0x000000FF) + +proc HIWORD(L: int32): int16 = + result = int16(((DWORD(L)) shr 16) and 0x0000FFFF) + +proc LOBYTE(w: int32): int8 = + result = int8(w) + +proc LOWORD(L: int32): int16 = + result = int16(L) + +proc MAKELONG(a, b: int32): LONG = + result = LONG((int16(a)) or ((DWORD(int16(b))) shl 16)) + +proc MAKEWORD(a, b: int32): int16 = + result = int16((int8(a)) or ((int16(int8(b))) shl 8)) + +proc SEXT_HIWORD(L: int32): int32 = + # return type might be wrong + result = (int32(L)) shr 16 + +proc ZEXT_HIWORD(L: int32): int32 = + # return type might be wrong + result = (int(L)) shr 16 + +proc SEXT_LOWORD(L: int32): int32 = + result = int32(SHORT(L)) + +proc INDEXTOOVERLAYMASK(i: int32): int32 = + # return type might be wrong + result = i shl 8 + +proc INDEXTOSTATEIMAGEMASK(i: int32): int32 = + # return type might be wrong + result = i shl 12 + +proc MAKEINTATOM(i: int32): LPTSTR = + result = cast[LPTSTR](cast[ULONG_PTR](int16(i))) + +proc MAKELANGID(p, s: int32): int32 = + # return type might be wrong + result = ((int16(s)) shl 10) or (int16(p)) + +proc PRIMARYLANGID(lgid: int32): int16 = + # PRIMARYLANGID:=WORD(lgid(@($3ff))); + # h2pas error here corrected by hand PM + result = int16(lgid) and (0x000003FF) + +proc SUBLANGID(lgid: int32): int32 = + # return type might be wrong + result = (int16(lgid)) shr 10 + +proc LANGIDFROMLCID(lcid: int32): int16 = + result = int16(lcid) + +proc SORTIDFROMLCID(lcid: int32): int16 = + result = int16(((DWORD(lcid)) and 0x000FFFFF) shr 16) + +proc MAKELCID(lgid, srtid: int32): DWORD = + result = DWORD(((DWORD(int16(srtid))) shl 16) or (DWORD(int16(lgid)))) + +proc MAKELPARAM(L, h: int32): LPARAM = + result = LPARAM(MAKELONG(L, h)) + +proc MAKELRESULT(L, h: int32): LRESULT = + result = LRESULT(MAKELONG(L, h)) + +proc MAKEROP4(fore, back: int32): DWORD = + result = DWORD((DWORD(back shl 8) and 0xFF000000) or DWORD(fore)) + +proc MAKEWPARAM(L, h: int32): WPARAM = + result = WPARAM(MAKELONG(L, h)) + +proc GET_X_LPARAM(lp: Windows.LParam): int32 = + result = int16(LOWORD(lp)) + +proc GET_Y_LPARAM(lp: Windows.LParam): int32 = + result = int16(HIWORD(lp)) + +proc PALETTEINDEX(i: int32): COLORREF = + result = COLORREF(0x01000000 or (DWORD(int16(i)))) + +proc PALETTERGB(r, g, b: int32): int32 = + # return type might be wrong + result = 0x02000000 or (RGB(r, g, b)) + +proc UNICODE_NULL(): WCHAR = + result = 0 + +proc IDC_ARROW(): LPTSTR = + # return type might be wrong + result = cast[MAKEINTRESOURCE](32512) + +proc IDC_IBEAM(): LPTSTR = + # return type might be wrong + result = cast[MAKEINTRESOURCE](32513) + +proc IDC_WAIT(): LPTSTR = + # return type might be wrong + result = cast[MAKEINTRESOURCE](32514) + +proc IDC_CROSS(): LPTSTR = + # return type might be wrong + result = cast[MAKEINTRESOURCE](32515) + +proc IDC_UPARROW(): LPTSTR = + # return type might be wrong + result = cast[MAKEINTRESOURCE](32516) + +proc IDC_SIZENWSE(): LPTSTR = + # return type might be wrong + result = cast[MAKEINTRESOURCE](32642) + +proc IDC_SIZENESW(): LPTSTR = + # return type might be wrong + result = cast[MAKEINTRESOURCE](32643) + +proc IDC_SIZEWE(): LPTSTR = + # return type might be wrong + result = cast[MAKEINTRESOURCE](32644) + +proc IDC_SIZENS(): LPTSTR = + # return type might be wrong + result = cast[MAKEINTRESOURCE](32645) + +proc IDC_SIZEALL(): LPTSTR = + # return type might be wrong + result = cast[MAKEINTRESOURCE](32646) + +proc IDC_NO(): LPTSTR = + # return type might be wrong + result = cast[MAKEINTRESOURCE](32648) + +proc IDC_APPSTARTING(): LPTSTR = + # return type might be wrong + result = cast[MAKEINTRESOURCE](32650) + +proc IDC_HELP(): LPTSTR = + # return type might be wrong + result = cast[MAKEINTRESOURCE](32651) + +proc IDI_APPLICATION(): LPTSTR = + # return type might be wrong + result = cast[MAKEINTRESOURCE](32512) + +proc IDI_HAND(): LPTSTR = + # return type might be wrong + result = cast[MAKEINTRESOURCE](32513) + +proc IDI_QUESTION(): LPTSTR = + # return type might be wrong + result = cast[MAKEINTRESOURCE](32514) + +proc IDI_EXCLAMATION(): LPTSTR = + # return type might be wrong + result = cast[MAKEINTRESOURCE](32515) + +proc IDI_ASTERISK(): LPTSTR = + # return type might be wrong + result = cast[MAKEINTRESOURCE](32516) + +proc IDI_WINLOGO(): LPTSTR = + # return type might be wrong + result = cast[MAKEINTRESOURCE](32517) + +proc IDC_SIZE(): LPTSTR = + # return type might be wrong + result = cast[MAKEINTRESOURCE](32640) + +proc IDC_ICON(): LPTSTR = + # return type might be wrong + result = cast[MAKEINTRESOURCE](32641) + +proc IDC_HAND(): LPTSTR = + # return type might be wrong + result = cast[MAKEINTRESOURCE](32649) + +proc STD_INPUT_HANDLE(): DWORD = + result = DWORD(- (10)) + +proc STD_OUTPUT_HANDLE(): DWORD = + result = DWORD(- (11)) + +proc STD_ERROR_HANDLE(): DWORD = + result = DWORD(- (12)) + +proc HWND_BROADCAST(): HWND = + result = HWND(0x0000FFFF) + +proc HKEY_CLASSES_ROOT(): HKEY = + result = HKEY(0x80000000) + +proc HKEY_CURRENT_USER(): HKEY = + result = HKEY(0x80000001) + +proc HKEY_LOCAL_MACHINE(): HKEY = + result = HKEY(0x80000002) + +proc HKEY_USERS(): HKEY = + result = HKEY(0x80000003) + +proc HKEY_PERFORMANCE_DATA(): HKEY = + result = HKEY(0x80000004) + +proc HKEY_CURRENT_CONFIG(): HKEY = + result = HKEY(0x80000005) + +proc HKEY_DYN_DATA(): HKEY = + result = HKEY(0x80000006) + +proc HWND_BOTTOM(): HWND = + result = HWND(1) + +proc HWND_NOTOPMOST(): HWND = + result = HWND(- (2)) + +proc HWND_TOP(): HWND = + result = HWND(0) + +proc HWND_TOPMOST(): HWND = + result = HWND(- (1)) + +proc VS_FILE_INFO(): LPTSTR = + # return type might be wrong + result = cast[MAKEINTRESOURCE](16) + +proc HINST_COMMCTRL(): HINST = + result = HINST(- (1)) + +proc LPSTR_TEXTCALLBACKW(): LPWSTR = + result = cast[LPWSTR](- (1)) + +proc LPSTR_TEXTCALLBACKA(): LPSTR = + result = cast[LPSTR](- (1)) + +when defined(winUnicode): + #const this is a function in fact !! + # LPSTR_TEXTCALLBACK = LPSTR_TEXTCALLBACKW; + proc LPSTR_TEXTCALLBACK(): LPWSTR = + result = cast[LPWSTR](- (1)) + +else: + #const + # LPSTR_TEXTCALLBACK = LPSTR_TEXTCALLBACKA; + proc LPSTR_TEXTCALLBACK(): LPSTR = + result = cast[LPSTR](- (1)) + +# was #define dname def_expr + +proc TVI_ROOT(): HTREEITEM = + result = cast[HTREEITEM](0xFFFF0000) + +proc TVI_FIRST(): HTREEITEM = + result = cast[HTREEITEM](0xFFFF0001) + +proc TVI_LAST(): HTREEITEM = + result = cast[HTREEITEM](0xFFFF0002) + +proc TVI_SORT(): HTREEITEM = + result = cast[HTREEITEM](0xFFFF0003) + +proc HWND_DESKTOP(): HWND = + result = HWND(0) + +proc GetFirstChild(h: HWND): HWND = + result = GetTopWindow(h) + +proc GetNextSibling(h: HWND): HWND = + result = GetWindow(h, GW_HWNDNEXT) + +proc GetWindowID(h: HWND): int32 = + result = GetDlgCtrlID(h) + +proc SubclassWindow(h: HWND, p: LONG): LONG = + result = SetWindowLong(h, GWL_WNDPROC, p) + +proc GET_WM_COMMAND_CMD(w, L: int32): int32 = + # return type might be wrong + result = HIWORD(w) + +proc GET_WM_COMMAND_ID(w, L: int32): int32 = + # return type might be wrong + result = LOWORD(w) + +proc GET_WM_CTLCOLOR_HDC(w, L, msg: int32): HDC = + result = HDC(w) + +proc GET_WM_CTLCOLOR_HWND(w, L, msg: int32): HWND = + result = HWND(L) + +proc GET_WM_HSCROLL_CODE(w, L: int32): int32 = + # return type might be wrong + result = LOWORD(w) + +proc GET_WM_HSCROLL_HWND(w, L: int32): HWND = + result = HWND(L) + +proc GET_WM_HSCROLL_POS(w, L: int32): int32 = + # return type might be wrong + result = HIWORD(w) + +proc GET_WM_MDIACTIVATE_FACTIVATE(h, a, b: int32): int32 = + # return type might be wrong + result = int32(int(b) == LONG(h)) + +proc GET_WM_MDIACTIVATE_HWNDACTIVATE(a, b: int32): HWND = + result = HWND(b) + +proc GET_WM_MDIACTIVATE_HWNDDEACT(a, b: int32): HWND = + result = HWND(a) + +proc GET_WM_VSCROLL_CODE(w, L: int32): int32 = + # return type might be wrong + result = LOWORD(w) + +proc GET_WM_VSCROLL_HWND(w, L: int32): HWND = + result = HWND(L) + +proc GET_WM_VSCROLL_POS(w, L: int32): int32 = + # return type might be wrong + result = HIWORD(w) + +proc FreeModule(h: HINST): WINBOOL = + result = FreeLibrary(h) + +proc MakeProcInstance(p, i: int32): int32 = + # return type might be wrong + result = p + +proc FreeProcInstance(p: int32): int32 = + # return type might be wrong + result = p + +proc fBinary(a: var DCB): DWORD = + result = (a.flags and bm_DCB_fBinary) shr bp_DCB_fBinary + +proc set_fBinary(a: var DCB, fBinary: DWORD) = + a.flags = a.flags or ((fBinary shl bp_DCB_fBinary) and bm_DCB_fBinary) + +proc fParity(a: var DCB): DWORD = + result = (a.flags and bm_DCB_fParity) shr bp_DCB_fParity + +proc set_fParity(a: var DCB, fParity: DWORD) = + a.flags = a.flags or ((fParity shl bp_DCB_fParity) and bm_DCB_fParity) + +proc fOutxCtsFlow(a: var DCB): DWORD = + result = (a.flags and bm_DCB_fOutxCtsFlow) shr bp_DCB_fOutxCtsFlow + +proc set_fOutxCtsFlow(a: var DCB, fOutxCtsFlow: DWORD) = + a.flags = a.flags or + ((fOutxCtsFlow shl bp_DCB_fOutxCtsFlow) and bm_DCB_fOutxCtsFlow) + +proc fOutxDsrFlow(a: var DCB): DWORD = + result = (a.flags and bm_DCB_fOutxDsrFlow) shr bp_DCB_fOutxDsrFlow + +proc set_fOutxDsrFlow(a: var DCB, fOutxDsrFlow: DWORD) = + a.flags = a.flags or + ((fOutxDsrFlow shl bp_DCB_fOutxDsrFlow) and bm_DCB_fOutxDsrFlow) + +proc fDtrControl(a: var DCB): DWORD = + result = (a.flags and bm_DCB_fDtrControl) shr bp_DCB_fDtrControl + +proc set_fDtrControl(a: var DCB, fDtrControl: DWORD) = + a.flags = a.flags or + ((fDtrControl shl bp_DCB_fDtrControl) and bm_DCB_fDtrControl) + +proc fDsrSensitivity(a: var DCB): DWORD = + result = (a.flags and bm_DCB_fDsrSensitivity) shr bp_DCB_fDsrSensitivity + +proc set_fDsrSensitivity(a: var DCB, fDsrSensitivity: DWORD) = + a.flags = a.flags or + ((fDsrSensitivity shl bp_DCB_fDsrSensitivity) and + bm_DCB_fDsrSensitivity) + +proc fTXContinueOnXoff(a: var DCB): DWORD = + result = (a.flags and bm_DCB_fTXContinueOnXoff) shr + bp_DCB_fTXContinueOnXoff + +proc set_fTXContinueOnXoff(a: var DCB, fTXContinueOnXoff: DWORD) = + a.flags = a.flags or + ((fTXContinueOnXoff shl bp_DCB_fTXContinueOnXoff) and + bm_DCB_fTXContinueOnXoff) + +proc fOutX(a: var DCB): DWORD = + result = (a.flags and bm_DCB_fOutX) shr bp_DCB_fOutX + +proc set_fOutX(a: var DCB, fOutX: DWORD) = + a.flags = a.flags or ((fOutX shl bp_DCB_fOutX) and bm_DCB_fOutX) + +proc fInX(a: var DCB): DWORD = + result = (a.flags and bm_DCB_fInX) shr bp_DCB_fInX + +proc set_fInX(a: var DCB, fInX: DWORD) = + a.flags = a.flags or ((fInX shl bp_DCB_fInX) and bm_DCB_fInX) + +proc fErrorChar(a: var DCB): DWORD = + result = (a.flags and bm_DCB_fErrorChar) shr bp_DCB_fErrorChar + +proc set_fErrorChar(a: var DCB, fErrorChar: DWORD) = + a.flags = a.flags or + ((fErrorChar shl bp_DCB_fErrorChar) and bm_DCB_fErrorChar) + +proc fNull(a: var DCB): DWORD = + result = (a.flags and bm_DCB_fNull) shr bp_DCB_fNull + +proc set_fNull(a: var DCB, fNull: DWORD) = + a.flags = a.flags or ((fNull shl bp_DCB_fNull) and bm_DCB_fNull) + +proc fRtsControl(a: var DCB): DWORD = + result = (a.flags and bm_DCB_fRtsControl) shr bp_DCB_fRtsControl + +proc set_fRtsControl(a: var DCB, fRtsControl: DWORD) = + a.flags = a.flags or + ((fRtsControl shl bp_DCB_fRtsControl) and bm_DCB_fRtsControl) + +proc fAbortOnError(a: var DCB): DWORD = + result = (a.flags and bm_DCB_fAbortOnError) shr bp_DCB_fAbortOnError + +proc set_fAbortOnError(a: var DCB, fAbortOnError: DWORD) = + a.flags = a.flags or + ((fAbortOnError shl bp_DCB_fAbortOnError) and bm_DCB_fAbortOnError) + +proc fDummy2(a: var DCB): DWORD = + result = (a.flags and bm_DCB_fDummy2) shr bp_DCB_fDummy2 + +proc set_fDummy2(a: var DCB, fDummy2: DWORD) = + a.flags = a.flags or ((fDummy2 shl bp_DCB_fDummy2) and bm_DCB_fDummy2) + +proc fCtsHold(a: var COMSTAT): DWORD = + result = (a.flag0 and bm_COMSTAT_fCtsHold) shr bp_COMSTAT_fCtsHold + +proc set_fCtsHold(a: var COMSTAT, fCtsHold: DWORD) = + a.flag0 = a.flag0 or + ((fCtsHold shl bp_COMSTAT_fCtsHold) and bm_COMSTAT_fCtsHold) + +proc fDsrHold(a: var COMSTAT): DWORD = + result = (a.flag0 and bm_COMSTAT_fDsrHold) shr bp_COMSTAT_fDsrHold + +proc set_fDsrHold(a: var COMSTAT, fDsrHold: DWORD) = + a.flag0 = a.flag0 or + ((fDsrHold shl bp_COMSTAT_fDsrHold) and bm_COMSTAT_fDsrHold) + +proc fRlsdHold(a: var COMSTAT): DWORD = + result = (a.flag0 and bm_COMSTAT_fRlsdHold) shr bp_COMSTAT_fRlsdHold + +proc set_fRlsdHold(a: var COMSTAT, fRlsdHold: DWORD) = + a.flag0 = a.flag0 or + ((fRlsdHold shl bp_COMSTAT_fRlsdHold) and bm_COMSTAT_fRlsdHold) + +proc fXoffHold(a: var COMSTAT): DWORD = + result = (a.flag0 and bm_COMSTAT_fXoffHold) shr bp_COMSTAT_fXoffHold + +proc set_fXoffHold(a: var COMSTAT, fXoffHold: DWORD) = + a.flag0 = a.flag0 or + ((fXoffHold shl bp_COMSTAT_fXoffHold) and bm_COMSTAT_fXoffHold) + +proc fXoffSent(a: var COMSTAT): DWORD = + result = (a.flag0 and bm_COMSTAT_fXoffSent) shr bp_COMSTAT_fXoffSent + +proc set_fXoffSent(a: var COMSTAT, fXoffSent: DWORD) = + a.flag0 = a.flag0 or + ((fXoffSent shl bp_COMSTAT_fXoffSent) and bm_COMSTAT_fXoffSent) + +proc fEof(a: var COMSTAT): DWORD = + result = (a.flag0 and bm_COMSTAT_fEof) shr bp_COMSTAT_fEof + +proc set_fEof(a: var COMSTAT, fEof: DWORD) = + a.flag0 = a.flag0 or ((fEof shl bp_COMSTAT_fEof) and bm_COMSTAT_fEof) + +proc fTxim(a: var COMSTAT): DWORD = + result = (a.flag0 and bm_COMSTAT_fTxim) shr bp_COMSTAT_fTxim + +proc set_fTxim(a: var COMSTAT, fTxim: DWORD) = + a.flag0 = a.flag0 or ((fTxim shl bp_COMSTAT_fTxim) and bm_COMSTAT_fTxim) + +proc fReserved(a: var COMSTAT): DWORD = + result = (a.flag0 and bm_COMSTAT_fReserved) shr bp_COMSTAT_fReserved + +proc set_fReserved(a: var COMSTAT, fReserved: DWORD) = + a.flag0 = a.flag0 or + ((fReserved shl bp_COMSTAT_fReserved) and bm_COMSTAT_fReserved) + +proc bAppReturnCode(a: var DDEACK): int16 = + result = (a.flag0 and bm_DDEACK_bAppReturnCode) shr + bp_DDEACK_bAppReturnCode + +proc set_bAppReturnCode(a: var DDEACK, bAppReturnCode: int16) = + a.flag0 = a.flag0 or + ((bAppReturnCode shl bp_DDEACK_bAppReturnCode) and + bm_DDEACK_bAppReturnCode) + +proc reserved(a: var DDEACK): int16 = + result = (a.flag0 and bm_DDEACK_reserved) shr bp_DDEACK_reserved + +proc set_reserved(a: var DDEACK, reserved: int16) = + a.flag0 = a.flag0 or + ((reserved shl bp_DDEACK_reserved) and bm_DDEACK_reserved) + +proc fBusy(a: var DDEACK): int16 = + result = (a.flag0 and bm_DDEACK_fBusy) shr bp_DDEACK_fBusy + +proc set_fBusy(a: var DDEACK, fBusy: int16) = + a.flag0 = a.flag0 or ((fBusy shl bp_DDEACK_fBusy) and bm_DDEACK_fBusy) + +proc fAck(a: var DDEACK): int16 = + result = (a.flag0 and bm_DDEACK_fAck) shr bp_DDEACK_fAck + +proc set_fAck(a: var DDEACK, fAck: int16) = + a.flag0 = a.flag0 or ((fAck shl bp_DDEACK_fAck) and bm_DDEACK_fAck) + +proc reserved(a: var DDEADVISE): int16 = + result = (a.flag0 and bm_DDEADVISE_reserved) shr bp_DDEADVISE_reserved + +proc set_reserved(a: var DDEADVISE, reserved: int16) = + a.flag0 = a.flag0 or + ((reserved shl bp_DDEADVISE_reserved) and bm_DDEADVISE_reserved) + +proc fDeferUpd(a: var DDEADVISE): int16 = + result = (a.flag0 and bm_DDEADVISE_fDeferUpd) shr bp_DDEADVISE_fDeferUpd + +proc set_fDeferUpd(a: var DDEADVISE, fDeferUpd: int16) = + a.flag0 = a.flag0 or + ((fDeferUpd shl bp_DDEADVISE_fDeferUpd) and bm_DDEADVISE_fDeferUpd) + +proc fAckReq(a: var DDEADVISE): int16 = + result = (a.flag0 and bm_DDEADVISE_fAckReq) shr bp_DDEADVISE_fAckReq + +proc set_fAckReq(a: var DDEADVISE, fAckReq: int16) = + a.flag0 = a.flag0 or + ((fAckReq shl bp_DDEADVISE_fAckReq) and bm_DDEADVISE_fAckReq) + +proc unused(a: var DDEDATA): int16 = + result = (a.flag0 and bm_DDEDATA_unused) shr bp_DDEDATA_unused + +proc set_unused(a: var DDEDATA, unused: int16) = + a.flag0 = a.flag0 or ((unused shl bp_DDEDATA_unused) and bm_DDEDATA_unused) + +proc fResponse(a: var DDEDATA): int16 = + result = (a.flag0 and bm_DDEDATA_fResponse) shr bp_DDEDATA_fResponse + +proc set_fResponse(a: var DDEDATA, fResponse: int16) = + a.flag0 = a.flag0 or + ((fResponse shl bp_DDEDATA_fResponse) and bm_DDEDATA_fResponse) + +proc fRelease(a: var DDEDATA): int16 = + result = (a.flag0 and bm_DDEDATA_fRelease) shr bp_DDEDATA_fRelease + +proc set_fRelease(a: var DDEDATA, fRelease: int16) = + a.flag0 = a.flag0 or + ((fRelease shl bp_DDEDATA_fRelease) and bm_DDEDATA_fRelease) + +proc reserved(a: var DDEDATA): int16 = + result = (a.flag0 and bm_DDEDATA_reserved) shr bp_DDEDATA_reserved + +proc set_reserved(a: var DDEDATA, reserved: int16) = + a.flag0 = a.flag0 or + ((reserved shl bp_DDEDATA_reserved) and bm_DDEDATA_reserved) + +proc fAckReq(a: var DDEDATA): int16 = + result = (a.flag0 and bm_DDEDATA_fAckReq) shr bp_DDEDATA_fAckReq + +proc set_fAckReq(a: var DDEDATA, fAckReq: int16) = + a.flag0 = a.flag0 or + ((fAckReq shl bp_DDEDATA_fAckReq) and bm_DDEDATA_fAckReq) + +proc unused(a: var DDELN): int16 = + result = (a.flag0 and bm_DDELN_unused) shr bp_DDELN_unused + +proc set_unused(a: var DDELN, unused: int16) = + a.flag0 = a.flag0 or ((unused shl bp_DDELN_unused) and bm_DDELN_unused) + +proc fRelease(a: var DDELN): int16 = + result = (a.flag0 and bm_DDELN_fRelease) shr bp_DDELN_fRelease + +proc set_fRelease(a: var DDELN, fRelease: int16) = + a.flag0 = a.flag0 or + ((fRelease shl bp_DDELN_fRelease) and bm_DDELN_fRelease) + +proc fDeferUpd(a: var DDELN): int16 = + result = (a.flag0 and bm_DDELN_fDeferUpd) shr bp_DDELN_fDeferUpd + +proc set_fDeferUpd(a: var DDELN, fDeferUpd: int16) = + a.flag0 = a.flag0 or + ((fDeferUpd shl bp_DDELN_fDeferUpd) and bm_DDELN_fDeferUpd) + +proc fAckReq(a: var DDELN): int16 = + result = (a.flag0 and bm_DDELN_fAckReq) shr bp_DDELN_fAckReq + +proc set_fAckReq(a: var DDELN, fAckReq: int16) = + a.flag0 = a.flag0 or ((fAckReq shl bp_DDELN_fAckReq) and bm_DDELN_fAckReq) + +proc unused(a: var DDEPOKE): int16 = + result = (a.flag0 and bm_DDEPOKE_unused) shr bp_DDEPOKE_unused + +proc set_unused(a: var DDEPOKE, unused: int16) = + a.flag0 = a.flag0 or ((unused shl bp_DDEPOKE_unused) and bm_DDEPOKE_unused) + +proc fRelease(a: var DDEPOKE): int16 = + result = (a.flag0 and bm_DDEPOKE_fRelease) shr bp_DDEPOKE_fRelease + +proc set_fRelease(a: var DDEPOKE, fRelease: int16) = + a.flag0 = a.flag0 or + ((fRelease shl bp_DDEPOKE_fRelease) and bm_DDEPOKE_fRelease) + +proc fReserved(a: var DDEPOKE): int16 = + result = (a.flag0 and bm_DDEPOKE_fReserved) shr bp_DDEPOKE_fReserved + +proc set_fReserved(a: var DDEPOKE, fReserved: int16) = + a.flag0 = a.flag0 or + ((fReserved shl bp_DDEPOKE_fReserved) and bm_DDEPOKE_fReserved) + +proc unused(a: var DDEUP): int16 = + result = (a.flag0 and bm_DDEUP_unused) shr bp_DDEUP_unused + +proc set_unused(a: var DDEUP, unused: int16) = + a.flag0 = a.flag0 or ((unused shl bp_DDEUP_unused) and bm_DDEUP_unused) + +proc fAck(a: var DDEUP): int16 = + result = (a.flag0 and bm_DDEUP_fAck) shr bp_DDEUP_fAck + +proc set_fAck(a: var DDEUP, fAck: int16) = + a.flag0 = a.flag0 or ((fAck shl bp_DDEUP_fAck) and bm_DDEUP_fAck) + +proc fRelease(a: var DDEUP): int16 = + result = (a.flag0 and bm_DDEUP_fRelease) shr bp_DDEUP_fRelease + +proc set_fRelease(a: var DDEUP, fRelease: int16) = + a.flag0 = a.flag0 or + ((fRelease shl bp_DDEUP_fRelease) and bm_DDEUP_fRelease) + +proc fReserved(a: var DDEUP): int16 = + result = (a.flag0 and bm_DDEUP_fReserved) shr bp_DDEUP_fReserved + +proc set_fReserved(a: var DDEUP, fReserved: int16) = + a.flag0 = a.flag0 or + ((fReserved shl bp_DDEUP_fReserved) and bm_DDEUP_fReserved) + +proc fAckReq(a: var DDEUP): int16 = + result = (a.flag0 and bm_DDEUP_fAckReq) shr bp_DDEUP_fAckReq + +proc set_fAckReq(a: var DDEUP, fAckReq: int16) = + a.flag0 = a.flag0 or ((fAckReq shl bp_DDEUP_fAckReq) and bm_DDEUP_fAckReq) + +proc CreateWindowA(lpClassName: LPCSTR, lpWindowName: LPCSTR, dwStyle: DWORD, + X: int32, Y: int32, nWidth: int32, nHeight: int32, + hWndParent: HWND, hMenu: HMENU, hInstance: HINST, + lpParam: LPVOID): HWND = + result = CreateWindowExA(0, lpClassName, lpWindowName, dwStyle, x, y, nWidth, + nHeight, hWndParent, hMenu, hInstance, lpParam) + +proc CreateDialogA(hInstance: HINST, lpTemplateName: LPCSTR, hWndParent: HWND, + lpDialogFunc: DLGPROC): HWND = + result = CreateDialogParamA(hInstance, lpTemplateName, hWndParent, + lpDialogFunc, 0) + +proc CreateDialogIndirectA(hInstance: HINST, lpTemplate: LPCDLGTEMPLATE, + hWndParent: HWND, lpDialogFunc: DLGPROC): HWND = + result = CreateDialogIndirectParamA(hInstance, lpTemplate, hWndParent, + lpDialogFunc, 0) + +proc DialogBoxA(hInstance: HINST, lpTemplateName: LPCSTR, hWndParent: HWND, + lpDialogFunc: DLGPROC): int32 = + result = DialogBoxParamA(hInstance, lpTemplateName, hWndParent, lpDialogFunc, + 0) + +proc DialogBoxIndirectA(hInstance: HINST, hDialogTemplate: LPCDLGTEMPLATE, + hWndParent: HWND, lpDialogFunc: DLGPROC): int32 = + result = DialogBoxIndirectParamA(hInstance, hDialogTemplate, hWndParent, + lpDialogFunc, 0) + +proc CreateWindowW(lpClassName: LPCWSTR, lpWindowName: LPCWSTR, dwStyle: DWORD, + X: int32, Y: int32, nWidth: int32, nHeight: int32, + hWndParent: HWND, hMenu: HMENU, hInstance: HINST, + lpParam: LPVOID): HWND = + result = CreateWindowExW(0, lpClassName, lpWindowName, dwStyle, x, y, nWidth, + nHeight, hWndParent, hMenu, hInstance, lpParam) + +proc CreateDialogW(hInstance: HINST, lpName: LPCWSTR, hWndParent: HWND, + lpDialogFunc: DLGPROC): HWND = + result = CreateDialogParamW(hInstance, lpName, hWndParent, lpDialogFunc, 0) + +proc CreateDialogIndirectW(hInstance: HINST, lpTemplate: LPCDLGTEMPLATE, + hWndParent: HWND, lpDialogFunc: DLGPROC): HWND = + result = CreateDialogIndirectParamW(hInstance, lpTemplate, hWndParent, + lpDialogFunc, 0) + +proc DialogBoxW(hInstance: HINST, lpTemplate: LPCWSTR, hWndParent: HWND, + lpDialogFunc: DLGPROC): int32 = + result = DialogBoxParamW(hInstance, lpTemplate, hWndParent, lpDialogFunc, 0) + +proc DialogBoxIndirectW(hInstance: HINST, lpTemplate: LPCDLGTEMPLATE, + hWndParent: HWND, lpDialogFunc: DLGPROC): int32 = + result = DialogBoxIndirectParamW(hInstance, lpTemplate, hWndParent, + lpDialogFunc, 0) + +when defined(winUnicode): + proc CreateWindow(lpClassName: LPCWSTR, lpWindowName: LPCWSTR, dwStyle: DWORD, + X: int32, Y: int32, nWidth: int32, nHeight: int32, + hWndParent: HWND, hMenu: HMENU, hInstance: HINST, + lpParam: LPVOID): HWND = + result = CreateWindowEx(0, lpClassName, lpWindowName, dwStyle, x, y, nWidth, + nHeight, hWndParent, hMenu, hInstance, lpParam) + + proc CreateDialog(hInstance: HINST, lpName: LPCWSTR, hWndParent: HWND, + lpDialogFunc: DLGPROC): HWND = + result = CreateDialogParam(hInstance, lpName, hWndParent, lpDialogFunc, 0) + + proc CreateDialogIndirect(hInstance: HINST, lpTemplate: LPCDLGTEMPLATE, + hWndParent: HWND, lpDialogFunc: DLGPROC): HWND = + result = CreateDialogIndirectParam(hInstance, lpTemplate, hWndParent, + lpDialogFunc, 0) + + proc DialogBox(hInstance: HINST, lpTemplate: LPCWSTR, hWndParent: HWND, + lpDialogFunc: DLGPROC): int32 = + result = DialogBoxParam(hInstance, lpTemplate, hWndParent, lpDialogFunc, 0) + + proc DialogBoxIndirect(hInstance: HINST, lpTemplate: LPCDLGTEMPLATE, + hWndParent: HWND, lpDialogFunc: DLGPROC): int32 = + result = DialogBoxIndirectParam(hInstance, lpTemplate, hWndParent, + lpDialogFunc, 0) + +else: + proc CreateWindow(lpClassName: LPCSTR, lpWindowName: LPCSTR, dwStyle: DWORD, + X: int32, Y: int32, nWidth: int32, nHeight: int32, + hWndParent: HWND, hMenu: HMENU, hInstance: HINST, + lpParam: LPVOID): HWND = + result = CreateWindowEx(0, lpClassName, lpWindowName, dwStyle, x, y, nWidth, + nHeight, hWndParent, hMenu, hInstance, lpParam) + + proc CreateDialog(hInstance: HINST, lpTemplateName: LPCSTR, hWndParent: HWND, + lpDialogFunc: DLGPROC): HWND = + result = CreateDialogParam(hInstance, lpTemplateName, hWndParent, + lpDialogFunc, 0) + + proc CreateDialogIndirect(hInstance: HINST, lpTemplate: LPCDLGTEMPLATE, + hWndParent: HWND, lpDialogFunc: DLGPROC): HWND = + result = CreateDialogIndirectParam(hInstance, lpTemplate, hWndParent, + lpDialogFunc, 0) + + proc DialogBox(hInstance: HINST, lpTemplateName: LPCSTR, hWndParent: HWND, + lpDialogFunc: DLGPROC): int32 = + result = DialogBoxParam(hInstance, lpTemplateName, hWndParent, lpDialogFunc, + 0) + + proc DialogBoxIndirect(hInstance: HINST, hDialogTemplate: LPCDLGTEMPLATE, + hWndParent: HWND, lpDialogFunc: DLGPROC): int32 = + result = DialogBoxIndirectParam(hInstance, hDialogTemplate, hWndParent, + lpDialogFunc, 0) + +proc GlobalDiscard(hglbMem: HGLOBAL): HGLOBAL = + result = GlobalReAlloc(hglbMem, 0, GMEM_MOVEABLE) + +proc LocalDiscard(hlocMem: HLOCAL): HLOCAL = + result = LocalReAlloc(hlocMem, 0, LMEM_MOVEABLE) + +proc GlobalAllocPtr(flags, cb: DWord): Pointer = + result = GlobalLock(GlobalAlloc(flags, cb)) + +proc GlobalFreePtr(lp: Pointer): Pointer = + result = cast[Pointer](GlobalFree(cast[HWND](GlobalUnlockPtr(lp)))) + +proc GlobalUnlockPtr(lp: pointer): Pointer = + discard GlobalUnlock(GlobalHandle(lp)) + result = lp + +proc GlobalLockPtr(lp: pointer): Pointer = + result = GlobalLock(GlobalHandle(lp)) + +proc GlobalReAllocPtr(lp: Pointer, cbNew, flags: DWord): Pointer = + result = GlobalLock(GlobalReAlloc(cast[HWND](GlobalUnlockPtr(lp)), cbNew, flags)) + +proc GlobalPtrHandle(lp: pointer): Pointer = + result = cast[Pointer](GlobalHandle(lp)) + +proc ImageList_AddIcon(himl: HIMAGELIST, hicon: HICON): int32 = + result = ImageList_ReplaceIcon(himl, - (1), hicon) + +proc Animate_Create(hWndP: HWND, id: HMENU, dwStyle: DWORD, hInstance: HINST): HWND = + result = CreateWindow(cast[LPCSTR](ANIMATE_CLASS), nil, dwStyle, 0, 0, 0, 0, hwndP, + id, hInstance, nil) + +proc Animate_Open(hwnd: HWND, szName: LPTSTR): LRESULT = + result = SendMessage(hwnd, ACM_OPEN, 0, cast[LPARAM](szName)) + +proc Animate_Play(hwnd: HWND, `from`, `to`: int32, rep: UINT): LRESULT = + result = SendMessage(hwnd, ACM_PLAY, WPARAM(rep), + LPARAM(MAKELONG(`from`, `to`))) + +proc Animate_Stop(hwnd: HWND): LRESULT = + result = SendMessage(hwnd, ACM_STOP, 0, 0) + +proc Animate_Close(hwnd: HWND): LRESULT = + result = Animate_Open(hwnd, nil) + +proc Animate_Seek(hwnd: HWND, frame: int32): LRESULT = + result = Animate_Play(hwnd, frame, frame, 1) + +proc PropSheet_AddPage(hPropSheetDlg: HWND, hpage: HPROPSHEETPAGE): LRESULT = + result = SendMessage(hPropSheetDlg, PSM_ADDPAGE, 0, cast[LPARAM](hpage)) + +proc PropSheet_Apply(hPropSheetDlg: HWND): LRESULT = + result = SendMessage(hPropSheetDlg, PSM_APPLY, 0, 0) + +proc PropSheet_CancelToClose(hPropSheetDlg: HWND): LRESULT = + result = SendMessage(hPropSheetDlg, PSM_CANCELTOCLOSE, 0, 0) + +proc PropSheet_Changed(hPropSheetDlg, hwndPage: HWND): LRESULT = + result = SendMessage(hPropSheetDlg, PSM_CHANGED, WPARAM(hwndPage), 0) + +proc PropSheet_GetCurrentPageHwnd(hDlg: HWND): LRESULT = + result = SendMessage(hDlg, PSM_GETCURRENTPAGEHWND, 0, 0) + +proc PropSheet_GetTabControl(hPropSheetDlg: HWND): LRESULT = + result = SendMessage(hPropSheetDlg, PSM_GETTABCONTROL, 0, 0) + +proc PropSheet_IsDialogMessage(hDlg: HWND, pMsg: int32): LRESULT = + result = SendMessage(hDlg, PSM_ISDIALOGMESSAGE, 0, LPARAM(pMsg)) + +proc PropSheet_PressButton(hPropSheetDlg: HWND, iButton: int32): LRESULT = + result = SendMessage(hPropSheetDlg, PSM_PRESSBUTTON, WPARAM(int32(iButton)), 0) + +proc PropSheet_QuerySiblings(hPropSheetDlg: HWND, param1, param2: int32): LRESULT = + result = SendMessage(hPropSheetDlg, PSM_QUERYSIBLINGS, WPARAM(param1), + LPARAM(param2)) + +proc PropSheet_RebootSystem(hPropSheetDlg: HWND): LRESULT = + result = SendMessage(hPropSheetDlg, PSM_REBOOTSYSTEM, 0, 0) + +proc PropSheet_RemovePage(hPropSheetDlg: HWND, hpage: HPROPSHEETPAGE, + index: int32): LRESULT = + result = SendMessage(hPropSheetDlg, PSM_REMOVEPAGE, WPARAM(index), + cast[LPARAM](hpage)) + +proc PropSheet_RestartWindows(hPropSheetDlg: HWND): LRESULT = + result = SendMessage(hPropSheetDlg, PSM_RESTARTWINDOWS, 0, 0) + +proc PropSheet_SetCurSel(hPropSheetDlg: HWND, hpage: HPROPSHEETPAGE, + index: int32): LRESULT = + result = SendMessage(hPropSheetDlg, PSM_SETCURSEL, WPARAM(index), + cast[LPARAM](hpage)) + +proc PropSheet_SetCurSelByID(hPropSheetDlg: HWND, id: int32): LRESULT = + result = SendMessage(hPropSheetDlg, PSM_SETCURSELID, 0, LPARAM(id)) + +proc PropSheet_SetFinishText(hPropSheetDlg: HWND, lpszText: LPTSTR): LRESULT = + result = SendMessage(hPropSheetDlg, PSM_SETFINISHTEXT, 0, cast[LPARAM](lpszText)) + +proc PropSheet_SetTitle(hPropSheetDlg: HWND, dwStyle: DWORD, lpszText: LPCTSTR): LRESULT = + result = SendMessage(hPropSheetDlg, PSM_SETTITLE, WPARAM(dwStyle), + cast[LPARAM](lpszText)) + +proc PropSheet_SetWizButtons(hPropSheetDlg: HWND, dwFlags: DWORD): LRESULT = + result = SendMessage(hPropSheetDlg, PSM_SETWIZBUTTONS, 0, LPARAM(dwFlags)) + +proc PropSheet_UnChanged(hPropSheetDlg: HWND, hwndPage: HWND): LRESULT = + result = SendMessage(hPropSheetDlg, PSM_UNCHANGED, WPARAM(hwndPage), 0) + +proc Header_DeleteItem(hwndHD: HWND, index: int32): WINBOOL = + result = WINBOOL(SendMessage(hwndHD, HDM_DELETEITEM, WPARAM(index), 0)) + +proc Header_GetItem(hwndHD: HWND, index: int32, hdi: var HD_ITEM): WINBOOL = + result = WINBOOL(SendMessage(hwndHD, HDM_GETITEM, WPARAM(index), + cast[LPARAM](addr(hdi)))) + +proc Header_GetItemCount(hwndHD: HWND): int32 = + result = int32(SendMessage(hwndHD, HDM_GETITEMCOUNT, 0, 0)) + +proc Header_InsertItem(hwndHD: HWND, index: int32, hdi: var HD_ITEM): int32 = + result = int32(SendMessage(hwndHD, HDM_INSERTITEM, WPARAM(index), + cast[LPARAM](addr(hdi)))) + +proc Header_Layout(hwndHD: HWND, layout: var HD_LAYOUT): WINBOOL = + result = WINBOOL(SendMessage(hwndHD, HDM_LAYOUT, 0, + cast[LPARAM](addr(layout)))) + +proc Header_SetItem(hwndHD: HWND, index: int32, hdi: var HD_ITEM): WINBOOL = + result = WINBOOL(SendMessage(hwndHD, HDM_SETITEM, WPARAM(index), + cast[LPARAM](addr(hdi)))) + +proc ListView_Arrange(hwndLV: HWND, code: UINT): LRESULT = + result = SendMessage(hwndLV, LVM_ARRANGE, WPARAM(code), 0) + +proc ListView_CreateDragImage(hwnd: HWND, i: int32, lpptUpLeft: LPPOINT): LRESULT = + result = SendMessage(hwnd, LVM_CREATEDRAGIMAGE, WPARAM(i), cast[LPARAM](lpptUpLeft)) + +proc ListView_DeleteAllItems(hwnd: HWND): LRESULT = + result = SendMessage(hwnd, LVM_DELETEALLITEMS, 0, 0) + +proc ListView_DeleteColumn(hwnd: HWND, iCol: int32): LRESULT = + result = SendMessage(hwnd, LVM_DELETECOLUMN, WPARAM(iCol), 0) + +proc ListView_DeleteItem(hwnd: HWND, iItem: int32): LRESULT = + result = SendMessage(hwnd, LVM_DELETEITEM, WPARAM(iItem), 0) + +proc ListView_EditLabel(hwndLV: HWND, i: int32): LRESULT = + result = SendMessage(hwndLV, LVM_EDITLABEL, WPARAM(int32(i)), 0) + +proc ListView_EnsureVisible(hwndLV: HWND, i, fPartialOK: int32): LRESULT = + result = SendMessage(hwndLV, LVM_ENSUREVISIBLE, WPARAM(i), + MAKELPARAM(fPartialOK, 0)) + +proc ListView_FindItem(hwnd: HWND, iStart: int32, lvfi: var LV_FINDINFO): int32 = + result = SendMessage(hwnd, LVM_FINDITEM, WPARAM(iStart), cast[LPARAM](addr(lvfi))) + +proc ListView_GetBkColor(hwnd: HWND): LRESULT = + result = SendMessage(hwnd, LVM_GETBKCOLOR, 0, 0) + +proc ListView_GetCallbackMask(hwnd: HWND): LRESULT = + result = SendMessage(hwnd, LVM_GETCALLBACKMASK, 0, 0) + +proc ListView_GetColumn(hwnd: HWND, iCol: int32, col: var LV_COLUMN): LRESULT = + result = SendMessage(hwnd, LVM_GETCOLUMN, WPARAM(iCol), cast[LPARAM](addr(col))) + +proc ListView_GetColumnWidth(hwnd: HWND, iCol: int32): LRESULT = + result = SendMessage(hwnd, LVM_GETCOLUMNWIDTH, WPARAM(iCol), 0) + +proc ListView_GetCountPerPage(hwndLV: HWND): LRESULT = + result = SendMessage(hwndLV, LVM_GETCOUNTPERPAGE, 0, 0) + +proc ListView_GetEditControl(hwndLV: HWND): LRESULT = + result = SendMessage(hwndLV, LVM_GETEDITCONTROL, 0, 0) + +proc ListView_GetImageList(hwnd: HWND, iImageList: wINT): LRESULT = + result = SendMessage(hwnd, LVM_GETIMAGELIST, WPARAM(iImageList), 0) + +proc ListView_GetISearchString(hwndLV: HWND, lpsz: LPTSTR): LRESULT = + result = SendMessage(hwndLV, LVM_GETISEARCHSTRING, 0, cast[LPARAM](lpsz)) + +proc ListView_GetItem(hwnd: HWND, item: var LV_ITEM): LRESULT = + result = SendMessage(hwnd, LVM_GETITEM, 0, cast[LPARAM](addr(item))) + +proc ListView_GetItemCount(hwnd: HWND): LRESULT = + result = SendMessage(hwnd, LVM_GETITEMCOUNT, 0, 0) + +proc ListView_GetItemPosition(hwndLV: HWND, i: int32, pt: var POINT): int32 = + result = SendMessage(hwndLV, LVM_GETITEMPOSITION, WPARAM(int32(i)), + cast[LPARAM](addr(pt))) + +proc ListView_GetItemSpacing(hwndLV: HWND, fSmall: int32): LRESULT = + result = SendMessage(hwndLV, LVM_GETITEMSPACING, fSmall, 0) + +proc ListView_GetItemState(hwndLV: HWND, i, mask: int32): LRESULT = + result = SendMessage(hwndLV, LVM_GETITEMSTATE, WPARAM(i), LPARAM(mask)) + +proc ListView_GetNextItem(hwnd: HWND, iStart, flags: int32): LRESULT = + result = SendMessage(hwnd, LVM_GETNEXTITEM, WPARAM(iStart), LPARAM(flags)) + +proc ListView_GetOrigin(hwndLV: HWND, pt: var POINT): LRESULT = + result = SendMessage(hwndLV, LVM_GETORIGIN, WPARAM(0), cast[LPARAM](addr(pt))) + +proc ListView_GetSelectedCount(hwndLV: HWND): LRESULT = + result = SendMessage(hwndLV, LVM_GETSELECTEDCOUNT, 0, 0) + +proc ListView_GetStringWidth(hwndLV: HWND, psz: LPCTSTR): LRESULT = + result = SendMessage(hwndLV, LVM_GETSTRINGWIDTH, 0, cast[LPARAM](psz)) + +proc ListView_GetTextBkColor(hwnd: HWND): LRESULT = + result = SendMessage(hwnd, LVM_GETTEXTBKCOLOR, 0, 0) + +proc ListView_GetTextColor(hwnd: HWND): LRESULT = + result = SendMessage(hwnd, LVM_GETTEXTCOLOR, 0, 0) + +proc ListView_GetTopIndex(hwndLV: HWND): LRESULT = + result = SendMessage(hwndLV, LVM_GETTOPINDEX, 0, 0) + +proc ListView_GetViewRect(hwnd: HWND, rc: var RECT): LRESULT = + result = SendMessage(hwnd, LVM_GETVIEWRECT, 0, cast[LPARAM](addr(rc))) + +proc ListView_HitTest(hwndLV: HWND, info: var LV_HITTESTINFO): LRESULT = + result = SendMessage(hwndLV, LVM_HITTEST, 0, cast[LPARAM](addr(info))) + +proc ListView_InsertColumn(hwnd: HWND, iCol: int32, col: var LV_COLUMN): LRESULT = + result = SendMessage(hwnd, LVM_INSERTCOLUMN, WPARAM(iCol), cast[LPARAM](addr(col))) + +proc ListView_InsertItem(hwnd: HWND, item: var LV_ITEM): LRESULT = + result = SendMessage(hwnd, LVM_INSERTITEM, 0, cast[LPARAM](addr(item))) + +proc ListView_RedrawItems(hwndLV: HWND, iFirst, iLast: int32): LRESULT = + result = SendMessage(hwndLV, LVM_REDRAWITEMS, WPARAM(iFirst), LPARAM(iLast)) + +proc ListView_Scroll(hwndLV: HWND, dx, dy: int32): LRESULT = + result = SendMessage(hwndLV, LVM_SCROLL, WPARAM(dx), LPARAM(dy)) + +proc ListView_SetBkColor(hwnd: HWND, clrBk: COLORREF): LRESULT = + result = SendMessage(hwnd, LVM_SETBKCOLOR, 0, LPARAM(clrBk)) + +proc ListView_SetCallbackMask(hwnd: HWND, mask: UINT): LRESULT = + result = SendMessage(hwnd, LVM_SETCALLBACKMASK, WPARAM(mask), 0) + +proc ListView_SetColumn(hwnd: HWND, iCol: int32, col: var LV_COLUMN): LRESULT = + result = SendMessage(hwnd, LVM_SETCOLUMN, WPARAM(iCol), cast[LPARAM](addr(col))) + +proc ListView_SetColumnWidth(hwnd: HWND, iCol, cx: int32): LRESULT = + result = SendMessage(hwnd, LVM_SETCOLUMNWIDTH, WPARAM(iCol), MAKELPARAM(cx, 0)) + +proc ListView_SetImageList(hwnd: HWND, himl: int32, iImageList: HIMAGELIST): LRESULT = + result = SendMessage(hwnd, LVM_SETIMAGELIST, WPARAM(iImageList), + LPARAM(UINT(himl))) + +proc ListView_SetItem(hwnd: HWND, item: var LV_ITEM): LRESULT = + result = SendMessage(hwnd, LVM_SETITEM, 0, cast[LPARAM](addr(item))) + +proc ListView_SetItemCount(hwndLV: HWND, cItems: int32): LRESULT = + result = SendMessage(hwndLV, LVM_SETITEMCOUNT, WPARAM(cItems), 0) + +proc ListView_SetItemPosition(hwndLV: HWND, i, x, y: int32): LRESULT = + result = SendMessage(hwndLV, LVM_SETITEMPOSITION, WPARAM(i), MAKELPARAM(x, y)) + +proc ListView_SetItemPosition32(hwndLV: HWND, i, x, y: int32): LRESULT = + var ptNewPos: POINT + ptNewPos.x = x + ptNewPos.y = y + result = SendMessage(hwndLV, LVM_SETITEMPOSITION32, WPARAM(i), + cast[LPARAM](addr(ptNewPos))) + +proc ListView_SetItemState(hwndLV: HWND, i, data, mask: int32): LRESULT = + var gnu_lvi: LV_ITEM + gnu_lvi.stateMask = mask + gnu_lvi.state = data + result = SendMessage(hwndLV, LVM_SETITEMSTATE, WPARAM(i), + cast[LPARAM](addr(gnu_lvi))) + +proc ListView_SetItemText(hwndLV: HWND, i, iSubItem_: int32, pszText_: LPTSTR): LRESULT = + var gnu_lvi: LV_ITEM + gnu_lvi.iSubItem = iSubItem_ + gnu_lvi.pszText = pszText_ + result = SendMessage(hwndLV, LVM_SETITEMTEXT, WPARAM(i), + cast[LPARAM](addr(gnu_lvi))) + +proc ListView_SetTextBkColor(hwnd: HWND, clrTextBk: COLORREF): LRESULT = + result = SendMessage(hwnd, LVM_SETTEXTBKCOLOR, 0, LPARAM(clrTextBk)) + +proc ListView_SetTextColor(hwnd: HWND, clrText: COLORREF): LRESULT = + result = SendMessage(hwnd, LVM_SETTEXTCOLOR, 0, LPARAM(clrText)) + +proc ListView_SortItems(hwndLV: HWND, pfnCompare: PFNLVCOMPARE, lPrm: LPARAM): LRESULT = + result = SendMessage(hwndLV, LVM_SORTITEMS, WPARAM(lPrm), cast[LPARAM](pfnCompare)) + +proc ListView_Update(hwndLV: HWND, i: int32): LRESULT = + result = SendMessage(hwndLV, LVM_UPDATE, WPARAM(i), 0) + +proc TreeView_InsertItem(hwnd: HWND, lpis: LPTV_INSERTSTRUCT): LRESULT = + result = SendMessage(hwnd, TVM_INSERTITEM, 0, cast[LPARAM](lpis)) + +proc TreeView_DeleteItem(hwnd: HWND, hitem: HTREEITEM): LRESULT = + result = SendMessage(hwnd, TVM_DELETEITEM, 0, cast[LPARAM](hitem)) + +proc TreeView_DeleteAllItems(hwnd: HWND): LRESULT = + result = SendMessage(hwnd, TVM_DELETEITEM, 0, cast[LPARAM](TVI_ROOT)) + +proc TreeView_Expand(hwnd: HWND, hitem: HTREEITEM, code: int32): LRESULT = + result = SendMessage(hwnd, TVM_EXPAND, WPARAM(code), cast[LPARAM](hitem)) + +proc TreeView_GetCount(hwnd: HWND): LRESULT = + result = SendMessage(hwnd, TVM_GETCOUNT, 0, 0) + +proc TreeView_GetIndent(hwnd: HWND): LRESULT = + result = SendMessage(hwnd, TVM_GETINDENT, 0, 0) + +proc TreeView_SetIndent(hwnd: HWND, indent: int32): LRESULT = + result = SendMessage(hwnd, TVM_SETINDENT, WPARAM(indent), 0) + +proc TreeView_GetImageList(hwnd: HWND, iImage: WPARAM): LRESULT = + result = SendMessage(hwnd, TVM_GETIMAGELIST, iImage, 0) + +proc TreeView_SetImageList(hwnd: HWND, himl: HIMAGELIST, iImage: WPARAM): LRESULT = + result = SendMessage(hwnd, TVM_SETIMAGELIST, iImage, LPARAM(UINT(himl))) + +proc TreeView_GetNextItem(hwnd: HWND, hitem: HTREEITEM, code: int32): LRESULT = + result = SendMessage(hwnd, TVM_GETNEXTITEM, WPARAM(code), cast[LPARAM](hitem)) + +proc TreeView_GetChild(hwnd: HWND, hitem: HTREEITEM): LRESULT = + result = TreeView_GetNextItem(hwnd, hitem, TVGN_CHILD) + +proc TreeView_GetNextSibling(hwnd: HWND, hitem: HTREEITEM): LRESULT = + result = TreeView_GetNextItem(hwnd, hitem, TVGN_NEXT) + +proc TreeView_GetPrevSibling(hwnd: HWND, hitem: HTREEITEM): LRESULT = + result = TreeView_GetNextItem(hwnd, hitem, TVGN_PREVIOUS) + +proc TreeView_GetParent(hwnd: HWND, hitem: HTREEITEM): LRESULT = + result = TreeView_GetNextItem(hwnd, hitem, TVGN_PARENT) + +proc TreeView_GetFirstVisible(hwnd: HWND): LRESULT = + result = TreeView_GetNextItem(hwnd, HTREEITEM(nil), TVGN_FIRSTVISIBLE) + +proc TreeView_GetNextVisible(hwnd: HWND, hitem: HTREEITEM): LRESULT = + result = TreeView_GetNextItem(hwnd, hitem, TVGN_NEXTVISIBLE) + +proc TreeView_GetPrevVisible(hwnd: HWND, hitem: HTREEITEM): LRESULT = + result = TreeView_GetNextItem(hwnd, hitem, TVGN_PREVIOUSVISIBLE) + +proc TreeView_GetSelection(hwnd: HWND): LRESULT = + result = TreeView_GetNextItem(hwnd, HTREEITEM(nil), TVGN_CARET) + +proc TreeView_GetDropHilight(hwnd: HWND): LRESULT = + result = TreeView_GetNextItem(hwnd, HTREEITEM(nil), TVGN_DROPHILITE) + +proc TreeView_GetRoot(hwnd: HWND): LRESULT = + result = TreeView_GetNextItem(hwnd, HTREEITEM(nil), TVGN_ROOT) + +proc TreeView_Select(hwnd: HWND, hitem: HTREEITEM, code: int32): LRESULT = + result = SendMessage(hwnd, TVM_SELECTITEM, WPARAM(code), cast[LPARAM](hitem)) + +proc TreeView_SelectItem(hwnd: HWND, hitem: HTREEITEM): LRESULT = + result = TreeView_Select(hwnd, hitem, TVGN_CARET) + +proc TreeView_SelectDropTarget(hwnd: HWND, hitem: HTREEITEM): LRESULT = + result = TreeView_Select(hwnd, hitem, TVGN_DROPHILITE) + +proc TreeView_SelectSetFirstVisible(hwnd: HWND, hitem: HTREEITEM): LRESULT = + result = TreeView_Select(hwnd, hitem, TVGN_FIRSTVISIBLE) + +proc TreeView_GetItem(hwnd: HWND, item: var TV_ITEM): LRESULT = + result = SendMessage(hwnd, TVM_GETITEM, 0, cast[LPARAM](addr(item))) + +proc TreeView_SetItem(hwnd: HWND, item: var TV_ITEM): LRESULT = + result = SendMessage(hwnd, TVM_SETITEM, 0, cast[LPARAM](addr(item))) + +proc TreeView_EditLabel(hwnd: HWND, hitem: HTREEITEM): LRESULT = + Result = SendMessage(hwnd, TVM_EDITLABEL, 0, cast[LPARAM](hitem)) + +proc TreeView_GetEditControl(hwnd: HWND): LRESULT = + result = SendMessage(hwnd, TVM_GETEDITCONTROL, 0, 0) + +proc TreeView_GetVisibleCount(hwnd: HWND): LRESULT = + result = SendMessage(hwnd, TVM_GETVISIBLECOUNT, 0, 0) + +proc TreeView_HitTest(hwnd: HWND, lpht: LPTV_HITTESTINFO): LRESULT = + result = SendMessage(hwnd, TVM_HITTEST, 0, cast[LPARAM](lpht)) + +proc TreeView_CreateDragImage(hwnd: HWND, hitem: HTREEITEM): LRESULT = + result = SendMessage(hwnd, TVM_CREATEDRAGIMAGE, 0, cast[LPARAM](hitem)) + +proc TreeView_SortChildren(hwnd: HWND, hitem: HTREEITEM, recurse: int32): LRESULT = + result = SendMessage(hwnd, TVM_SORTCHILDREN, WPARAM(recurse), cast[LPARAM](hitem)) + +proc TreeView_EnsureVisible(hwnd: HWND, hitem: HTREEITEM): LRESULT = + result = SendMessage(hwnd, TVM_ENSUREVISIBLE, 0, cast[LPARAM](hitem)) + +proc TreeView_SortChildrenCB(hwnd: HWND, psort: LPTV_SORTCB, recurse: int32): LRESULT = + result = SendMessage(hwnd, TVM_SORTCHILDRENCB, WPARAM(recurse), cast[LPARAM](psort)) + +proc TreeView_EndEditLabelNow(hwnd: HWND, fCancel: int32): LRESULT = + result = SendMessage(hwnd, TVM_ENDEDITLABELNOW, WPARAM(fCancel), 0) + +proc TreeView_GetISearchString(hwndTV: HWND, lpsz: LPTSTR): LRESULT = + result = SendMessage(hwndTV, TVM_GETISEARCHSTRING, 0, cast[LPARAM](lpsz)) + +proc TabCtrl_GetImageList(hwnd: HWND): LRESULT = + result = SendMessage(hwnd, TCM_GETIMAGELIST, 0, 0) + +proc TabCtrl_SetImageList(hwnd: HWND, himl: HIMAGELIST): LRESULT = + result = SendMessage(hwnd, TCM_SETIMAGELIST, 0, LPARAM(UINT(himl))) + +proc TabCtrl_GetItemCount(hwnd: HWND): LRESULT = + result = SendMessage(hwnd, TCM_GETITEMCOUNT, 0, 0) + +proc TabCtrl_GetItem(hwnd: HWND, iItem: int32, item: var TC_ITEM): LRESULT = + result = SendMessage(hwnd, TCM_GETITEM, WPARAM(iItem), cast[LPARAM](addr(item))) + +proc TabCtrl_SetItem(hwnd: HWND, iItem: int32, item: var TC_ITEM): LRESULT = + result = SendMessage(hwnd, TCM_SETITEM, WPARAM(iItem), cast[LPARAM](addr(item))) + +proc TabCtrl_InsertItem(hwnd: HWND, iItem: int32, item: var TC_ITEM): LRESULT = + result = SendMessage(hwnd, TCM_INSERTITEM, WPARAM(iItem), cast[LPARAM](addr(item))) + +proc TabCtrl_DeleteItem(hwnd: HWND, i: int32): LRESULT = + result = SendMessage(hwnd, TCM_DELETEITEM, WPARAM(i), 0) + +proc TabCtrl_DeleteAllItems(hwnd: HWND): LRESULT = + result = SendMessage(hwnd, TCM_DELETEALLITEMS, 0, 0) + +proc TabCtrl_GetItemRect(hwnd: HWND, i: int32, rc: var RECT): LRESULT = + result = SendMessage(hwnd, TCM_GETITEMRECT, WPARAM(int32(i)), cast[LPARAM](addr(rc))) + +proc TabCtrl_GetCurSel(hwnd: HWND): LRESULT = + result = SendMessage(hwnd, TCM_GETCURSEL, 0, 0) + +proc TabCtrl_SetCurSel(hwnd: HWND, i: int32): LRESULT = + result = SendMessage(hwnd, TCM_SETCURSEL, WPARAM(i), 0) + +proc TabCtrl_HitTest(hwndTC: HWND, info: var TC_HITTESTINFO): LRESULT = + result = SendMessage(hwndTC, TCM_HITTEST, 0, cast[LPARAM](addr(info))) + +proc TabCtrl_SetItemExtra(hwndTC: HWND, cb: int32): LRESULT = + result = SendMessage(hwndTC, TCM_SETITEMEXTRA, WPARAM(cb), 0) + +proc TabCtrl_AdjustRect(hwnd: HWND, bLarger: WINBOOL, rc: var RECT): LRESULT = + result = SendMessage(hwnd, TCM_ADJUSTRECT, WPARAM(bLarger), cast[LPARAM](addr(rc))) + +proc TabCtrl_SetItemSize(hwnd: HWND, x, y: int32): LRESULT = + result = SendMessage(hwnd, TCM_SETITEMSIZE, 0, MAKELPARAM(x, y)) + +proc TabCtrl_RemoveImage(hwnd: HWND, i: WPARAM): LRESULT = + result = SendMessage(hwnd, TCM_REMOVEIMAGE, i, 0) + +proc TabCtrl_SetPadding(hwnd: HWND, cx, cy: int32): LRESULT = + result = SendMessage(hwnd, TCM_SETPADDING, 0, MAKELPARAM(cx, cy)) + +proc TabCtrl_GetRowCount(hwnd: HWND): LRESULT = + result = SendMessage(hwnd, TCM_GETROWCOUNT, 0, 0) + +proc TabCtrl_GetToolTips(hwnd: HWND): LRESULT = + result = SendMessage(hwnd, TCM_GETTOOLTIPS, 0, 0) + +proc TabCtrl_SetToolTips(hwnd: HWND, hwndTT: int32): LRESULT = + result = SendMessage(hwnd, TCM_SETTOOLTIPS, WPARAM(hwndTT), 0) + +proc TabCtrl_GetCurFocus(hwnd: HWND): LRESULT = + result = SendMessage(hwnd, TCM_GETCURFOCUS, 0, 0) + +proc TabCtrl_SetCurFocus(hwnd: HWND, i: int32): LRESULT = + result = SendMessage(hwnd, TCM_SETCURFOCUS, i, 0) + +proc SNDMSG(hWnd: HWND, Msg: UINT, wParam: WPARAM, lParam: LPARAM): LRESULT = + result = SendMessage(hWnd, Msg, wParam, lParam) + +proc CommDlg_OpenSave_GetSpecA(hdlg: HWND, psz: LPSTR, cbmax: int32): LRESULT = + result = SNDMSG(hdlg, CDM_GETSPEC, WPARAM(cbmax), cast[LPARAM](psz)) + +proc CommDlg_OpenSave_GetSpecW(hdlg: HWND, psz: LPWSTR, cbmax: int32): LRESULT = + result = SNDMSG(hdlg, CDM_GETSPEC, WPARAM(cbmax), cast[LPARAM](psz)) + +when not(defined(winUnicode)): + proc CommDlg_OpenSave_GetSpec(hdlg: HWND, psz: LPSTR, cbmax: int32): LRESULT = + result = SNDMSG(hdlg, CDM_GETSPEC, WPARAM(cbmax), cast[LPARAM](psz)) + +else: + proc CommDlg_OpenSave_GetSpec(hdlg: HWND, psz: LPWSTR, cbmax: int32): LRESULT = + result = SNDMSG(hdlg, CDM_GETSPEC, WPARAM(cbmax), cast[LPARAM](psz)) + +proc CommDlg_OpenSave_GetFilePathA(hdlg: HWND, psz: LPSTR, cbmax: int32): LRESULT = + result = SNDMSG(hdlg, CDM_GETFILEPATH, WPARAM(cbmax), cast[LPARAM](psz)) + +proc CommDlg_OpenSave_GetFilePathW(hdlg: HWND, psz: LPWSTR, cbmax: int32): LRESULT = + result = SNDMSG(hdlg, CDM_GETFILEPATH, WPARAM(cbmax), cast[LPARAM](psz)) + +when not(defined(winUnicode)): + proc CommDlg_OpenSave_GetFilePath(hdlg: HWND, psz: LPSTR, cbmax: int32): LRESULT = + result = SNDMSG(hdlg, CDM_GETFILEPATH, WPARAM(cbmax), cast[LPARAM](psz)) + +else: + proc CommDlg_OpenSave_GetFilePath(hdlg: HWND, psz: LPWSTR, cbmax: int32): LRESULT = + result = SNDMSG(hdlg, CDM_GETFILEPATH, WPARAM(cbmax), cast[LPARAM](psz)) + +proc CommDlg_OpenSave_GetFolderPathA(hdlg: HWND, psz: LPSTR, cbmax: int32): LRESULT = + result = SNDMSG(hdlg, CDM_GETFOLDERPATH, WPARAM(cbmax), cast[LPARAM](psz)) + +proc CommDlg_OpenSave_GetFolderPathW(hdlg: HWND, psz: LPWSTR, cbmax: int32): LRESULT = + result = SNDMSG(hdlg, CDM_GETFOLDERPATH, WPARAM(cbmax), cast[LPARAM](psz)) + +when not(defined(winUnicode)): + proc CommDlg_OpenSave_GetFolderPath(hdlg: HWND, psz: LPSTR, cbmax: int32): LRESULT = + result = SNDMSG(hdlg, CDM_GETFOLDERPATH, WPARAM(cbmax), cast[LPARAM](psz)) + +else: + proc CommDlg_OpenSave_GetFolderPath(hdlg: HWND, psz: LPWSTR, cbmax: int32): LRESULT = + result = SNDMSG(hdlg, CDM_GETFOLDERPATH, WPARAM(cbmax), cast[LPARAM]((psz))) + +proc CommDlg_OpenSave_GetFolderIDList(hdlg: HWND, pidl: LPVOID, cbmax: int32): LRESULT = + result = SNDMSG(hdlg, CDM_GETFOLDERIDLIST, WPARAM(cbmax), cast[LPARAM](pidl)) + +proc CommDlg_OpenSave_SetControlText(hdlg: HWND, id: int32, text: LPSTR): LRESULT = + result = SNDMSG(hdlg, CDM_SETCONTROLTEXT, WPARAM(id), cast[LPARAM](text)) + +proc CommDlg_OpenSave_HideControl(hdlg: HWND, id: int32): LRESULT = + result = SNDMSG(hdlg, CDM_HIDECONTROL, WPARAM(id), 0) + +proc CommDlg_OpenSave_SetDefExt(hdlg: HWND, pszext: LPSTR): LRESULT = + result = SNDMSG(hdlg, CDM_SETDEFEXT, 0, cast[LPARAM](pszext)) + +proc InternalGetLargestConsoleWindowSize(hConsoleOutput: HANDLE): DWord{. + stdcall, dynlib: "kernel32", importc: "GetLargestConsoleWindowSize".} +proc GetLargestConsoleWindowSize(hConsoleOutput: HANDLE): COORD = + var res: dword + res = InternalGetLargestConsoleWindowSize(hConsoleOutput) + result.y = res and 0x0000ffff # XXX: correct? + result.x = res shr 16 + +proc Succeeded(Status: HRESULT): WINBOOL = + result = (Status and 0x80000000) + +proc Failed(Status: HRESULT): WINBOOL = + result = (Status and 0x80000000) + +proc IsError(Status: HRESULT): WINBOOL = + result = ord((Status shr 31) == SEVERITY_ERROR) + +proc HResultCode(hr: HRESULT): int32 = + result = hr and 0x0000FFFF + +proc HResultFacility(hr: HRESULT): int32 = + result = (hr shr 16) and 0x00001FFF + +proc HResultSeverity(hr: HRESULT): int32 = + result = (hr shr 31) and 0x00000001 + +proc MakeResult(p1, p2, mask: int32): HRESULT = + result = (p1 shl 31) or (p2 shl 16) or mask + +proc HResultFromWin32(x: int32): HRESULT = + result = x + if result != 0: + result = ((result and 0x0000FFFF) or (FACILITY_WIN32 shl 16) or + 0x80000000) + +proc HResultFromNT(x: int32): HRESULT = + result = x or FACILITY_NT_BIT + +proc MAKELANGID(PrimaryLang, SubLang: USHORT): int16 = + result = (SubLang shl 10) or PrimaryLang + +proc PRIMARYLANGID(LangId: int16): int16 = + result = LangId and 0x000003FF + +proc SUBLANGID(LangId: int16): int16 = + result = LangId shr 10 + +proc MAKELCID(LangId, SortId: int16): DWORD = + result = (DWORD(SortId) shl 16) or DWORD(LangId) + +proc MAKESORTLCID(LangId, SortId, SortVersion: int16): DWORD = + result = MAKELCID(LangId, SortId) or (SortVersion shl 20) + +proc LANGIDFROMLCID(LocaleId: LCID): int16 = + result = int16(LocaleId) + +proc SORTIDFROMLCID(LocaleId: LCID): int16 = + result = int16((DWORD(LocaleId) shr 16) and 0x0000000F) + +proc SORTVERSIONFROMLCID(LocaleId: LCID): int16 = + result = int16((DWORD(LocaleId) shr 20) and 0x0000000F) + +proc LANG_SYSTEM_DEFAULT(): int16 = + result = MAKELANGID(int16(LANG_NEUTRAL), SUBLANG_SYS_DEFAULT) + +proc LANG_USER_DEFAULT(): int16 = + result = MAKELANGID(int16(LANG_NEUTRAL), SUBLANG_DEFAULT) + +proc LOCALE_NEUTRAL(): DWORD = + result = MAKELCID(MAKELANGID(int16(LANG_NEUTRAL), SUBLANG_NEUTRAL), SORT_DEFAULT) + +proc LOCALE_INVARIANT(): DWORD = + result = MAKELCID(MAKELANGID(int16(LANG_INVARIANT), SUBLANG_NEUTRAL), SORT_DEFAULT) |