fpc/rtl/wince/wininc/base.inc
2016-10-02 12:56:59 +00:00

1053 lines
30 KiB
PHP

{
This file is part of the Free Pascal run time library.
This unit contains base definition for the Win32 API
Copyright (c) 1999-2000 by Florian Klaempfl,
member of the Free Pascal development team.
See the file COPYING.FPC, included in this distribution,
for details about the copyright.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
**********************************************************************}
{
Base.h
Base definitions
Copyright (C) 1996, 1997 Free Software Foundation, Inc.
Author: Scott Christley <scottc@net-community.com>
This file is part of the Windows32 API Library.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
If you are interested in a warranty or support for this source code,
contact Scott Christley <scottc@net-community.com> for more information.
You should have received a copy of the GNU Library General Public
License along with this library; see the file COPYING.LIB.
If not, write to the Free Software Foundation,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
Changes :
08/15/2005 update for wince4.2 port,ORO06
}
{$ifdef read_interface}
{$PACKRECORDS C}
const
ANYSIZE_ARRAY = 1; //~winnt, moved from define to compile SID
type
MAKEINTRESOURCE = pwidechar;
ATOM = word; //windef
TAtom = ATOM;
WINBOOL = longbool;
BOOL = WINBOOL; //windef
CALTYPE = cardinal;
CALID = cardinal;
CCHAR = char; //winnt
COLORREF = Cardinal; //windef
TCOLORREF = cardinal;
SHORT = smallint; //winnt
WINT = longint;
LONG = longint; //winnt
LONG64= int64;
ULONG64 = qword; // imagehlp header.
ULONG32 = cardinal;
DWORD = Cardinal; //windef
PINTEGER = ^longint;
PBOOL = ^BOOL; //windef
LONGLONG = int64; //winnt
PLONGLONG = ^LONGLONG; //winnt
ULONGLONG = qword; //+winnt
PULONGLONG = ^ULONGLONG; //+winnt
DWORDLONG = qword; { was unsigned long }
PDWORDLONG = ^DWORDLONG;
INT_PTR = PtrInt;
UINT_PTR = PtrUInt;
LONG_PTR = PtrInt;
ULONG_PTR = PtrUInt;
DWORD_PTR = ULONG_PTR;
PDWORD_PTR = ^DWORD_PTR;
PULONG64 = ^ULONG64;
PULONG32 = ^ULONG32;
PULONG_PTR = ^ULONG_PTR;
PLONG64 = ^LONG64;
HANDLE = System.THandle;
HRESULT = System.HResult; //winnt LONG
PHRESULT= ^HRESULT;
HACCEL = HANDLE; //windef
HBITMAP = HANDLE; //windef
HBRUSH = HANDLE; //windef
HCOLORSPACE = HANDLE; //windef
HCONV = HANDLE;
HCONVLIST = HANDLE;
HCURSOR = HANDLE; //windef
HDBC = HANDLE;
HDC = HANDLE; //windef
HDDEDATA = HANDLE;
HDESK = HANDLE; //windef
HDROP = HANDLE;
HDWP = HANDLE;
HENHMETAFILE = HANDLE; //windef
HENV = HANDLE;
HEVENT = HANDLE; //+windef
HFILE = HANDLE; //windef
HFONT = HANDLE; //windef
HGDIOBJ = HANDLE; //windef
HGLOBAL = HANDLE; //windef
HGLRC = HANDLE; //windef
HHOOK = HANDLE; //windef
HICON = HCURSOR; //~windef
LPHICON = ^HICON; //+tapi
HIMAGELIST = HANDLE;
HINST = HANDLE; { Not HINSTANCE, else it has problems with the var HInstance }
HKEY = HANDLE; //windef
HKL = HANDLE; //windef
HLOCAL = HANDLE; //windef
HMENU = HANDLE; //windef
HMETAFILE = HANDLE; //windef
HMODULE = HANDLE; //windef
HMONITOR = HANDLE; //+windef
HPALETTE = HANDLE; //windef
HPEN = HANDLE; //windef
HRASCONN = HANDLE;
HRGN = HANDLE; //windef
HRSRC = HANDLE; //windef
HSTMT = HANDLE;
HSTR = HANDLE; //windef
HSZ = HANDLE;
HTASK = HANDLE; //windef
HWINSTA = HANDLE; //windef
HWND = HANDLE; //windef
HWINEVENTHOOK = HANDLE; //+windef
LANGID = word; //winnt
LCID = DWORD; //winnt
PLCID = ^LCID; //+winnt
LCTYPE = DWORD;
LPARAM = ptrint; //windef LONG_PTR
LP = ^word;
LPBOOL = ^WINBOOL; //windef
LPBYTE = System.pbyte; //windef
LPCCH = PCHAR; //winnt
LPCH = PCHAR; //winnt
LPCOLORREF = ^COLORREF; //windef
LPCSTR = Pchar; //winnt
{$ifdef UNICODE}
LPCTSTR = Pwidechar; //winnt
{$else}
LPCTSTR = Pchar; //winnt
{$endif}
LPCWCH = Pwidechar; //winnt
LPCWSTR = Pwidechar; //winnt
LPDWORD = system.pdword; //windef
LPHANDLE = ^HANDLE; //windef
LPINT = ^longint; //windef
LPLONG = ^longint; //windef
LPSTR = Pchar; //winnt
{$ifdef UNICODE}
LPTCH = Pwidechar;
LPTSTR = Pwidechar;
{$else}
LPTCH = Pchar;
LPTSTR = Pchar;
{$endif}
LRESULT = longint; //windef LONG_PTR
LPVOID = pointer; //windef
LPCVOID = pointer; //windef
LPWCH = Pwidechar;
LPWORD = system.pword; //windef
LPWSTR = Pwidechar; //winnt
//
// Locally Unique Identifier
//
//winnt : declaration moved and changed : was in struct as LUID = TlargeInteger
LUID = record
LowPart : DWORD;
HighPart : LONG ;
end;
TLUID = LUID;
PLUID = ^LUID;
NWPSTR = Pwidechar; //winnt
PWINBOOL = ^WINBOOL;
PBOOLEAN = ^BYTE;
PBYTE = ^BYTE; //windef
PCCH = PCHAR; //winnt
PCH = PCHAR; //winnt
PCSTR = Pchar;
PCWCH = Pwidechar; //winnt
PCWSTR = Pwidechar; //winnt
PDWORD = ^DWORD; //windef
PHANDLE = ^HANDLE; //windef
PHKEY = ^HKEY; //windef
PINT = ^longint;
PLONG = ^longint; //windef
PSHORT = ^SHORT; //windef
LPSHORT = ^SHORT; //+windef
PSTR = Pchar;
PSZ = Pchar; //winnt
{$ifdef UNICODE}
PTBYTE = ^word; //winnt
PTCH = Pwidechar;
PTCHAR = Pwidechar; //winnt
PTSTR = Pwidechar;
{$else}
PTBYTE = ^byte;
PTCH = Pchar;
PTCHAR = Pchar;
PTSTR = Pchar;
{$endif}
PUCHAR = ^byte; //windef
PWCH = Pwidechar; //winnt
PWCHAR = Pwidechar; //winnt
PWORD = ^word; //windef
PUINT = ^Cardinal; //windef
PULONG = ^Cardinal; //windef
PUSHORT = ^word; //windef
PVOID = pointer;
RETCODE = SHORT;
SC_HANDLE = HANDLE;
SC_LOCK = LPVOID;
LPSC_HANDLE = ^SC_HANDLE;
SPHANDLE = ^HANDLE; //+windef
SERVICE_STATUS_HANDLE = DWORD;
SIZE_T = Cardinal; //+winnt
{$ifdef UNICODE}
TBYTE = word;
TCHAR = widechar;
BCHAR = word;
{$else}
TBYTE = byte;
TCHAR = char;
BCHAR = BYTE;
{$endif}
UCHAR = byte; //windef
// WCHAR = WideChar; //winnt
UINT = Cardinal; //windef
ULONG = Cardinal; //windef
USHORT = word; //windef
PLPSTR = ^LPSTR;
PLPWStr= ^LPWStr;
FLOAT = single; //+windef
PFLOAT = ^FLOAT; //+windef
WCHAR_T = USHORT; //+stdlib
WINT_T = WCHAR_T; //+stdlib
WCTYPE_T = WCHAR_T; //+stdlib
TIME_T=ULONG; //+stdlib
WPARAM = ptruint; //windef UINT_PTR
// The left side of these typedefs are machine and compiler dependent.
// From types.h
type
INT8 = ShortInt;
UINT8 = byte;
INT16 = SmallInt;
UINT16 = word;
INT32 = longint;
UINT32 = LongWord;
// INT64
UINT64 = QWord;
type
_INT128 = packed record
u0,u1,u2:UINT32;
u3:INT32;
end;
INT128 = _INT128;
_UINT128 = packed record
u0,u1,u2,u3:UINT32;
end;
UINT128 = _UINT128;
type
PINT8 = ^INT8;
PUINT8 = ^UINT8;
PINT16 = ^INT16;
PUINT16 = ^UINT16;
PINT32 = ^INT32;
PUINT32 = ^UINT32;
// PINT64
PUINT64 = ^UINT64;
PINT128 = ^INT128;
PUINT128 = ^UINT128;
type
PPVOID = ^pointer;
type
WIN32_ERROR_CODE = DWORD;
{
Enumerations
}
ACL_INFORMATION_CLASS = (AclRevisionInformation := 1,AclSizeInformation
);
_ACL_INFORMATION_CLASS = ACL_INFORMATION_CLASS;
MEDIA_TYPE = (Unknown,F5_1Pt2_512,F3_1Pt44_512,F3_2Pt88_512,
F3_20Pt8_512,F3_720_512,F5_360_512,F5_320_512,
F5_320_1024,F5_180_512,F5_160_512,RemovableMedia,
FixedMedia);
_MEDIA_TYPE = MEDIA_TYPE;
const
RASCS_DONE = $2000;
RASCS_PAUSED = $1000;
type
RASCONNSTATE = (RASCS_OpenPort := 0,RASCS_PortOpened,
RASCS_ConnectDevice,RASCS_DeviceConnected,
RASCS_AllDevicesConnected,RASCS_Authenticate,
RASCS_AuthNotify,RASCS_AuthRetry,RASCS_AuthCallback,
RASCS_AuthChangePassword,RASCS_AuthProject,
RASCS_AuthLinkSpeed,RASCS_AuthAck,RASCS_ReAuthenticate,
RASCS_Authenticated,RASCS_PrepareForCallback,
RASCS_WaitForModemReset,RASCS_WaitForCallback,
RASCS_Projected,RASCS_StartAuthentication,
RASCS_CallbackComplete,RASCS_LogonNetwork,
RASCS_Interactive := RASCS_PAUSED,RASCS_RetryAuthentication,
RASCS_CallbackSetByCaller,RASCS_PasswordExpired,
RASCS_Connected := RASCS_DONE,RASCS_Disconnected
);
_RASCONNSTATE = RASCONNSTATE;
RASPROJECTION = (RASP_PppIp := $8021, RASP_PppIpx := $802B, RASP_PppNbf := $803F,
RASP_Amb := $10000);
_RASPROJECTION = RASPROJECTION;
PSECURITY_DESCRIPTO = PVOID; //+winnt
SECURITY_IMPERSONATION_LEVEL = (SecurityAnonymous,SecurityIdentification,
SecurityImpersonation,SecurityDelegation
);
_SECURITY_IMPERSONATION_LEVEL = SECURITY_IMPERSONATION_LEVEL;
SID_IDENTIFIER_AUTHORITY_REC = array[0..5] of BYTE; //~ added for pre-defined SID declaration
SID_IDENTIFIER_AUTHORITY = record //~winnt, moved to declare pre-defined SID
Value : SID_IDENTIFIER_AUTHORITY_REC;
end;
LPSID_IDENTIFIER_AUTHORITY = ^SID_IDENTIFIER_AUTHORITY;
PSID_IDENTIFIER_AUTHORITY = ^SID_IDENTIFIER_AUTHORITY;
_SID_IDENTIFIER_AUTHORITY = SID_IDENTIFIER_AUTHORITY;
TSIDIDENTIFIERAUTHORITY = SID_IDENTIFIER_AUTHORITY;
PSIDIDENTIFIERAUTHORITY = ^SID_IDENTIFIER_AUTHORITY;
SID = record //~wint
Revision : Byte;
SubAuthorityCount : Byte;
IdentifierAuthority : SID_IDENTIFIER_AUTHORITY;
SubAuthority : Array [0..ANYSIZE_ARRAY-1] of DWORD;
end;
_SID = SID;
PSID = ^SID;
SID_NAME_USE = ( //~winnt, added SidTypeComputer
SidTypeUser:= 1,
SidTypeGroup,
SidTypeDomain,
SidTypeAlias,
SidTypeWellKnownGroup,
SidTypeDeletedAccount,
SidTypeInvalid,
SidTypeUnknown,
SidTypeComputer);
PSID_NAME_USE = ^SID_NAME_USE; //winnt
_SID_NAME_USE = SID_NAME_USE;
TOKEN_INFORMATION_CLASS = (TokenUser := 1,TokenGroups,TokenPrivileges,
TokenOwner,TokenPrimaryGroup,TokenDefaultDacl,
TokenSource,TokenType,TokenImpersonationLevel,
TokenStatistics);
_TOKEN_INFORMATION_CLASS = TOKEN_INFORMATION_CLASS;
TTokenInformationClass = TOKEN_INFORMATION_CLASS;
TOKEN_TYPE = (TokenPrimary := 1,TokenImpersonation
);
tagTOKEN_TYPE = TOKEN_TYPE;
{
Macros
}
{ was #define dname(params) def_expr }
{ argument types are unknown }
function GetBValue(rgb : longint) : BYTE;
{ was #define dname(params) def_expr }
{ argument types are unknown }
function GetGValue(rgb : longint) : BYTE;
{ was #define dname(params) def_expr }
{ argument types are unknown }
function GetRValue(rgb : longint) : BYTE;
{ was #define dname(params) def_expr }
{ argument types are unknown }
function RGB(r,g,b : longint) : DWORD;
{ Not convertable by H2PAS
#define HANDLE_WM_NOTIFY(hwnd, wParam, lParam, fn) \
(fn)((hwnd), (int)(wParam), (NMHDR FAR )(lParam))
}
{ was #define dname(params) def_expr }
{ argument types are unknown }
function HIBYTE(w : longint) : BYTE; //windef
{ was #define dname(params) def_expr }
{ argument types are unknown }
function HIWORD(l : longint) : WORD; //windef
type
LOBYTE = byte;
(*
{ was #define dname(params) def_expr }
{ argument types are unknown }
function LOBYTE(w : longint) : BYTE; //windef
*)
{ was #define dname(params) def_expr }
{ argument types are unknown }
function LOWORD(l : longint) : WORD; //windef
{ was #define dname(params) def_expr }
{ argument types are unknown }
function MAKELONG(a,b : longint) : LONG; //windef
{ was #define dname(params) def_expr }
{ argument types are unknown }
function MAKEWORD(a,b : longint) : WORD; //windef
{ original Cygnus headers also had the following defined: }
{ was #define dname(params) def_expr }
{ argument types are unknown }
{ return type might be wrong }
function SEXT_HIWORD(l : longint) : longint;
{ return type might be wrong }
{ was #define dname(params) def_expr }
{ argument types are unknown }
{ return type might be wrong }
function ZEXT_HIWORD(l : longint) : longint;
{ return type might be wrong }
{ was #define dname(params) def_expr }
{ argument types are unknown }
function SEXT_LOWORD(l : longint) : longint;
{ was #define dname(params) def_expr }
{ argument types are unknown }
{ return type might be wrong }
function INDEXTOOVERLAYMASK(i : longint) : longint;
{ return type might be wrong }
{ was #define dname(params) def_expr }
{ argument types are unknown }
{ return type might be wrong }
function INDEXTOSTATEIMAGEMASK(i : longint) : longint;
{ return type might be wrong }
{ was #define dname(params) def_expr }
{ argument types are unknown }
function MAKEINTATOM(i : longint) : LPTSTR;
{ was #define dname(params) def_expr }
{ argument types are unknown }
{ return type might be wrong }
function MAKELANGID(p,s : longint) : longint; //winnt
{ return type might be wrong }
{ was #define dname(params) def_expr }
{ argument types are unknown }
function PRIMARYLANGID(lgid : longint) : WORD; //winnt
{ was #define dname(params) def_expr }
{ argument types are unknown }
{ return type might be wrong }
function SUBLANGID(lgid : longint) : longint; //winnt
{ return type might be wrong }
{ was #define dname(params) def_expr }
{ argument types are unknown }
function LANGIDFROMLCID(lcid : longint) : WORD;
{ was #define dname(params) def_expr }
{ argument types are unknown }
function SORTIDFROMLCID(lcid : longint) : WORD;
{ was #define dname(params) def_expr }
{ argument types are unknown }
function MAKELCID(lgid,srtid : longint) : DWORD;
{ was #define dname(params) def_expr }
{ argument types are unknown }
function MAKELPARAM(l,h : longint) : LPARAM;
{ was #define dname(params) def_expr }
{ argument types are unknown }
function MAKELRESULT(l,h : longint) : LRESULT;
{ Not convertable by H2PAS
#define MAKEPOINTS(l) ( ((POINTS FAR ) & (l)))
}
{ was #define dname(params) def_expr }
{ argument types are unknown }
function MAKEROP4(fore,back : longint) : DWORD;
{ was #define dname(params) def_expr }
{ argument types are unknown }
function MAKEWPARAM(l,h : longint) : WPARAM;
{$ifndef max}
{ was #define dname(params) def_expr }
{ argument types are unknown }
{ return type might be wrong }
function max(a,b : longint) : longint; //windef
{ return type might be wrong }
{$endif}
{$ifndef min}
{ was #define dname(params) def_expr }
{ argument types are unknown }
{ return type might be wrong }
function min(a,b : longint) : longint; //windef
{ return type might be wrong }
{$endif}
{ was #define dname(params) def_expr }
{ argument types are unknown }
function PALETTEINDEX(i : longint) : COLORREF;
{ was #define dname(params) def_expr }
{ argument types are unknown }
{ return type might be wrong }
function PALETTERGB(r,g,b : longint) : longint;
{ return type might be wrong }
(* Not convertable by H2PAS
#define POINTSTOPOINT(pt, pts) {(pt).x = (SHORT) LOWORD(pts); \
(pt).y = (SHORT) HIWORD(pts);}
#define POINTTOPOINTS(pt) \
(MAKELONG((short) ((pt).x), (short) ((pt).y)))
*)
{ already declared before
#define INDEXTOOVERLAYMASK(i) ((i) << 8)
#define INDEXTOSTATEIMAGEMASK(i) ((i) << 12)
}
{ Not convertable by H2PAS
#ifdef UNICODE
#define TEXT(quote) L##quote
#else
#define TEXT(quote) quote
#endif
}
{
Definitions for callback procedures
}
type
BFFCALLBACK = function (_para1:HWND; _para2:UINT; _para3:LPARAM; _para4:LPARAM):longint;
LPCCHOOKPROC = function (_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):UINT;
LPCFHOOKPROC = function (_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):UINT;
PTHREAD_START_ROUTINE = Pointer;
LPTHREAD_START_ROUTINE = PTHREAD_START_ROUTINE;
EDITSTREAMCALLBACK = function (_para1:DWORD; _para2:LPBYTE; _para3:LONG; _para4:LONG):DWORD;
LPFRHOOKPROC = function (_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):UINT;
LPOFNHOOKPROC = function (_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):UINT;
LPPRINTHOOKPROC = function (_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):UINT;
LPSETUPHOOKPROC = function (_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):UINT;
DLGPROC = function (_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):LRESULT;
PFNPROPSHEETCALLBACK = function (_para1:HWND; _para2:UINT; _para3:LPARAM):longint;
LPSERVICE_MAIN_FUNCTION = procedure (_para1:DWORD; _para2:LPTSTR);
PFNTVCOMPARE = function (_para1:LPARAM; _para2:LPARAM; _para3:LPARAM):longint;
WNDPROC = function (_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):LRESULT;
FARPROC = pointer; //windef
NEARPROC= FARPROC; //+windef
PROC = FARPROC; //~windef
ENUMRESTYPEPROC = function (_para1:HANDLE; _para2:LPTSTR; _para3:LONG):WINBOOL;
ENUMRESNAMEPROC = function (_para1:HANDLE; _para2:LPCTSTR; _para3:LPTSTR; _para4:LONG):WINBOOL;
ENUMRESLANGPROC = function (_para1:HANDLE; _para2:LPCTSTR; _para3:LPCTSTR; _para4:WORD; _para5:LONG):WINBOOL;
DESKTOPENUMPROC = FARPROC;
ENUMWINDOWSPROC = function (_para1:HWND; _para2:LPARAM):WINBOOL;
ENUMWINDOWSTATIONPROC = function (_para1:LPTSTR; _para2:LPARAM):WINBOOL;
SENDASYNCPROC = procedure (_para1:HWND; _para2:UINT; _para3:DWORD; _para4:LRESULT);
TIMERPROC = procedure (_para1:HWND; _para2:UINT; _para3:UINT; _para4:DWORD);
GRAYSTRINGPROC = FARPROC;
DRAWSTATEPROC = function (_para1:HDC; _para2:LPARAM; _para3:WPARAM; _para4:longint; _para5:longint):WINBOOL;
PROPENUMPROCEX = function (_para1:HWND; _para2:LPCTSTR; _para3:HANDLE; _para4:DWORD):WINBOOL;
PROPENUMPROC = function (_para1:HWND; _para2:LPCTSTR; _para3:HANDLE):WINBOOL;
HOOKPROC = function (_para1:longint; _para2:WPARAM; _para3:LPARAM):LRESULT;
ENUMOBJECTSPROC = procedure (_para1:LPVOID; _para2:LPARAM);
LINEDDAPROC = procedure (_para1:longint; _para2:longint; _para3:LPARAM);
TABORTPROC = function (_para1:HDC; _para2:longint):WINBOOL;
LPPAGEPAINTHOOK = function (_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):UINT;
LPPAGESETUPHOOK = function (_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):UINT;
ICMENUMPROC = function (_para1:LPTSTR; _para2:LPARAM):longint;
EDITWORDBREAKPROCEX = function (_para1:pchar; _para2:LONG; _para3:BYTE; _para4:WINT):LONG;
PFNLVCOMPARE = function (_para1:LPARAM; _para2:LPARAM; _para3:LPARAM):longint;
LOCALE_ENUMPROC = function (_para1:LPTSTR):WINBOOL;
CODEPAGE_ENUMPROC = function (_para1:LPTSTR):WINBOOL;
CODEPAGE_ENUMPROCW = function (_para1:LPWSTR):WINBOOL; //+winnls
DATEFMT_ENUMPROC = function (_para1:LPTSTR):WINBOOL;
TIMEFMT_ENUMPROC = function (_para1:LPTSTR):WINBOOL;
CALINFO_ENUMPROC = function (_para1:LPTSTR):WINBOOL;
PHANDLER_ROUTINE = function (_para1:DWORD):WINBOOL;
LPHANDLER_FUNCTION = function (_para1:DWORD):WINBOOL;
PFNGETPROFILEPATH = function (_para1:LPCTSTR; _para2:LPSTR; _para3:UINT):UINT;
PFNRECONCILEPROFILE = function (_para1:LPCTSTR; _para2:LPCTSTR; _para3:DWORD):UINT;
PFNPROCESSPOLICIES = function (_para1:HWND; _para2:LPCTSTR; _para3:LPCTSTR; _para4:LPCTSTR; _para5:DWORD):WINBOOL;
const
SE_CREATE_TOKEN_NAME = 'SeCreateTokenPrivilege';
SE_ASSIGNPRIMARYTOKEN_NAME = 'SeAssignPrimaryTokenPrivilege';
SE_LOCK_MEMORY_NAME = 'SeLockMemoryPrivilege';
SE_INCREASE_QUOTA_NAME = 'SeIncreaseQuotaPrivilege';
SE_UNSOLICITED_INPUT_NAME = 'SeUnsolicitedInputPrivilege';
SE_MACHINE_ACCOUNT_NAME = 'SeMachineAccountPrivilege';
SE_TCB_NAME = 'SeTcbPrivilege';
SE_SECURITY_NAME = 'SeSecurityPrivilege';
SE_TAKE_OWNERSHIP_NAME = 'SeTakeOwnershipPrivilege';
SE_LOAD_DRIVER_NAME = 'SeLoadDriverPrivilege';
SE_SYSTEM_PROFILE_NAME = 'SeSystemProfilePrivilege';
SE_SYSTEMTIME_NAME = 'SeSystemtimePrivilege';
SE_PROF_SINGLE_PROCESS_NAME = 'SeProfileSingleProcessPrivilege';
SE_INC_BASE_PRIORITY_NAME = 'SeIncreaseBasePriorityPrivilege';
SE_CREATE_PAGEFILE_NAME = 'SeCreatePagefilePrivilege';
SE_CREATE_PERMANENT_NAME = 'SeCreatePermanentPrivilege';
SE_BACKUP_NAME = 'SeBackupPrivilege';
SE_RESTORE_NAME = 'SeRestorePrivilege';
SE_SHUTDOWN_NAME = 'SeShutdownPrivilege';
SE_DEBUG_NAME = 'SeDebugPrivilege';
SE_AUDIT_NAME = 'SeAuditPrivilege';
SE_SYSTEM_ENVIRONMENT_NAME = 'SeSystemEnvironmentPrivilege';
SE_CHANGE_NOTIFY_NAME = 'SeChangeNotifyPrivilege';
SE_REMOTE_SHUTDOWN_NAME = 'SeRemoteShutdownPrivilege';
//SERVICES_ACTIVE_DATABASEW L"ServicesActive"
//#define SERVICES_FAILED_DATABASEW L"ServicesFailed"
SERVICES_ACTIVE_DATABASEA = 'ServicesActive';
SERVICES_FAILED_DATABASEA = 'ServicesFailed';
{ Not convertable by H2PAS
#define SC_GROUP_IDENTIFIERW L'+'
}
SC_GROUP_IDENTIFIERA = '+';
{$ifdef UNICODE}
//temporary removed to compile in unicode, ORO06 08/2005
//SERVICES_ACTIVE_DATABASE = SERVICES_ACTIVE_DATABASEW;
//SERVICES_FAILED_DATABASE = SERVICES_FAILED_DATABASEW;
//SC_GROUP_IDENTIFIER = SC_GROUP_IDENTIFIERW;
SERVICES_ACTIVE_DATABASE = SERVICES_ACTIVE_DATABASEA;
SERVICES_FAILED_DATABASE = SERVICES_FAILED_DATABASEA;
SC_GROUP_IDENTIFIER = SC_GROUP_IDENTIFIERA;
{$else}
SERVICES_ACTIVE_DATABASE = SERVICES_ACTIVE_DATABASEA;
SERVICES_FAILED_DATABASE = SERVICES_FAILED_DATABASEA;
SC_GROUP_IDENTIFIER = SC_GROUP_IDENTIFIERA;
{$endif}
type
{ PFNCALLBACK = CALLB; }
PFNCALLBACK = function(_para1, _para2: UINT;_para3: HCONV;_para4, _para5: HSZ; _para6: HDDEDATA;_para7 ,_para8 :DWORD): HDDEData;
{ CALLB = procedure ;CDECL; }
CALLB = PFNCALLBACK;
SECURITY_CONTEXT_TRACKING_MODE = WINBOOL;
{ End of stuff from ddeml.h in old Cygnus headers }
{ ----------------------------------------------- }
WNDENUMPROC = FARPROC;
ENHMFENUMPROC = FARPROC;
CCSTYLE = DWORD;
PCCSTYLE = ^CCSTYLE;
LPCCSTYLE = ^CCSTYLE;
CCSTYLEFLAGA = DWORD;
PCCSTYLEFLAGA = ^CCSTYLEFLAGA;
LPCCSTYLEFLAGA = ^CCSTYLEFLAGA;
{$endif read_interface}
{$ifdef read_implementation}
{ was #define dname(params) def_expr }
{ argument types are unknown }
function GetBValue(rgb : longint) : BYTE;
begin
GetBValue:=BYTE(rgb shr 16);
end;
{ was #define dname(params) def_expr }
{ argument types are unknown }
function GetGValue(rgb : longint) : BYTE;
begin
GetGValue:=BYTE((WORD(rgb)) shr 8);
end;
{ was #define dname(params) def_expr }
{ argument types are unknown }
function GetRValue(rgb : longint) : BYTE;
begin
GetRValue:=BYTE(rgb);
end;
{ was #define dname(params) def_expr }
{ argument types are unknown }
function RGB(r,g,b : longint) : DWORD;
begin
RGB:=DWORD(((DWORD(BYTE(r))) or ((DWORD(WORD(g))) shl 8)) or ((DWORD(BYTE(b))) shl 16));
end;
{ was #define dname(params) def_expr }
{ argument types are unknown }
function HIBYTE(w : longint) : BYTE;
begin
HIBYTE:=BYTE(((WORD(w)) shr 8) and $FF);
end;
{ was #define dname(params) def_expr }
{ argument types are unknown }
function HIWORD(l : longint) : WORD;
begin
HIWORD:=WORD(((DWORD(l)) shr 16) and $FFFF);
end;
(*
{ was #define dname(params) def_expr }
{ argument types are unknown }
function LOBYTE(w : longint) : BYTE;
begin
LOBYTE:=BYTE(w);
end;
*)
{ was #define dname(params) def_expr }
{ argument types are unknown }
function LOWORD(l : longint) : WORD; inline;
begin
LOWORD:=WORD(l);
end;
{ was #define dname(params) def_expr }
{ argument types are unknown }
function MAKELONG(a,b : longint) : LONG;
begin
MAKELONG:=LONG((WORD(a)) or ((DWORD(WORD(b))) shl 16));
end;
{ was #define dname(params) def_expr }
{ argument types are unknown }
function MAKEWORD(a,b : longint) : WORD;
begin
MAKEWORD:=WORD((BYTE(a)) or ((WORD(BYTE(b))) shl 8));
end;
{ was #define dname(params) def_expr }
{ argument types are unknown }
{ return type might be wrong }
function SEXT_HIWORD(l : longint) : longint;
{ return type might be wrong }
begin
SEXT_HIWORD:=(longint(l)) shr 16;
end;
{ was #define dname(params) def_expr }
{ argument types are unknown }
{ return type might be wrong }
function ZEXT_HIWORD(l : longint) : longint;
{ return type might be wrong }
begin
ZEXT_HIWORD:=(Cardinal(l)) shr 16;
end;
{ was #define dname(params) def_expr }
{ argument types are unknown }
function SEXT_LOWORD(l : longint) : longint;
begin
SEXT_LOWORD:=longint(SHORT(l));
end;
{ was #define dname(params) def_expr }
{ argument types are unknown }
{ return type might be wrong }
function INDEXTOOVERLAYMASK(i : longint) : longint;
{ return type might be wrong }
begin
INDEXTOOVERLAYMASK:=i shl 8;
end;
{ was #define dname(params) def_expr }
{ argument types are unknown }
{ return type might be wrong }
function INDEXTOSTATEIMAGEMASK(i : longint) : longint;
{ return type might be wrong }
begin
INDEXTOSTATEIMAGEMASK:=i shl 12;
end;
{ was #define dname(params) def_expr }
{ argument types are unknown }
function MAKEINTATOM(i : longint) : LPTSTR; inline;
begin
MAKEINTATOM:=LPTSTR(DWORD(WORD(i)));
end;
{ was #define dname(params) def_expr }
{ argument types are unknown }
{ return type might be wrong }
function MAKELANGID(p,s : longint) : longint;
{ return type might be wrong }
begin
MAKELANGID:=((WORD(s)) shl 10) or (WORD(p));
end;
{ was #define dname(params) def_expr }
{ argument types are unknown }
function PRIMARYLANGID(lgid : longint) : WORD;
begin
{ PRIMARYLANGID:=WORD(lgid(@($3ff)));
h2pas error here corrected by hand PM }
PRIMARYLANGID:=WORD(lgid) and ($3ff);
end;
{ was #define dname(params) def_expr }
{ argument types are unknown }
{ return type might be wrong }
function SUBLANGID(lgid : longint) : longint;
{ return type might be wrong }
begin
SUBLANGID:=(WORD(lgid)) shr 10;
end;
{ was #define dname(params) def_expr }
{ argument types are unknown }
function LANGIDFROMLCID(lcid : longint) : WORD;
begin
LANGIDFROMLCID:=WORD(lcid);
end;
{ was #define dname(params) def_expr }
{ argument types are unknown }
function SORTIDFROMLCID(lcid : longint) : WORD;
begin
SORTIDFROMLCID:=WORD(((DWORD(lcid)) and $000FFFFF) shr 16);
end;
{ was #define dname(params) def_expr }
{ argument types are unknown }
function MAKELCID(lgid,srtid : longint) : DWORD;
begin
MAKELCID:=DWORD(((DWORD(WORD(srtid))) shl 16) or (DWORD(WORD(lgid))));
end;
{ was #define dname(params) def_expr }
{ argument types are unknown }
function MAKELPARAM(l,h : longint) : LPARAM;
begin
MAKELPARAM:=LPARAM(MAKELONG(l,h));
end;
{ was #define dname(params) def_expr }
{ argument types are unknown }
function MAKELRESULT(l,h : longint) : LRESULT;
begin
MAKELRESULT:=LRESULT(MAKELONG(l,h));
end;
{ was #define dname(params) def_expr }
{ argument types are unknown }
function MAKEROP4(fore,back : longint) : DWORD;
begin
MAKEROP4:=DWORD((DWORD(back shl 8) and $FF000000) or DWORD(fore));
end;
{ was #define dname(params) def_expr }
{ argument types are unknown }
function MAKEWPARAM(l,h : longint) : WPARAM;
begin
MAKEWPARAM:=WPARAM(MAKELONG(l,h));
end;
{ was #define dname(params) def_expr }
{ argument types are unknown }
{ return type might be wrong }
function max(a,b : longint) : longint;
{ return type might be wrong }
var
if_local1 : longint;
(* result types are not known *)
begin
if a > b then
if_local1:=a
else
if_local1:=b;
max:=if_local1;
end;
{ was #define dname(params) def_expr }
{ argument types are unknown }
{ return type might be wrong }
function min(a,b : longint) : longint;
{ return type might be wrong }
var
if_local1 : longint;
(* result types are not known *)
begin
if a < b then
if_local1:=a
else
if_local1:=b;
min:=if_local1;
end;
{ was #define dname(params) def_expr }
{ argument types are unknown }
function PALETTEINDEX(i : longint) : COLORREF;
begin
PALETTEINDEX:=COLORREF($01000000 or (DWORD(WORD(i))));
end;
{ was #define dname(params) def_expr }
{ argument types are unknown }
{ return type might be wrong }
function PALETTERGB(r,g,b : longint) : longint;
{ return type might be wrong }
begin
PALETTERGB:=$02000000 or (RGB(r,g,b));
end;
{$endif read_implementation}