base.pp 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525
  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) 1993,97 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. This file is generated using h2pas written by Florian Klaempfl,
  15. but some modifications are done.
  16. The C header file was base.h of the
  17. GNU Windows32 API Library Version 0.1.2
  18. ****************************************************************************
  19. FK Florian Klaempfl
  20. + added
  21. - removed
  22. * modified
  23. History (for more informations look to the rtl log file):
  24. 18th november 1997 version:
  25. + started (FK)
  26. ToDo:
  27. o unicode strings
  28. Not recommended to use:
  29. #define HIBYTE(w) ((BYTE) (((WORD) (w) >> 8) & 0xFF))
  30. #define HIWORD(l) ((WORD) (((DWORD) (l) >> 16) & 0xFFFF))
  31. #define LOBYTE(w) ((BYTE) (w))
  32. #define LOWORD(l) ((WORD) (l))
  33. Unimplemented:
  34. #define FORWARD_WM_NOTIFY(hwnd, idFrom, pnmhdr, fn) \
  35. (void)(fn)((hwnd), WM_NOTIFY, (WPARAM)(int)(id), \
  36. (LPARAM)(NMHDR FAR*)(pnmhdr))
  37. #define HANDLE_WM_NOTIFY(hwnd, wParam, lParam, fn) \
  38. (fn)((hwnd), (int)(wParam), (NMHDR FAR*)(lParam))
  39. #define MAKELANGID(p, s) ((((WORD) (s)) << 10) | (WORD) (p))
  40. #define PRIMARYLANGID(lgid) ((WORD )(lgid) & 0x3ff)
  41. #define SUBLANGID(lgid) ((WORD )(lgid) >> 10)
  42. #define LANGIDFROMLCID(lcid) ((WORD) (lcid))
  43. #define SORTIDFROMLCID(lcid) \
  44. ((WORD )((((DWORD)(lcid)) & 0x000FFFFF) >> 16))
  45. #define MAKELCID(lgid, srtid) \
  46. ((DWORD)((((DWORD)((WORD)(srtid))) << 16) | \
  47. ((DWORD)((WORD)(lgid)))))
  48. #define MAKELPARAM(l, h) ((LPARAM) MAKELONG(l, h))
  49. #define MAKELRESULT(l, h) ((LRESULT) MAKELONG(l, h))
  50. #define MAKEPOINTS(l) (*((POINTS FAR *) & (l)))
  51. #define MAKEROP4(fore,back) \
  52. (DWORD)((((back) << 8) & 0xFF000000) | (fore))
  53. #define MAKEWPARAM(l, h) ((WPARAM) MAKELONG(l, h))
  54. #ifndef max
  55. #define max(a, b) (((a) > (b)) ? (a) : (b))
  56. #endif
  57. #ifndef min
  58. #define min(a, b) (((a) < (b)) ? (a) : (b))
  59. #endif
  60. #define PALETTEINDEX(i) \
  61. ((COLORREF) (0x01000000 | (DWORD) (WORD) (i)))
  62. #define PALETTERGB(r, g, b) (0x02000000 | RGB(r, g, b))
  63. #define POINTSTOPOINT(pt, pts)
  64. (pt).x = (SHORT) LOWORD(pts);
  65. (pt).y = (SHORT) HIWORD(pts);
  66. #define POINTTOPOINTS(pt)
  67. (MAKELONG((short) ((pt).x), (short) ((pt).y)))
  68. #define SECURITY_NULL_SID_AUTHORITY 0,0,0,0,0,0
  69. #define SECURITY_WORLD_SID_AUTHORITY 0,0,0,0,0,1
  70. #define SECURITY_LOCAL_SID_AUTHORITY 0,0,0,0,0,2
  71. #define SECURITY_CREATOR_SID_AUTHORITY 0,0,0,0,0,3
  72. #define SECURITY_NON_UNIQUE_AUTHORITY 0,0,0,0,0,4
  73. #define SECURITY_NT_AUTHORITY 0,0,0,0,0,5
  74. ****************************************************************************}
  75. unit base;
  76. interface
  77. type
  78. ATOM = word;
  79. { Changed from BOOL to WINBOOL to avoid Objective-C conflict}
  80. WINBOOL = longint;
  81. BOOL = longint;
  82. CALTYPE = cardinal;
  83. CALID = cardinal;
  84. CCHAR = char;
  85. COLORREF = cardinal;
  86. DWORD = cardinal;
  87. DWORDLONG = double;
  88. PDWORDLONG = ^DWORDLONG;
  89. FLOAT = single;
  90. HANDLE = pointer;
  91. HACCEL = HANDLE;
  92. HBITMAP = HANDLE;
  93. HBRUSH = HANDLE;
  94. HCOLORSPACE = HANDLE;
  95. HCONV = HANDLE;
  96. HCONVLIST = HANDLE;
  97. HCURSOR = HANDLE;
  98. HDC = HANDLE;
  99. HDDEDATA = HANDLE;
  100. HDESK = HANDLE;
  101. HDWP = HANDLE;
  102. HENHMETAFILE = HANDLE;
  103. HFILE = longint;
  104. HFONT = HANDLE;
  105. HGDIOBJ = HANDLE;
  106. HGLOBAL = HANDLE;
  107. HGLRC = HANDLE;
  108. HHOOK = HANDLE;
  109. HICON = HANDLE;
  110. HIMAGELIST = HANDLE;
  111. HINSTANCE = HANDLE;
  112. HKEY = HANDLE;
  113. PHKEY = ^HANDLE;
  114. HKL = HANDLE;
  115. HLOCAL = HANDLE;
  116. HMENU = HANDLE;
  117. HMETAFILE = HANDLE;
  118. HMODULE = HANDLE;
  119. HPALETTE = HANDLE;
  120. HPEN = HANDLE;
  121. HRASCONN = HANDLE;
  122. HRESULT = longint;
  123. HRGN = HANDLE;
  124. HRSRC = HANDLE;
  125. HSZ = HANDLE;
  126. HWINSTA = HANDLE;
  127. HWND = HANDLE;
  128. INT = longint;
  129. LANGID = word;
  130. LCID = DWORD;
  131. LCTYPE = DWORD;
  132. LONG = longint;
  133. LONGLONG = double;
  134. PLONGLONG = ^double;
  135. LP = ^word;
  136. LPARAM = longint;
  137. LPBOOL = ^WINBOOL;
  138. LPBYTE = ^BYTE;
  139. LPCCH = ^CHAR;
  140. LPCH = ^CHAR;
  141. LPCOLORREF = ^COLORREF;
  142. LPCSTR = pchar;
  143. {$ifdef UNICODE}
  144. LPCTSTR = ^word;
  145. {$else UNICODE}
  146. LPCTSTR = ^char;
  147. {$endif UNICODE}
  148. LPCWCH = ^word;
  149. LPCWSTR = ^word;
  150. LPDWORD = ^DWORD;
  151. LPHANDLE = ^HANDLE;
  152. LPINT = ^longint;
  153. LPLONG = ^longint;
  154. LPSTR = ^char;
  155. {$ifdef UNICODE}
  156. LPTCH = ^word;
  157. LPTSTR = ^word;
  158. {$else UNICODE}
  159. LPTCH = ^char;
  160. LPTSTR = ^char;
  161. {$endif UNICODE}
  162. LRESULT = longint;
  163. LPVOID = pointer;
  164. LPCVOID = pointer;
  165. LPWCH = ^word;
  166. LPWORD = ^word;
  167. LPWSTR = ^word;
  168. NWPSTR = ^word;
  169. PWINBOOL = ^WINBOOL;
  170. PBOOLEAN = ^BYTE;
  171. PBYTE = ^BYTE;
  172. PCCH = ^CHAR;
  173. PCH = ^CHAR;
  174. PCHAR = ^CHAR;
  175. PCSTR = ^char;
  176. PCWCH = ^word;
  177. PCWSTR = ^word;
  178. PDWORD = ^DWORD;
  179. PFLOAT = ^float;
  180. PHANDLE = ^HANDLE;
  181. PINT = ^longint;
  182. PLONG = ^longint;
  183. PSHORT = ^integer;
  184. PSTR = ^char;
  185. PSZ = ^char;
  186. {$ifdef UNICODE}
  187. PTBYTE = ^word;
  188. PTCH = ^word;
  189. PTCHAR = ^word;
  190. PTSTR = ^word;
  191. {$else UNICODE}
  192. PTBYTE = ^char;
  193. PTCH = ^char;
  194. PTCHAR = ^char;
  195. PTSTR = ^char;
  196. {$endif UNICODE}
  197. PUCHAR = ^char;
  198. PUINT = ^cardinal;
  199. PULONG = ^cardinal;
  200. PUSHORT = ^word;
  201. PVOID = pointer;
  202. PWCH = ^word;
  203. PWCHAR = ^word;
  204. PWORD = ^word;
  205. SC_HANDLE = HANDLE;
  206. SC_LOCK = LPVOID;
  207. LPSC_HANDLE = ^SC_HANDLE;
  208. SERVICE_STATUS_HANDLE = DWORD;
  209. SHORT = integer;
  210. {$ifdef UNICODE}
  211. TBYTE = word;
  212. TCHAR = word;
  213. BCHAR = word;
  214. {$else UNICODE}
  215. TBYTE = char;
  216. TCHAR = char;
  217. BCHAR = BYTE;
  218. {$endif UNICODE}
  219. UCHAR = char;
  220. UINT = cardinal;
  221. ULONG = cardinal;
  222. USHORT = word;
  223. WPARAM = longint;
  224. ACL_INFORMATION_CLASS = (
  225. AclRevisionInformation:=1,
  226. AclSizeInformation);
  227. MEDIA_TYPE = (
  228. Unknown,
  229. F5_1Pt2_512,
  230. F3_1Pt44_512,
  231. F3_2Pt88_512,
  232. F3_20Pt8_512,
  233. F3_720_512,
  234. F5_360_512,
  235. F5_320_512,
  236. F5_320_1024,
  237. F5_180_512,
  238. F5_160_512,
  239. RemovableMedia,
  240. FixedMedia);
  241. const
  242. RASCS_DONE = $2000;
  243. RASCS_PAUSED = $1000;
  244. type
  245. RASCONNSTATE = (
  246. RASCS_OpenPort,
  247. RASCS_PortOpened,
  248. RASCS_ConnectDevice,
  249. RASCS_DeviceConnected,
  250. RASCS_AllDevicesConnected,
  251. RASCS_Authenticate,
  252. RASCS_AuthNotify,
  253. RASCS_AuthRetry,
  254. RASCS_AuthCallback,
  255. RASCS_AuthChangePassword,
  256. RASCS_AuthProject,
  257. RASCS_AuthLinkSpeed,
  258. RASCS_AuthAck,
  259. RASCS_ReAuthenticate,
  260. RASCS_Authenticated,
  261. RASCS_PrepareForCallback,
  262. RASCS_WaitForModemReset,
  263. RASCS_WaitForCallback,
  264. RASCS_Projected,
  265. RASCS_StartAuthentication,
  266. RASCS_CallbackComplete,
  267. RASCS_LogonNetwork,
  268. RASCS_Interactive:=RASCS_PAUSED,
  269. RASCS_RetryAuthentication,
  270. RASCS_CallbackSetByCaller,
  271. RASCS_PasswordExpired,
  272. RASCS_Connected:=RASCS_DONE,
  273. RASCS_Disconnected);
  274. RASPROJECTION = (
  275. RASP_Amb:=$10000,
  276. RASP_PppNbf:=$803F,
  277. RASP_PppIpx:=$802B,
  278. RASP_PppIp:=$8021);
  279. SECURITY_IMPERSONATION_LEVEL = (
  280. SecurityAnonymous,
  281. SecurityIdentification,
  282. SecurityImpersonation,
  283. SecurityDelegation);
  284. SID_NAME_USE = (
  285. SidTypeUser:=1,
  286. SidTypeGroup,
  287. SidTypeDomain,
  288. SidTypeAlias,
  289. SidTypeWellKnownGroup,
  290. SidTypeDeletedAccount,
  291. SidTypeInvalid,
  292. SidTypeUnknown);
  293. PSID_NAME_USE = ^SID_NAME_USE;
  294. TOKEN_INFORMATION_CLASS = (
  295. TokenUser:=1,
  296. TokenGroups,
  297. TokenPrivileges,
  298. TokenOwner,
  299. TokenPrimaryGroup,
  300. TokenDefaultDacl,
  301. TokenSource,
  302. TokenType,
  303. TokenImpersonationLevel,
  304. TokenStatistics);
  305. TOKEN_TYPE = (
  306. TokenPrimary:=1,
  307. TokenImpersonation);
  308. { Callbacks }
  309. BFFCALLBACK = function(_para1:HWND; _para2:UINT; _para3:LPARAM; _para:LPARAM):longint;
  310. LPCCHOOKPROC = function(_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):UINT;
  311. LPCFHOOKPROC = function(_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):UINT;
  312. PTHREAD_START_ROUTINE = function(_para1:LPVOID):DWORD;
  313. LPTHREAD_START_ROUTINE = PTHREAD_START_ROUTINE;
  314. EDITSTREAMCALLBACK = function(_para1:DWORD; _para2:LPBYTE; _para3:LONG; _para4:LONG):DWORD;
  315. LPFRHOOKPROC = function(_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):UINT;
  316. LPOFNHOOKPROC = function(_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):UINT;
  317. LPPRINTHOOKPROC = function(_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):UINT;
  318. LPSETUPHOOKPROC = function(_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):UINT;
  319. DLGPROC = function(_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):WINBOOL;
  320. PFNPROPSHEETCALLBACK = function(_para1:HWND; _para2:UINT; _para3:LPARAM):longint;
  321. LPSERVICE_MAIN_FUNCTION = procedure(_para1:DWORD; _para2:LPTSTR);
  322. PFNTVCOMPARE = function(_para1:LPARAM; _para2:LPARAM; _para3:LPARAM):longint;
  323. WNDPROC = function(_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):LRESULT;
  324. FARPROC = function:longint;
  325. PROC = FARPROC;
  326. ENUMRESTYPEPROC = function(_para1:HANDLE; _para2:LPTSTR; _para3:LONG):WINBOOL;
  327. ENUMRESNAMEPROC = function(_para1:HANDLE; _para2:LPCTSTR; _para3:LPTSTR; _para4:LONG):WINBOOL;
  328. ENUMRESLANGPROC = function(_para1:HANDLE; _para2:LPCTSTR; _para3:LPCTSTR; _para4:WORD; _para5:LONG):WINBOOL;
  329. DESKTOPENUMPROC = FARPROC;
  330. ENUMWINDOWSPROC = function(_para1:HWND; _para2:LPARAM):WINBOOL;
  331. ENUMWINDOWSTATIONPROC = function(_para1:LPTSTR; _para2:LPARAM):WINBOOL;
  332. SENDASYNCPROC = procedure(_para1:HWND; _para2:UINT; _para3:DWORD; _para4:LRESULT);
  333. TIMERPROC = procedure(_para1:HWND; _para2:UINT; _para3:UINT; _para4:DWORD);
  334. GRAYSTRINGPROC = FARPROC;
  335. DRAWSTATEPROC = function(_para1:HDC; _para2:LPARAM; _para3:WPARAM; _para4:longint; _para5:longint):WINBOOL;
  336. PROPENUMPROCEX = function(_para1:HWND; _para2:LPCTSTR; _para3:HANDLE; _para4:DWORD):WINBOOL;
  337. PROPENUMPROC = function(_para1:HWND; _para2:LPCTSTR; _para3:HANDLE):WINBOOL;
  338. HOOKPROC = function(_para1:longint; _para2:WPARAM; _para3:LPARAM):LRESULT;
  339. ENUMOBJECTSPROC = procedure(_para1:LPVOID; _para2:LPARAM);
  340. LINEDDAPROC = procedure(_para1:longint; _para2:longint; _para3:LPARAM);
  341. ABORTPROC = function(_para1:HDC; _para2:longint):WINBOOL;
  342. LPPAGEPAINTHOOK = function(_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):UINT;
  343. LPPAGESETUPHOOK = function(_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):UINT;
  344. ICMENUMPROC = function(_para1:LPTSTR; _para2:LPARAM):longint;
  345. EDITWORDBREAKPROCEX = function(_para1:pchar; _para2:LONG; _para3:BYTE; _para4:INT):LONG;
  346. PFNLVCOMPARE = function(_para1:LPARAM; _para2:LPARAM; _para3:LPARAM):longint;
  347. LOCALE_ENUMPROC = function(_para1:LPTSTR):WINBOOL;
  348. CODEPAGE_ENUMPROC = function(_para1:LPTSTR):WINBOOL;
  349. DATEFMT_ENUMPROC = function(_para1:LPTSTR):WINBOOL;
  350. TIMEFMT_ENUMPROC = function(_para1:LPTSTR):WINBOOL;
  351. CALINFO_ENUMPROC = function(_para1:LPTSTR):WINBOOL;
  352. PHANDLER_ROUTINE = function(_para1:DWORD):WINBOOL;
  353. LPHANDLER_FUNCTION = function(_para1:DWORD):WINBOOL;
  354. PFNGETPROFILEPATH = function(_para1:LPCTSTR; _para2:LPSTR; _para3:UINT):UINT;
  355. PFNRECONCILEPROFILE = function(_para1:LPCTSTR; _para2:LPCTSTR; _para3:DWORD):UINT;
  356. PFNPROCESSPOLICIES = function(_para1:HWND; _para2:LPCTSTR; _para3:LPCTSTR; _para4:LPCTSTR; _para5:DWORD):WINBOOL;
  357. const
  358. {$ifdef UNICODE}
  359. { !!!!! how do unicode support? }
  360. SERVICES_ACTIVE_DATABASE = SERVICES_ACTIVE_DATABASEW;
  361. SERVICES_FAILED_DATABASE = SERVICES_FAILED_DATABASEW;
  362. SC_GROUP_IDENTIFIER = SC_GROUP_IDENTIFIERW;
  363. {$else UNICODE}
  364. SE_CREATE_TOKEN_NAME = 'SeCreateTokenPrivilege';
  365. SE_ASSIGNPRIMARYTOKEN_NAME = 'SeAssignPrimaryTokenPrivilege';
  366. SE_LOCK_MEMORY_NAME = 'SeLockMemoryPrivilege';
  367. SE_INCREASE_QUOTA_NAME = 'SeIncreaseQuotaPrivilege';
  368. SE_UNSOLICITED_INPUT_NAME = 'SeUnsolicitedInputPrivilege';
  369. SE_MACHINE_ACCOUNT_NAME = 'SeMachineAccountPrivilege';
  370. SE_TCB_NAME = 'SeTcbPrivilege';
  371. SE_SECURITY_NAME = 'SeSecurityPrivilege';
  372. SE_TAKE_OWNERSHIP_NAME = 'SeTakeOwnershipPrivilege';
  373. SE_LOAD_DRIVER_NAME = 'SeLoadDriverPrivilege';
  374. SE_SYSTEM_PROFILE_NAME = 'SeSystemProfilePrivilege';
  375. SE_SYSTEMTIME_NAME = 'SeSystemtimePrivilege';
  376. SE_PROF_SINGLE_PROCESS_NAME = 'SeProfileSingleProcessPrivilege';
  377. SE_INC_BASE_PRIORITY_NAME = 'SeIncreaseBasePriorityPrivilege';
  378. SE_CREATE_PAGEFILE_NAME = 'SeCreatePagefilePrivilege';
  379. SE_CREATE_PERMANENT_NAME = 'SeCreatePermanentPrivilege';
  380. SE_BACKUP_NAME = 'SeBackupPrivilege';
  381. SE_RESTORE_NAME = 'SeRestorePrivilege';
  382. SE_SHUTDOWN_NAME = 'SeShutdownPrivilege';
  383. SE_DEBUG_NAME = 'SeDebugPrivilege';
  384. SE_AUDIT_NAME = 'SeAuditPrivilege';
  385. SE_SYSTEM_ENVIRONMENT_NAME = 'SeSystemEnvironmentPrivilege';
  386. SE_CHANGE_NOTIFY_NAME = 'SeChangeNotifyPrivilege';
  387. SE_REMOTE_SHUTDOWN_NAME = 'SeRemoteShutdownPrivilege';
  388. SERVICES_ACTIVE_DATABASEW = 'ServicesActive';
  389. SERVICES_FAILED_DATABASEW = 'ServicesFailed';
  390. SERVICES_ACTIVE_DATABASEA = 'ServicesActive';
  391. SERVICES_FAILED_DATABASEA = 'ServicesFailed';
  392. SC_GROUP_IDENTIFIERW = '+';
  393. SC_GROUP_IDENTIFIERA = '+';
  394. SERVICES_ACTIVE_DATABASE = SERVICES_ACTIVE_DATABASEA;
  395. SERVICES_FAILED_DATABASE = SERVICES_FAILED_DATABASEA;
  396. SC_GROUP_IDENTIFIER = SC_GROUP_IDENTIFIERA;
  397. {$endif UNICODE}
  398. function GetRValue(rgb : longint) : byte;
  399. function GetGValue(rgb : longint) : byte;
  400. function GetBValue(rgb : longint) : byte;
  401. function RGB(r,g,b : byte) : longint;
  402. function MAKELONG(a,b : word) : LONG;
  403. function MAKEWORD(a,b : BYTE) : WORD;
  404. function INDEXTOOVERLAYMASK(i : longint) : longint;
  405. function INDEXTOSTATEIMAGEMASK(i : longint) : longint;
  406. function MAKEINTATOM(i : word) : LPTSTR;
  407. function MAKEINTRESOURCE(i : word) : LPTSTR;
  408. implementation
  409. function GetBValue(rgb : longint) : byte;
  410. begin
  411. GetBValue:=(rgb shr 16) and $ff;
  412. end;
  413. function GetGValue(rgb : longint) : byte;
  414. begin
  415. GetGValue:=(rgb shr 8) and $ff;
  416. end;
  417. function GetRValue(rgb : longint) : byte;
  418. begin
  419. GetRValue:=rgb and $ff;
  420. end;
  421. function RGB(r,g,b : byte) : longint;
  422. begin
  423. RGB:=r or (g shl 8) or (b shl 16);
  424. end;
  425. function MAKELONG(a,b : WORD) : LONG;
  426. begin
  427. MAKELONG:=(a shl 16) or b;
  428. end;
  429. function MAKEWORD(a,b : BYTE) : WORD;
  430. begin
  431. MAKEWORD:=(a shl 8) or b;
  432. end;
  433. function INDEXTOOVERLAYMASK(i : longint) : longint;
  434. begin
  435. INDEXTOOVERLAYMASK:=i shl 8;
  436. end;
  437. function INDEXTOSTATEIMAGEMASK(i : longint) : longint;
  438. begin
  439. INDEXTOSTATEIMAGEMASK:=i shl 12;
  440. end;
  441. function MAKEINTATOM(i : word) : LPTSTR;
  442. begin
  443. MAKEINTATOM:=LPTSTR(DWORD(i));
  444. end;
  445. function MAKEINTRESOURCE(i : word) : LPTSTR;
  446. begin
  447. MAKEINTRESOURCE:=LPTSTR(DWORD(i));
  448. end;
  449. end.
  450. {
  451. $Log$
  452. Revision 1.3 1998-05-06 12:36:50 michael
  453. + Removed log from before restored version.
  454. Revision 1.2 1998/03/27 00:50:22 peter
  455. * small fixes so it compiles
  456. Revision 1.1.1.1 1998/03/25 11:18:46 root
  457. * Restored version
  458. }