base.inc 27 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983
  1. {
  2. $Id$
  3. This file is part of the Free Pascal run time library.
  4. This unit contains base definition for the Win32 API
  5. Copyright (c) 1999-2000 by Florian Klaempfl,
  6. member of the Free Pascal development team.
  7. See the file COPYING.FPC, included in this distribution,
  8. for details about the copyright.
  9. This program is distributed in the hope that it will be useful,
  10. but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  12. **********************************************************************}
  13. {
  14. Base.h
  15. Base definitions
  16. Copyright (C) 1996, 1997 Free Software Foundation, Inc.
  17. Author: Scott Christley <[email protected]>
  18. This file is part of the Windows32 API Library.
  19. This library is free software; you can redistribute it and/or
  20. modify it under the terms of the GNU Library General Public
  21. License as published by the Free Software Foundation; either
  22. version 2 of the License, or (at your option) any later version.
  23. This library is distributed in the hope that it will be useful,
  24. but WITHOUT ANY WARRANTY; without even the implied warranty of
  25. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  26. Library General Public License for more details.
  27. If you are interested in a warranty or support for this source code,
  28. contact Scott Christley <[email protected]> for more information.
  29. You should have received a copy of the GNU Library General Public
  30. License along with this library; see the file COPYING.LIB.
  31. If not, write to the Free Software Foundation,
  32. 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
  33. }
  34. {$ifdef read_interface}
  35. {$PACKRECORDS C}
  36. type
  37. ATOM = word;
  38. WINBOOL = longbool;
  39. BOOL = WINBOOL;
  40. CALTYPE = cardinal;
  41. CALID = cardinal;
  42. CCHAR = char;
  43. COLORREF = cardinal;
  44. TCOLORREF = cardinal;
  45. SHORT = integer;
  46. WINT = longint;
  47. LONG = longint;
  48. DWORD = cardinal;
  49. PINTEGER = ^longint;
  50. PBOOL = ^BOOL;
  51. LONGLONG = int64;
  52. PLONGLONG = ^LONGLONG;
  53. DWORDLONG = qword; { was unsigned long }
  54. PDWORDLONG = ^DWORDLONG;
  55. HANDLE = System.THandle;
  56. HRESULT = System.HResult;
  57. HACCEL = HANDLE;
  58. HBITMAP = HANDLE;
  59. HBRUSH = HANDLE;
  60. HCOLORSPACE = HANDLE;
  61. HCONV = HANDLE;
  62. HCONVLIST = HANDLE;
  63. HCURSOR = HANDLE;
  64. HDBC = HANDLE;
  65. HDC = HANDLE;
  66. HDDEDATA = HANDLE;
  67. HDESK = HANDLE;
  68. HDROP = HANDLE;
  69. HDWP = HANDLE;
  70. HENHMETAFILE = HANDLE;
  71. HENV = HANDLE;
  72. HFILE = HANDLE;
  73. HFONT = HANDLE;
  74. HGDIOBJ = HANDLE;
  75. HGLOBAL = HANDLE;
  76. HGLRC = HANDLE;
  77. HHOOK = HANDLE;
  78. HICON = HANDLE;
  79. HIMAGELIST = HANDLE;
  80. HINST = HANDLE; { Not HINSTANCE, else it has problems with the var HInstance }
  81. HKEY = HANDLE;
  82. HKL = HANDLE;
  83. HLOCAL = HANDLE;
  84. HMENU = HANDLE;
  85. HMETAFILE = HANDLE;
  86. HMODULE = HANDLE;
  87. HPALETTE = HANDLE;
  88. HPEN = HANDLE;
  89. HRASCONN = HANDLE;
  90. HRGN = HANDLE;
  91. HRSRC = HANDLE;
  92. HSTMT = HANDLE;
  93. HSTR = HANDLE;
  94. HSZ = HANDLE;
  95. HWINSTA = HANDLE;
  96. HWND = HANDLE;
  97. HTASK = HANDLE;
  98. LANGID = word;
  99. LCID = DWORD;
  100. LCTYPE = DWORD;
  101. LPARAM = longint;
  102. LP = ^word;
  103. LPBOOL = ^WINBOOL;
  104. LPBYTE = ^BYTE;
  105. LPCCH = PCHAR;
  106. LPCH = PCHAR;
  107. LPCOLORREF = ^COLORREF;
  108. LPCSTR = Pchar;
  109. {$ifdef UNICODE}
  110. LPCTSTR = Pwidechar;
  111. {$else}
  112. LPCTSTR = Pchar;
  113. {$endif}
  114. LPCWCH = Pwidechar;
  115. LPCWSTR = Pwidechar;
  116. LPDWORD = ^DWORD;
  117. LPHANDLE = ^HANDLE;
  118. LPINT = ^longint;
  119. LPLONG = ^longint;
  120. LPSTR = Pchar;
  121. {$ifdef UNICODE}
  122. LPTCH = Pwidechar;
  123. LPTSTR = Pwidechar;
  124. {$else}
  125. LPTCH = Pchar;
  126. LPTSTR = Pchar;
  127. {$endif}
  128. LRESULT = longint;
  129. LPVOID = pointer;
  130. LPCVOID = pointer;
  131. LPWCH = Pwidechar;
  132. LPWORD = ^word;
  133. LPWSTR = Pwidechar;
  134. NWPSTR = Pwidechar;
  135. PWINBOOL = ^WINBOOL;
  136. PBOOLEAN = ^BYTE;
  137. PBYTE = ^BYTE;
  138. PCCH = PCHAR;
  139. PCH = PCHAR;
  140. PCSTR = Pchar;
  141. PCWCH = Pwidechar;
  142. PCWSTR = Pwidechar;
  143. PDWORD = ^DWORD;
  144. PHANDLE = ^HANDLE;
  145. PHKEY = ^HKEY;
  146. PINT = ^longint;
  147. PLONG = ^longint;
  148. PSHORT = ^integer;
  149. PSTR = Pchar;
  150. PSZ = Pchar;
  151. {$ifdef UNICODE}
  152. PTBYTE = ^word;
  153. PTCH = Pwidechar;
  154. PTCHAR = Pwidechar;
  155. PTSTR = Pwidechar;
  156. {$else}
  157. PTBYTE = ^byte;
  158. PTCH = Pchar;
  159. PTCHAR = Pchar;
  160. PTSTR = Pchar;
  161. {$endif}
  162. PUCHAR = ^byte;
  163. PWCH = Pwidechar;
  164. PWCHAR = Pwidechar;
  165. PWORD = ^word;
  166. PUINT = ^cardinal;
  167. PULONG = ^cardinal;
  168. PUSHORT = ^word;
  169. PVOID = pointer;
  170. RETCODE = integer;
  171. SC_HANDLE = HANDLE;
  172. SC_LOCK = LPVOID;
  173. LPSC_HANDLE = ^SC_HANDLE;
  174. SERVICE_STATUS_HANDLE = DWORD;
  175. {$ifdef UNICODE}
  176. TBYTE = word;
  177. TCHAR = word;
  178. BCHAR = word;
  179. {$else}
  180. TBYTE = byte;
  181. TCHAR = char;
  182. BCHAR = BYTE;
  183. {$endif}
  184. UCHAR = byte;
  185. WCHAR = WideChar;
  186. UINT = cardinal;
  187. ULONG = cardinal;
  188. USHORT = word;
  189. WPARAM = Longint;
  190. PLPSTR = ^LPSTR;
  191. PLPWStr= ^LPWStr;
  192. {
  193. Enumerations
  194. }
  195. ACL_INFORMATION_CLASS = (AclRevisionInformation := 1,AclSizeInformation
  196. );
  197. _ACL_INFORMATION_CLASS = ACL_INFORMATION_CLASS;
  198. MEDIA_TYPE = (Unknown,F5_1Pt2_512,F3_1Pt44_512,F3_2Pt88_512,
  199. F3_20Pt8_512,F3_720_512,F5_360_512,F5_320_512,
  200. F5_320_1024,F5_180_512,F5_160_512,RemovableMedia,
  201. FixedMedia);
  202. _MEDIA_TYPE = MEDIA_TYPE;
  203. const
  204. RASCS_DONE = $2000;
  205. RASCS_PAUSED = $1000;
  206. type
  207. RASCONNSTATE = (RASCS_OpenPort := 0,RASCS_PortOpened,
  208. RASCS_ConnectDevice,RASCS_DeviceConnected,
  209. RASCS_AllDevicesConnected,RASCS_Authenticate,
  210. RASCS_AuthNotify,RASCS_AuthRetry,RASCS_AuthCallback,
  211. RASCS_AuthChangePassword,RASCS_AuthProject,
  212. RASCS_AuthLinkSpeed,RASCS_AuthAck,RASCS_ReAuthenticate,
  213. RASCS_Authenticated,RASCS_PrepareForCallback,
  214. RASCS_WaitForModemReset,RASCS_WaitForCallback,
  215. RASCS_Projected,RASCS_StartAuthentication,
  216. RASCS_CallbackComplete,RASCS_LogonNetwork,
  217. RASCS_Interactive := RASCS_PAUSED,RASCS_RetryAuthentication,
  218. RASCS_CallbackSetByCaller,RASCS_PasswordExpired,
  219. RASCS_Connected := RASCS_DONE,RASCS_Disconnected
  220. );
  221. _RASCONNSTATE = RASCONNSTATE;
  222. RASPROJECTION = (RASP_Amb := $10000,RASP_PppNbf := $803F,RASP_PppIpx := $802B,
  223. RASP_PppIp := $8021);
  224. _RASPROJECTION = RASPROJECTION;
  225. SECURITY_IMPERSONATION_LEVEL = (SecurityAnonymous,SecurityIdentification,
  226. SecurityImpersonation,SecurityDelegation
  227. );
  228. _SECURITY_IMPERSONATION_LEVEL = SECURITY_IMPERSONATION_LEVEL;
  229. SID_NAME_USE = (SidTypeUser := 1,SidTypeGroup,SidTypeDomain,
  230. SidTypeAlias,SidTypeWellKnownGroup,SidTypeDeletedAccount,
  231. SidTypeInvalid,SidTypeUnknown);
  232. PSID_NAME_USE = ^SID_NAME_USE;
  233. _SID_NAME_USE = SID_NAME_USE;
  234. TOKEN_INFORMATION_CLASS = (TokenUser := 1,TokenGroups,TokenPrivileges,
  235. TokenOwner,TokenPrimaryGroup,TokenDefaultDacl,
  236. TokenSource,TokenType,TokenImpersonationLevel,
  237. TokenStatistics);
  238. _TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS;
  239. TTokenInformationClass = TOKEN_INFORMATION_CLASS;
  240. TOKEN_TYPE = (TokenPrimary := 1,TokenImpersonation
  241. );
  242. tagTOKEN_TYPE = TOKEN_TYPE;
  243. {
  244. Macros
  245. }
  246. { was #define dname(params) def_expr }
  247. { argument types are unknown }
  248. function GetBValue(rgb : longint) : BYTE;
  249. { was #define dname(params) def_expr }
  250. { argument types are unknown }
  251. function GetGValue(rgb : longint) : BYTE;
  252. { was #define dname(params) def_expr }
  253. { argument types are unknown }
  254. function GetRValue(rgb : longint) : BYTE;
  255. { was #define dname(params) def_expr }
  256. { argument types are unknown }
  257. function RGB(r,g,b : longint) : DWORD;
  258. { Not convertable by H2PAS
  259. #define HANDLE_WM_NOTIFY(hwnd, wParam, lParam, fn) \
  260. (fn)((hwnd), (int)(wParam), (NMHDR FAR )(lParam))
  261. }
  262. { was #define dname(params) def_expr }
  263. { argument types are unknown }
  264. function HIBYTE(w : longint) : BYTE;
  265. { was #define dname(params) def_expr }
  266. { argument types are unknown }
  267. function HIWORD(l : longint) : WORD;
  268. { was #define dname(params) def_expr }
  269. { argument types are unknown }
  270. function LOBYTE(w : longint) : BYTE;
  271. { was #define dname(params) def_expr }
  272. { argument types are unknown }
  273. function LOWORD(l : longint) : WORD;
  274. { was #define dname(params) def_expr }
  275. { argument types are unknown }
  276. function MAKELONG(a,b : longint) : LONG;
  277. { was #define dname(params) def_expr }
  278. { argument types are unknown }
  279. function MAKEWORD(a,b : longint) : WORD;
  280. { original Cygnus headers also had the following defined: }
  281. { was #define dname(params) def_expr }
  282. { argument types are unknown }
  283. { return type might be wrong }
  284. function SEXT_HIWORD(l : longint) : longint;
  285. { return type might be wrong }
  286. { was #define dname(params) def_expr }
  287. { argument types are unknown }
  288. { return type might be wrong }
  289. function ZEXT_HIWORD(l : longint) : longint;
  290. { return type might be wrong }
  291. { was #define dname(params) def_expr }
  292. { argument types are unknown }
  293. function SEXT_LOWORD(l : longint) : longint;
  294. { was #define dname(params) def_expr }
  295. { argument types are unknown }
  296. { return type might be wrong }
  297. function INDEXTOOVERLAYMASK(i : longint) : longint;
  298. { return type might be wrong }
  299. { was #define dname(params) def_expr }
  300. { argument types are unknown }
  301. { return type might be wrong }
  302. function INDEXTOSTATEIMAGEMASK(i : longint) : longint;
  303. { return type might be wrong }
  304. { was #define dname(params) def_expr }
  305. { argument types are unknown }
  306. function MAKEINTATOM(i : longint) : LPTSTR;
  307. { was #define dname(params) def_expr }
  308. { argument types are unknown }
  309. function MAKEINTRESOURCE(i : longint) : LPTSTR;
  310. { was #define dname(params) def_expr }
  311. { argument types are unknown }
  312. { return type might be wrong }
  313. function MAKELANGID(p,s : longint) : longint;
  314. { return type might be wrong }
  315. { was #define dname(params) def_expr }
  316. { argument types are unknown }
  317. function PRIMARYLANGID(lgid : longint) : WORD;
  318. { was #define dname(params) def_expr }
  319. { argument types are unknown }
  320. { return type might be wrong }
  321. function SUBLANGID(lgid : longint) : longint;
  322. { return type might be wrong }
  323. { was #define dname(params) def_expr }
  324. { argument types are unknown }
  325. function LANGIDFROMLCID(lcid : longint) : WORD;
  326. { was #define dname(params) def_expr }
  327. { argument types are unknown }
  328. function SORTIDFROMLCID(lcid : longint) : WORD;
  329. { was #define dname(params) def_expr }
  330. { argument types are unknown }
  331. function MAKELCID(lgid,srtid : longint) : DWORD;
  332. { was #define dname(params) def_expr }
  333. { argument types are unknown }
  334. function MAKELPARAM(l,h : longint) : LPARAM;
  335. { was #define dname(params) def_expr }
  336. { argument types are unknown }
  337. function MAKELRESULT(l,h : longint) : LRESULT;
  338. { Not convertable by H2PAS
  339. #define MAKEPOINTS(l) ( ((POINTS FAR ) & (l)))
  340. }
  341. { was #define dname(params) def_expr }
  342. { argument types are unknown }
  343. function MAKEROP4(fore,back : longint) : DWORD;
  344. { was #define dname(params) def_expr }
  345. { argument types are unknown }
  346. function MAKEWPARAM(l,h : longint) : WPARAM;
  347. {$ifndef max}
  348. { was #define dname(params) def_expr }
  349. { argument types are unknown }
  350. { return type might be wrong }
  351. function max(a,b : longint) : longint;
  352. { return type might be wrong }
  353. {$endif}
  354. {$ifndef min}
  355. { was #define dname(params) def_expr }
  356. { argument types are unknown }
  357. { return type might be wrong }
  358. function min(a,b : longint) : longint;
  359. { return type might be wrong }
  360. {$endif}
  361. { was #define dname(params) def_expr }
  362. { argument types are unknown }
  363. function PALETTEINDEX(i : longint) : COLORREF;
  364. { was #define dname(params) def_expr }
  365. { argument types are unknown }
  366. { return type might be wrong }
  367. function PALETTERGB(r,g,b : longint) : longint;
  368. { return type might be wrong }
  369. (* Not convertable by H2PAS
  370. #define POINTSTOPOINT(pt, pts) {(pt).x = (SHORT) LOWORD(pts); \
  371. (pt).y = (SHORT) HIWORD(pts);}
  372. #define POINTTOPOINTS(pt) \
  373. (MAKELONG((short) ((pt).x), (short) ((pt).y)))
  374. *)
  375. { already declared before
  376. #define INDEXTOOVERLAYMASK(i) ((i) << 8)
  377. #define INDEXTOSTATEIMAGEMASK(i) ((i) << 12)
  378. }
  379. { Not convertable by H2PAS
  380. #ifdef UNICODE
  381. #define TEXT(quote) L##quote
  382. #else
  383. #define TEXT(quote) quote
  384. #endif
  385. }
  386. {
  387. Definitions for callback procedures
  388. }
  389. type
  390. BFFCALLBACK = function (_para1:HWND; _para2:UINT; _para3:LPARAM; _para4:LPARAM):longint;stdcall;
  391. LPCCHOOKPROC = function (_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):UINT;stdcall;
  392. LPCFHOOKPROC = function (_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):UINT;stdcall;
  393. PTHREAD_START_ROUTINE = Pointer;
  394. LPTHREAD_START_ROUTINE = PTHREAD_START_ROUTINE;
  395. EDITSTREAMCALLBACK = function (_para1:DWORD; _para2:LPBYTE; _para3:LONG; _para4:LONG):DWORD;stdcall;
  396. LPFRHOOKPROC = function (_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):UINT;stdcall;
  397. LPOFNHOOKPROC = function (_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):UINT;stdcall;
  398. LPPRINTHOOKPROC = function (_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):UINT;stdcall;
  399. LPSETUPHOOKPROC = function (_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):UINT;stdcall;
  400. DLGPROC = function (_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):LRESULT;stdcall;
  401. PFNPROPSHEETCALLBACK = function (_para1:HWND; _para2:UINT; _para3:LPARAM):longint;stdcall;
  402. LPSERVICE_MAIN_FUNCTION = procedure (_para1:DWORD; _para2:LPTSTR);stdcall;
  403. PFNTVCOMPARE = function (_para1:LPARAM; _para2:LPARAM; _para3:LPARAM):longint;stdcall;
  404. WNDPROC = function (_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):LRESULT;stdcall;
  405. FARPROC = pointer;
  406. PROC = FARPROC;
  407. ENUMRESTYPEPROC = function (_para1:HANDLE; _para2:LPTSTR; _para3:LONG):WINBOOL;stdcall;
  408. ENUMRESNAMEPROC = function (_para1:HANDLE; _para2:LPCTSTR; _para3:LPTSTR; _para4:LONG):WINBOOL;stdcall;
  409. ENUMRESLANGPROC = function (_para1:HANDLE; _para2:LPCTSTR; _para3:LPCTSTR; _para4:WORD; _para5:LONG):WINBOOL;stdcall;
  410. DESKTOPENUMPROC = FARPROC;
  411. ENUMWINDOWSPROC = function (_para1:HWND; _para2:LPARAM):WINBOOL;stdcall;
  412. ENUMWINDOWSTATIONPROC = function (_para1:LPTSTR; _para2:LPARAM):WINBOOL;stdcall;
  413. SENDASYNCPROC = procedure (_para1:HWND; _para2:UINT; _para3:DWORD; _para4:LRESULT);stdcall;
  414. TIMERPROC = procedure (_para1:HWND; _para2:UINT; _para3:UINT; _para4:DWORD);stdcall;
  415. GRAYSTRINGPROC = FARPROC;
  416. DRAWSTATEPROC = function (_para1:HDC; _para2:LPARAM; _para3:WPARAM; _para4:longint; _para5:longint):WINBOOL;stdcall;
  417. PROPENUMPROCEX = function (_para1:HWND; _para2:LPCTSTR; _para3:HANDLE; _para4:DWORD):WINBOOL;stdcall;
  418. PROPENUMPROC = function (_para1:HWND; _para2:LPCTSTR; _para3:HANDLE):WINBOOL;stdcall;
  419. HOOKPROC = function (_para1:longint; _para2:WPARAM; _para3:LPARAM):LRESULT;stdcall;
  420. ENUMOBJECTSPROC = procedure (_para1:LPVOID; _para2:LPARAM);stdcall;
  421. LINEDDAPROC = procedure (_para1:longint; _para2:longint; _para3:LPARAM);stdcall;
  422. TABORTPROC = function (_para1:HDC; _para2:longint):WINBOOL;stdcall;
  423. LPPAGEPAINTHOOK = function (_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):UINT;stdcall;
  424. LPPAGESETUPHOOK = function (_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):UINT;stdcall;
  425. ICMENUMPROC = function (_para1:LPTSTR; _para2:LPARAM):longint;stdcall;
  426. EDITWORDBREAKPROCEX = function (_para1:pchar; _para2:LONG; _para3:BYTE; _para4:WINT):LONG;stdcall;
  427. PFNLVCOMPARE = function (_para1:LPARAM; _para2:LPARAM; _para3:LPARAM):longint;stdcall;
  428. LOCALE_ENUMPROC = function (_para1:LPTSTR):WINBOOL;stdcall;
  429. CODEPAGE_ENUMPROC = function (_para1:LPTSTR):WINBOOL;stdcall;
  430. DATEFMT_ENUMPROC = function (_para1:LPTSTR):WINBOOL;stdcall;
  431. TIMEFMT_ENUMPROC = function (_para1:LPTSTR):WINBOOL;stdcall;
  432. CALINFO_ENUMPROC = function (_para1:LPTSTR):WINBOOL;stdcall;
  433. PHANDLER_ROUTINE = function (_para1:DWORD):WINBOOL;stdcall;
  434. LPHANDLER_FUNCTION = function (_para1:DWORD):WINBOOL;stdcall;
  435. PFNGETPROFILEPATH = function (_para1:LPCTSTR; _para2:LPSTR; _para3:UINT):UINT;stdcall;
  436. PFNRECONCILEPROFILE = function (_para1:LPCTSTR; _para2:LPCTSTR; _para3:DWORD):UINT;stdcall;
  437. PFNPROCESSPOLICIES = function (_para1:HWND; _para2:LPCTSTR; _para3:LPCTSTR; _para4:LPCTSTR; _para5:DWORD):WINBOOL;stdcall;
  438. (* Not convertable by H2PAS
  439. #define SECURITY_NULL_SID_AUTHORITY {0,0,0,0,0,0}
  440. #define SECURITY_WORLD_SID_AUTHORITY {0,0,0,0,0,1}
  441. #define SECURITY_LOCAL_SID_AUTHORITY {0,0,0,0,0,2}
  442. #define SECURITY_CREATOR_SID_AUTHORITY {0,0,0,0,0,3}
  443. #define SECURITY_NON_UNIQUE_AUTHORITY {0,0,0,0,0,4}
  444. #define SECURITY_NT_AUTHORITY {0,0,0,0,0,5}
  445. *)
  446. { TEXT("String") replaced by "String" below for H2PAS }
  447. const
  448. SE_CREATE_TOKEN_NAME = 'SeCreateTokenPrivilege';
  449. SE_ASSIGNPRIMARYTOKEN_NAME = 'SeAssignPrimaryTokenPrivilege';
  450. SE_LOCK_MEMORY_NAME = 'SeLockMemoryPrivilege';
  451. SE_INCREASE_QUOTA_NAME = 'SeIncreaseQuotaPrivilege';
  452. SE_UNSOLICITED_INPUT_NAME = 'SeUnsolicitedInputPrivilege';
  453. SE_MACHINE_ACCOUNT_NAME = 'SeMachineAccountPrivilege';
  454. SE_TCB_NAME = 'SeTcbPrivilege';
  455. SE_SECURITY_NAME = 'SeSecurityPrivilege';
  456. SE_TAKE_OWNERSHIP_NAME = 'SeTakeOwnershipPrivilege';
  457. SE_LOAD_DRIVER_NAME = 'SeLoadDriverPrivilege';
  458. SE_SYSTEM_PROFILE_NAME = 'SeSystemProfilePrivilege';
  459. SE_SYSTEMTIME_NAME = 'SeSystemtimePrivilege';
  460. SE_PROF_SINGLE_PROCESS_NAME = 'SeProfileSingleProcessPrivilege';
  461. SE_INC_BASE_PRIORITY_NAME = 'SeIncreaseBasePriorityPrivilege';
  462. SE_CREATE_PAGEFILE_NAME = 'SeCreatePagefilePrivilege';
  463. SE_CREATE_PERMANENT_NAME = 'SeCreatePermanentPrivilege';
  464. SE_BACKUP_NAME = 'SeBackupPrivilege';
  465. SE_RESTORE_NAME = 'SeRestorePrivilege';
  466. SE_SHUTDOWN_NAME = 'SeShutdownPrivilege';
  467. SE_DEBUG_NAME = 'SeDebugPrivilege';
  468. SE_AUDIT_NAME = 'SeAuditPrivilege';
  469. SE_SYSTEM_ENVIRONMENT_NAME = 'SeSystemEnvironmentPrivilege';
  470. SE_CHANGE_NOTIFY_NAME = 'SeChangeNotifyPrivilege';
  471. SE_REMOTE_SHUTDOWN_NAME = 'SeRemoteShutdownPrivilege';
  472. { Not convertable by H2PAS
  473. #define SERVICES_ACTIVE_DATABASEW L"ServicesActive"
  474. #define SERVICES_FAILED_DATABASEW L"ServicesFailed"
  475. }
  476. SERVICES_ACTIVE_DATABASEA = 'ServicesActive';
  477. SERVICES_FAILED_DATABASEA = 'ServicesFailed';
  478. { Not convertable by H2PAS
  479. #define SC_GROUP_IDENTIFIERW L'+'
  480. }
  481. SC_GROUP_IDENTIFIERA = '+';
  482. {$ifdef UNICODE}
  483. SERVICES_ACTIVE_DATABASE = SERVICES_ACTIVE_DATABASEW;
  484. SERVICES_FAILED_DATABASE = SERVICES_FAILED_DATABASEW;
  485. SC_GROUP_IDENTIFIER = SC_GROUP_IDENTIFIERW;
  486. {$else}
  487. SERVICES_ACTIVE_DATABASE = SERVICES_ACTIVE_DATABASEA;
  488. SERVICES_FAILED_DATABASE = SERVICES_FAILED_DATABASEA;
  489. SC_GROUP_IDENTIFIER = SC_GROUP_IDENTIFIERA;
  490. {$endif}
  491. type
  492. { PFNCALLBACK = CALLB; }
  493. PFNCALLBACK = function(_para1, _para2: UINT;_para3: HCONV;_para4, _para5: HSZ; _para6: HDDEDATA;_para7 ,_para8 :DWORD): HDDEData;stdcall;
  494. { CALLB = procedure ;CDECL; }
  495. CALLB = PFNCALLBACK;
  496. SECURITY_CONTEXT_TRACKING_MODE = WINBOOL;
  497. { End of stuff from ddeml.h in old Cygnus headers }
  498. { ----------------------------------------------- }
  499. WNDENUMPROC = FARPROC;
  500. ENHMFENUMPROC = FARPROC;
  501. CCSTYLE = DWORD;
  502. PCCSTYLE = ^CCSTYLE;
  503. LPCCSTYLE = ^CCSTYLE;
  504. CCSTYLEFLAGA = DWORD;
  505. PCCSTYLEFLAGA = ^CCSTYLEFLAGA;
  506. LPCCSTYLEFLAGA = ^CCSTYLEFLAGA;
  507. {$endif read_interface}
  508. {$ifdef read_implementation}
  509. { was #define dname(params) def_expr }
  510. { argument types are unknown }
  511. function GetBValue(rgb : longint) : BYTE;
  512. begin
  513. GetBValue:=BYTE(rgb shr 16);
  514. end;
  515. { was #define dname(params) def_expr }
  516. { argument types are unknown }
  517. function GetGValue(rgb : longint) : BYTE;
  518. begin
  519. GetGValue:=BYTE((WORD(rgb)) shr 8);
  520. end;
  521. { was #define dname(params) def_expr }
  522. { argument types are unknown }
  523. function GetRValue(rgb : longint) : BYTE;
  524. begin
  525. GetRValue:=BYTE(rgb);
  526. end;
  527. { was #define dname(params) def_expr }
  528. { argument types are unknown }
  529. function RGB(r,g,b : longint) : DWORD;
  530. begin
  531. RGB:=DWORD(((DWORD(BYTE(r))) or ((DWORD(WORD(g))) shl 8)) or ((DWORD(BYTE(b))) shl 16));
  532. end;
  533. { was #define dname(params) def_expr }
  534. { argument types are unknown }
  535. function HIBYTE(w : longint) : BYTE;
  536. begin
  537. HIBYTE:=BYTE(((WORD(w)) shr 8) and $FF);
  538. end;
  539. { was #define dname(params) def_expr }
  540. { argument types are unknown }
  541. function HIWORD(l : longint) : WORD;
  542. begin
  543. HIWORD:=WORD(((DWORD(l)) shr 16) and $FFFF);
  544. end;
  545. { was #define dname(params) def_expr }
  546. { argument types are unknown }
  547. function LOBYTE(w : longint) : BYTE;
  548. begin
  549. LOBYTE:=BYTE(w);
  550. end;
  551. { was #define dname(params) def_expr }
  552. { argument types are unknown }
  553. function LOWORD(l : longint) : WORD;
  554. begin
  555. LOWORD:=WORD(l);
  556. end;
  557. { was #define dname(params) def_expr }
  558. { argument types are unknown }
  559. function MAKELONG(a,b : longint) : LONG;
  560. begin
  561. MAKELONG:=LONG((WORD(a)) or ((DWORD(WORD(b))) shl 16));
  562. end;
  563. { was #define dname(params) def_expr }
  564. { argument types are unknown }
  565. function MAKEWORD(a,b : longint) : WORD;
  566. begin
  567. MAKEWORD:=WORD((BYTE(a)) or ((WORD(BYTE(b))) shl 8));
  568. end;
  569. { was #define dname(params) def_expr }
  570. { argument types are unknown }
  571. { return type might be wrong }
  572. function SEXT_HIWORD(l : longint) : longint;
  573. { return type might be wrong }
  574. begin
  575. SEXT_HIWORD:=(longint(l)) shr 16;
  576. end;
  577. { was #define dname(params) def_expr }
  578. { argument types are unknown }
  579. { return type might be wrong }
  580. function ZEXT_HIWORD(l : longint) : longint;
  581. { return type might be wrong }
  582. begin
  583. ZEXT_HIWORD:=(cardinal(l)) shr 16;
  584. end;
  585. { was #define dname(params) def_expr }
  586. { argument types are unknown }
  587. function SEXT_LOWORD(l : longint) : longint;
  588. begin
  589. SEXT_LOWORD:=longint(integer(l));
  590. end;
  591. { was #define dname(params) def_expr }
  592. { argument types are unknown }
  593. { return type might be wrong }
  594. function INDEXTOOVERLAYMASK(i : longint) : longint;
  595. { return type might be wrong }
  596. begin
  597. INDEXTOOVERLAYMASK:=i shl 8;
  598. end;
  599. { was #define dname(params) def_expr }
  600. { argument types are unknown }
  601. { return type might be wrong }
  602. function INDEXTOSTATEIMAGEMASK(i : longint) : longint;
  603. { return type might be wrong }
  604. begin
  605. INDEXTOSTATEIMAGEMASK:=i shl 12;
  606. end;
  607. { was #define dname(params) def_expr }
  608. { argument types are unknown }
  609. function MAKEINTATOM(i : longint) : LPTSTR;
  610. begin
  611. MAKEINTATOM:=LPTSTR(DWORD(WORD(i)));
  612. end;
  613. { was #define dname(params) def_expr }
  614. { argument types are unknown }
  615. function MAKEINTRESOURCE(i : longint) : LPTSTR;
  616. begin
  617. MAKEINTRESOURCE:=LPTSTR(DWORD(WORD(i)));
  618. end;
  619. { was #define dname(params) def_expr }
  620. { argument types are unknown }
  621. { return type might be wrong }
  622. function MAKELANGID(p,s : longint) : longint;
  623. { return type might be wrong }
  624. begin
  625. MAKELANGID:=((WORD(s)) shl 10) or (WORD(p));
  626. end;
  627. { was #define dname(params) def_expr }
  628. { argument types are unknown }
  629. function PRIMARYLANGID(lgid : longint) : WORD;
  630. begin
  631. { PRIMARYLANGID:=WORD(lgid(@($3ff)));
  632. h2pas error here corrected by hand PM }
  633. PRIMARYLANGID:=WORD(lgid) and ($3ff);
  634. end;
  635. { was #define dname(params) def_expr }
  636. { argument types are unknown }
  637. { return type might be wrong }
  638. function SUBLANGID(lgid : longint) : longint;
  639. { return type might be wrong }
  640. begin
  641. SUBLANGID:=(WORD(lgid)) shr 10;
  642. end;
  643. { was #define dname(params) def_expr }
  644. { argument types are unknown }
  645. function LANGIDFROMLCID(lcid : longint) : WORD;
  646. begin
  647. LANGIDFROMLCID:=WORD(lcid);
  648. end;
  649. { was #define dname(params) def_expr }
  650. { argument types are unknown }
  651. function SORTIDFROMLCID(lcid : longint) : WORD;
  652. begin
  653. SORTIDFROMLCID:=WORD(((DWORD(lcid)) and $000FFFFF) shr 16);
  654. end;
  655. { was #define dname(params) def_expr }
  656. { argument types are unknown }
  657. function MAKELCID(lgid,srtid : longint) : DWORD;
  658. begin
  659. MAKELCID:=DWORD(((DWORD(WORD(srtid))) shl 16) or (DWORD(WORD(lgid))));
  660. end;
  661. { was #define dname(params) def_expr }
  662. { argument types are unknown }
  663. function MAKELPARAM(l,h : longint) : LPARAM;
  664. begin
  665. MAKELPARAM:=LPARAM(MAKELONG(l,h));
  666. end;
  667. { was #define dname(params) def_expr }
  668. { argument types are unknown }
  669. function MAKELRESULT(l,h : longint) : LRESULT;
  670. begin
  671. MAKELRESULT:=LRESULT(MAKELONG(l,h));
  672. end;
  673. { was #define dname(params) def_expr }
  674. { argument types are unknown }
  675. function MAKEROP4(fore,back : longint) : DWORD;
  676. begin
  677. MAKEROP4:=DWORD((DWORD(back shl 8) and $FF000000) or DWORD(fore));
  678. end;
  679. { was #define dname(params) def_expr }
  680. { argument types are unknown }
  681. function MAKEWPARAM(l,h : longint) : WPARAM;
  682. begin
  683. MAKEWPARAM:=WPARAM(MAKELONG(l,h));
  684. end;
  685. { was #define dname(params) def_expr }
  686. { argument types are unknown }
  687. { return type might be wrong }
  688. function max(a,b : longint) : longint;
  689. { return type might be wrong }
  690. var
  691. if_local1 : longint;
  692. (* result types are not known *)
  693. begin
  694. if a > b then
  695. if_local1:=a
  696. else
  697. if_local1:=b;
  698. max:=if_local1;
  699. end;
  700. { was #define dname(params) def_expr }
  701. { argument types are unknown }
  702. { return type might be wrong }
  703. function min(a,b : longint) : longint;
  704. { return type might be wrong }
  705. var
  706. if_local1 : longint;
  707. (* result types are not known *)
  708. begin
  709. if a < b then
  710. if_local1:=a
  711. else
  712. if_local1:=b;
  713. min:=if_local1;
  714. end;
  715. { was #define dname(params) def_expr }
  716. { argument types are unknown }
  717. function PALETTEINDEX(i : longint) : COLORREF;
  718. begin
  719. PALETTEINDEX:=COLORREF($01000000 or (DWORD(WORD(i))));
  720. end;
  721. { was #define dname(params) def_expr }
  722. { argument types are unknown }
  723. { return type might be wrong }
  724. function PALETTERGB(r,g,b : longint) : longint;
  725. { return type might be wrong }
  726. begin
  727. PALETTERGB:=$02000000 or (RGB(r,g,b));
  728. end;
  729. {$endif read_implementation}
  730. {
  731. $Log$
  732. Revision 1.21 2003-12-08 21:23:24 peter
  733. * hmodule added
  734. Revision 1.20 2003/12/05 11:53:12 marco
  735. * ttokeninformationclass alias for delphi compat
  736. Revision 1.19 2003/10/06 23:52:53 florian
  737. * some data types cleaned up
  738. Revision 1.18 2003/08/20 23:12:32 marco
  739. * HSTR fix
  740. Revision 1.17 2003/04/23 11:35:00 peter
  741. * wndproc definition fixed
  742. Revision 1.16 2003/04/01 15:37:17 peter
  743. * HResult is alias for System.HResult
  744. * Handle is unique type of Cardinal
  745. Revision 1.15 2002/12/12 17:34:35 peter
  746. * Renaming INT type to WINT
  747. Revision 1.14 2002/11/27 20:08:21 peter
  748. * added PBOOL
  749. Revision 1.13 2002/10/09 20:45:12 florian
  750. - NULL definition removed, the system unit contains now a NULL variant
  751. Revision 1.12 2002/10/06 20:00:22 peter
  752. * Use Widechar in the Windows unit
  753. Revision 1.11 2002/09/15 17:53:45 peter
  754. * Remove Float type, use Single instead
  755. Revision 1.10 2002/09/07 16:01:30 peter
  756. * old logs removed and tabs fixed
  757. Revision 1.9 2002/07/16 13:52:14 florian
  758. * LARGE_INT and ULARGE_INT types fixed
  759. * LONGLONG defined properly
  760. }