2
$Id: base.inc,v 1.21 2003/12/08 21:23:24 peter Exp $
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.
8
See the file COPYING.FPC, included in this distribution,
9
for details about the copyright.
11
This program is distributed in the hope that it will be useful,
12
but WITHOUT ANY WARRANTY; without even the implied warranty of
13
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
15
**********************************************************************}
22
Copyright (C) 1996, 1997 Free Software Foundation, Inc.
24
Author: Scott Christley <scottc@net-community.com>
26
This file is part of the Windows32 API Library.
28
This library is free software; you can redistribute it and/or
29
modify it under the terms of the GNU Library General Public
30
License as published by the Free Software Foundation; either
31
version 2 of the License, or (at your option) any later version.
33
This library is distributed in the hope that it will be useful,
34
but WITHOUT ANY WARRANTY; without even the implied warranty of
35
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
36
Library General Public License for more details.
38
If you are interested in a warranty or support for this source code,
39
contact Scott Christley <scottc@net-community.com> for more information.
41
You should have received a copy of the GNU Library General Public
42
License along with this library; see the file COPYING.LIB.
43
If not, write to the Free Software Foundation,
44
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
47
{$ifdef read_interface}
74
PLONGLONG = ^LONGLONG;
76
DWORDLONG = qword; { was unsigned long }
77
PDWORDLONG = ^DWORDLONG;
79
HANDLE = System.THandle;
80
HRESULT = System.HResult;
95
HENHMETAFILE = HANDLE;
105
HINST = HANDLE; { Not HINSTANCE, else it has problems with the var HInstance }
135
LPCOLORREF = ^COLORREF;
225
LPSC_HANDLE = ^SC_HANDLE;
227
SERVICE_STATUS_HANDLE = DWORD;
254
ACL_INFORMATION_CLASS = (AclRevisionInformation := 1,AclSizeInformation
257
_ACL_INFORMATION_CLASS = ACL_INFORMATION_CLASS;
259
MEDIA_TYPE = (Unknown,F5_1Pt2_512,F3_1Pt44_512,F3_2Pt88_512,
260
F3_20Pt8_512,F3_720_512,F5_360_512,F5_320_512,
261
F5_320_1024,F5_180_512,F5_160_512,RemovableMedia,
264
_MEDIA_TYPE = MEDIA_TYPE;
268
RASCS_PAUSED = $1000;
272
RASCONNSTATE = (RASCS_OpenPort := 0,RASCS_PortOpened,
273
RASCS_ConnectDevice,RASCS_DeviceConnected,
274
RASCS_AllDevicesConnected,RASCS_Authenticate,
275
RASCS_AuthNotify,RASCS_AuthRetry,RASCS_AuthCallback,
276
RASCS_AuthChangePassword,RASCS_AuthProject,
277
RASCS_AuthLinkSpeed,RASCS_AuthAck,RASCS_ReAuthenticate,
278
RASCS_Authenticated,RASCS_PrepareForCallback,
279
RASCS_WaitForModemReset,RASCS_WaitForCallback,
280
RASCS_Projected,RASCS_StartAuthentication,
281
RASCS_CallbackComplete,RASCS_LogonNetwork,
282
RASCS_Interactive := RASCS_PAUSED,RASCS_RetryAuthentication,
283
RASCS_CallbackSetByCaller,RASCS_PasswordExpired,
284
RASCS_Connected := RASCS_DONE,RASCS_Disconnected
287
_RASCONNSTATE = RASCONNSTATE;
289
RASPROJECTION = (RASP_Amb := $10000,RASP_PppNbf := $803F,RASP_PppIpx := $802B,
290
RASP_PppIp := $8021);
292
_RASPROJECTION = RASPROJECTION;
294
SECURITY_IMPERSONATION_LEVEL = (SecurityAnonymous,SecurityIdentification,
295
SecurityImpersonation,SecurityDelegation
298
_SECURITY_IMPERSONATION_LEVEL = SECURITY_IMPERSONATION_LEVEL;
300
SID_NAME_USE = (SidTypeUser := 1,SidTypeGroup,SidTypeDomain,
301
SidTypeAlias,SidTypeWellKnownGroup,SidTypeDeletedAccount,
302
SidTypeInvalid,SidTypeUnknown);
304
PSID_NAME_USE = ^SID_NAME_USE;
306
_SID_NAME_USE = SID_NAME_USE;
308
TOKEN_INFORMATION_CLASS = (TokenUser := 1,TokenGroups,TokenPrivileges,
309
TokenOwner,TokenPrimaryGroup,TokenDefaultDacl,
310
TokenSource,TokenType,TokenImpersonationLevel,
313
_TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS;
314
TTokenInformationClass = TOKEN_INFORMATION_CLASS;
316
TOKEN_TYPE = (TokenPrimary := 1,TokenImpersonation
319
tagTOKEN_TYPE = TOKEN_TYPE;
325
{ was #define dname(params) def_expr }
326
{ argument types are unknown }
327
function GetBValue(rgb : longint) : BYTE;
329
{ was #define dname(params) def_expr }
330
{ argument types are unknown }
331
function GetGValue(rgb : longint) : BYTE;
333
{ was #define dname(params) def_expr }
334
{ argument types are unknown }
335
function GetRValue(rgb : longint) : BYTE;
337
{ was #define dname(params) def_expr }
338
{ argument types are unknown }
339
function RGB(r,g,b : longint) : DWORD;
341
{ Not convertable by H2PAS
342
#define HANDLE_WM_NOTIFY(hwnd, wParam, lParam, fn) \
343
(fn)((hwnd), (int)(wParam), (NMHDR FAR )(lParam))
346
{ was #define dname(params) def_expr }
347
{ argument types are unknown }
348
function HIBYTE(w : longint) : BYTE;
350
{ was #define dname(params) def_expr }
351
{ argument types are unknown }
352
function HIWORD(l : longint) : WORD;
354
{ was #define dname(params) def_expr }
355
{ argument types are unknown }
356
function LOBYTE(w : longint) : BYTE;
358
{ was #define dname(params) def_expr }
359
{ argument types are unknown }
360
function LOWORD(l : longint) : WORD;
362
{ was #define dname(params) def_expr }
363
{ argument types are unknown }
364
function MAKELONG(a,b : longint) : LONG;
366
{ was #define dname(params) def_expr }
367
{ argument types are unknown }
368
function MAKEWORD(a,b : longint) : WORD;
370
{ original Cygnus headers also had the following defined: }
371
{ was #define dname(params) def_expr }
372
{ argument types are unknown }
373
{ return type might be wrong }
374
function SEXT_HIWORD(l : longint) : longint;
375
{ return type might be wrong }
377
{ was #define dname(params) def_expr }
378
{ argument types are unknown }
379
{ return type might be wrong }
380
function ZEXT_HIWORD(l : longint) : longint;
381
{ return type might be wrong }
383
{ was #define dname(params) def_expr }
384
{ argument types are unknown }
385
function SEXT_LOWORD(l : longint) : longint;
387
{ was #define dname(params) def_expr }
388
{ argument types are unknown }
389
{ return type might be wrong }
390
function INDEXTOOVERLAYMASK(i : longint) : longint;
391
{ return type might be wrong }
393
{ was #define dname(params) def_expr }
394
{ argument types are unknown }
395
{ return type might be wrong }
396
function INDEXTOSTATEIMAGEMASK(i : longint) : longint;
397
{ return type might be wrong }
399
{ was #define dname(params) def_expr }
400
{ argument types are unknown }
401
function MAKEINTATOM(i : longint) : LPTSTR;
403
{ was #define dname(params) def_expr }
404
{ argument types are unknown }
405
function MAKEINTRESOURCE(i : longint) : LPTSTR;
407
{ was #define dname(params) def_expr }
408
{ argument types are unknown }
409
{ return type might be wrong }
410
function MAKELANGID(p,s : longint) : longint;
411
{ return type might be wrong }
413
{ was #define dname(params) def_expr }
414
{ argument types are unknown }
415
function PRIMARYLANGID(lgid : longint) : WORD;
417
{ was #define dname(params) def_expr }
418
{ argument types are unknown }
419
{ return type might be wrong }
420
function SUBLANGID(lgid : longint) : longint;
421
{ return type might be wrong }
423
{ was #define dname(params) def_expr }
424
{ argument types are unknown }
425
function LANGIDFROMLCID(lcid : longint) : WORD;
427
{ was #define dname(params) def_expr }
428
{ argument types are unknown }
429
function SORTIDFROMLCID(lcid : longint) : WORD;
431
{ was #define dname(params) def_expr }
432
{ argument types are unknown }
433
function MAKELCID(lgid,srtid : longint) : DWORD;
435
{ was #define dname(params) def_expr }
436
{ argument types are unknown }
437
function MAKELPARAM(l,h : longint) : LPARAM;
439
{ was #define dname(params) def_expr }
440
{ argument types are unknown }
441
function MAKELRESULT(l,h : longint) : LRESULT;
443
{ Not convertable by H2PAS
444
#define MAKEPOINTS(l) ( ((POINTS FAR ) & (l)))
446
{ was #define dname(params) def_expr }
447
{ argument types are unknown }
448
function MAKEROP4(fore,back : longint) : DWORD;
450
{ was #define dname(params) def_expr }
451
{ argument types are unknown }
452
function MAKEWPARAM(l,h : longint) : WPARAM;
455
{ was #define dname(params) def_expr }
456
{ argument types are unknown }
457
{ return type might be wrong }
458
function max(a,b : longint) : longint;
459
{ return type might be wrong }
463
{ was #define dname(params) def_expr }
464
{ argument types are unknown }
465
{ return type might be wrong }
466
function min(a,b : longint) : longint;
467
{ return type might be wrong }
470
{ was #define dname(params) def_expr }
471
{ argument types are unknown }
472
function PALETTEINDEX(i : longint) : COLORREF;
474
{ was #define dname(params) def_expr }
475
{ argument types are unknown }
476
{ return type might be wrong }
477
function PALETTERGB(r,g,b : longint) : longint;
478
{ return type might be wrong }
480
(* Not convertable by H2PAS
481
#define POINTSTOPOINT(pt, pts) {(pt).x = (SHORT) LOWORD(pts); \
482
(pt).y = (SHORT) HIWORD(pts);}
483
#define POINTTOPOINTS(pt) \
484
(MAKELONG((short) ((pt).x), (short) ((pt).y)))
486
{ already declared before
487
#define INDEXTOOVERLAYMASK(i) ((i) << 8)
488
#define INDEXTOSTATEIMAGEMASK(i) ((i) << 12)
490
{ Not convertable by H2PAS
492
#define TEXT(quote) L##quote
494
#define TEXT(quote) quote
499
Definitions for callback procedures
504
BFFCALLBACK = function (_para1:HWND; _para2:UINT; _para3:LPARAM; _para4:LPARAM):longint;stdcall;
506
LPCCHOOKPROC = function (_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):UINT;stdcall;
508
LPCFHOOKPROC = function (_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):UINT;stdcall;
510
PTHREAD_START_ROUTINE = Pointer;
512
LPTHREAD_START_ROUTINE = PTHREAD_START_ROUTINE;
514
EDITSTREAMCALLBACK = function (_para1:DWORD; _para2:LPBYTE; _para3:LONG; _para4:LONG):DWORD;stdcall;
516
LPFRHOOKPROC = function (_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):UINT;stdcall;
518
LPOFNHOOKPROC = function (_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):UINT;stdcall;
520
LPPRINTHOOKPROC = function (_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):UINT;stdcall;
522
LPSETUPHOOKPROC = function (_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):UINT;stdcall;
524
DLGPROC = function (_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):LRESULT;stdcall;
526
PFNPROPSHEETCALLBACK = function (_para1:HWND; _para2:UINT; _para3:LPARAM):longint;stdcall;
528
LPSERVICE_MAIN_FUNCTION = procedure (_para1:DWORD; _para2:LPTSTR);stdcall;
530
PFNTVCOMPARE = function (_para1:LPARAM; _para2:LPARAM; _para3:LPARAM):longint;stdcall;
532
WNDPROC = function (_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):LRESULT;stdcall;
538
ENUMRESTYPEPROC = function (_para1:HANDLE; _para2:LPTSTR; _para3:LONG):WINBOOL;stdcall;
540
ENUMRESNAMEPROC = function (_para1:HANDLE; _para2:LPCTSTR; _para3:LPTSTR; _para4:LONG):WINBOOL;stdcall;
542
ENUMRESLANGPROC = function (_para1:HANDLE; _para2:LPCTSTR; _para3:LPCTSTR; _para4:WORD; _para5:LONG):WINBOOL;stdcall;
544
DESKTOPENUMPROC = FARPROC;
546
ENUMWINDOWSPROC = function (_para1:HWND; _para2:LPARAM):WINBOOL;stdcall;
548
ENUMWINDOWSTATIONPROC = function (_para1:LPTSTR; _para2:LPARAM):WINBOOL;stdcall;
550
SENDASYNCPROC = procedure (_para1:HWND; _para2:UINT; _para3:DWORD; _para4:LRESULT);stdcall;
552
TIMERPROC = procedure (_para1:HWND; _para2:UINT; _para3:UINT; _para4:DWORD);stdcall;
554
GRAYSTRINGPROC = FARPROC;
556
DRAWSTATEPROC = function (_para1:HDC; _para2:LPARAM; _para3:WPARAM; _para4:longint; _para5:longint):WINBOOL;stdcall;
558
PROPENUMPROCEX = function (_para1:HWND; _para2:LPCTSTR; _para3:HANDLE; _para4:DWORD):WINBOOL;stdcall;
560
PROPENUMPROC = function (_para1:HWND; _para2:LPCTSTR; _para3:HANDLE):WINBOOL;stdcall;
562
HOOKPROC = function (_para1:longint; _para2:WPARAM; _para3:LPARAM):LRESULT;stdcall;
564
ENUMOBJECTSPROC = procedure (_para1:LPVOID; _para2:LPARAM);stdcall;
566
LINEDDAPROC = procedure (_para1:longint; _para2:longint; _para3:LPARAM);stdcall;
568
TABORTPROC = function (_para1:HDC; _para2:longint):WINBOOL;stdcall;
570
LPPAGEPAINTHOOK = function (_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):UINT;stdcall;
572
LPPAGESETUPHOOK = function (_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):UINT;stdcall;
574
ICMENUMPROC = function (_para1:LPTSTR; _para2:LPARAM):longint;stdcall;
576
EDITWORDBREAKPROCEX = function (_para1:pchar; _para2:LONG; _para3:BYTE; _para4:WINT):LONG;stdcall;
578
PFNLVCOMPARE = function (_para1:LPARAM; _para2:LPARAM; _para3:LPARAM):longint;stdcall;
580
LOCALE_ENUMPROC = function (_para1:LPTSTR):WINBOOL;stdcall;
582
CODEPAGE_ENUMPROC = function (_para1:LPTSTR):WINBOOL;stdcall;
584
DATEFMT_ENUMPROC = function (_para1:LPTSTR):WINBOOL;stdcall;
586
TIMEFMT_ENUMPROC = function (_para1:LPTSTR):WINBOOL;stdcall;
588
CALINFO_ENUMPROC = function (_para1:LPTSTR):WINBOOL;stdcall;
590
PHANDLER_ROUTINE = function (_para1:DWORD):WINBOOL;stdcall;
592
LPHANDLER_FUNCTION = function (_para1:DWORD):WINBOOL;stdcall;
594
PFNGETPROFILEPATH = function (_para1:LPCTSTR; _para2:LPSTR; _para3:UINT):UINT;stdcall;
596
PFNRECONCILEPROFILE = function (_para1:LPCTSTR; _para2:LPCTSTR; _para3:DWORD):UINT;stdcall;
598
PFNPROCESSPOLICIES = function (_para1:HWND; _para2:LPCTSTR; _para3:LPCTSTR; _para4:LPCTSTR; _para5:DWORD):WINBOOL;stdcall;
599
(* Not convertable by H2PAS
600
#define SECURITY_NULL_SID_AUTHORITY {0,0,0,0,0,0}
601
#define SECURITY_WORLD_SID_AUTHORITY {0,0,0,0,0,1}
602
#define SECURITY_LOCAL_SID_AUTHORITY {0,0,0,0,0,2}
603
#define SECURITY_CREATOR_SID_AUTHORITY {0,0,0,0,0,3}
604
#define SECURITY_NON_UNIQUE_AUTHORITY {0,0,0,0,0,4}
605
#define SECURITY_NT_AUTHORITY {0,0,0,0,0,5}
607
{ TEXT("String") replaced by "String" below for H2PAS }
610
SE_CREATE_TOKEN_NAME = 'SeCreateTokenPrivilege';
611
SE_ASSIGNPRIMARYTOKEN_NAME = 'SeAssignPrimaryTokenPrivilege';
612
SE_LOCK_MEMORY_NAME = 'SeLockMemoryPrivilege';
613
SE_INCREASE_QUOTA_NAME = 'SeIncreaseQuotaPrivilege';
614
SE_UNSOLICITED_INPUT_NAME = 'SeUnsolicitedInputPrivilege';
615
SE_MACHINE_ACCOUNT_NAME = 'SeMachineAccountPrivilege';
616
SE_TCB_NAME = 'SeTcbPrivilege';
617
SE_SECURITY_NAME = 'SeSecurityPrivilege';
618
SE_TAKE_OWNERSHIP_NAME = 'SeTakeOwnershipPrivilege';
619
SE_LOAD_DRIVER_NAME = 'SeLoadDriverPrivilege';
620
SE_SYSTEM_PROFILE_NAME = 'SeSystemProfilePrivilege';
621
SE_SYSTEMTIME_NAME = 'SeSystemtimePrivilege';
622
SE_PROF_SINGLE_PROCESS_NAME = 'SeProfileSingleProcessPrivilege';
623
SE_INC_BASE_PRIORITY_NAME = 'SeIncreaseBasePriorityPrivilege';
624
SE_CREATE_PAGEFILE_NAME = 'SeCreatePagefilePrivilege';
625
SE_CREATE_PERMANENT_NAME = 'SeCreatePermanentPrivilege';
626
SE_BACKUP_NAME = 'SeBackupPrivilege';
627
SE_RESTORE_NAME = 'SeRestorePrivilege';
628
SE_SHUTDOWN_NAME = 'SeShutdownPrivilege';
629
SE_DEBUG_NAME = 'SeDebugPrivilege';
630
SE_AUDIT_NAME = 'SeAuditPrivilege';
631
SE_SYSTEM_ENVIRONMENT_NAME = 'SeSystemEnvironmentPrivilege';
632
SE_CHANGE_NOTIFY_NAME = 'SeChangeNotifyPrivilege';
633
SE_REMOTE_SHUTDOWN_NAME = 'SeRemoteShutdownPrivilege';
634
{ Not convertable by H2PAS
635
#define SERVICES_ACTIVE_DATABASEW L"ServicesActive"
636
#define SERVICES_FAILED_DATABASEW L"ServicesFailed"
638
SERVICES_ACTIVE_DATABASEA = 'ServicesActive';
639
SERVICES_FAILED_DATABASEA = 'ServicesFailed';
640
{ Not convertable by H2PAS
641
#define SC_GROUP_IDENTIFIERW L'+'
643
SC_GROUP_IDENTIFIERA = '+';
645
SERVICES_ACTIVE_DATABASE = SERVICES_ACTIVE_DATABASEW;
646
SERVICES_FAILED_DATABASE = SERVICES_FAILED_DATABASEW;
647
SC_GROUP_IDENTIFIER = SC_GROUP_IDENTIFIERW;
649
SERVICES_ACTIVE_DATABASE = SERVICES_ACTIVE_DATABASEA;
650
SERVICES_FAILED_DATABASE = SERVICES_FAILED_DATABASEA;
651
SC_GROUP_IDENTIFIER = SC_GROUP_IDENTIFIERA;
656
{ PFNCALLBACK = CALLB; }
657
PFNCALLBACK = function(_para1, _para2: UINT;_para3: HCONV;_para4, _para5: HSZ; _para6: HDDEDATA;_para7 ,_para8 :DWORD): HDDEData;stdcall;
658
{ CALLB = procedure ;CDECL; }
662
SECURITY_CONTEXT_TRACKING_MODE = WINBOOL;
663
{ End of stuff from ddeml.h in old Cygnus headers }
664
{ ----------------------------------------------- }
666
WNDENUMPROC = FARPROC;
668
ENHMFENUMPROC = FARPROC;
674
LPCCSTYLE = ^CCSTYLE;
676
CCSTYLEFLAGA = DWORD;
678
PCCSTYLEFLAGA = ^CCSTYLEFLAGA;
680
LPCCSTYLEFLAGA = ^CCSTYLEFLAGA;
682
{$endif read_interface}
685
{$ifdef read_implementation}
687
{ was #define dname(params) def_expr }
688
{ argument types are unknown }
689
function GetBValue(rgb : longint) : BYTE;
691
GetBValue:=BYTE(rgb shr 16);
694
{ was #define dname(params) def_expr }
695
{ argument types are unknown }
696
function GetGValue(rgb : longint) : BYTE;
698
GetGValue:=BYTE((WORD(rgb)) shr 8);
701
{ was #define dname(params) def_expr }
702
{ argument types are unknown }
703
function GetRValue(rgb : longint) : BYTE;
705
GetRValue:=BYTE(rgb);
708
{ was #define dname(params) def_expr }
709
{ argument types are unknown }
710
function RGB(r,g,b : longint) : DWORD;
712
RGB:=DWORD(((DWORD(BYTE(r))) or ((DWORD(WORD(g))) shl 8)) or ((DWORD(BYTE(b))) shl 16));
715
{ was #define dname(params) def_expr }
716
{ argument types are unknown }
717
function HIBYTE(w : longint) : BYTE;
719
HIBYTE:=BYTE(((WORD(w)) shr 8) and $FF);
722
{ was #define dname(params) def_expr }
723
{ argument types are unknown }
724
function HIWORD(l : longint) : WORD;
726
HIWORD:=WORD(((DWORD(l)) shr 16) and $FFFF);
729
{ was #define dname(params) def_expr }
730
{ argument types are unknown }
731
function LOBYTE(w : longint) : BYTE;
736
{ was #define dname(params) def_expr }
737
{ argument types are unknown }
738
function LOWORD(l : longint) : WORD;
743
{ was #define dname(params) def_expr }
744
{ argument types are unknown }
745
function MAKELONG(a,b : longint) : LONG;
747
MAKELONG:=LONG((WORD(a)) or ((DWORD(WORD(b))) shl 16));
750
{ was #define dname(params) def_expr }
751
{ argument types are unknown }
752
function MAKEWORD(a,b : longint) : WORD;
754
MAKEWORD:=WORD((BYTE(a)) or ((WORD(BYTE(b))) shl 8));
757
{ was #define dname(params) def_expr }
758
{ argument types are unknown }
759
{ return type might be wrong }
760
function SEXT_HIWORD(l : longint) : longint;
761
{ return type might be wrong }
763
SEXT_HIWORD:=(longint(l)) shr 16;
766
{ was #define dname(params) def_expr }
767
{ argument types are unknown }
768
{ return type might be wrong }
769
function ZEXT_HIWORD(l : longint) : longint;
770
{ return type might be wrong }
772
ZEXT_HIWORD:=(cardinal(l)) shr 16;
775
{ was #define dname(params) def_expr }
776
{ argument types are unknown }
777
function SEXT_LOWORD(l : longint) : longint;
779
SEXT_LOWORD:=longint(integer(l));
782
{ was #define dname(params) def_expr }
783
{ argument types are unknown }
784
{ return type might be wrong }
785
function INDEXTOOVERLAYMASK(i : longint) : longint;
786
{ return type might be wrong }
788
INDEXTOOVERLAYMASK:=i shl 8;
791
{ was #define dname(params) def_expr }
792
{ argument types are unknown }
793
{ return type might be wrong }
794
function INDEXTOSTATEIMAGEMASK(i : longint) : longint;
795
{ return type might be wrong }
797
INDEXTOSTATEIMAGEMASK:=i shl 12;
800
{ was #define dname(params) def_expr }
801
{ argument types are unknown }
802
function MAKEINTATOM(i : longint) : LPTSTR;
804
MAKEINTATOM:=LPTSTR(DWORD(WORD(i)));
807
{ was #define dname(params) def_expr }
808
{ argument types are unknown }
809
function MAKEINTRESOURCE(i : longint) : LPTSTR;
811
MAKEINTRESOURCE:=LPTSTR(DWORD(WORD(i)));
814
{ was #define dname(params) def_expr }
815
{ argument types are unknown }
816
{ return type might be wrong }
817
function MAKELANGID(p,s : longint) : longint;
818
{ return type might be wrong }
820
MAKELANGID:=((WORD(s)) shl 10) or (WORD(p));
823
{ was #define dname(params) def_expr }
824
{ argument types are unknown }
825
function PRIMARYLANGID(lgid : longint) : WORD;
827
{ PRIMARYLANGID:=WORD(lgid(@($3ff)));
828
h2pas error here corrected by hand PM }
829
PRIMARYLANGID:=WORD(lgid) and ($3ff);
832
{ was #define dname(params) def_expr }
833
{ argument types are unknown }
834
{ return type might be wrong }
835
function SUBLANGID(lgid : longint) : longint;
836
{ return type might be wrong }
838
SUBLANGID:=(WORD(lgid)) shr 10;
841
{ was #define dname(params) def_expr }
842
{ argument types are unknown }
843
function LANGIDFROMLCID(lcid : longint) : WORD;
845
LANGIDFROMLCID:=WORD(lcid);
848
{ was #define dname(params) def_expr }
849
{ argument types are unknown }
850
function SORTIDFROMLCID(lcid : longint) : WORD;
852
SORTIDFROMLCID:=WORD(((DWORD(lcid)) and $000FFFFF) shr 16);
855
{ was #define dname(params) def_expr }
856
{ argument types are unknown }
857
function MAKELCID(lgid,srtid : longint) : DWORD;
859
MAKELCID:=DWORD(((DWORD(WORD(srtid))) shl 16) or (DWORD(WORD(lgid))));
862
{ was #define dname(params) def_expr }
863
{ argument types are unknown }
864
function MAKELPARAM(l,h : longint) : LPARAM;
866
MAKELPARAM:=LPARAM(MAKELONG(l,h));
869
{ was #define dname(params) def_expr }
870
{ argument types are unknown }
871
function MAKELRESULT(l,h : longint) : LRESULT;
873
MAKELRESULT:=LRESULT(MAKELONG(l,h));
876
{ was #define dname(params) def_expr }
877
{ argument types are unknown }
878
function MAKEROP4(fore,back : longint) : DWORD;
880
MAKEROP4:=DWORD((DWORD(back shl 8) and $FF000000) or DWORD(fore));
883
{ was #define dname(params) def_expr }
884
{ argument types are unknown }
885
function MAKEWPARAM(l,h : longint) : WPARAM;
887
MAKEWPARAM:=WPARAM(MAKELONG(l,h));
890
{ was #define dname(params) def_expr }
891
{ argument types are unknown }
892
{ return type might be wrong }
893
function max(a,b : longint) : longint;
894
{ return type might be wrong }
897
(* result types are not known *)
906
{ was #define dname(params) def_expr }
907
{ argument types are unknown }
908
{ return type might be wrong }
909
function min(a,b : longint) : longint;
910
{ return type might be wrong }
913
(* result types are not known *)
922
{ was #define dname(params) def_expr }
923
{ argument types are unknown }
924
function PALETTEINDEX(i : longint) : COLORREF;
926
PALETTEINDEX:=COLORREF($01000000 or (DWORD(WORD(i))));
929
{ was #define dname(params) def_expr }
930
{ argument types are unknown }
931
{ return type might be wrong }
932
function PALETTERGB(r,g,b : longint) : longint;
933
{ return type might be wrong }
935
PALETTERGB:=$02000000 or (RGB(r,g,b));
938
{$endif read_implementation}
942
Revision 1.21 2003/12/08 21:23:24 peter
945
Revision 1.20 2003/12/05 11:53:12 marco
946
* ttokeninformationclass alias for delphi compat
948
Revision 1.19 2003/10/06 23:52:53 florian
949
* some data types cleaned up
951
Revision 1.18 2003/08/20 23:12:32 marco
954
Revision 1.17 2003/04/23 11:35:00 peter
955
* wndproc definition fixed
957
Revision 1.16 2003/04/01 15:37:17 peter
958
* HResult is alias for System.HResult
959
* Handle is unique type of Cardinal
961
Revision 1.15 2002/12/12 17:34:35 peter
962
* Renaming INT type to WINT
964
Revision 1.14 2002/11/27 20:08:21 peter
967
Revision 1.13 2002/10/09 20:45:12 florian
968
- NULL definition removed, the system unit contains now a NULL variant
970
Revision 1.12 2002/10/06 20:00:22 peter
971
* Use Widechar in the Windows unit
973
Revision 1.11 2002/09/15 17:53:45 peter
974
* Remove Float type, use Single instead
976
Revision 1.10 2002/09/07 16:01:30 peter
977
* old logs removed and tabs fixed
979
Revision 1.9 2002/07/16 13:52:14 florian
980
* LARGE_INT and ULARGE_INT types fixed
981
* LONGLONG defined properly
b'\\ No newline at end of file'