wintypes.inc 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220
  1. type
  2. Bool = WordBool;
  3. UINT = Word;
  4. LONG = LongInt;
  5. WPARAM = UINT;
  6. LPARAM = LONG;
  7. LRESULT = LONG;
  8. { The Win16 C headers define the P-prefixed types - PSTR, etc. as near pointers.
  9. Borland Pascal 7 defines them as far pointers (in other words, the same as the
  10. LP-prefixed type - LPSTR) We define them as the default pointer type for the
  11. current memory model. This means we'll be BP7 compatible in the large memory
  12. model (which is the only memory model supported by BP7).
  13. Also, using memory models other than 'large' under win16 is somewhat nasty and
  14. is better to be avoided. }
  15. PSTR = ^Char;
  16. NPSTR = ^Char; near;
  17. // LPSTR = ^Char; far;
  18. LPCSTR = ^Char; far;
  19. { PBYTE is already defined in system }
  20. LPBYTE = ^Byte; far;
  21. PINT = ^SmallInt;
  22. LPINT = ^SmallInt; far;
  23. { PWORD is already defined in system }
  24. LPWORD = ^Word; far;
  25. PLONG = ^LONG;
  26. LPLONG = ^LONG; far;
  27. { PDWORD is already defined in system }
  28. LPDWORD = ^DWORD; far;
  29. LPVOID = FarPointer;
  30. FARPROC = FarPointer;
  31. TFarProc = FARPROC;
  32. PHANDLE = ^THandle;
  33. SPHANDLE = ^THandle; near;
  34. LPHANDLE = ^THandle; far;
  35. // HGLOBAL = THandle;
  36. HLOCAL = THandle;
  37. TGlobalHandle = THandle;
  38. TLocalHandle = THandle;
  39. ATOM = UINT;
  40. TAtom = ATOM;
  41. HINST = THandle; { instead of HINSTANCE, to avoid conflict with var hInstance }
  42. // HMODULE = HINST;
  43. const
  44. { GetWinFlags result mask values }
  45. WF_PMODE = $0001;
  46. WF_CPU286 = $0002;
  47. WF_CPU386 = $0004;
  48. WF_CPU486 = $0008;
  49. WF_STANDARD = $0010;
  50. WF_WIN286 = $0010;
  51. WF_ENHANCED = $0020;
  52. WF_WIN386 = $0020;
  53. WF_CPU086 = $0040;
  54. WF_CPU186 = $0080;
  55. WF_LARGEFRAME = $0100;
  56. WF_SMALLFRAME = $0200;
  57. WF_80x87 = $0400;
  58. WF_PAGING = $0800;
  59. WF_WLO = $8000;
  60. { ExitWindows values }
  61. EW_RESTARTWINDOWS = $42;
  62. { SetErrorMode() constants }
  63. SEM_FAILCRITICALERRORS = $0001;
  64. SEM_NOGPFAULTERRORBOX = $0002;
  65. SEM_NOOPENFILEERRORBOX = $8000;
  66. type
  67. LPCATCHBUF = ^CATCHBUF; far;
  68. CATCHBUF = array [0..8] of SmallInt;
  69. PCatchBuf = ^TCatchBuf;
  70. TCatchBuf = CATCHBUF;
  71. const
  72. HINSTANCE_ERROR = HINST(32);
  73. { Windows Exit Procedure flag values }
  74. WEP_SYSTEM_EXIT = 1;
  75. WEP_FREE_DLL = 0;
  76. type
  77. LPSEGINFO = ^SEGINFO; far;
  78. SEGINFO = record
  79. offSegment: UINT;
  80. cbSegment: UINT;
  81. flags: UINT;
  82. cbAlloc: UINT;
  83. h: HGLOBAL;
  84. alignShift: UINT;
  85. reserved: array [0..1] of UINT;
  86. end;
  87. PSegInfo = ^TSegInfo;
  88. TSegInfo = SEGINFO;
  89. HTASK = THandle;
  90. const
  91. { Global Memory Flags }
  92. GMEM_FIXED = $0000;
  93. GMEM_MOVEABLE = $0002;
  94. GMEM_NOCOMPACT = $0010;
  95. GMEM_NODISCARD = $0020;
  96. GMEM_ZEROINIT = $0040;
  97. GMEM_MODIFY = $0080;
  98. GMEM_DISCARDABLE = $0100;
  99. GMEM_NOT_BANKED = $1000;
  100. GMEM_SHARE = $2000;
  101. GMEM_DDESHARE = $2000;
  102. GMEM_NOTIFY = $4000;
  103. GMEM_LOWER = GMEM_NOT_BANKED;
  104. GHND = GMEM_MOVEABLE or GMEM_ZEROINIT;
  105. GPTR = GMEM_FIXED or GMEM_ZEROINIT;
  106. { GlobalFlags return flags (in addition to GMEM_DISCARDABLE) }
  107. GMEM_DISCARDED = $4000;
  108. GMEM_LOCKCOUNT = $00FF;
  109. { Low system memory notification message }
  110. WM_COMPACTING = $0041;
  111. type
  112. GNOTIFYPROC = function(hGlbl: HGLOBAL): BOOL; far;
  113. const
  114. { Local Memory Flags }
  115. LMEM_FIXED = $0000;
  116. LMEM_MOVEABLE = $0002;
  117. LMEM_NOCOMPACT = $0010;
  118. LMEM_NODISCARD = $0020;
  119. LMEM_ZEROINIT = $0040;
  120. LMEM_MODIFY = $0080;
  121. LMEM_DISCARDABLE = $0F00;
  122. LHND = LMEM_MOVEABLE or LMEM_ZEROINIT;
  123. LPTR = LMEM_FIXED or LMEM_ZEROINIT;
  124. NONZEROLHND = LMEM_MOVEABLE;
  125. NONZEROLPTR = LMEM_FIXED;
  126. { LocalFlags return flags (in addition to LMEM_DISCARDABLE) }
  127. LMEM_DISCARDED = $4000;
  128. LMEM_LOCKCOUNT = $00FF;
  129. { File I/O }
  130. type
  131. HFILE = SmallInt;
  132. const
  133. HFILE_ERROR = HFILE(-1);
  134. type
  135. { OpenFile() Structure }
  136. POFSTRUCT = ^OFSTRUCT;
  137. NPOFSTRUCT = ^OFSTRUCT; near;
  138. LPOFSTRUCT = ^OFSTRUCT; far;
  139. OFSTRUCT = record
  140. cBytes: BYTE;
  141. fFixedDisk: BYTE;
  142. nErrCode: UINT;
  143. reserved: array [0..3] of BYTE;
  144. szPathName: array [0..127] of char;
  145. end;
  146. TOFStruct = OFSTRUCT;
  147. const
  148. { OpenFile() Flags }
  149. OF_READ = $0000;
  150. OF_WRITE = $0001;
  151. OF_READWRITE = $0002;
  152. OF_SHARE_COMPAT = $0000;
  153. OF_SHARE_EXCLUSIVE = $0010;
  154. OF_SHARE_DENY_WRITE = $0020;
  155. OF_SHARE_DENY_READ = $0030;
  156. OF_SHARE_DENY_NONE = $0040;
  157. OF_PARSE = $0100;
  158. OF_DELETE = $0200;
  159. OF_VERIFY = $0400; { Used with OF_REOPEN }
  160. OF_SEARCH = $0400; { Used without OF_REOPEN }
  161. OF_CANCEL = $0800;
  162. OF_CREATE = $1000;
  163. OF_PROMPT = $2000;
  164. OF_EXIST = $4000;
  165. OF_REOPEN = $8000;
  166. { _lopen() flags }
  167. _READ = 0;
  168. _WRITE = 1;
  169. READ_WRITE = 2;
  170. { _llseek origin values }
  171. SEEK_SET = 0;
  172. SEEK_CUR = 1;
  173. SEEK_END = 2;
  174. { GetTempFileName() Flags }
  175. TF_FORCEDRIVE = BYTE($80);
  176. { GetDriveType return values }
  177. DRIVE_REMOVABLE = 2;
  178. DRIVE_FIXED = 3;
  179. DRIVE_REMOTE = 4;