123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270 |
- unit win31;
- {$MODE objfpc}
- {$if defined(FPC_MM_COMPACT) or defined(FPC_MM_LARGE) or defined(FPC_MM_HUGE)}
- {$define VAR_PARAMS_ARE_FAR}
- {$endif}
- interface
- uses
- wintypes;
- const
- GFSR_SYSTEMRESOURCES = $0000;
- GFSR_GDIRESOURCES = $0001;
- GFSR_USERRESOURCES = $0002;
- {****** LogParamError/LogError values *}
- { Error modifier bits }
- ERR_WARNING = $8000;
- ERR_PARAM = $4000;
- ERR_SIZE_MASK = $3000;
- ERR_BYTE = $1000;
- ERR_WORD = $2000;
- ERR_DWORD = $3000;
- {****** LogParamError() values *}
- { Generic parameter values }
- ERR_BAD_VALUE = $6001;
- ERR_BAD_FLAGS = $6002;
- ERR_BAD_INDEX = $6003;
- ERR_BAD_DVALUE = $7004;
- ERR_BAD_DFLAGS = $7005;
- ERR_BAD_DINDEX = $7006;
- ERR_BAD_PTR = $7007;
- ERR_BAD_FUNC_PTR = $7008;
- ERR_BAD_SELECTOR = $6009;
- ERR_BAD_STRING_PTR = $700a;
- ERR_BAD_HANDLE = $600b;
- { KERNEL parameter errors }
- ERR_BAD_HINSTANCE = $6020;
- ERR_BAD_HMODULE = $6021;
- ERR_BAD_GLOBAL_HANDLE = $6022;
- ERR_BAD_LOCAL_HANDLE = $6023;
- ERR_BAD_ATOM = $6024;
- ERR_BAD_HFILE = $6025;
- { USER parameter errors }
- ERR_BAD_HWND = $6040;
- ERR_BAD_HMENU = $6041;
- ERR_BAD_HCURSOR = $6042;
- ERR_BAD_HICON = $6043;
- ERR_BAD_HDWP = $6044;
- ERR_BAD_CID = $6045;
- ERR_BAD_HDRVR = $6046;
- { GDI parameter errors }
- ERR_BAD_COORDS = $7060;
- ERR_BAD_GDI_OBJECT = $6061;
- ERR_BAD_HDC = $6062;
- ERR_BAD_HPEN = $6063;
- ERR_BAD_HFONT = $6064;
- ERR_BAD_HBRUSH = $6065;
- ERR_BAD_HBITMAP = $6066;
- ERR_BAD_HRGN = $6067;
- ERR_BAD_HPALETTE = $6068;
- ERR_BAD_HMETAFILE = $6069;
- {**** LogError() values *}
- { KERNEL errors }
- ERR_GALLOC = $0001;
- ERR_GREALLOC = $0002;
- ERR_GLOCK = $0003;
- ERR_LALLOC = $0004;
- ERR_LREALLOC = $0005;
- ERR_LLOCK = $0006;
- ERR_ALLOCRES = $0007;
- ERR_LOCKRES = $0008;
- ERR_LOADMODULE = $0009;
- { USER errors }
- ERR_CREATEDLG2 = $0041;
- ERR_CREATEDLG = $0040;
- ERR_REGISTERCLASS = $0042;
- ERR_DCBUSY = $0043;
- ERR_CREATEWND = $0044;
- ERR_STRUCEXTRA = $0045;
- ERR_LOADSTR = $0046;
- ERR_LOADMENU = $0047;
- ERR_NESTEDBEGINPAINT = $0048;
- ERR_BADINDEX = $0049;
- ERR_CREATEMENU = $004a;
- { GDI errors }
- ERR_CREATEDC = $0080;
- ERR_CREATEMETA = $0081;
- ERR_DELOBJSELECTED = $0082;
- ERR_SELBITMAP = $0083;
- type
- { Debugging support (DEBUG SYSTEM ONLY) }
- LPWINDEBUGINFO = ^WINDEBUGINFO; far;
- WINDEBUGINFO = record
- flags: UINT;
- dwOptions: DWORD;
- dwFilter: DWORD;
- achAllocModule: array [0..7] of char;
- dwAllocBreak: DWORD;
- dwAllocCount: DWORD;
- end;
- PWinDebugInfo = ^TWinDebugInfo;
- TWinDebugInfo = WINDEBUGINFO;
- const
- { WINDEBUGINFO flags values }
- WDI_OPTIONS = $0001;
- WDI_FILTER = $0002;
- WDI_ALLOCBREAK = $0004;
- { dwOptions values }
- DBO_CHECKHEAP = $0001;
- DBO_BUFFERFILL = $0004;
- DBO_DISABLEGPTRAPPING = $0010;
- DBO_CHECKFREE = $0020;
- DBO_SILENT = $8000;
- DBO_TRACEBREAK = $2000;
- DBO_WARNINGBREAK = $1000;
- DBO_NOERRORBREAK = $0800;
- DBO_NOFATALBREAK = $0400;
- DBO_INT3BREAK = $0100;
- { DebugOutput flags values }
- DBF_TRACE = $0000;
- DBF_WARNING = $4000;
- DBF_ERROR = $8000;
- DBF_FATAL = $c000;
- { dwFilter values }
- DBF_KERNEL = $1000;
- DBF_KRN_MEMMAN = $0001;
- DBF_KRN_LOADMODULE = $0002;
- DBF_KRN_SEGMENTLOAD = $0004;
- DBF_USER = $0800;
- DBF_GDI = $0400;
- DBF_MMSYSTEM = $0040;
- DBF_PENWIN = $0020;
- DBF_APPLICATION = $0008;
- DBF_DRIVER = $0010;
- { ExitWindows values }
- EW_REBOOTSYSTEM = $43;
- { Predefined Resource Types }
- OBM_UPARROWI = 32737;
- OBM_DNARROWI = 32736;
- OBM_RGARROWI = 32735;
- OBM_LFARROWI = 32734;
- type
- { GDI typedefs, structures, and functions }
- PSIZE = ^SIZE;
- NPSIZE = ^SIZE; near;
- LPSIZE = ^SIZE; far;
- SIZE = record
- cx: SmallInt;
- cy: SmallInt;
- end;
- TSize = SIZE;
- const
- { Drawing bounds accumulation APIs }
- DCB_RESET = $0001;
- DCB_ACCUMULATE = $0002;
- DCB_DIRTY = DCB_ACCUMULATE;
- DCB_SET = DCB_RESET or DCB_ACCUMULATE;
- DCB_ENABLE = $0004;
- DCB_DISABLE = $0008;
- { Color support }
- COLOR_INACTIVECAPTIONTEXT = 19;
- COLOR_BTNHIGHLIGHT = 20;
- function GetFreeSystemResources(SysResource: UINT): UINT; external 'USER';
- procedure LogError(err: UINT; lpInfo: FarPointer); external 'KERNEL';
- procedure LogParamError(err: UINT; lpfn: FARPROC; param: FarPointer); external 'KERNEL';
- function GetWinDebugInfo(lpwdi: LPWINDEBUGINFO; flags: UINT): BOOL; external 'KERNEL';
- function SetWinDebugInfo(lpwdi: LPWINDEBUGINFO): BOOL; external 'KERNEL';
- procedure DebugOutput(flags: UINT; lpsz: LPCSTR; etc: array of const); cdecl; external 'KERNEL' name '_DebugOutput';
- function ExitWindowsExec(Exe, Params: LPCSTR): BOOL; external 'USER';
- { Pointer validation }
- function IsBadReadPtr(lp: FarPointer; cb: UINT): BOOL; external 'KERNEL';
- function IsBadWritePtr(lp: FarPointer; cb: UINT): BOOL; external 'KERNEL';
- function IsBadHugeReadPtr(lp: HugePointer; cb: DWORD): BOOL; external 'KERNEL';
- function IsBadHugeReadPtr(lp: FarPointer; cb: DWORD): BOOL; external 'KERNEL';
- function IsBadHugeWritePtr(lp: HugePointer; cb: DWORD): BOOL; external 'KERNEL';
- function IsBadHugeWritePtr(lp: FarPointer; cb: DWORD): BOOL; external 'KERNEL';
- function IsBadCodePtr(lpfn: FARPROC): BOOL; external 'KERNEL';
- function IsBadStringPtr(lpsz: LPSTR; cchMax: UINT): BOOL; external 'KERNEL';
- { Task Management }
- function IsTask(Task: HTASK): BOOL; external 'KERNEL';
- { File I/O }
- function _hread(FileHandle: HFILE; Buffer: HugePointer; Bytes: LongInt): LongInt; external 'KERNEL';
- function _hwrite(FileHandle: HFILE; Buffer: HugePointer; Bytes: LongInt): LongInt; external 'KERNEL';
- { International & Char Translation Support }
- function lstrcpyn(lpszString1: LPSTR; lpszString2: LPCSTR; cChars: SmallInt): LPSTR; external 'KERNEL';
- procedure hmemcpy(hpvDest, hpvSource: HugePointer; cbCopy: LongInt); external 'KERNEL';
- procedure hmemcpy(hpvDest, hpvSource: FarPointer; cbCopy: LongInt); external 'KERNEL';
- function IsDBCSLeadByte(bTestChar: BYTE): BOOL; external 'KERNEL';
- { Drawing bounds accumulation APIs }
- function SetBoundsRect(hDC: HDC; lprcBounds: LPRECT; flags: UINT): UINT; external 'GDI';
- function GetBoundsRect(hDC: HDC; lprcBounds: LPRECT; flags: UINT): UINT; external 'GDI';
- {$ifdef VAR_PARAMS_ARE_FAR}
- function SetBoundsRect(hDC: HDC; const lprcBounds: RECT; flags: UINT): UINT; external 'GDI';
- function GetBoundsRect(hDC: HDC; var lprcBounds: RECT; flags: UINT): UINT; external 'GDI';
- {$endif}
- { Coordinate transformation support }
- function SetWindowOrgEx(hdc: HDC; nX, nY: SmallInt; lpPoint: LPPOINT): BOOL; external 'GDI';
- function GetWindowOrgEx(hdc: HDC; lpPoint: LPPOINT): BOOL; external 'GDI';
- function SetWindowExtEx(hdc: HDC; nX, nY: SmallInt; lpSize: LPSIZE): BOOL; external 'GDI';
- function GetWindowExtEx(hdc: HDC; lpSize: LPSIZE): BOOL; external 'GDI';
- function OffsetWindowOrgEx(hdc: HDC; nX, nY: SmallInt; lpPoint: LPPOINT): BOOL; external 'GDI';
- function ScaleWindowExtEx(hdc: HDC; nXnum, nXdenom, nYnum, nYdenom: SmallInt; lpSize: LPSIZE): BOOL; external 'GDI';
- function SetViewportExtEx(hdc: HDC; nX, nY: SmallInt; lpSize: LPSIZE): BOOL; external 'GDI';
- function GetViewportExtEx(hdc: HDC; lpSize: LPSIZE): BOOL; external 'GDI';
- function SetViewportOrgEx(hdc: HDC; nX, nY: SmallInt; lpPoint: LPPOINT): BOOL; external 'GDI';
- function GetViewportOrgEx(hdc: HDC; lpPoint: LPPOINT): BOOL; external 'GDI';
- function OffsetViewportOrgEx(hdc: HDC; nX, nY: SmallInt; lpPoint: LPPOINT): BOOL; external 'GDI';
- function ScaleViewportExtEx(hdc: HDC; nXnum, nXdenom, nYnum, nYdenom: SmallInt; lpSize: LPSIZE): BOOL; external 'GDI';
- { Brush support }
- function GetBrushOrgEx(hDC: HDC; lpPoint: LPPOINT): BOOL; external 'GDI';
- { General drawing support }
- function MoveToEx(hdc: HDC; x, y: SmallInt; lpPoint: LPPOINT): BOOL; external 'GDI';
- function GetCurrentPositionEx(hdc: HDC; lpPoint: LPPOINT): BOOL; external 'GDI';
- implementation
- end.
|