2
This file is part of the Free Pascal run time library.
3
This unit contains base definition for the Win32 API
4
Copyright (c) 1999-2000 by Florian Klaempfl,
5
member of the Free Pascal development team.
7
See the file COPYING.FPC, included in this distribution,
8
for details about the copyright.
10
This program is distributed in the hope that it will be useful,
11
but WITHOUT ANY WARRANTY; without even the implied warranty of
12
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14
**********************************************************************}
21
Copyright (C) 1996, 1997 Free Software Foundation, Inc.
23
Author: Scott Christley <scottc@net-community.com>
25
This file is part of the Windows32 API Library.
27
This library is free software; you can redistribute it and/or
28
modify it under the terms of the GNU Library General Public
29
License as published by the Free Software Foundation; either
30
version 2 of the License, or (at your option) any later version.
32
This library is distributed in the hope that it will be useful,
33
but WITHOUT ANY WARRANTY; without even the implied warranty of
34
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
35
Library General Public License for more details.
37
If you are interested in a warranty or support for this source code,
38
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.
48
08/15/2005 update for wince4.2 port,ORO06
51
{$ifdef read_interface}
55
ANYSIZE_ARRAY = 1; //~winnt, moved from define to compile SID
58
MAKEINTRESOURCE = pwidechar;
63
BOOL = WINBOOL; //windef
70
COLORREF = Cardinal; //windef
73
SHORT = smallint; //winnt
75
LONG = longint; //winnt
76
DWORD = Cardinal; //windef
79
PBOOL = ^BOOL; //windef
81
LONGLONG = int64; //winnt
82
PLONGLONG = ^LONGLONG; //winnt
83
ULONGLONG = qword; //+winnt
84
PULONGLONG = ^ULONGLONG; //+winnt
86
DWORDLONG = qword; { was unsigned long }
87
PDWORDLONG = ^DWORDLONG;
89
HANDLE = System.THandle;
90
HRESULT = System.HResult; //winnt LONG
93
HACCEL = HANDLE; //windef
94
HBITMAP = HANDLE; //windef
95
HBRUSH = HANDLE; //windef
96
HCOLORSPACE = HANDLE; //windef
99
HCURSOR = HANDLE; //windef
101
HDC = HANDLE; //windef
103
HDESK = HANDLE; //windef
106
HENHMETAFILE = HANDLE; //windef
108
HEVENT = HANDLE; //+windef
109
HFILE = HANDLE; //windef
110
HFONT = HANDLE; //windef
111
HGDIOBJ = HANDLE; //windef
112
HGLOBAL = HANDLE; //windef
113
HGLRC = HANDLE; //windef
114
HHOOK = HANDLE; //windef
115
HICON = HCURSOR; //~windef
116
LPHICON = ^HICON; //+tapi
118
HINST = HANDLE; { Not HINSTANCE, else it has problems with the var HInstance }
119
HKEY = HANDLE; //windef
120
HKL = HANDLE; //windef
121
HLOCAL = HANDLE; //windef
122
HMENU = HANDLE; //windef
123
HMETAFILE = HANDLE; //windef
124
HMODULE = HANDLE; //windef
125
HMONITOR = HANDLE; //+windef
126
HPALETTE = HANDLE; //windef
127
HPEN = HANDLE; //windef
129
HRGN = HANDLE; //windef
130
HRSRC = HANDLE; //windef
132
HSTR = HANDLE; //windef
134
HTASK = HANDLE; //windef
135
HWINSTA = HANDLE; //windef
136
HWND = HANDLE; //windef
137
HWINEVENTHOOK = HANDLE; //+windef
139
LANGID = word; //winnt
140
LCID = DWORD; //winnt
141
PLCID = ^LCID; //+winnt
143
LPARAM = longint; //windef LONG_PTR
146
LPBOOL = ^WINBOOL; //windef
147
LPBYTE = ^BYTE; //windef
148
LPCCH = PCHAR; //winnt
149
LPCH = PCHAR; //winnt
151
LPCOLORREF = ^COLORREF; //windef
153
LPCSTR = Pchar; //winnt
155
LPCTSTR = Pwidechar; //winnt
157
LPCTSTR = Pchar; //winnt
160
LPCWCH = Pwidechar; //winnt
161
LPCWSTR = Pwidechar; //winnt
163
LPDWORD = ^DWORD; //windef
165
LPHANDLE = ^HANDLE; //windef
166
LPINT = ^longint; //windef
167
LPLONG = ^longint; //windef
169
LPSTR = Pchar; //winnt
178
LRESULT = longint; //windef LONG_PTR
180
LPVOID = pointer; //windef
182
LPCVOID = pointer; //windef
185
LPWORD = ^word; //windef
186
LPWSTR = Pwidechar; //winnt
189
// Locally Unique Identifier
191
//winnt : declaration moved and changed : was in struct as LUID = TlargeInteger
199
NWPSTR = Pwidechar; //winnt
204
PBYTE = ^BYTE; //windef
206
PCCH = PCHAR; //winnt
211
PCWCH = Pwidechar; //winnt
212
PCWSTR = Pwidechar; //winnt
214
PDWORD = ^DWORD; //windef
216
PHANDLE = ^HANDLE; //windef
217
PHKEY = ^HKEY; //windef
220
PLONG = ^longint; //windef
221
PSHORT = ^SHORT; //windef
222
LPSHORT = ^SHORT; //+windef
228
PTBYTE = ^word; //winnt
230
PTCHAR = Pwidechar; //winnt
239
PUCHAR = ^byte; //windef
240
PWCH = Pwidechar; //winnt
241
PWCHAR = Pwidechar; //winnt
243
PWORD = ^word; //windef
244
PUINT = ^Cardinal; //windef
245
PULONG = ^Cardinal; //windef
246
PUSHORT = ^word; //windef
254
LPSC_HANDLE = ^SC_HANDLE;
255
SPHANDLE = ^HANDLE; //+windef
257
SERVICE_STATUS_HANDLE = DWORD;
258
SIZE_T = Cardinal; //+winnt
269
UCHAR = byte; //windef
270
// WCHAR = WideChar; //winnt
272
UINT = Cardinal; //windef
273
ULONG = Cardinal; //windef
274
USHORT = word; //windef
279
FLOAT = single; //+windef
280
PFLOAT = ^FLOAT; //+windef
281
WCHAR_T = USHORT; //+stdlib
282
WINT_T = WCHAR_T; //+stdlib
283
WCTYPE_T = WCHAR_T; //+stdlib
284
TIME_T=ULONG; //+stdlib
285
WPARAM = Longint; //windef UINT_PTR
290
ACL_INFORMATION_CLASS = (AclRevisionInformation := 1,AclSizeInformation
293
_ACL_INFORMATION_CLASS = ACL_INFORMATION_CLASS;
295
MEDIA_TYPE = (Unknown,F5_1Pt2_512,F3_1Pt44_512,F3_2Pt88_512,
296
F3_20Pt8_512,F3_720_512,F5_360_512,F5_320_512,
297
F5_320_1024,F5_180_512,F5_160_512,RemovableMedia,
300
_MEDIA_TYPE = MEDIA_TYPE;
304
RASCS_PAUSED = $1000;
308
RASCONNSTATE = (RASCS_OpenPort := 0,RASCS_PortOpened,
309
RASCS_ConnectDevice,RASCS_DeviceConnected,
310
RASCS_AllDevicesConnected,RASCS_Authenticate,
311
RASCS_AuthNotify,RASCS_AuthRetry,RASCS_AuthCallback,
312
RASCS_AuthChangePassword,RASCS_AuthProject,
313
RASCS_AuthLinkSpeed,RASCS_AuthAck,RASCS_ReAuthenticate,
314
RASCS_Authenticated,RASCS_PrepareForCallback,
315
RASCS_WaitForModemReset,RASCS_WaitForCallback,
316
RASCS_Projected,RASCS_StartAuthentication,
317
RASCS_CallbackComplete,RASCS_LogonNetwork,
318
RASCS_Interactive := RASCS_PAUSED,RASCS_RetryAuthentication,
319
RASCS_CallbackSetByCaller,RASCS_PasswordExpired,
320
RASCS_Connected := RASCS_DONE,RASCS_Disconnected
323
_RASCONNSTATE = RASCONNSTATE;
325
RASPROJECTION = (RASP_PppIp := $8021, RASP_PppIpx := $802B, RASP_PppNbf := $803F,
328
_RASPROJECTION = RASPROJECTION;
330
PSECURITY_DESCRIPTO = PVOID; //+winnt
331
SECURITY_IMPERSONATION_LEVEL = (SecurityAnonymous,SecurityIdentification,
332
SecurityImpersonation,SecurityDelegation
335
_SECURITY_IMPERSONATION_LEVEL = SECURITY_IMPERSONATION_LEVEL;
337
SID_IDENTIFIER_AUTHORITY_REC = array[0..5] of BYTE; //~ added for pre-defined SID declaration
338
SID_IDENTIFIER_AUTHORITY = record //~winnt, moved to declare pre-defined SID
339
Value : SID_IDENTIFIER_AUTHORITY_REC;
341
LPSID_IDENTIFIER_AUTHORITY = ^SID_IDENTIFIER_AUTHORITY;
342
PSID_IDENTIFIER_AUTHORITY = ^SID_IDENTIFIER_AUTHORITY;
343
_SID_IDENTIFIER_AUTHORITY = SID_IDENTIFIER_AUTHORITY;
344
TSIDIDENTIFIERAUTHORITY = SID_IDENTIFIER_AUTHORITY;
345
PSIDIDENTIFIERAUTHORITY = ^SID_IDENTIFIER_AUTHORITY;
350
SubAuthorityCount : Byte;
351
IdentifierAuthority : SID_IDENTIFIER_AUTHORITY;
352
SubAuthority : Array [0..ANYSIZE_ARRAY-1] of DWORD;
357
SID_NAME_USE = ( //~winnt, added SidTypeComputer
362
SidTypeWellKnownGroup,
363
SidTypeDeletedAccount,
368
PSID_NAME_USE = ^SID_NAME_USE; //winnt
369
_SID_NAME_USE = SID_NAME_USE;
371
TOKEN_INFORMATION_CLASS = (TokenUser := 1,TokenGroups,TokenPrivileges,
372
TokenOwner,TokenPrimaryGroup,TokenDefaultDacl,
373
TokenSource,TokenType,TokenImpersonationLevel,
376
_TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS;
377
TTokenInformationClass = TOKEN_INFORMATION_CLASS;
379
TOKEN_TYPE = (TokenPrimary := 1,TokenImpersonation
382
tagTOKEN_TYPE = TOKEN_TYPE;
388
{ was #define dname(params) def_expr }
389
{ argument types are unknown }
390
function GetBValue(rgb : longint) : BYTE;
392
{ was #define dname(params) def_expr }
393
{ argument types are unknown }
394
function GetGValue(rgb : longint) : BYTE;
396
{ was #define dname(params) def_expr }
397
{ argument types are unknown }
398
function GetRValue(rgb : longint) : BYTE;
400
{ was #define dname(params) def_expr }
401
{ argument types are unknown }
402
function RGB(r,g,b : longint) : DWORD;
404
{ Not convertable by H2PAS
405
#define HANDLE_WM_NOTIFY(hwnd, wParam, lParam, fn) \
406
(fn)((hwnd), (int)(wParam), (NMHDR FAR )(lParam))
409
{ was #define dname(params) def_expr }
410
{ argument types are unknown }
411
function HIBYTE(w : longint) : BYTE; //windef
413
{ was #define dname(params) def_expr }
414
{ argument types are unknown }
415
function HIWORD(l : longint) : WORD; //windef
417
{ was #define dname(params) def_expr }
418
{ argument types are unknown }
419
function LOBYTE(w : longint) : BYTE; //windef
421
{ was #define dname(params) def_expr }
422
{ argument types are unknown }
423
function LOWORD(l : longint) : WORD; //windef
425
{ was #define dname(params) def_expr }
426
{ argument types are unknown }
427
function MAKELONG(a,b : longint) : LONG; //windef
429
{ was #define dname(params) def_expr }
430
{ argument types are unknown }
431
function MAKEWORD(a,b : longint) : WORD; //windef
433
{ original Cygnus headers also had the following defined: }
434
{ was #define dname(params) def_expr }
435
{ argument types are unknown }
436
{ return type might be wrong }
437
function SEXT_HIWORD(l : longint) : longint;
438
{ return type might be wrong }
440
{ was #define dname(params) def_expr }
441
{ argument types are unknown }
442
{ return type might be wrong }
443
function ZEXT_HIWORD(l : longint) : longint;
444
{ return type might be wrong }
446
{ was #define dname(params) def_expr }
447
{ argument types are unknown }
448
function SEXT_LOWORD(l : longint) : longint;
450
{ was #define dname(params) def_expr }
451
{ argument types are unknown }
452
{ return type might be wrong }
453
function INDEXTOOVERLAYMASK(i : longint) : longint;
454
{ return type might be wrong }
456
{ was #define dname(params) def_expr }
457
{ argument types are unknown }
458
{ return type might be wrong }
459
function INDEXTOSTATEIMAGEMASK(i : longint) : longint;
460
{ return type might be wrong }
462
{ was #define dname(params) def_expr }
463
{ argument types are unknown }
464
function MAKEINTATOM(i : longint) : LPTSTR;
467
{ was #define dname(params) def_expr }
468
{ argument types are unknown }
469
{ return type might be wrong }
470
function MAKELANGID(p,s : longint) : longint; //winnt
471
{ return type might be wrong }
473
{ was #define dname(params) def_expr }
474
{ argument types are unknown }
475
function PRIMARYLANGID(lgid : longint) : WORD; //winnt
477
{ was #define dname(params) def_expr }
478
{ argument types are unknown }
479
{ return type might be wrong }
480
function SUBLANGID(lgid : longint) : longint; //winnt
481
{ return type might be wrong }
483
{ was #define dname(params) def_expr }
484
{ argument types are unknown }
485
function LANGIDFROMLCID(lcid : longint) : WORD;
487
{ was #define dname(params) def_expr }
488
{ argument types are unknown }
489
function SORTIDFROMLCID(lcid : longint) : WORD;
491
{ was #define dname(params) def_expr }
492
{ argument types are unknown }
493
function MAKELCID(lgid,srtid : longint) : DWORD;
495
{ was #define dname(params) def_expr }
496
{ argument types are unknown }
497
function MAKELPARAM(l,h : longint) : LPARAM;
499
{ was #define dname(params) def_expr }
500
{ argument types are unknown }
501
function MAKELRESULT(l,h : longint) : LRESULT;
503
{ Not convertable by H2PAS
504
#define MAKEPOINTS(l) ( ((POINTS FAR ) & (l)))
506
{ was #define dname(params) def_expr }
507
{ argument types are unknown }
508
function MAKEROP4(fore,back : longint) : DWORD;
510
{ was #define dname(params) def_expr }
511
{ argument types are unknown }
512
function MAKEWPARAM(l,h : longint) : WPARAM;
515
{ was #define dname(params) def_expr }
516
{ argument types are unknown }
517
{ return type might be wrong }
518
function max(a,b : longint) : longint; //windef
519
{ return type might be wrong }
523
{ was #define dname(params) def_expr }
524
{ argument types are unknown }
525
{ return type might be wrong }
526
function min(a,b : longint) : longint; //windef
527
{ return type might be wrong }
530
{ was #define dname(params) def_expr }
531
{ argument types are unknown }
532
function PALETTEINDEX(i : longint) : COLORREF;
534
{ was #define dname(params) def_expr }
535
{ argument types are unknown }
536
{ return type might be wrong }
537
function PALETTERGB(r,g,b : longint) : longint;
538
{ return type might be wrong }
540
(* Not convertable by H2PAS
541
#define POINTSTOPOINT(pt, pts) {(pt).x = (SHORT) LOWORD(pts); \
542
(pt).y = (SHORT) HIWORD(pts);}
543
#define POINTTOPOINTS(pt) \
544
(MAKELONG((short) ((pt).x), (short) ((pt).y)))
546
{ already declared before
547
#define INDEXTOOVERLAYMASK(i) ((i) << 8)
548
#define INDEXTOSTATEIMAGEMASK(i) ((i) << 12)
550
{ Not convertable by H2PAS
552
#define TEXT(quote) L##quote
554
#define TEXT(quote) quote
559
Definitions for callback procedures
564
BFFCALLBACK = function (_para1:HWND; _para2:UINT; _para3:LPARAM; _para4:LPARAM):longint;
566
LPCCHOOKPROC = function (_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):UINT;
568
LPCFHOOKPROC = function (_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):UINT;
570
PTHREAD_START_ROUTINE = Pointer;
572
LPTHREAD_START_ROUTINE = PTHREAD_START_ROUTINE;
574
EDITSTREAMCALLBACK = function (_para1:DWORD; _para2:LPBYTE; _para3:LONG; _para4:LONG):DWORD;
576
LPFRHOOKPROC = function (_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):UINT;
578
LPOFNHOOKPROC = function (_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):UINT;
580
LPPRINTHOOKPROC = function (_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):UINT;
582
LPSETUPHOOKPROC = function (_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):UINT;
584
DLGPROC = function (_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):LRESULT;
586
PFNPROPSHEETCALLBACK = function (_para1:HWND; _para2:UINT; _para3:LPARAM):longint;
588
LPSERVICE_MAIN_FUNCTION = procedure (_para1:DWORD; _para2:LPTSTR);
590
PFNTVCOMPARE = function (_para1:LPARAM; _para2:LPARAM; _para3:LPARAM):longint;
592
WNDPROC = function (_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):LRESULT;
595
FARPROC = pointer; //windef
596
NEARPROC= FARPROC; //+windef
597
PROC = FARPROC; //~windef
599
ENUMRESTYPEPROC = function (_para1:HANDLE; _para2:LPTSTR; _para3:LONG):WINBOOL;
601
ENUMRESNAMEPROC = function (_para1:HANDLE; _para2:LPCTSTR; _para3:LPTSTR; _para4:LONG):WINBOOL;
603
ENUMRESLANGPROC = function (_para1:HANDLE; _para2:LPCTSTR; _para3:LPCTSTR; _para4:WORD; _para5:LONG):WINBOOL;
605
DESKTOPENUMPROC = FARPROC;
607
ENUMWINDOWSPROC = function (_para1:HWND; _para2:LPARAM):WINBOOL;
609
ENUMWINDOWSTATIONPROC = function (_para1:LPTSTR; _para2:LPARAM):WINBOOL;
611
SENDASYNCPROC = procedure (_para1:HWND; _para2:UINT; _para3:DWORD; _para4:LRESULT);
613
TIMERPROC = procedure (_para1:HWND; _para2:UINT; _para3:UINT; _para4:DWORD);
615
GRAYSTRINGPROC = FARPROC;
617
DRAWSTATEPROC = function (_para1:HDC; _para2:LPARAM; _para3:WPARAM; _para4:longint; _para5:longint):WINBOOL;
619
PROPENUMPROCEX = function (_para1:HWND; _para2:LPCTSTR; _para3:HANDLE; _para4:DWORD):WINBOOL;
621
PROPENUMPROC = function (_para1:HWND; _para2:LPCTSTR; _para3:HANDLE):WINBOOL;
623
HOOKPROC = function (_para1:longint; _para2:WPARAM; _para3:LPARAM):LRESULT;
625
ENUMOBJECTSPROC = procedure (_para1:LPVOID; _para2:LPARAM);
627
LINEDDAPROC = procedure (_para1:longint; _para2:longint; _para3:LPARAM);
629
TABORTPROC = function (_para1:HDC; _para2:longint):WINBOOL;
631
LPPAGEPAINTHOOK = function (_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):UINT;
633
LPPAGESETUPHOOK = function (_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):UINT;
635
ICMENUMPROC = function (_para1:LPTSTR; _para2:LPARAM):longint;
637
EDITWORDBREAKPROCEX = function (_para1:pchar; _para2:LONG; _para3:BYTE; _para4:WINT):LONG;
639
PFNLVCOMPARE = function (_para1:LPARAM; _para2:LPARAM; _para3:LPARAM):longint;
641
LOCALE_ENUMPROC = function (_para1:LPTSTR):WINBOOL;
643
CODEPAGE_ENUMPROC = function (_para1:LPTSTR):WINBOOL;
644
CODEPAGE_ENUMPROCW = function (_para1:LPWSTR):WINBOOL; //+winnls
645
DATEFMT_ENUMPROC = function (_para1:LPTSTR):WINBOOL;
647
TIMEFMT_ENUMPROC = function (_para1:LPTSTR):WINBOOL;
649
CALINFO_ENUMPROC = function (_para1:LPTSTR):WINBOOL;
651
PHANDLER_ROUTINE = function (_para1:DWORD):WINBOOL;
653
LPHANDLER_FUNCTION = function (_para1:DWORD):WINBOOL;
655
PFNGETPROFILEPATH = function (_para1:LPCTSTR; _para2:LPSTR; _para3:UINT):UINT;
657
PFNRECONCILEPROFILE = function (_para1:LPCTSTR; _para2:LPCTSTR; _para3:DWORD):UINT;
659
PFNPROCESSPOLICIES = function (_para1:HWND; _para2:LPCTSTR; _para3:LPCTSTR; _para4:LPCTSTR; _para5:DWORD):WINBOOL;
661
SE_CREATE_TOKEN_NAME = 'SeCreateTokenPrivilege';
662
SE_ASSIGNPRIMARYTOKEN_NAME = 'SeAssignPrimaryTokenPrivilege';
663
SE_LOCK_MEMORY_NAME = 'SeLockMemoryPrivilege';
664
SE_INCREASE_QUOTA_NAME = 'SeIncreaseQuotaPrivilege';
665
SE_UNSOLICITED_INPUT_NAME = 'SeUnsolicitedInputPrivilege';
666
SE_MACHINE_ACCOUNT_NAME = 'SeMachineAccountPrivilege';
667
SE_TCB_NAME = 'SeTcbPrivilege';
668
SE_SECURITY_NAME = 'SeSecurityPrivilege';
669
SE_TAKE_OWNERSHIP_NAME = 'SeTakeOwnershipPrivilege';
670
SE_LOAD_DRIVER_NAME = 'SeLoadDriverPrivilege';
671
SE_SYSTEM_PROFILE_NAME = 'SeSystemProfilePrivilege';
672
SE_SYSTEMTIME_NAME = 'SeSystemtimePrivilege';
673
SE_PROF_SINGLE_PROCESS_NAME = 'SeProfileSingleProcessPrivilege';
674
SE_INC_BASE_PRIORITY_NAME = 'SeIncreaseBasePriorityPrivilege';
675
SE_CREATE_PAGEFILE_NAME = 'SeCreatePagefilePrivilege';
676
SE_CREATE_PERMANENT_NAME = 'SeCreatePermanentPrivilege';
677
SE_BACKUP_NAME = 'SeBackupPrivilege';
678
SE_RESTORE_NAME = 'SeRestorePrivilege';
679
SE_SHUTDOWN_NAME = 'SeShutdownPrivilege';
680
SE_DEBUG_NAME = 'SeDebugPrivilege';
681
SE_AUDIT_NAME = 'SeAuditPrivilege';
682
SE_SYSTEM_ENVIRONMENT_NAME = 'SeSystemEnvironmentPrivilege';
683
SE_CHANGE_NOTIFY_NAME = 'SeChangeNotifyPrivilege';
684
SE_REMOTE_SHUTDOWN_NAME = 'SeRemoteShutdownPrivilege';
686
//SERVICES_ACTIVE_DATABASEW L"ServicesActive"
687
//#define SERVICES_FAILED_DATABASEW L"ServicesFailed"
688
SERVICES_ACTIVE_DATABASEA = 'ServicesActive';
689
SERVICES_FAILED_DATABASEA = 'ServicesFailed';
690
{ Not convertable by H2PAS
691
#define SC_GROUP_IDENTIFIERW L'+'
693
SC_GROUP_IDENTIFIERA = '+';
695
//temporary removed to compile in unicode, ORO06 08/2005
696
//SERVICES_ACTIVE_DATABASE = SERVICES_ACTIVE_DATABASEW;
697
//SERVICES_FAILED_DATABASE = SERVICES_FAILED_DATABASEW;
698
//SC_GROUP_IDENTIFIER = SC_GROUP_IDENTIFIERW;
699
SERVICES_ACTIVE_DATABASE = SERVICES_ACTIVE_DATABASEA;
700
SERVICES_FAILED_DATABASE = SERVICES_FAILED_DATABASEA;
701
SC_GROUP_IDENTIFIER = SC_GROUP_IDENTIFIERA;
703
SERVICES_ACTIVE_DATABASE = SERVICES_ACTIVE_DATABASEA;
704
SERVICES_FAILED_DATABASE = SERVICES_FAILED_DATABASEA;
705
SC_GROUP_IDENTIFIER = SC_GROUP_IDENTIFIERA;
710
{ PFNCALLBACK = CALLB; }
711
PFNCALLBACK = function(_para1, _para2: UINT;_para3: HCONV;_para4, _para5: HSZ; _para6: HDDEDATA;_para7 ,_para8 :DWORD): HDDEData;
712
{ CALLB = procedure ;CDECL; }
716
SECURITY_CONTEXT_TRACKING_MODE = WINBOOL;
717
{ End of stuff from ddeml.h in old Cygnus headers }
718
{ ----------------------------------------------- }
720
WNDENUMPROC = FARPROC;
722
ENHMFENUMPROC = FARPROC;
728
LPCCSTYLE = ^CCSTYLE;
730
CCSTYLEFLAGA = DWORD;
732
PCCSTYLEFLAGA = ^CCSTYLEFLAGA;
734
LPCCSTYLEFLAGA = ^CCSTYLEFLAGA;
736
{$endif read_interface}
739
{$ifdef read_implementation}
741
{ was #define dname(params) def_expr }
742
{ argument types are unknown }
743
function GetBValue(rgb : longint) : BYTE;
745
GetBValue:=BYTE(rgb shr 16);
748
{ was #define dname(params) def_expr }
749
{ argument types are unknown }
750
function GetGValue(rgb : longint) : BYTE;
752
GetGValue:=BYTE((WORD(rgb)) shr 8);
755
{ was #define dname(params) def_expr }
756
{ argument types are unknown }
757
function GetRValue(rgb : longint) : BYTE;
759
GetRValue:=BYTE(rgb);
762
{ was #define dname(params) def_expr }
763
{ argument types are unknown }
764
function RGB(r,g,b : longint) : DWORD;
766
RGB:=DWORD(((DWORD(BYTE(r))) or ((DWORD(WORD(g))) shl 8)) or ((DWORD(BYTE(b))) shl 16));
769
{ was #define dname(params) def_expr }
770
{ argument types are unknown }
771
function HIBYTE(w : longint) : BYTE;
773
HIBYTE:=BYTE(((WORD(w)) shr 8) and $FF);
776
{ was #define dname(params) def_expr }
777
{ argument types are unknown }
778
function HIWORD(l : longint) : WORD;
780
HIWORD:=WORD(((DWORD(l)) shr 16) and $FFFF);
783
{ was #define dname(params) def_expr }
784
{ argument types are unknown }
785
function LOBYTE(w : longint) : BYTE;
790
{ was #define dname(params) def_expr }
791
{ argument types are unknown }
792
function LOWORD(l : longint) : WORD;
797
{ was #define dname(params) def_expr }
798
{ argument types are unknown }
799
function MAKELONG(a,b : longint) : LONG;
801
MAKELONG:=LONG((WORD(a)) or ((DWORD(WORD(b))) shl 16));
804
{ was #define dname(params) def_expr }
805
{ argument types are unknown }
806
function MAKEWORD(a,b : longint) : WORD;
808
MAKEWORD:=WORD((BYTE(a)) or ((WORD(BYTE(b))) shl 8));
811
{ was #define dname(params) def_expr }
812
{ argument types are unknown }
813
{ return type might be wrong }
814
function SEXT_HIWORD(l : longint) : longint;
815
{ return type might be wrong }
817
SEXT_HIWORD:=(longint(l)) shr 16;
820
{ was #define dname(params) def_expr }
821
{ argument types are unknown }
822
{ return type might be wrong }
823
function ZEXT_HIWORD(l : longint) : longint;
824
{ return type might be wrong }
826
ZEXT_HIWORD:=(Cardinal(l)) shr 16;
829
{ was #define dname(params) def_expr }
830
{ argument types are unknown }
831
function SEXT_LOWORD(l : longint) : longint;
833
SEXT_LOWORD:=longint(SHORT(l));
836
{ was #define dname(params) def_expr }
837
{ argument types are unknown }
838
{ return type might be wrong }
839
function INDEXTOOVERLAYMASK(i : longint) : longint;
840
{ return type might be wrong }
842
INDEXTOOVERLAYMASK:=i shl 8;
845
{ was #define dname(params) def_expr }
846
{ argument types are unknown }
847
{ return type might be wrong }
848
function INDEXTOSTATEIMAGEMASK(i : longint) : longint;
849
{ return type might be wrong }
851
INDEXTOSTATEIMAGEMASK:=i shl 12;
854
{ was #define dname(params) def_expr }
855
{ argument types are unknown }
856
function MAKEINTATOM(i : longint) : LPTSTR;
858
MAKEINTATOM:=LPTSTR(DWORD(WORD(i)));
862
{ was #define dname(params) def_expr }
863
{ argument types are unknown }
864
{ return type might be wrong }
865
function MAKELANGID(p,s : longint) : longint;
866
{ return type might be wrong }
868
MAKELANGID:=((WORD(s)) shl 10) or (WORD(p));
871
{ was #define dname(params) def_expr }
872
{ argument types are unknown }
873
function PRIMARYLANGID(lgid : longint) : WORD;
875
{ PRIMARYLANGID:=WORD(lgid(@($3ff)));
876
h2pas error here corrected by hand PM }
877
PRIMARYLANGID:=WORD(lgid) and ($3ff);
880
{ was #define dname(params) def_expr }
881
{ argument types are unknown }
882
{ return type might be wrong }
883
function SUBLANGID(lgid : longint) : longint;
884
{ return type might be wrong }
886
SUBLANGID:=(WORD(lgid)) shr 10;
889
{ was #define dname(params) def_expr }
890
{ argument types are unknown }
891
function LANGIDFROMLCID(lcid : longint) : WORD;
893
LANGIDFROMLCID:=WORD(lcid);
896
{ was #define dname(params) def_expr }
897
{ argument types are unknown }
898
function SORTIDFROMLCID(lcid : longint) : WORD;
900
SORTIDFROMLCID:=WORD(((DWORD(lcid)) and $000FFFFF) shr 16);
903
{ was #define dname(params) def_expr }
904
{ argument types are unknown }
905
function MAKELCID(lgid,srtid : longint) : DWORD;
907
MAKELCID:=DWORD(((DWORD(WORD(srtid))) shl 16) or (DWORD(WORD(lgid))));
910
{ was #define dname(params) def_expr }
911
{ argument types are unknown }
912
function MAKELPARAM(l,h : longint) : LPARAM;
914
MAKELPARAM:=LPARAM(MAKELONG(l,h));
917
{ was #define dname(params) def_expr }
918
{ argument types are unknown }
919
function MAKELRESULT(l,h : longint) : LRESULT;
921
MAKELRESULT:=LRESULT(MAKELONG(l,h));
924
{ was #define dname(params) def_expr }
925
{ argument types are unknown }
926
function MAKEROP4(fore,back : longint) : DWORD;
928
MAKEROP4:=DWORD((DWORD(back shl 8) and $FF000000) or DWORD(fore));
931
{ was #define dname(params) def_expr }
932
{ argument types are unknown }
933
function MAKEWPARAM(l,h : longint) : WPARAM;
935
MAKEWPARAM:=WPARAM(MAKELONG(l,h));
938
{ was #define dname(params) def_expr }
939
{ argument types are unknown }
940
{ return type might be wrong }
941
function max(a,b : longint) : longint;
942
{ return type might be wrong }
945
(* result types are not known *)
954
{ was #define dname(params) def_expr }
955
{ argument types are unknown }
956
{ return type might be wrong }
957
function min(a,b : longint) : longint;
958
{ return type might be wrong }
961
(* result types are not known *)
970
{ was #define dname(params) def_expr }
971
{ argument types are unknown }
972
function PALETTEINDEX(i : longint) : COLORREF;
974
PALETTEINDEX:=COLORREF($01000000 or (DWORD(WORD(i))));
977
{ was #define dname(params) def_expr }
978
{ argument types are unknown }
979
{ return type might be wrong }
980
function PALETTERGB(r,g,b : longint) : longint;
981
{ return type might be wrong }
983
PALETTERGB:=$02000000 or (RGB(r,g,b));
986
{$endif read_implementation}