From a8577410406c5d3e88b8b71996193934274fb253 Mon Sep 17 00:00:00 2001 From: marco Date: Thu, 18 Apr 2019 11:21:36 +0000 Subject: [PATCH] --- Merging r40842 into '.': U rtl/win/wininc/struct.inc --- Recording mergeinfo for merge of r40842 into '.': U . --- Merging r41555 into '.': U rtl/win/wininc/unifun.inc U rtl/win/wininc/ascdef.inc U rtl/win/wininc/redef.inc U rtl/win/wininc/unidef.inc U rtl/win/wininc/ascfun.inc --- Recording mergeinfo for merge of r41555 into '.': G . --- Merging r41556 into '.': U rtl/win/wininc/defines.inc --- Recording mergeinfo for merge of r41556 into '.': G . --- Merging r41559 into '.': U rtl/win/wininc/base.inc U rtl/win/wininc/func.inc G rtl/win/wininc/defines.inc --- Recording mergeinfo for merge of r41559 into '.': G . --- Merging r41560 into '.': G rtl/win/wininc/func.inc --- Recording mergeinfo for merge of r41560 into '.': G . --- Merging r41562 into '.': G rtl/win/wininc/ascfun.inc G rtl/win/wininc/struct.inc G rtl/win/wininc/unifun.inc G rtl/win/wininc/ascdef.inc G rtl/win/wininc/unidef.inc G rtl/win/wininc/defines.inc --- Recording mergeinfo for merge of r41562 into '.': G . --- Merging r41635 into '.': G rtl/win/wininc/defines.inc --- Recording mergeinfo for merge of r41635 into '.': G . --- Merging r41845 into '.': G rtl/win/wininc/defines.inc --- Recording mergeinfo for merge of r41845 into '.': G . --- Merging r41854 into '.': G rtl/win/wininc/defines.inc --- Recording mergeinfo for merge of r41854 into '.': G . --- Merging r41857 into '.': G rtl/win/wininc/func.inc --- Recording mergeinfo for merge of r41857 into '.': G . --- Merging r41861 into '.': G rtl/win/wininc/defines.inc --- Recording mergeinfo for merge of r41861 into '.': G . --- Merging r41891 into '.': G rtl/win/wininc/func.inc --- Recording mergeinfo for merge of r41891 into '.': G . --- Merging r41892 into '.': G rtl/win/wininc/func.inc --- Recording mergeinfo for merge of r41892 into '.': G . --- Merging r41893 into '.': G rtl/win/wininc/func.inc G rtl/win/wininc/redef.inc --- Recording mergeinfo for merge of r41893 into '.': G . # revisions: 40842,41555,41556,41559,41560,41562,41635,41845,41854,41857,41861,41891,41892,41893 r40842 | marco | 2019-01-11 15:01:15 +0100 (Fri, 11 Jan 2019) | 6 lines Changed paths: M /trunk/rtl/win/wininc/struct.inc * problems reported by nanobit mantis #34850 corrected. - (probably Copy and paste) error in emrpolyline16 - EMREXTCREATEFONTINDIRECTW.elfw is of a W type - a few missing ^ pointer to's. r41555 | marco | 2019-03-02 15:35:33 +0100 (Sat, 02 Mar 2019) | 5 lines Changed paths: M /trunk/rtl/win/wininc/ascdef.inc M /trunk/rtl/win/wininc/ascfun.inc M /trunk/rtl/win/wininc/redef.inc M /trunk/rtl/win/wininc/unidef.inc M /trunk/rtl/win/wininc/unifun.inc * Fix for #35146 getfullpathname. * asc* uni* versions become pointer variants. * delphi overloads move to redef. * remove old comment (<2005) from redef. Possible related to constness. (LPCSTR vs LPSTR) * also added $ifdef unicode version. Most redefs don't. r41556 | marco | 2019-03-02 15:46:27 +0100 (Sat, 02 Mar 2019) | 1 line Changed paths: M /trunk/rtl/win/wininc/defines.inc * add missing file_attribute constants, mantis #35120 r41559 | marco | 2019-03-02 19:22:01 +0100 (Sat, 02 Mar 2019) | 1 line Changed paths: M /trunk/rtl/win/wininc/base.inc M /trunk/rtl/win/wininc/defines.inc M /trunk/rtl/win/wininc/func.inc * fix for #35111 EnumTimeFormatsEx. Prepared by 440bx r41560 | marco | 2019-03-02 19:24:42 +0100 (Sat, 02 Mar 2019) | 1 line Changed paths: M /trunk/rtl/win/wininc/func.inc * fix for #35119 geterrormode declaration by 440bx. r41562 | marco | 2019-03-02 22:09:18 +0100 (Sat, 02 Mar 2019) | 1 line Changed paths: M /trunk/rtl/win/wininc/ascdef.inc M /trunk/rtl/win/wininc/ascfun.inc M /trunk/rtl/win/wininc/defines.inc M /trunk/rtl/win/wininc/struct.inc M /trunk/rtl/win/wininc/unidef.inc M /trunk/rtl/win/wininc/unifun.inc * GetComputerNameEx/A/W Mantis #35115 r41635 | svenbarth | 2019-03-08 15:47:22 +0100 (Fri, 08 Mar 2019) | 1 line Changed paths: M /trunk/rtl/win/wininc/defines.inc + fix for Mantis #35203: add TLS_OUT_OF_INDEXES constant to Windows unit r41845 | marco | 2019-04-06 16:57:50 +0200 (Sat, 06 Apr 2019) | 2 lines Changed paths: M /trunk/rtl/win/wininc/defines.inc * metrics constants by Gareth and 440bx. Added SM_CARETBLINKINGENABLED for good measure. r41854 | marco | 2019-04-09 15:21:17 +0200 (Tue, 09 Apr 2019) | 2 lines Changed paths: M /trunk/rtl/win/wininc/defines.inc * readd bottomleft #35350 r41857 | marco | 2019-04-10 16:48:27 +0200 (Wed, 10 Apr 2019) | 1 line Changed paths: M /trunk/rtl/win/wininc/func.inc * add readdirectorychangedw (only -W function) mantis 35311 r41861 | marco | 2019-04-11 10:11:31 +0200 (Thu, 11 Apr 2019) | 1 line Changed paths: M /trunk/rtl/win/wininc/defines.inc * add MB_CANCELTRYCONTINUE and MB*MASK constants. mantis 35244 r41891 | marco | 2019-04-17 17:57:05 +0200 (Wed, 17 Apr 2019) | 2 lines Changed paths: M /trunk/rtl/win/wininc/func.inc * fix mantis 35368 and mantis 35369 r41892 | marco | 2019-04-17 18:01:50 +0200 (Wed, 17 Apr 2019) | 2 lines Changed paths: M /trunk/rtl/win/wininc/func.inc * and the setters. r41893 | marco | 2019-04-18 11:00:42 +0200 (Thu, 18 Apr 2019) | 1 line Changed paths: M /trunk/rtl/win/wininc/func.inc M /trunk/rtl/win/wininc/redef.inc * Mantis 35257 modifyworldtransform, defined with var parameter could also take NIL. Split into straight pointer + redef var overload. git-svn-id: branches/fixes_3_2@41894 - --- rtl/win/wininc/ascdef.inc | 3 +- rtl/win/wininc/ascfun.inc | 4 +-- rtl/win/wininc/base.inc | 2 ++ rtl/win/wininc/defines.inc | 58 +++++++++++++++++++++++++++++--------- rtl/win/wininc/func.inc | 10 +++++-- rtl/win/wininc/redef.inc | 15 ++++++---- rtl/win/wininc/struct.inc | 20 ++++++++++--- rtl/win/wininc/unidef.inc | 4 +-- rtl/win/wininc/unifun.inc | 4 +-- 9 files changed, 88 insertions(+), 32 deletions(-) diff --git a/rtl/win/wininc/ascdef.inc b/rtl/win/wininc/ascdef.inc index 4dd01c0dbf..6a9695b72d 100644 --- a/rtl/win/wininc/ascdef.inc +++ b/rtl/win/wininc/ascdef.inc @@ -111,7 +111,7 @@ function GetDiskFreeSpace(lpRootPathName:LPCSTR; lpSectorsPerCluster:LPDWORD; lp function CreateDirectory(lpPathName:LPCSTR; lpSecurityAttributes:LPSECURITY_ATTRIBUTES):WINBOOL; external 'kernel32' name 'CreateDirectoryA'; function CreateDirectoryEx(lpTemplateDirectory:LPCSTR; lpNewDirectory:LPCSTR; lpSecurityAttributes:LPSECURITY_ATTRIBUTES):WINBOOL; external 'kernel32' name 'CreateDirectoryExA'; function RemoveDirectory(lpPathName:LPCSTR):WINBOOL; external 'kernel32' name 'RemoveDirectoryA'; -function GetFullPathName(lpFileName:LPCSTR; nBufferLength:DWORD; lpBuffer:LPSTR; var lpFilePart:LPSTR):DWORD; external 'kernel32' name 'GetFullPathNameA'; +function GetFullPathName(lpFileName:LPCSTR; nBufferLength:DWORD; lpBuffer:LPSTR; lpFilePart:PLPSTR):DWORD; external 'kernel32' name 'GetFullPathNameA'; function DefineDosDevice(dwFlags:DWORD; lpDeviceName:LPCSTR; lpTargetPath:LPCSTR):WINBOOL; external 'kernel32' name 'DefineDosDeviceA'; function QueryDosDevice(lpDeviceName:LPCSTR; lpTargetPath:LPSTR; ucchMax:DWORD):DWORD; external 'kernel32' name 'QueryDosDeviceA'; function CreateFile(lpFileName:LPCSTR; dwDesiredAccess:DWORD; dwShareMode:DWORD; lpSecurityAttributes:LPSECURITY_ATTRIBUTES; dwCreationDisposition:DWORD;dwFlagsAndAttributes:DWORD; hTemplateFile:HANDLE):HANDLE; external 'kernel32' name 'CreateFileA'; @@ -479,6 +479,7 @@ function FindFirstFileEx(lpfilename : LPCStr;fInfoLevelId:FINDEX_INFO_LEVELS ;lp // winver>$0600 function FindFirstFileTransacted(lpfilename : LPCStr;fInfoLevelId:FINDEX_INFO_LEVELS ;lpFindFileData:pointer;fSearchOp : FINDEX_SEARCH_OPS;lpSearchFilter:pointer;dwAdditionalFlags:dword;htransaction : HANDLE):Handle; stdcall; external 'kernel32' name 'FindFirstFileTransactedA'; +function GetComputerNameEx(NameType:COMPUTER_NAME_FORMAT;lpbuffer:LPSTR;nSize:LPDWORD):BOOL;stdcall;external 'kernel32' name 'GetComputerNameExA'; {$endif read_interface} diff --git a/rtl/win/wininc/ascfun.inc b/rtl/win/wininc/ascfun.inc index 6d8c0b2b1e..a46e7f968c 100644 --- a/rtl/win/wininc/ascfun.inc +++ b/rtl/win/wininc/ascfun.inc @@ -110,7 +110,7 @@ function GetDiskFreeSpaceA(lpRootPathName:LPCSTR; lpSectorsPerCluster:LPDWORD; l function CreateDirectoryA(lpPathName:LPCSTR; lpSecurityAttributes:LPSECURITY_ATTRIBUTES):WINBOOL; external 'kernel32' name 'CreateDirectoryA'; function CreateDirectoryExA(lpTemplateDirectory:LPCSTR; lpNewDirectory:LPCSTR; lpSecurityAttributes:LPSECURITY_ATTRIBUTES):WINBOOL; external 'kernel32' name 'CreateDirectoryExA'; function RemoveDirectoryA(lpPathName:LPCSTR):WINBOOL; external 'kernel32' name 'RemoveDirectoryA'; -function GetFullPathNameA(lpFileName:LPCSTR; nBufferLength:DWORD; lpBuffer:LPSTR; var lpFilePart:LPSTR):DWORD; external 'kernel32' name 'GetFullPathNameA'; +function GetFullPathNameA(lpFileName:LPCSTR; nBufferLength:DWORD; lpBuffer:LPSTR; lpFilePart:PLPSTR):DWORD; external 'kernel32' name 'GetFullPathNameA'; function DefineDosDeviceA(dwFlags:DWORD; lpDeviceName:LPCSTR; lpTargetPath:LPCSTR):WINBOOL; external 'kernel32' name 'DefineDosDeviceA'; function QueryDosDeviceA(lpDeviceName:LPCSTR; lpTargetPath:LPSTR; ucchMax:DWORD):DWORD; external 'kernel32' name 'QueryDosDeviceA'; function CreateFileA(lpFileName:LPCSTR; dwDesiredAccess:DWORD; dwShareMode:DWORD; lpSecurityAttributes:LPSECURITY_ATTRIBUTES; dwCreationDisposition:DWORD;dwFlagsAndAttributes:DWORD; hTemplateFile:HANDLE):HANDLE; external 'kernel32' name 'CreateFileA'; @@ -492,7 +492,7 @@ function GetConsoleAliasesLengthA(ExeName:LPSTR):DWORD;stdcall;external 'kernel3 function GetConsoleAliasExesLengthA:DWORD;stdcall;external 'kernel32' name 'GetConsoleAliasExesLengthA'; function GetConsoleAliasesA(AliasBuffer:LPSTR; AliasBufferLength:DWORD; ExeName:LPSTR):DWORD;stdcall;external 'kernel32' name 'GetConsoleAliasesA'; function GetConsoleAliasExesA(ExeNameBuffer:LPSTR; ExeNameBufferLength:DWORD):DWORD;stdcall;external 'kernel32' name 'GetConsoleAliasExesA'; - +function GetComputerNameExA(NameType:COMPUTER_NAME_FORMAT;lpbuffer:LPSTR;nSize:LPDWORD):BOOL;stdcall;external 'kernel32' name 'GetComputerNameExA'; {$endif read_interface} diff --git a/rtl/win/wininc/base.inc b/rtl/win/wininc/base.inc index e9c31a810c..81063687e4 100644 --- a/rtl/win/wininc/base.inc +++ b/rtl/win/wininc/base.inc @@ -748,6 +748,8 @@ PFNPROCESSPOLICIESA = function (_para1:HWND; _para2:LPCSTR; _para3:LPCSTR; _para4:LPCSTR; _para5:DWORD):WINBOOL;stdcall; PFNPROCESSPOLICIESW = function (_para1:HWND; _para2:LPCWSTR; _para3:LPCWSTR; _para4:LPCWSTR; _para5:DWORD):WINBOOL;stdcall; PFNPROCESSPOLICIES = function (_para1:HWND; _para2:LPCTSTR; _para3:LPCTSTR; _para4:LPCTSTR; _para5:DWORD):WINBOOL;stdcall; + TIMEFMT_ENUMPROCEX = function (TimeFormat : LPWSTR; AppData : LPARAM) : BOOL; 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} diff --git a/rtl/win/wininc/defines.inc b/rtl/win/wininc/defines.inc index c3e697c2d6..6bdf0f5fed 100644 --- a/rtl/win/wininc/defines.inc +++ b/rtl/win/wininc/defines.inc @@ -49,6 +49,7 @@ const UNICODE_NULL = WCHAR(#0); MAX_PATH = 260; + TLS_OUT_OF_INDEXES = DWORD($FFFFFFFF); LF_FACESIZE = 32; LF_FULLFACESIZE = 64; ELF_VENDOR_SIZE = 4; @@ -472,20 +473,28 @@ OPEN_ALWAYS = 4; TRUNCATE_EXISTING = 5; - FILE_ATTRIBUTE_ARCHIVE = 32; - 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_ATTRIBUTE_SPARSE_FILE = $0200; - FILE_ATTRIBUTE_REPARSE_POINT = $0400; - FILE_ATTRIBUTE_COMPRESSED = $0800; - FILE_ATTRIBUTE_OFFLINE = $1000; - FILE_ATTRIBUTE_NOT_CONTENT_INDEXED = $2000; - FILE_ATTRIBUTE_ENCRYPTED = $4000; - FILE_ATTRIBUTE_VIRTUAL = $20000; + FILE_ATTRIBUTE_READONLY = $0000001; + FILE_ATTRIBUTE_HIDDEN = $0000002; + FILE_ATTRIBUTE_SYSTEM = $0000004; + FILE_ATTRIBUTE_DIRECTORY = $0000010; + FILE_ATTRIBUTE_ARCHIVE = $0000020; + FILE_ATTRIBUTE_DEVICE = $0000040; + FILE_ATTRIBUTE_NORMAL = $0000080; + FILE_ATTRIBUTE_TEMPORARY = $0000100; + FILE_ATTRIBUTE_SPARSE_FILE = $0000200; + FILE_ATTRIBUTE_REPARSE_POINT = $0000400; + FILE_ATTRIBUTE_COMPRESSED = $0000800; + FILE_ATTRIBUTE_OFFLINE = $0001000; + FILE_ATTRIBUTE_NOT_CONTENT_INDEXED = $0002000; + FILE_ATTRIBUTE_ENCRYPTED = $0004000; + FILE_ATTRIBUTE_INTEGRITY_STREAM = $0008000; + FILE_ATTRIBUTE_VIRTUAL = $0010000; + FILE_ATTRIBUTE_NO_SCRUB_DATA = $0020000; + FILE_ATTRIBUTE_EA = $0040000; + FILE_ATTRIBUTE_PINNED = $0080000; + FILE_ATTRIBUTE_UNPINNED = $0100000; + FILE_ATTRIBUTE_RECALL_ON_OPEN = $0040000; // same as EA ? + FILE_ATTRIBUTE_RECALL_ON_DATA_ACCESS = $0400000; FILE_FLAG_WRITE_THROUGH = $80000000; FILE_FLAG_OVERLAPPED = 1073741824; @@ -1250,6 +1259,12 @@ DMDFO_STRETCH = 1; DMDFO_CENTER = 2; + + LOCALE_NAME_USER_DEFAULT : pwidechar = nil; + LOCALE_NAME_INVARIANT : pwidechar = ''; + LOCALE_NAME_SYSTEM_DEFAULT : pwidechar = '!x-sys-default-locale'; + + // // Predefined Resource Types // @@ -1974,6 +1989,14 @@ SM_DIGITIZER = 94; // win7+ SM_MAXIMUMTOUCHES = 95; // win7+ + + SM_REMOTESESSION = $1000; // WinXP+ + SM_SHUTTINGDOWN = $2000; // WinXP+ + SM_REMOTECONTROL = $2001; // WinXP+ + SM_CARETBLINKINGENABLED = $2002; // WinXP+ + SM_CONVERTIBLESLATEMODE = $2003; // WinXP+ + SM_SYSTEMDOCKED = $2004; // WinXP+ + ARW_BOTTOMLEFT = 0; ARW_BOTTOMRIGHT = $1; ARW_HIDE = $8; @@ -2294,12 +2317,18 @@ MB_ICONSTOP = $10; MB_OKCANCEL = $1; MB_RETRYCANCEL = $5; + MB_CANCELTRYCONTINUE = $6; MB_SERVICE_NOTIFICATION = $40000; MB_SETFOREGROUND = $10000; MB_SYSTEMMODAL = $1000; MB_TASKMODAL = $2000; MB_YESNO = $4; MB_YESNOCANCEL = $3; + MB_TYPEMASK = $0000000F; + MB_ICONMASK = $000000F0; + MB_DEFMASK = $00000F00; + MB_MODEMASK = $00003000; + MB_MISCMASK = $0000C000; IDABORT = 3; IDCANCEL = 2; IDCLOSE = 8; @@ -6351,6 +6380,7 @@ const CONSOLE_WINDOWED_MODE = 2; + {$endif read_interface} {$ifdef read_implementation} diff --git a/rtl/win/wininc/func.inc b/rtl/win/wininc/func.inc index d0c94db918..d7b265dd31 100644 --- a/rtl/win/wininc/func.inc +++ b/rtl/win/wininc/func.inc @@ -137,6 +137,7 @@ function GetExitCodeThread(hThread:HANDLE; lpExitCode:LPDWORD):WINBOOL; external function GetThreadSelectorEntry(hThread:HANDLE; dwSelector:DWORD; lpSelectorEntry:LPLDT_ENTRY):WINBOOL; external 'kernel32' name 'GetThreadSelectorEntry'; function GetLastError:DWORD; external 'kernel32' name 'GetLastError'; procedure SetLastError(dwErrCode:DWORD); external 'kernel32' name 'SetLastError'; +function GetErrorMode : DWORD; stdcall; external 'kernel32' name 'GetErrorMode'; function CreateIoCompletionPort(FileHandle:HANDLE; ExistingCompletionPort:HANDLE; CompletionKey:ULONG_PTR; NumberOfConcurrentThreads:DWORD):HANDLE; external 'kernel32' name 'CreateIoCompletionPort'; function SetErrorMode(uMode:UINT):UINT; external 'kernel32' name 'SetErrorMode'; function ReadProcessMemory(hProcess:HANDLE; lpBaseAddress:LPCVOID; lpBuffer:LPVOID; nSize:PTRUINT; lpNumberOfBytesRead:PPTRUINT):WINBOOL; external 'kernel32' name 'ReadProcessMemory'; @@ -721,6 +722,8 @@ function FrameRgn(_para1:HDC; _para2:HRGN; _para3:HBRUSH; _para4:longint; _para5 function GetROP2(_para1:HDC):longint; external 'gdi32' name 'GetROP2'; function GetAspectRatioFilterEx(_para1:HDC; _para2:LPSIZE):WINBOOL; external 'gdi32' name 'GetAspectRatioFilterEx'; function GetBkColor(_para1:HDC):COLORREF; external 'gdi32' name 'GetBkColor'; +function GetDCBrushColor(_para1:HDC):COLORREF; external 'gdi32' name 'GetDCBrushColor'; +function GetDCPenColor(_para1:HDC):COLORREF; external 'gdi32' name 'GetDCPenColor'; function GetBkMode(_para1:HDC):longint; external 'gdi32' name 'GetBkMode'; function GetBitmapBits(_para1:HBITMAP; _para2:LONG; _para3:LPVOID):LONG; external 'gdi32' name 'GetBitmapBits'; function GetBitmapDimensionEx(_para1:HBITMAP; _para2:LPSIZE):WINBOOL; external 'gdi32' name 'GetBitmapDimensionEx'; @@ -791,6 +794,8 @@ function SetMetaRgn(_para1:HDC):longint; external 'gdi32' name 'SetMetaRgn'; function SelectObject(_para1:HDC; _para2:HGDIOBJ):HGDIOBJ; external 'gdi32' name 'SelectObject'; function SelectPalette(_para1:HDC; _para2:HPALETTE; _para3:WINBOOL):HPALETTE; external 'gdi32' name 'SelectPalette'; function SetBkColor(_para1:HDC; _para2:COLORREF):COLORREF; external 'gdi32' name 'SetBkColor'; +function SetDCBrushColor(_para1:HDC; _para2:COLORREF):COLORREF; external 'gdi32' name 'SetDCBrushColor'; +function SetDCPenColor(_para1:HDC; _para2:COLORREF):COLORREF; external 'gdi32' name 'SetDCPenColor'; function SetBkMode(_para1:HDC; _para2:longint):longint; external 'gdi32' name 'SetBkMode'; function SetBitmapBits(_para1:HBITMAP; _para2:DWORD; _para3:pointer):LONG; external 'gdi32' name 'SetBitmapBits'; function SetBoundsRect(_para1:HDC; const _para2:RECT; _para3:UINT):UINT; external 'gdi32' name 'SetBoundsRect'; @@ -835,7 +840,7 @@ function AngleArc(_para1:HDC; _para2:longint; _para3:longint; _para4:DWORD; _par function PolyPolyline(_para1:HDC; var _para2:POINT; var _para3:DWORD; _para4:DWORD):WINBOOL; external 'gdi32' name 'PolyPolyline'; function GetWorldTransform(_para1:HDC; _para2:LPXFORM):WINBOOL; external 'gdi32' name 'GetWorldTransform'; function SetWorldTransform(_para1:HDC; var _para2:XFORM):WINBOOL; external 'gdi32' name 'SetWorldTransform'; -function ModifyWorldTransform(_para1:HDC; var _para2:XFORM; _para3:DWORD):WINBOOL; external 'gdi32' name 'ModifyWorldTransform'; +function ModifyWorldTransform(_para1:HDC; _para2:PXFORM; _para3:DWORD):WINBOOL; external 'gdi32' name 'ModifyWorldTransform'; function CombineTransform(_para1:LPXFORM; var _para2:XFORM; var _para3:XFORM):WINBOOL; external 'gdi32' name 'CombineTransform'; function CreateDIBSection(_para1:HDC; var _para2:BITMAPINFO; _para3:UINT; var _para4:pointer; _para5:HANDLE;_para6:DWORD):HBITMAP; external 'gdi32' name 'CreateDIBSection'; function GetDIBColorTable(_para1:HDC; _para2:UINT; _para3:UINT; var _para4:RGBQUAD):UINT; external 'gdi32' name 'GetDIBColorTable'; @@ -1062,6 +1067,7 @@ function SHGetFileInfo(_para1:LPCTSTR; _para2:DWORD; var _para3:SHFILEINFO; _par function SHGetPathFromIDList(_para1:LPCITEMIDLIST; _para2:LPTSTR):WINBOOL; external 'shell32' name 'SHGetPathFromIDList'; function SHGetSpecialFolderLocation(_para1:HWND; _para2:longint; var _para3:LPITEMIDLIST):HRESULT; external 'shell32' name 'SHGetSpecialFolderLocation'; function FlashWindowEx(pfwi : PFLASHWINFO) : BOOL; stdcall; external 'user32' name 'FlashWindowEx'; +function EnumTimeFormatsEx(TimeFormatsExEnum : TIMEFMT_ENUMPROCEX; LocaleName : LPCWSTR;Flags : DWORD;AppData : LPARAM) : BOOL; external 'kernel32' name 'EnumTimeFormatsEx'; { was missing, bug report 1808 PM } { @@ -1313,7 +1319,7 @@ function CONSOLE_REAL_OUTPUT_HANDLE : HANDLE; function SetConsoleDisplayMode(hConsoleOutput:HANDLE; dwFlags:DWORD; lpNewScreenBufferDimensions:PCOORD):BOOL;stdcall;external 'kernel32' name 'SetConsoleDisplayMode'; function GetConsoleWindow:HWND;stdcall;external 'kernel32' name 'GetConsoleWindow'; function GetConsoleProcessList(lpdwProcessList:LPDWORD; dwProcessCount:DWORD):DWORD;stdcall;external 'kernel32' name 'GetConsoleProcessList'; - + function ReadDirectoryChangesW(hDirectory: HANDLE; lpBuffer: LPVOID;nBufferLength: DWORD; bWatchSubtree: BOOL; dwNotifyFilter: DWORD;lpBytesReturned: LPDWORD;lpOverlapped: LPOVERLAPPED;lpCompletionRoutine: LPOVERLAPPED_COMPLETION_ROUTINE): BOOL; stdcall; external 'kernel32' name 'ReadDirectoryChangesW'; {$endif read_interface} diff --git a/rtl/win/wininc/redef.inc b/rtl/win/wininc/redef.inc index b73cfb325c..a7630d544a 100644 --- a/rtl/win/wininc/redef.inc +++ b/rtl/win/wininc/redef.inc @@ -508,10 +508,15 @@ function GetFileInformationByHandle(hFile: THandle; var lpFileInformation: TByHa function GetFileVersionInfoSize(lptstrFilename: PChar; var lpdwHandle: DWORD): DWORD;external 'version' name 'GetFileVersionInfoSizeA'; function GetFileVersionInfoSizeA(lptstrFilename: LPCSTR; var lpdwHandle: DWORD): DWORD; external 'version' name 'GetFileVersionInfoSizeA'; function GetFileVersionInfoSizeW(lptstrFilename: LPWSTR; var lpdwHandle: DWORD): DWORD; external 'version' name 'GetFileVersionInfoSizeW'; -// removed because old definition was wrong ! -// function GetFullPathName(lpFileName: PChar; nBufferLength: DWORD; lpBuffer: PChar; var lpFilePart: PChar): DWORD;external 'kernel32' name 'GetFullPathNameA'; -// function GetFullPathNameA(lpFileName: LPCSTR; nBufferLength: DWORD; lpBuffer: LPCSTR; var lpFilePart: LPCSTR): DWORD; external 'kernel32' name 'GetFullPathNameA'; -// function GetFullPathNameW(lpFileName: LPWSTR; nBufferLength: DWORD; lpBuffer: LPWSTR; var lpFilePart: LPWSTR): DWORD; external 'kernel32' name 'GetFullPathNameW'; + +{$ifdef Unicode} + function GetFullPathName (lpFileName: LPCWSTR; nBufferLength: DWORD; lpBuffer: LPWSTR; var lpFilePart: LPWSTR): DWORD; external 'kernel32' name 'GetFullPathNameW'; +{$else} + function GetFullPathName (lpFileName: LPCSTR; nBufferLength: DWORD; lpBuffer: LPSTR; var lpFilePart: LPSTR): DWORD; external 'kernel32' name 'GetFullPathNameA'; +{$endif} + function GetFullPathNameW(lpFileName: LPCWSTR; nBufferLength: DWORD; lpBuffer: LPWSTR; var lpFilePart: LPWSTR): DWORD; external 'kernel32' name 'GetFullPathNameW'; + function GetFullPathNameA(lpFileName: LPCSTR; nBufferLength: DWORD; lpBuffer: LPSTR; var lpFilePart: LPSTR): DWORD; external 'kernel32' name 'GetFullPathNameA'; + function GetGlyphOutline(DC: HDC; p2, p3: UINT; const p4: TGlyphMetrics; p5: DWORD; p6: Pointer; const p7: TMat2): DWORD;external 'gdi32' name 'GetGlyphOutlineA'; function GetGlyphOutlineA(DC: HDC; p2, p3: UINT; const p4: TGlyphMetrics; p5: DWORD; p6: Pointer; const p7: TMat2): DWORD; external 'gdi32' name 'GetGlyphOutlineA'; function GetGlyphOutlineW(DC: HDC; p2, p3: UINT; const p4: TGlyphMetrics; p5: DWORD; p6: Pointer; const p7: TMat2): DWORD; external 'gdi32' name 'GetGlyphOutlineW'; @@ -693,7 +698,7 @@ function MapWindowPoints(hWndFrom, hWndTo: HWND; var lpPoints; cPoints: UINT): I function MessageBoxIndirect(const MsgBoxParams: TMsgBoxParams): BOOL;external 'user32' name 'MessageBoxIndirectA'; function MessageBoxIndirectA(const MsgBoxParams: TMsgBoxParamsA): BOOL; external 'user32' name 'MessageBoxIndirectA'; //function MessageBoxIndirectW(const MsgBoxParams: TMsgBoxParamsW): BOOL; external 'user32' name 'MessageBoxIndirectW'; -//function ModifyWorldTransform(DC: HDC; const p2: TXForm; p3: DWORD): BOOL; external 'gdi32' name 'ModifyWorldTransform'; +function ModifyWorldTransform(_para1:HDC; var _para2:XFORM; _para3:DWORD):WINBOOL; external 'gdi32' name 'ModifyWorldTransform'; function MsgWaitForMultipleObjects(nCount: DWORD; var pHandles; fWaitAll: BOOL; dwMilliseconds, dwWakeMask: DWORD): DWORD;external 'user32' name 'MsgWaitForMultipleObjects'; {$ifndef NO_SMART_LINK} function MsgWaitForMultipleObjectsEx(nCount: DWORD; var pHandles; dwMilliseconds, dwWakeMask, dwFlags: DWORD): DWORD;external 'user32' name 'MsgWaitForMultipleObjectsEx'; diff --git a/rtl/win/wininc/struct.inc b/rtl/win/wininc/struct.inc index 89d5016199..762b466703 100644 --- a/rtl/win/wininc/struct.inc +++ b/rtl/win/wininc/struct.inc @@ -2709,7 +2709,7 @@ Const end; tagEMRCREATEDIBPATTERNBRUSHPT = EMRCREATEDIBPATTERNBRUSHPT; TEMRCREATEDIBPATTERNBRUSHPT = EMRCREATEDIBPATTERNBRUSHPT; - PEMRCREATEDIBPATTERNBRUSHPT = EMRCREATEDIBPATTERNBRUSHPT; + PEMRCREATEDIBPATTERNBRUSHPT = ^EMRCREATEDIBPATTERNBRUSHPT; EMRCREATEMONOBRUSH = record emr : EMR; @@ -2874,7 +2874,7 @@ Const EMREXTCREATEFONTINDIRECTW = record emr : EMR; ihFont : DWORD; - elfw : EXTLOGFONT; + elfw : EXTLOGFONTW; end; tagEMREXTCREATEFONTINDIRECTW = EMREXTCREATEFONTINDIRECTW; TEMREXTCREATEFONTINDIRECTW = EMREXTCREATEFONTINDIRECTW; @@ -3083,7 +3083,7 @@ Const end; tagEMRMODIFYWORLDTRANSFORM = EMRMODIFYWORLDTRANSFORM; TEMRMODIFYWORLDTRANSFORM = EMRMODIFYWORLDTRANSFORM; - PEMRMODIFYWORLDTRANSFORM = EMRMODIFYWORLDTRANSFORM; + PEMRMODIFYWORLDTRANSFORM = ^EMRMODIFYWORLDTRANSFORM; EMROFFSETCLIPRGN = record emr : EMR; @@ -3172,7 +3172,7 @@ Const emr : EMR; rclBounds : RECTL; cpts : DWORD; - apts : array[0..0] of POINTL; + apts : array[0..0] of POINTS; end; tagEMRPOLYLINE16 = EMRPOLYLINE16; TEMRPOLYLINE16 = EMRPOLYLINE16; @@ -9385,6 +9385,18 @@ type CONSOLE_READCONSOLE_CONTROL = _CONSOLE_READCONSOLE_CONTROL; PCONSOLE_READCONSOLE_CONTROL = ^_CONSOLE_READCONSOLE_CONTROL; + + COMPUTER_NAME_FORMAT = ( + ComputerNameNetBIOS=0, + ComputerNameDnsHostname, + ComputerNameDnsDomain, + ComputerNameDnsFullyQualified, + ComputerNamePhysicalNetBIOS, + ComputerNamePhysicalDnsHostname, + ComputerNamePhysicalDnsDomain, + ComputerNamePhysicalDnsFullyQualified, + ComputerNameMax=31); + TCOMPUTER_NAME_FORMAT = COMPUTER_NAME_FORMAT; {$pop} {$endif read_interface} diff --git a/rtl/win/wininc/unidef.inc b/rtl/win/wininc/unidef.inc index 19aec75966..8d3ace8029 100644 --- a/rtl/win/wininc/unidef.inc +++ b/rtl/win/wininc/unidef.inc @@ -110,7 +110,7 @@ function GetDiskFreeSpace(lpRootPathName:LPCWSTR; lpSectorsPerCluster:LPDWORD; l function CreateDirectory(lpPathName:LPCWSTR; lpSecurityAttributes:LPSECURITY_ATTRIBUTES):WINBOOL; external 'kernel32' name 'CreateDirectoryW'; function CreateDirectoryEx(lpTemplateDirectory:LPCWSTR; lpNewDirectory:LPCWSTR; lpSecurityAttributes:LPSECURITY_ATTRIBUTES):WINBOOL; external 'kernel32' name 'CreateDirectoryExW'; function RemoveDirectory(lpPathName:LPCWSTR):WINBOOL; external 'kernel32' name 'RemoveDirectoryW'; -function GetFullPathName(lpFileName:LPCWSTR; nBufferLength:DWORD; lpBuffer:LPWSTR; var lpFilePart:LPWSTR):DWORD; external 'kernel32' name 'GetFullPathNameW'; +function GetFullPathName(lpFileName:LPCWSTR; nBufferLength:DWORD; lpBuffer:LPWSTR; lpFilePart:PLPWSTR):DWORD; external 'kernel32' name 'GetFullPathNameW'; function DefineDosDevice(dwFlags:DWORD; lpDeviceName:LPCWSTR; lpTargetPath:LPCWSTR):WINBOOL; external 'kernel32' name 'DefineDosDeviceW'; function QueryDosDevice(lpDeviceName:LPCWSTR; lpTargetPath:LPWSTR; ucchMax:DWORD):DWORD; external 'kernel32' name 'QueryDosDeviceW'; function CreateFile(lpFileName:LPCWSTR; dwDesiredAccess:DWORD; dwShareMode:DWORD; lpSecurityAttributes:LPSECURITY_ATTRIBUTES; dwCreationDisposition:DWORD;dwFlagsAndAttributes:DWORD; hTemplateFile:HANDLE):HANDLE; external 'kernel32' name 'CreateFileW'; @@ -472,7 +472,7 @@ function CreateProcessAsUser(_para1:HANDLE; _para2:LPCWSTR; _para3:LPWSTR; _para function FindFirstFileEx(lpfilename : LPCWStr;fInfoLevelId:FINDEX_INFO_LEVELS ;lpFindFileData:pointer;fSearchOp : FINDEX_SEARCH_OPS;lpSearchFilter:pointer;dwAdditionalFlags:dword):Handle; stdcall; external 'kernel32' name 'FindFirstFileExW'; // winver>$0600 function FindFirstFileTransacted(lpfilename : LPCWStr;fInfoLevelId:FINDEX_INFO_LEVELS ;lpFindFileData:pointer;fSearchOp : FINDEX_SEARCH_OPS;lpSearchFilter:pointer;dwAdditionalFlags:dword;htransaction : HANDLE):Handle; stdcall; external 'kernel32' name 'FindFirstFileTransactedW'; - +function GetComputerNameEx(NameType:COMPUTER_NAME_FORMAT;lpbuffer:LPWSTR;nSize:LPDWORD):BOOL;stdcall;external 'kernel32' name 'GetComputerNameExW'; {$endif read_interface} diff --git a/rtl/win/wininc/unifun.inc b/rtl/win/wininc/unifun.inc index a723d5c0a9..139605dc24 100644 --- a/rtl/win/wininc/unifun.inc +++ b/rtl/win/wininc/unifun.inc @@ -110,7 +110,7 @@ function GetDiskFreeSpaceW(lpRootPathName:LPCWSTR; lpSectorsPerCluster:LPDWORD; function CreateDirectoryW(lpPathName:LPCWSTR; lpSecurityAttributes:LPSECURITY_ATTRIBUTES):WINBOOL; external 'kernel32' name 'CreateDirectoryW'; function CreateDirectoryExW(lpTemplateDirectory:LPCWSTR; lpNewDirectory:LPCWSTR; lpSecurityAttributes:LPSECURITY_ATTRIBUTES):WINBOOL; external 'kernel32' name 'CreateDirectoryExW'; function RemoveDirectoryW(lpPathName:LPCWSTR):WINBOOL; external 'kernel32' name 'RemoveDirectoryW'; -function GetFullPathNameW(lpFileName:LPCWSTR; nBufferLength:DWORD; lpBuffer:LPWSTR; var lpFilePart:LPWSTR):DWORD; external 'kernel32' name 'GetFullPathNameW'; +function GetFullPathNameW(lpFileName:LPCWSTR; nBufferLength:DWORD; lpBuffer:LPWSTR; lpFilePart:PLPWSTR):DWORD; external 'kernel32' name 'GetFullPathNameW'; function DefineDosDeviceW(dwFlags:DWORD; lpDeviceName:LPCWSTR; lpTargetPath:LPCWSTR):WINBOOL; external 'kernel32' name 'DefineDosDeviceW'; function QueryDosDeviceW(lpDeviceName:LPCWSTR; lpTargetPath:LPWSTR; ucchMax:DWORD):DWORD; external 'kernel32' name 'QueryDosDeviceW'; function CreateFileW(lpFileName:LPCWSTR; dwDesiredAccess:DWORD; dwShareMode:DWORD; lpSecurityAttributes:LPSECURITY_ATTRIBUTES; dwCreationDisposition:DWORD;dwFlagsAndAttributes:DWORD; hTemplateFile:HANDLE):HANDLE; external 'kernel32' name 'CreateFileW'; @@ -495,7 +495,7 @@ function GetConsoleAliasesLengthW(ExeName:LPWSTR):DWORD;stdcall;external 'kernel function GetConsoleAliasExesLengthW:DWORD;stdcall;external 'kernel32' name 'GetConsoleAliasExesLengthW'; function GetConsoleAliasesW(AliasBuffer:LPWSTR; AliasBufferLength:DWORD; ExeName:LPWSTR):DWORD;stdcall;external 'kernel32' name 'GetConsoleAliasesW'; function GetConsoleAliasExesW(ExeNameBuffer:LPWSTR; ExeNameBufferLength:DWORD):DWORD;stdcall;external 'kernel32' name 'GetConsoleAliasExesW'; - +function GetComputerNameExW(NameType:COMPUTER_NAME_FORMAT;lpbuffer:LPWSTR;nSize:LPDWORD):BOOL;stdcall;external 'kernel32' name 'GetComputerNameExW'; {$endif read_interface}