fpc/rtl/win32/struct.pp
1998-06-25 08:41:41 +00:00

4561 lines
135 KiB
ObjectPascal

{
$Id$
This file is part of the Free Pascal run time library.
This unit contains the record definition for the Win32 API
Copyright (c) 1993,97 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.
**********************************************************************}
{
This file is generated using h2pas written by Florian Klaempfl,
but some modifications are done.
The C header file was structure.h of the
GNU Windows32 API Library Version 0.1.2
****************************************************************************
Possible defines:
UNICODE makes an unicode version
I386 makes a version for Intel processors
FK Florian Klaempfl
+ added
- removed
* modified
History (started with version 0.1.0):
19th november 1997 version:
+ started (FK)
ToDo:
Not recommended to use:
Unimplemented:
typedef struct _DCB {
DWORD DCBlength;
DWORD BaudRate;
DWORD fBinary: 1;
DWORD fParity: 1;
DWORD fOutxCtsFlow:1;
DWORD fOutxDsrFlow:1;
DWORD fDtrControl:2;
DWORD fDsrSensitivity:1;
DWORD fTXContinueOnXoff:1;
DWORD fOutX: 1;
DWORD fInX: 1;
DWORD fErrorChar: 1;
DWORD fNull: 1;
DWORD fRtsControl:2;
DWORD fAbortOnError:1;
DWORD fDummy2:17;
WORD wReserved;
WORD XonLim;
WORD XoffLim;
BYTE ByteSize;
BYTE Parity;
BYTE StopBits;
char XonChar;
char XoffChar;
char ErrorChar;
char EofChar;
char EvtChar;
WORD wReserved1;
} DCB, *LPDCB;
typedef struct _COMSTAT {
DWORD fCtsHold : 1;
DWORD fDsrHold : 1;
DWORD fRlsdHold : 1;
DWORD fXoffHold : 1;
DWORD fXoffSent : 1;
DWORD fEof : 1;
DWORD fTxim : 1;
DWORD fReserved : 25;
DWORD cbInQue;
DWORD cbOutQue;
} COMSTAT, *LPCOMSTAT;
typedef struct {
unsigned short bAppReturnCode:8,
reserved:6,
fBusy:1,
fAck:1;
} DDEACK;
typedef struct {
unsigned short reserved:14,
fDeferUpd:1,
fAckReq:1;
short cfFormat;
} DDEADVISE;
typedef struct {
unsigned short unused:12,
fResponse:1,
fRelease:1,
reserved:1,
fAckReq:1;
short cfFormat;
BYTE Value[1];
} DDEDATA;
typedef struct {
unsigned short unused:13,
fRelease:1,
fDeferUpd:1,
fAckReq:1;
short cfFormat;
} DDELN;
typedef struct {
unsigned short unused:13,
fRelease:1,
fReserved:2;
short cfFormat;
BYTE Value[1];
} DDEPOKE;
typedef struct {
unsigned short unused:12,
fAck:1,
fRelease:1,
fReserved:1,
fAckReq:1;
short cfFormat;
BYTE rgb[1];
} DDEUP;
typedef struct _LDT_ENTRY {
WORD LimitLow;
WORD BaseLow;
union {
struct {
BYTE BaseMid;
BYTE Flags1;
BYTE Flags2;
BYTE BaseHi;
} Bytes;
struct {
DWORD BaseMid : 8;
DWORD Type : 5;
DWORD Dpl : 2;
DWORD Pres : 1;
DWORD LimitHi : 4;
DWORD Sys : 1;
DWORD Reserved_0 : 1;
DWORD Default_Big : 1;
DWORD Granularity : 1;
DWORD BaseHi : 8;
} Bits;
} HighWord;
} LDT_ENTRY, *PLDT_ENTRY, *LPLDT_ENTRY;
typedef enum tagSHCONTF {
SHCONTF_FOLDERS = 32,
SHCONTF_NONFOLDERS = 64,
SHCONTF_INCLUDEHIDDEN = 128,
} SHCONTF;
typedef enum tagSHGDN {
SHGDN_NORMAL = 0,
SHGDN_INFOLDER = 1,
SHGDN_FORPARSING = 0x8000,
} SHGNO;
****************************************************************************}
unit struct;
interface
uses
base;
type
ABC = record
abcA : longint;
abcB : UINT;
abcC : longint;
end;
LPABC = ^ABC;
ABCFLOAT = record
abcfA : FLOAT;
abcfB : FLOAT;
abcfC : FLOAT;
end;
LPABCFLOAT = ^ABCFLOAT;
ACCEL = record
fVirt : BYTE;
key : WORD;
cmd : WORD;
end;
LPACCEL = ^ACCEL;
ACE_HEADER = record
AceType : BYTE;
AceFlags : BYTE;
AceSize : WORD;
end;
ACCESS_MASK = DWORD;
REGSAM = ACCESS_MASK;
ACCESS_ALLOWED_ACE = record
Header : ACE_HEADER;
Mask : ACCESS_MASK;
SidStart : DWORD;
end;
ACCESS_DENIED_ACE = record
Header : ACE_HEADER;
Mask : ACCESS_MASK;
SidStart : DWORD;
end;
ACCESSTIMEOUT = record
cbSize : UINT;
dwFlags : DWORD;
iTimeOutMSec : DWORD;
end;
ACL = record
AclRevision : BYTE;
Sbz1 : BYTE;
AclSize : WORD;
AceCount : WORD;
Sbz2 : WORD;
end;
PACL = ^ACL;
ACL_REVISION_INFORMATION = record
AclRevision : DWORD;
end;
ACL_SIZE_INFORMATION = record
AceCount : DWORD;
AclBytesInUse : DWORD;
AclBytesFree : DWORD;
end;
ACTION_HEADER = record
transport_id : ULONG;
action_code : USHORT;
reserved : USHORT;
end;
ADAPTER_STATUS = record
adapter_address : array[0..(6)-1] of UCHAR;
rev_major : UCHAR;
reserved0 : UCHAR;
adapter_type : UCHAR;
rev_minor : UCHAR;
duration : WORD;
frmr_recv : WORD;
frmr_xmit : WORD;
iframe_recv_err : WORD;
xmit_aborts : WORD;
xmit_success : DWORD;
recv_success : DWORD;
iframe_xmit_err : WORD;
recv_buff_unavail : WORD;
t1_timeouts : WORD;
ti_timeouts : WORD;
reserved1 : DWORD;
free_ncbs : WORD;
max_cfg_ncbs : WORD;
max_ncbs : WORD;
xmit_buf_unavail : WORD;
max_dgram_size : WORD;
pending_sess : WORD;
max_cfg_sess : WORD;
max_sess : WORD;
max_sess_pkt_size : WORD;
name_count : WORD;
end;
ADDJOB_INFO_1 = record
Path : LPTSTR;
JobId : DWORD;
end;
ANIMATIONINFO = record
cbSize : UINT;
iMinAnimate : longint;
end;
LPANIMATIONINFO = ^ANIMATIONINFO;
RECT = record
left : LONG;
top : LONG;
right : LONG;
bottom : LONG;
end;
LPRECT = ^RECT;
RECTL = record
left : LONG;
top : LONG;
right : LONG;
bottom : LONG;
end;
APPBARDATA = record
cbSize : DWORD;
hWnd : HWND;
uCallbackMessage : UINT;
uEdge : UINT;
rc : RECT;
lParam : LPARAM;
end;
PAPPBARDATA = ^APPBARDATA;
BITMAP = record
bmType : LONG;
bmWidth : LONG;
bmHeight : LONG;
bmWidthBytes : LONG;
bmPlanes : WORD;
bmBitsPixel : WORD;
bmBits : LPVOID;
end;
PBITMAP = ^BITMAP;
NPBITMAP = ^BITMAP;
LPBITMAP = ^BITMAP;
BITMAPCOREHEADER = record
bcSize : DWORD;
bcWidth : WORD;
bcHeight : WORD;
bcPlanes : WORD;
bcBitCount : WORD;
end;
RGBTRIPLE = record
rgbtBlue : BYTE;
rgbtGreen : BYTE;
rgbtRed : BYTE;
end;
BITMAPCOREINFO = record
bmciHeader : BITMAPCOREHEADER;
bmciColors : array[0..(1)-1] of RGBTRIPLE;
end;
BITMAPFILEHEADER = record
bfType : WORD;
bfSize : DWORD;
bfReserved1 : WORD;
bfReserved2 : WORD;
bfOffBits : DWORD;
end;
BITMAPINFOHEADER = record
biSize : DWORD;
biWidth : LONG;
biHeight : LONG;
biPlanes : WORD;
biBitCount : WORD;
biCompression : DWORD;
biSizeImage : DWORD;
biXPelsPerMeter : LONG;
biYPelsPerMeter : LONG;
biClrUsed : DWORD;
biClrImportant : DWORD;
end;
LPBITMAPINFOHEADER = ^BITMAPINFOHEADER;
RGBQUAD = record
rgbBlue : BYTE;
rgbGreen : BYTE;
rgbRed : BYTE;
rgbReserved : BYTE;
end;
BITMAPINFO = record
bmiHeader : BITMAPINFOHEADER;
bmiColors : array[0..0] of RGBQUAD;
end;
LPBITMAPINFO = ^BITMAPINFO;
FXPT2DOT30 = longint;
LPFXPT2DOT30 = ^longint;
CIEXYZ = record
ciexyzX : FXPT2DOT30;
ciexyzY : FXPT2DOT30;
ciexyzZ : FXPT2DOT30;
end;
LPCIEXYZ = ^CIEXYZ;
CIEXYZTRIPLE = record
ciexyzRed : CIEXYZ;
ciexyzGreen : CIEXYZ;
ciexyzBlue : CIEXYZ;
end;
LPCIEXYZTRIPLE = ^CIEXYZTRIPLE;
BITMAPV4HEADER = record
bV4Size : DWORD;
bV4Width : LONG;
bV4Height : LONG;
bV4Planes : WORD;
bV4BitCount : WORD;
bV4V4Compression : DWORD;
bV4SizeImage : DWORD;
bV4XPelsPerMeter : LONG;
bV4YPelsPerMeter : LONG;
bV4ClrUsed : DWORD;
bV4ClrImportant : DWORD;
bV4RedMask : DWORD;
bV4GreenMask : DWORD;
bV4BlueMask : DWORD;
bV4AlphaMask : DWORD;
bV4CSType : DWORD;
bV4Endpoints : CIEXYZTRIPLE;
bV4GammaRed : DWORD;
bV4GammaGreen : DWORD;
bV4GammaBlue : DWORD;
end;
LPBITMAPV4HEADER = ^BITMAPV4HEADER;
PBITMAPV4HEADER = ^BITMAPV4HEADER;
BLOB = record
cbSize : ULONG;
pBlobData : ^BYTE;
end;
SHITEMID = record
cb : USHORT;
abID : array[0..0] of BYTE;
end;
LPSHITEMID = ^SHITEMID;
LPCSHITEMID = ^SHITEMID;
ITEMIDLIST = record
mkid : SHITEMID;
end;
LPITEMIDLIST = ITEMIDLIST;
LPCITEMIDLIST = ^ITEMIDLIST;
BROWSEINFO = record
hwndOwner : HWND;
pidlRoot : LPCITEMIDLIST;
pszDisplayName : LPSTR;
lpszTitle : LPCSTR;
ulFlags : UINT;
lpfn : BFFCALLBACK;
lParam : LPARAM;
iImage : longint;
end;
PBROWSEINFO = ^BROWSEINFO;
LPBROWSEINFO = ^BROWSEINFO;
FILETIME = record
dwLowDateTime : DWORD;
dwHighDateTime : DWORD;
end;
LPFILETIME = ^FILETIME;
PFILETIME = ^FILETIME;
BY_HANDLE_FILE_INFORMATION = record
dwFileAttributes : DWORD;
ftCreationTime : FILETIME;
ftLastAccessTime : FILETIME;
ftLastWriteTime : FILETIME;
dwVolumeSerialNumber : DWORD;
nFileSizeHigh : DWORD;
nFileSizeLow : DWORD;
nNumberOfLinks : DWORD;
nFileIndexHigh : DWORD;
nFileIndexLow : DWORD;
end;
LPBY_HANDLE_FILE_INFORMATION = ^BY_HANDLE_FILE_INFORMATION;
FIXED = record
fract : WORD;
value : integer;
end;
POINT = record
x : LONG;
y : LONG;
end;
LPPOINT = ^POINT;
POINTFX = record
x : FIXED;
y : FIXED;
end;
POINTL = record
x : LONG;
y : LONG;
end;
POINTS = record
x : SHORT;
y : SHORT;
end;
CANDIDATEFORM = record
dwIndex : DWORD;
dwStyle : DWORD;
ptCurrentPos : POINT;
rcArea : RECT;
end;
LPCANDIDATEFORM = ^CANDIDATEFORM;
CANDIDATELIST = record
dwSize : DWORD;
dwStyle : DWORD;
dwCount : DWORD;
dwSelection : DWORD;
dwPageStart : DWORD;
dwPageSize : DWORD;
dwOffset : array[0..0] of DWORD;
end;
LPCANDIDATELIST = ^CANDIDATELIST;
CREATESTRUCT = record
lpCreateParams : LPVOID;
hInstance : HINSTANCE;
hMenu : HMENU;
hwndParent : HWND;
cy : longint;
cx : longint;
y : longint;
x : longint;
style : LONG;
lpszName : LPCTSTR;
lpszClass : LPCTSTR;
dwExStyle : DWORD;
end;
LPCREATESTRUCT = ^CREATESTRUCT;
CBT_CREATEWND = record
lpcs : LPCREATESTRUCT;
hwndInsertAfter : HWND;
end;
CBTACTIVATESTRUCT = record
fMouse : WINBOOL;
hWndActive : HWND;
end;
CHAR_INFO = record
Char : record
case longint of
0 : ( UnicodeChar:WCHAR );
1 : ( AsciiChar:CHAR );
end;
Attributes : WORD;
end;
PCHAR_INFO = ^CHAR_INFO;
CHARFORMAT = record
cbSize : UINT;
dwMask : DWORD;
dwEffects : DWORD;
yHeight : LONG;
yOffset : LONG;
crTextColor : COLORREF;
bCharSet : BYTE;
bPitchAndFamily : BYTE;
szFaceName : array[0..(LF_FACESIZE)-1] of TCHAR;
end;
CHARRANGE = record
cpMin : LONG;
cpMax : LONG;
end;
CHARSET = record
aflBlock : array[0..(3)-1] of DWORD;
flLang : DWORD;
end;
FONTSIGNATURE = record
fsUsb : array[0..(4)-1] of DWORD;
fsCsb : array[0..(2)-1] of DWORD;
end;
LPFONTSIGNATURE = ^FONTSIGNATURE;
CHARSETINFO = record
ciCharset : UINT;
ciACP : UINT;
fs : FONTSIGNATURE;
end;
LPCHARSETINFO = ^CHARSETINFO;
CHOOSECOLOR = record
lStructSize : DWORD;
hwndOwner : HWND;
hInstance : HWND;
rgbResult : COLORREF;
lpCustColors : ^COLORREF;
Flags : DWORD;
lCustData : LPARAM;
lpfnHook : LPCCHOOKPROC;
lpTemplateName : LPCTSTR;
end;
LPCHOOSECOLOR = ^CHOOSECOLOR;
LOGFONT = record
lfHeight : LONG;
lfWidth : LONG;
lfEscapement : LONG;
lfOrientation : LONG;
lfWeight : LONG;
lfItalic : BYTE;
lfUnderline : BYTE;
lfStrikeOut : BYTE;
lfCharSet : BYTE;
lfOutPrecision : BYTE;
lfClipPrecision : BYTE;
lfQuality : BYTE;
lfPitchAndFamily : BYTE;
lfFaceName : array[0..(LF_FACESIZE)-1] of TCHAR;
end;
LPLOGFONT = ^LOGFONT;
CHOOSEFONT = record
lStructSize : DWORD;
hwndOwner : HWND;
hDC : HDC;
lpLogFont : LPLOGFONT;
iPointSize : INT;
Flags : DWORD;
rgbColors : DWORD;
lCustData : LPARAM;
lpfnHook : LPCFHOOKPROC;
lpTemplateName : LPCTSTR;
hInstance : HINSTANCE;
lpszStyle : LPTSTR;
nFontType : WORD;
___MISSING_ALIGNMENT__ : WORD;
nSizeMin : INT;
nSizeMax : INT;
end;
LPCHOOSEFONT = ^CHOOSEFONT;
CIDA = record
cidl : UINT;
aoffset : array[0..(1)-1] of UINT;
end;
LPIDA = ^CIDA;
CLIENTCREATESTRUCT = record
hWindowMenu : HANDLE;
idFirstChild : UINT;
end;
CMINVOKECOMMANDINFO = record
cbSize : DWORD;
fMask : DWORD;
hwnd : HWND;
lpVerb : LPCSTR;
lpParameters : LPCSTR;
lpDirectory : LPCSTR;
nShow : longint;
dwHotKey : DWORD;
hIcon : HANDLE;
end;
LPCMINVOKECOMMANDINFO = ^CMINVOKECOMMANDINFO;
COLORADJUSTMENT = record
caSize : WORD;
caFlags : WORD;
caIlluminantIndex : WORD;
caRedGamma : WORD;
caGreenGamma : WORD;
caBlueGamma : WORD;
caReferenceBlack : WORD;
caReferenceWhite : WORD;
caContrast : SHORT;
caBrightness : SHORT;
caColorfulness : SHORT;
caRedGreenTint : SHORT;
end;
LPCOLORADJUSTMENT = ^COLORADJUSTMENT;
COLORMAP = record
from : COLORREF;
_to : COLORREF;
end;
LPCOLORMAP = ^COLORMAP;
COMMCONFIG = record
dwSize : DWORD;
wVersion : WORD;
wReserved : WORD;
dcb : DCB;
dwProviderSubType : DWORD;
dwProviderOffset : DWORD;
dwProviderSize : DWORD;
wcProviderData : array[0..0] of WCHAR;
end;
LPCOMMCONFIG = ^COMMCONFIG;
COMMPROP = record
wPacketLength : WORD;
wPacketVersion : WORD;
dwServiceMask : DWORD;
dwReserved1 : DWORD;
dwMaxTxQueue : DWORD;
dwMaxRxQueue : DWORD;
dwMaxBaud : DWORD;
dwProvSubType : DWORD;
dwProvCapabilities : DWORD;
dwSettableParams : DWORD;
dwSettableBaud : DWORD;
wSettableData : WORD;
wSettableStopParity : WORD;
dwCurrentTxQueue : DWORD;
dwCurrentRxQueue : DWORD;
dwProvSpec1 : DWORD;
dwProvSpec2 : DWORD;
wcProvChar : array[0..0] of WCHAR;
end;
LPCOMMPROP = ^COMMPROP;
COMMTIMEOUTS = record
ReadIntervalTimeout : DWORD;
ReadTotalTimeoutMultiplier : DWORD;
ReadTotalTimeoutConstant : DWORD;
WriteTotalTimeoutMultiplier : DWORD;
WriteTotalTimeoutConstant : DWORD;
end;
LPCOMMTIMEOUTS = ^COMMTIMEOUTS;
COMPAREITEMSTRUCT = record
CtlType : UINT;
CtlID : UINT;
hwndItem : HWND;
itemID1 : UINT;
itemData1 : DWORD;
itemID2 : UINT;
itemData2 : DWORD;
end;
COMPCOLOR = record
crText : COLORREF;
crBackground : COLORREF;
dwEffects : DWORD;
end;
COMPOSITIONFORM = record
dwStyle : DWORD;
ptCurrentPos : POINT;
rcArea : RECT;
end;
LPCOMPOSITIONFORM = ^COMPOSITIONFORM;
CONSOLE_CURSOR_INFO = record
dwSize : DWORD;
bVisible : WINBOOL;
end;
PCONSOLE_CURSOR_INFO = ^CONSOLE_CURSOR_INFO;
COORD = record
X : SHORT;
Y : SHORT;
end;
SMALL_RECT = record
Left : SHORT;
Top : SHORT;
Right : SHORT;
Bottom : SHORT;
end;
PSMALL_RECT = ^SMALL_RECT;
CONSOLE_SCREEN_BUFFER_INFO = record
dwSize : COORD;
dwCursorPosition : COORD;
wAttributes : WORD;
srWindow : SMALL_RECT;
dwMaximumWindowSize : COORD;
end;
PCONSOLE_SCREEN_BUFFER_INFO = ^CONSOLE_SCREEN_BUFFER_INFO;
{$ifdef I386}
FLOATING_SAVE_AREA = record
ControlWord : DWORD;
StatusWord : DWORD;
TagWord : DWORD;
ErrorOffset : DWORD;
ErrorSelector : DWORD;
DataOffset : DWORD;
DataSelector : DWORD;
RegisterArea : array[0..(80)-1] of BYTE;
Cr0NpxState : DWORD;
end;
CONTEXT = record
ContextFlags : DWORD;
Dr0 : DWORD;
Dr1 : DWORD;
Dr2 : DWORD;
Dr3 : DWORD;
Dr6 : DWORD;
Dr7 : DWORD;
FloatSave : FLOATING_SAVE_AREA;
SegGs : DWORD;
SegFs : DWORD;
SegEs : DWORD;
SegDs : DWORD;
Edi : DWORD;
Esi : DWORD;
Ebx : DWORD;
Edx : DWORD;
Ecx : DWORD;
Eax : DWORD;
Ebp : DWORD;
Eip : DWORD;
SegCs : DWORD;
EFlags : DWORD;
Esp : DWORD;
SegSs : DWORD;
end;
PCONTEXT = ^CONTEXT;
LPCONTEXT = ^CONTEXT;
{$endif I386}
LIST_ENTRY = record
Flink : ^*;
Blink : ^*;
end;
PLIST_ENTRY = ^LIST_ENTRY;
CRITICAL_SECTION_DEBUG = record
Type : WORD;
CreatorBackTraceIndex : WORD;
CriticalSection : ^*;
ProcessLocksList : LIST_ENTRY;
EntryCount : DWORD;
ContentionCount : DWORD;
Depth : DWORD;
OwnerBackTrace : array[0..(5)-1] of PVOID;
end;
PCRITICAL_SECTION_DEBUG = ^CRITICAL_SECTION_DEBUG;
CRITICAL_SECTION = record
DebugInfo : PCRITICAL_SECTION_DEBUG;
LockCount : LONG;
RecursionCount : LONG;
OwningThread : HANDLE;
LockSemaphore : HANDLE;
Reserved : DWORD;
end;
PCRITICAL_SECTION = ^CRITICAL_SECTION;
LPCRITICAL_SECTION = ^CRITICAL_SECTION;
{ SECURITY_CONTEXT_TRACKING_MODE ContextTrackingMode; }
SECURITY_QUALITY_OF_SERVICE = record
Length : DWORD;
ImpersonationLevel : SECURITY_IMPERSONATION_LEVEL;
ContextTrackingMode : WINBOOL;
EffectiveOnly : BOOLEAN;
end;
CONVCONTEXT = record
cb : UINT;
wFlags : UINT;
wCountryID : UINT;
iCodePage : longint;
dwLangID : DWORD;
dwSecurity : DWORD;
qos : SECURITY_QUALITY_OF_SERVICE;
end;
CONVINFO = record
cb : DWORD;
hUser : DWORD;
hConvPartner : HCONV;
hszSvcPartner : HSZ;
hszServiceReq : HSZ;
hszTopic : HSZ;
hszItem : HSZ;
wFmt : UINT;
wType : UINT;
wStatus : UINT;
wConvst : UINT;
wLastError : UINT;
hConvList : HCONVLIST;
ConvCtxt : CONVCONTEXT;
hwnd : HWND;
hwndPartner : HWND;
end;
COPYDATASTRUCT = record
dwData : DWORD;
cbData : DWORD;
lpData : PVOID;
end;
CPINFO = record
MaxCharSize : UINT;
DefaultChar : array[0..(MAX_DEFAULTCHAR)-1] of BYTE;
LeadByte : array[0..(MAX_LEADBYTES)-1] of BYTE;
end;
LPCPINFO = ^CPINFO;
CPLINFO = record
idIcon : longint;
idName : longint;
idInfo : longint;
lData : LONG;
end;
CREATE_PROCESS_DEBUG_INFO = record
hFile : HANDLE;
hProcess : HANDLE;
hThread : HANDLE;
lpBaseOfImage : LPVOID;
dwDebugInfoFileOffset : DWORD;
nDebugInfoSize : DWORD;
lpThreadLocalBase : LPVOID;
lpStartAddress : LPTHREAD_START_ROUTINE;
lpImageName : LPVOID;
fUnicode : WORD;
end;
CREATE_THREAD_DEBUG_INFO = record
hThread : HANDLE;
lpThreadLocalBase : LPVOID;
lpStartAddress : LPTHREAD_START_ROUTINE;
end;
{ TODO: sockets}
{typedef struct _SOCKET_ADDRESS {}
{ LPSOCKADDR lpSockaddr ;}
{ INT iSockaddrLength ;}
{} SOCKET_ADDRESS, *PSOCKET_ADDRESS, *LPSOCKET_ADDRESS;}
{typedef struct _CSADDR_INFO { }
{ SOCKET_ADDRESS LocalAddr; }
{ SOCKET_ADDRESS RemoteAddr; }
{ INT iSocketType; }
{ INT iProtocol; }
{} CSADDR_INFO; }
CURRENCYFMT = record
NumDigits : UINT;
LeadingZero : UINT;
Grouping : UINT;
lpDecimalSep : LPTSTR;
lpThousandSep : LPTSTR;
NegativeOrder : UINT;
PositiveOrder : UINT;
lpCurrencySymbol : LPTSTR;
end;
CURSORSHAPE = record
xHotSpot : longint;
yHotSpot : longint;
cx : longint;
cy : longint;
cbWidth : longint;
Planes : BYTE;
BitsPixel : BYTE;
end;
LPCURSORSHAPE = ^CURSORSHAPE;
CWPRETSTRUCT = record
lResult : LRESULT;
lParam : LPARAM;
wParam : WPARAM;
message : DWORD;
hwnd : HWND;
end;
CWPSTRUCT = record
lParam : LPARAM;
wParam : WPARAM;
message : UINT;
hwnd : HWND;
end;
DATATYPES_INFO_1 = record
pName : LPTSTR;
end;
DDEML_MSG_HOOK_DATA = record
uiLo : UINT;
uiHi : UINT;
cbData : DWORD;
Data : array[0..(8)-1] of DWORD;
end;
EXCEPTION_RECORD = record
ExceptionCode : DWORD;
ExceptionFlags : DWORD;
ExceptionRecord : ^*;
ExceptionAddress : PVOID;
NumberParameters : DWORD;
ExceptionInformation : array[0..(EXCEPTION_MAXIMUM_PARAMETERS)-1] of DWORD;
end;
PEXCEPTION_RECORD = ^EXCEPTION_RECORD;
LPEXCEPTION_RECORD = ^EXCEPTION_RECORD;
EXCEPTION_DEBUG_INFO = record
ExceptionRecord : EXCEPTION_RECORD;
dwFirstChance : DWORD;
end;
EXIT_PROCESS_DEBUG_INFO = record
dwExitCode : DWORD;
end;
EXIT_THREAD_DEBUG_INFO = record
dwExitCode : DWORD;
end;
LOAD_DLL_DEBUG_INFO = record
hFile : HANDLE;
lpBaseOfDll : LPVOID;
dwDebugInfoFileOffset : DWORD;
nDebugInfoSize : DWORD;
lpImageName : LPVOID;
fUnicode : WORD;
end;
UNLOAD_DLL_DEBUG_INFO = record
lpBaseOfDll : LPVOID;
end;
OUTPUT_DEBUG_STRING_INFO = record
lpDebugStringData : LPSTR;
fUnicode : WORD;
nDebugStringLength : WORD;
end;
RIP_INFO = record
dwError : DWORD;
dwType : DWORD;
end;
DEBUG_EVENT = record
dwDebugEventCode : DWORD;
dwProcessId : DWORD;
dwThreadId : DWORD;
u : record
case longint of
0 : ( Exception:EXCEPTION_DEBUG_INFO );
1 : ( CreateThread:CREATE_THREAD_DEBUG_INFO );
2 : ( CreateProcessInfo:CREATE_PROCESS_DEBUG_INFO );
3 : ( ExitThread:EXIT_THREAD_DEBUG_INFO );
4 : ( ExitProcess:EXIT_PROCESS_DEBUG_INFO );
5 : ( LoadDll:LOAD_DLL_DEBUG_INFO );
6 : ( UnloadDll:UNLOAD_DLL_DEBUG_INFO );
7 : ( DebugString:OUTPUT_DEBUG_STRING_INFO );
8 : ( RipInfo:RIP_INFO );
end;
end;
LPDEBUG_EVENT = ^DEBUG_EVENT;
DEBUGHOOKINFO = record
idThread : DWORD;
idThreadInstaller : DWORD;
lParam : LPARAM;
wParam : WPARAM;
code : longint;
end;
DELETEITEMSTRUCT = record
CtlType : UINT;
CtlID : UINT;
itemID : UINT;
hwndItem : HWND;
itemData : UINT;
end;
DEV_BROADCAST_HDR = record
dbch_size : ULONG;
dbch_devicetype : ULONG;
dbch_reserved : ULONG;
end;
PDEV_BROADCAST_HDR = ^DEV_BROADCAST_HDR;
DEV_BROADCAST_OEM = record
dbco_size : ULONG;
dbco_devicetype : ULONG;
dbco_reserved : ULONG;
dbco_identifier : ULONG;
dbco_suppfunc : ULONG;
end;
PDEV_BROADCAST_OEM = ^DEV_BROADCAST_OEM;
DEV_BROADCAST_PORT = record
dbcp_size : ULONG;
dbcp_devicetype : ULONG;
dbcp_reserved : ULONG;
dbcp_name : array[0..(1)-1] of char;
end;
PDEV_BROADCAST_PORT = ^DEV_BROADCAST_PORT;
DEV_BROADCAST_USERDEFINED = record
dbud_dbh : _DEV_BROADCAST_HDR;
dbud_szName : array[0..(1)-1] of char;
dbud_rgbUserDefined : array[0..(1)-1] of BYTE;
end;
DEV_BROADCAST_VOLUME = record
dbcv_size : ULONG;
dbcv_devicetype : ULONG;
dbcv_reserved : ULONG;
dbcv_unitmask : ULONG;
dbcv_flags : USHORT;
end;
PDEV_BROADCAST_VOLUME = ^DEV_BROADCAST_VOLUME;
DEVMODE = record
dmDeviceName : array[0..(CCHDEVICENAME)-1] of BCHAR;
dmSpecVersion : WORD;
dmDriverVersion : WORD;
dmSize : WORD;
dmDriverExtra : WORD;
dmFields : DWORD;
dmOrientation : integer;
dmPaperSize : integer;
dmPaperLength : integer;
dmPaperWidth : integer;
dmScale : integer;
dmCopies : integer;
dmDefaultSource : integer;
dmPrintQuality : integer;
dmColor : integer;
dmDuplex : integer;
dmYResolution : integer;
dmTTOption : integer;
dmCollate : integer;
dmFormName : array[0..(CCHFORMNAME)-1] of BCHAR;
dmLogPixels : WORD;
dmBitsPerPel : DWORD;
dmPelsWidth : DWORD;
dmPelsHeight : DWORD;
dmDisplayFlags : DWORD;
dmDisplayFrequency : DWORD;
dmICMMethod : DWORD;
dmICMIntent : DWORD;
dmMediaType : DWORD;
dmDitherType : DWORD;
dmICCManufacturer : DWORD;
dmICCModel : DWORD;
end;
LPDEVMODE = ^DEVMODE;
DEVNAMES = record
wDriverOffset : WORD;
wDeviceOffset : WORD;
wOutputOffset : WORD;
wDefault : WORD;
end;
LPDEVNAMES = ^DEVNAMES;
DIBSECTION = record
dsBm : BITMAP;
dsBmih : BITMAPINFOHEADER;
dsBitfields : array[0..(3)-1] of DWORD;
dshSection : HANDLE;
dsOffset : DWORD;
end;
LARGE_INTEGER = record
LowPart : DWORD;
HighPart : LONG;
end;
PLARGE_INTEGER = ^LARGE_INTEGER;
DISK_GEOMETRY = record
Cylinders : LARGE_INTEGER;
MediaType : MEDIA_TYPE;
TracksPerCylinder : DWORD;
SectorsPerTrack : DWORD;
BytesPerSector : DWORD;
end;
DISK_PERFORMANCE = record
BytesRead : LARGE_INTEGER;
BytesWritten : LARGE_INTEGER;
ReadTime : LARGE_INTEGER;
WriteTime : LARGE_INTEGER;
ReadCount : DWORD;
WriteCount : DWORD;
QueueDepth : DWORD;
end;
DLGITEMTEMPLATE = record
style : DWORD;
dwExtendedStyle : DWORD;
x : integer;
y : integer;
cx : integer;
cy : integer;
id : WORD;
end;
DLGTEMPLATE = record
style : DWORD;
dwExtendedStyle : DWORD;
cdit : WORD;
x : integer;
y : integer;
cx : integer;
cy : integer;
end;
LPDLGTEMPLATE = ^DLGTEMPLATE;
LPCDLGTEMPLATE = ^DLGTEMPLATE;
DOC_INFO_1 = record
pDocName : LPTSTR;
pOutputFile : LPTSTR;
pDatatype : LPTSTR;
end;
DOC_INFO_2 = record
pDocName : LPTSTR;
pOutputFile : LPTSTR;
pDatatype : LPTSTR;
dwMode : DWORD;
JobId : DWORD;
end;
DOCINFO = record
cbSize : longint;
lpszDocName : LPCTSTR;
lpszOutput : LPCTSTR;
lpszDatatype : LPCTSTR;
fwType : DWORD;
end;
DRAGLISTINFO = record
uNotification : UINT;
hWnd : HWND;
ptCursor : POINT;
end;
LPDRAGLISTINFO = ^DRAGLISTINFO;
DRAWITEMSTRUCT = record
CtlType : UINT;
CtlID : UINT;
itemID : UINT;
itemAction : UINT;
itemState : UINT;
hwndItem : HWND;
hDC : HDC;
rcItem : RECT;
itemData : DWORD;
end;
DRAWTEXTPARAMS = record
cbSize : UINT;
iTabLength : longint;
iLeftMargin : longint;
iRightMargin : longint;
uiLengthDrawn : UINT;
end;
LPDRAWTEXTPARAMS = ^DRAWTEXTPARAMS;
PARTITION_INFORMATION = record
PartitionType : BYTE;
BootIndicator : BOOLEAN;
RecognizedPartition : BOOLEAN;
RewritePartition : BOOLEAN;
StartingOffset : LARGE_INTEGER;
PartitionLength : LARGE_INTEGER;
HiddenSectors : LARGE_INTEGER;
end;
DRIVE_LAYOUT_INFORMATION = record
PartitionCount : DWORD;
Signature : DWORD;
PartitionEntry : array[0..(1)-1] of PARTITION_INFORMATION;
end;
DRIVER_INFO_1 = record
pName : LPTSTR;
end;
DRIVER_INFO_2 = record
cVersion : DWORD;
pName : LPTSTR;
pEnvironment : LPTSTR;
pDriverPath : LPTSTR;
pDataFile : LPTSTR;
pConfigFile : LPTSTR;
end;
DRIVER_INFO_3 = record
cVersion : DWORD;
pName : LPTSTR;
pEnvironment : LPTSTR;
pDriverPath : LPTSTR;
pDataFile : LPTSTR;
pConfigFile : LPTSTR;
pHelpFile : LPTSTR;
pDependentFiles : LPTSTR;
pMonitorName : LPTSTR;
pDefaultDataType : LPTSTR;
end;
EDITSTREAM = record
dwCookie : DWORD;
dwError : DWORD;
pfnCallback : EDITSTREAMCALLBACK;
end;
EMR = record
iType : DWORD;
nSize : DWORD;
end;
PEMR = ^EMR;
EMRANGLEARC = record
emr : EMR;
ptlCenter : POINTL;
nRadius : DWORD;
eStartAngle : FLOAT;
eSweepAngle : FLOAT;
end;
PEMRANGLEARC = ^EMRANGLEARC;
EMRARC = record
emr : EMR;
rclBox : RECTL;
ptlStart : POINTL;
ptlEnd : POINTL;
end;
PEMRARC = ^EMRARC;
EMRARCTO = record
emr : EMR;
rclBox : RECTL;
ptlStart : POINTL;
ptlEnd : POINTL;
end;
PEMRARCTO = ^EMRARCTO;
EMRCHORD = record
emr : EMR;
rclBox : RECTL;
ptlStart : POINTL;
ptlEnd : POINTL;
end;
PEMRCHORD = ^EMRCHORD;
EMRPIE = record
emr : EMR;
rclBox : RECTL;
ptlStart : POINTL;
ptlEnd : POINTL;
end;
PEMRPIE = ^EMRPIE;
XFORM = record
eM11 : FLOAT;
eM12 : FLOAT;
eM21 : FLOAT;
eM22 : FLOAT;
eDx : FLOAT;
eDy : FLOAT;
end;
PXFORM = ^XFORM;
LPXFORM = ^XFORM;
EMRBITBLT = record
emr : EMR;
rclBounds : RECTL;
xDest : LONG;
yDest : LONG;
cxDest : LONG;
cyDest : LONG;
dwRop : DWORD;
xSrc : LONG;
ySrc : LONG;
xformSrc : XFORM;
crBkColorSrc : COLORREF;
iUsageSrc : DWORD;
offBmiSrc : DWORD;
offBitsSrc : DWORD;
cbBitsSrc : DWORD;
end;
PEMRBITBLT = ^EMRBITBLT;
LOGBRUSH = record
lbStyle : UINT;
lbColor : COLORREF;
lbHatch : LONG;
end;
EMRCREATEBRUSHINDIRECT = record
emr : EMR;
ihBrush : DWORD;
lb : LOGBRUSH;
end;
PEMRCREATEBRUSHINDIRECT = ^EMRCREATEBRUSHINDIRECT;
LCSCSTYPE = LONG;
LCSGAMUTMATCH = LONG;
LOGCOLORSPACE = record
lcsSignature : DWORD;
lcsVersion : DWORD;
lcsSize : DWORD;
lcsCSType : LCSCSTYPE;
lcsIntent : LCSGAMUTMATCH;
lcsEndpoints : CIEXYZTRIPLE;
lcsGammaRed : DWORD;
lcsGammaGreen : DWORD;
lcsGammaBlue : DWORD;
lcsFilename : array[0..(MAX_PATH)-1] of TCHAR;
end;
LPLOGCOLORSPACE = ^LOGCOLORSPACE;
EMRCREATECOLORSPACE = record
emr : EMR;
ihCS : DWORD;
lcs : LOGCOLORSPACE;
end;
PEMRCREATECOLORSPACE = ^EMRCREATECOLORSPACE;
EMRCREATEDIBPATTERNBRUSHPT = record
emr : EMR;
ihBrush : DWORD;
iUsage : DWORD;
offBmi : DWORD;
cbBmi : DWORD;
offBits : DWORD;
cbBits : DWORD;
end;
PEMRCREATEDIBPATTERNBRUSHPT = record
emr : EMR;
ihBrush : DWORD;
iUsage : DWORD;
offBmi : DWORD;
cbBmi : DWORD;
offBits : DWORD;
cbBits : DWORD;
end;
EMRCREATEMONOBRUSH = record
emr : EMR;
ihBrush : DWORD;
iUsage : DWORD;
offBmi : DWORD;
cbBmi : DWORD;
offBits : DWORD;
cbBits : DWORD;
end;
PEMRCREATEMONOBRUSH = ^EMRCREATEMONOBRUSH;
PALETTEENTRY = record
peRed : BYTE;
peGreen : BYTE;
peBlue : BYTE;
peFlags : BYTE;
end;
LPPALETTEENTRY = ^PALETTEENTRY;
LOGPALETTE = record
palVersion : WORD;
palNumEntries : WORD;
palPalEntry : array[0..(1)-1] of PALETTEENTRY;
end;
EMRCREATEPALETTE = record
emr : EMR;
ihPal : DWORD;
lgpl : LOGPALETTE;
end;
PEMRCREATEPALETTE = ^EMRCREATEPALETTE;
LOGPEN = record
lopnStyle : UINT;
lopnWidth : POINT;
lopnColor : COLORREF;
end;
EMRCREATEPEN = record
emr : EMR;
ihPen : DWORD;
lopn : LOGPEN;
end;
PEMRCREATEPEN = ^EMRCREATEPEN;
EMRELLIPSE = record
emr : EMR;
rclBox : RECTL;
end;
PEMRELLIPSE = ^EMRELLIPSE;
EMRRECTANGLE = record
emr : EMR;
rclBox : RECTL;
end;
PEMRRECTANGLE = ^EMRRECTANGLE;
EMREOF = record
emr : EMR;
nPalEntries : DWORD;
offPalEntries : DWORD;
nSizeLast : DWORD;
end;
PEMREOF = ^EMREOF;
EMREXCLUDECLIPRECT = record
emr : EMR;
rclClip : RECTL;
end;
PEMREXCLUDECLIPRECT = ^EMREXCLUDECLIPRECT;
EMRINTERSECTCLIPRECT = record
emr : EMR;
rclClip : RECTL;
end;
PEMRINTERSECTCLIPRECT = ^EMRINTERSECTCLIPRECT;
PANOSE = record
bFamilyType : BYTE;
bSerifStyle : BYTE;
bWeight : BYTE;
bProportion : BYTE;
bContrast : BYTE;
bStrokeVariation : BYTE;
bArmStyle : BYTE;
bLetterform : BYTE;
bMidline : BYTE;
bXHeight : BYTE;
end;
EXTLOGFONT = record
elfLogFont : LOGFONT;
elfFullName : array[0..(LF_FULLFACESIZE)-1] of BCHAR;
elfStyle : array[0..(LF_FACESIZE)-1] of BCHAR;
elfVersion : DWORD;
elfStyleSize : DWORD;
elfMatch : DWORD;
elfReserved : DWORD;
elfVendorId : array[0..(ELF_VENDOR_SIZE)-1] of BYTE;
elfCulture : DWORD;
elfPanose : PANOSE;
end;
EMREXTCREATEFONTINDIRECTW = record
emr : EMR;
ihFont : DWORD;
elfw : EXTLOGFONT;
end;
PEMREXTCREATEFONTINDIRECTW = record
emr : EMR;
ihFont : DWORD;
elfw : EXTLOGFONT;
end;
EXTLOGPEN = record
elpPenStyle : UINT;
elpWidth : UINT;
elpBrushStyle : UINT;
elpColor : COLORREF;
elpHatch : LONG;
elpNumEntries : DWORD;
elpStyleEntry : array[0..(1)-1] of DWORD;
end;
EMREXTCREATEPEN = record
emr : EMR;
ihPen : DWORD;
offBmi : DWORD;
cbBmi : DWORD;
offBits : DWORD;
cbBits : DWORD;
elp : EXTLOGPEN;
end;
PEMREXTCREATEPEN = ^EMREXTCREATEPEN;
EMREXTFLOODFILL = record
emr : EMR;
ptlStart : POINTL;
crColor : COLORREF;
iMode : DWORD;
end;
PEMREXTFLOODFILL = ^EMREXTFLOODFILL;
EMREXTSELECTCLIPRGN = record
emr : EMR;
cbRgnData : DWORD;
iMode : DWORD;
RgnData : array[0..(1)-1] of BYTE;
end;
PEMREXTSELECTCLIPRGN = ^EMREXTSELECTCLIPRGN;
EMRTEXT = record
ptlReference : POINTL;
nChars : DWORD;
offString : DWORD;
fOptions : DWORD;
rcl : RECTL;
offDx : DWORD;
end;
PEMRTEXT = ^EMRTEXT;
EMREXTTEXTOUTA = record
emr : EMR;
rclBounds : RECTL;
iGraphicsMode : DWORD;
exScale : FLOAT;
eyScale : FLOAT;
emrtext : EMRTEXT;
end;
PEMREXTTEXTOUTA = ^EMREXTTEXTOUTA;
EMREXTTEXTOUTW = record
emr : EMR;
rclBounds : RECTL;
iGraphicsMode : DWORD;
exScale : FLOAT;
eyScale : FLOAT;
emrtext : EMRTEXT;
end;
PEMREXTTEXTOUTW = ^EMREXTTEXTOUTW;
EMRFILLPATH = record
emr : EMR;
rclBounds : RECTL;
end;
PEMRFILLPATH = ^EMRFILLPATH;
EMRSTROKEANDFILLPATH = record
emr : EMR;
rclBounds : RECTL;
end;
PEMRSTROKEANDFILLPATH = ^EMRSTROKEANDFILLPATH;
EMRSTROKEPATH = record
emr : EMR;
rclBounds : RECTL;
end;
PEMRSTROKEPATH = ^EMRSTROKEPATH;
EMRFILLRGN = record
emr : EMR;
rclBounds : RECTL;
cbRgnData : DWORD;
ihBrush : DWORD;
RgnData : array[0..(1)-1] of BYTE;
end;
PEMRFILLRGN = ^EMRFILLRGN;
EMRFORMAT = record
dSignature : DWORD;
nVersion : DWORD;
cbData : DWORD;
offData : DWORD;
end;
SIZE = record
cx : LONG;
cy : LONG;
end;
PSIZE = ^SIZE;
LPSIZE = ^SIZE;
SIZEL = record
cx : LONG;
cy : LONG;
end;
PSIZEL = ^SIZEL;
LPSIZEL = ^SIZEL;
EMRFRAMERGN = record
emr : EMR;
rclBounds : RECTL;
cbRgnData : DWORD;
ihBrush : DWORD;
szlStroke : SIZEL;
RgnData : array[0..0] of BYTE;
end;
PEMRFRAMERGN = ^EMRFRAMERGN;
EMRGDICOMMENT = record
emr : EMR;
cbData : DWORD;
Data : array[0..0] of BYTE;
end;
PEMRGDICOMMENT = ^EMRGDICOMMENT;
EMRINVERTRGN = record
emr : EMR;
rclBounds : RECTL;
cbRgnData : DWORD;
RgnData : array[0..(1)-1] of BYTE;
end;
PEMRINVERTRGN = ^EMRINVERTRGN;
EMRPAINTRGN = record
emr : EMR;
rclBounds : RECTL;
cbRgnData : DWORD;
RgnData : array[0..(1)-1] of BYTE;
end;
PEMRPAINTRGN = ^EMRPAINTRGN;
EMRLINETO = record
emr : EMR;
ptl : POINTL;
end;
PEMRLINETO = ^EMRLINETO;
EMRMOVETOEX = record
emr : EMR;
ptl : POINTL;
end;
PEMRMOVETOEX = ^EMRMOVETOEX;
EMRMASKBLT = record
emr : EMR;
rclBounds : RECTL;
xDest : LONG;
yDest : LONG;
cxDest : LONG;
cyDest : LONG;
dwRop : DWORD;
xSrc : LONG;
ySrc : LONG;
xformSrc : XFORM;
crBkColorSrc : COLORREF;
iUsageSrc : DWORD;
offBmiSrc : DWORD;
cbBmiSrc : DWORD;
offBitsSrc : DWORD;
cbBitsSrc : DWORD;
xMask : LONG;
yMask : LONG;
iUsageMask : DWORD;
offBmiMask : DWORD;
cbBmiMask : DWORD;
offBitsMask : DWORD;
cbBitsMask : DWORD;
end;
PEMRMASKBLT = ^EMRMASKBLT;
EMRMODIFYWORLDTRANSFORM = record
emr : EMR;
xform : XFORM;
iMode : DWORD;
end;
PEMRMODIFYWORLDTRANSFORM = ^EMRMODIFYWORLDTRANSFORM;
EMROFFSETCLIPRGN = record
emr : EMR;
ptlOffset : POINTL;
end;
PEMROFFSETCLIPRGN = ^EMROFFSETCLIPRGN;
EMRPLGBLT = record
emr : EMR;
rclBounds : RECTL;
aptlDest : array[0..2] of POINTL;
xSrc : LONG;
ySrc : LONG;
cxSrc : LONG;
cySrc : LONG;
xformSrc : XFORM;
crBkColorSrc : COLORREF;
iUsageSrc : DWORD;
offBmiSrc : DWORD;
cbBmiSrc : DWORD;
offBitsSrc : DWORD;
cbBitsSrc : DWORD;
xMask : LONG;
yMask : LONG;
iUsageMask : DWORD;
offBmiMask : DWORD;
cbBmiMask : DWORD;
offBitsMask : DWORD;
cbBitsMask : DWORD;
end;
PEMRPLGBLT = ^EMRPLGBLT;
EMRPOLYDRAW = record
emr : EMR;
rclBounds : RECTL;
cptl : DWORD;
aptl : array[0..0] of POINTL;
abTypes : array[0..0] of BYTE;
end;
PEMRPOLYDRAW = ^EMRPOLYDRAW;
EMRPOLYDRAW16 = record
emr : EMR;
rclBounds : RECTL;
cpts : DWORD;
apts : array[0..0] of POINTS;
abTypes : array[0..0] of BYTE;
end;
PEMRPOLYDRAW16 = ^EMRPOLYDRAW16;
EMRPOLYLINE = record
emr : EMR;
rclBounds : RECTL;
cptl : DWORD;
aptl : array[0..0] of POINTL;
end;
PEMRPOLYLINE = ^EMRPOLYLINE;
EMRPOLYBEZIER = record
emr : EMR;
rclBounds : RECTL;
cptl : DWORD;
aptl : array[0..0] of POINTL;
end;
PEMRPOLYBEZIER = ^EMRPOLYBEZIER;
EMRPOLYGON = record
emr : EMR;
rclBounds : RECTL;
cptl : DWORD;
aptl : array[0..0] of POINTL;
end;
PEMRPOLYGON = ^EMRPOLYGON;
EMRPOLYBEZIERTO = record
emr : EMR;
rclBounds : RECTL;
cptl : DWORD;
aptl : array[0..0] of POINTL;
end;
PEMRPOLYBEZIERTO = ^EMRPOLYBEZIERTO;
EMRPOLYLINETO = record
emr : EMR;
rclBounds : RECTL;
cptl : DWORD;
aptl : array[0..0] of POINTL;
end;
PEMRPOLYLINETO = ^EMRPOLYLINETO;
EMRPOLYLINE16 = record
emr : EMR;
rclBounds : RECTL;
cpts : DWORD;
apts : array[0..0] of POINTL;
end;
PEMRPOLYLINE16 = ^EMRPOLYLINE16;
EMRPOLYBEZIER16 = record
emr : EMR;
rclBounds : RECTL;
cpts : DWORD;
apts : array[0..0] of POINTL;
end;
PEMRPOLYBEZIER16 = ^EMRPOLYBEZIER16;
EMRPOLYGON16 = record
emr : EMR;
rclBounds : RECTL;
cpts : DWORD;
apts : array[0..0] of POINTL;
end;
PEMRPOLYGON16 = ^EMRPOLYGON16;
EMRPOLYBEZIERTO16 = record
emr : EMR;
rclBounds : RECTL;
cpts : DWORD;
apts : array[0..0] of POINTL;
end;
PEMRPOLYBEZIERTO16 = ^EMRPOLYBEZIERTO16;
EMRPOLYLINETO16 = record
emr : EMR;
rclBounds : RECTL;
cpts : DWORD;
apts : array[0..0] of POINTL;
end;
PEMRPOLYLINETO16 = ^EMRPOLYLINETO16;
EMRPOLYPOLYLINE = record
emr : EMR;
rclBounds : RECTL;
nPolys : DWORD;
cptl : DWORD;
aPolyCounts : array[0..0] of DWORD;
aptl : array[0..0] of POINTL;
end;
PEMRPOLYPOLYLINE = ^EMRPOLYPOLYLINE;
EMRPOLYPOLYGON = record
emr : EMR;
rclBounds : RECTL;
nPolys : DWORD;
cptl : DWORD;
aPolyCounts : array[0..(1)-1] of DWORD;
aptl : array[0..(1)-1] of POINTL;
end;
PEMRPOLYPOLYGON = ^EMRPOLYPOLYGON;
EMRPOLYPOLYLINE16 = record
emr : EMR;
rclBounds : RECTL;
nPolys : DWORD;
cpts : DWORD;
aPolyCounts : array[0..(1)-1] of DWORD;
apts : array[0..(1)-1] of POINTS;
end;
PEMRPOLYPOLYLINE16 = ^EMRPOLYPOLYLINE16;
EMRPOLYPOLYGON16 = record
emr : EMR;
rclBounds : RECTL;
nPolys : DWORD;
cpts : DWORD;
aPolyCounts : array[0..(1)-1] of DWORD;
apts : array[0..(1)-1] of POINTS;
end;
PEMRPOLYPOLYGON16 = ^EMRPOLYPOLYGON16;
EMRPOLYTEXTOUTA = record
emr : EMR;
rclBounds : RECTL;
iGraphicsMode : DWORD;
exScale : FLOAT;
eyScale : FLOAT;
cStrings : LONG;
aemrtext : array[0..(1)-1] of EMRTEXT;
end;
PEMRPOLYTEXTOUTA = ^EMRPOLYTEXTOUTA;
EMRPOLYTEXTOUTW = record
emr : EMR;
rclBounds : RECTL;
iGraphicsMode : DWORD;
exScale : FLOAT;
eyScale : FLOAT;
cStrings : LONG;
aemrtext : array[0..(1)-1] of EMRTEXT;
end;
PEMRPOLYTEXTOUTW = ^EMRPOLYTEXTOUTW;
EMRRESIZEPALETTE = record
emr : EMR;
ihPal : DWORD;
cEntries : DWORD;
end;
PEMRRESIZEPALETTE = ^EMRRESIZEPALETTE;
EMRRESTOREDC = record
emr : EMR;
iRelative : LONG;
end;
PEMRRESTOREDC = ^EMRRESTOREDC;
EMRROUNDRECT = record
emr : EMR;
rclBox : RECTL;
szlCorner : SIZEL;
end;
PEMRROUNDRECT = ^EMRROUNDRECT;
EMRSCALEVIEWPORTEXTEX = record
emr : EMR;
xNum : LONG;
xDenom : LONG;
yNum : LONG;
yDenom : LONG;
end;
PEMRSCALEVIEWPORTEXTEX = ^EMRSCALEVIEWPORTEXTEX;
EMRSCALEWINDOWEXTEX = record
emr : EMR;
xNum : LONG;
xDenom : LONG;
yNum : LONG;
yDenom : LONG;
end;
PEMRSCALEWINDOWEXTEX = ^EMRSCALEWINDOWEXTEX;
EMRSELECTCOLORSPACE = record
emr : EMR;
ihCS : DWORD;
end;
PEMRSELECTCOLORSPACE = ^EMRSELECTCOLORSPACE;
EMRDELETECOLORSPACE = record
emr : EMR;
ihCS : DWORD;
end;
PEMRDELETECOLORSPACE = ^EMRDELETECOLORSPACE;
EMRSELECTOBJECT = record
emr : EMR;
ihObject : DWORD;
end;
PEMRSELECTOBJECT = ^EMRSELECTOBJECT;
EMRDELETEOBJECT = record
emr : EMR;
ihObject : DWORD;
end;
PEMRDELETEOBJECT = ^EMRDELETEOBJECT;
EMRSELECTPALETTE = record
emr : EMR;
ihPal : DWORD;
end;
PEMRSELECTPALETTE = ^EMRSELECTPALETTE;
EMRSETARCDIRECTION = record
emr : EMR;
iArcDirection : DWORD;
end;
PEMRSETARCDIRECTION = ^EMRSETARCDIRECTION;
emr : EMR;
iArcDirection : DWORD;
end;
EMRSETBKCOLOR = record
emr : EMR;
crColor : COLORREF;
end;
PEMRSETBKCOLOR = ^EMRSETBKCOLOR;
EMRSETTEXTCOLOR = record
emr : EMR;
crColor : COLORREF;
end;
PEMRSETTEXTCOLOR = ^EMRSETTEXTCOLOR;
EMRSETCOLORADJUSTMENT = record
emr : EMR;
ColorAdjustment : COLORADJUSTMENT;
end;
PEMRSETCOLORADJUSTMENT = ^EMRSETCOLORADJUSTMENT;
EMRSETDIBITSTODEVICE = record
emr : EMR;
rclBounds : RECTL;
xDest : LONG;
yDest : LONG;
xSrc : LONG;
ySrc : LONG;
cxSrc : LONG;
cySrc : LONG;
offBmiSrc : DWORD;
cbBmiSrc : DWORD;
offBitsSrc : DWORD;
cbBitsSrc : DWORD;
iUsageSrc : DWORD;
iStartScan : DWORD;
cScans : DWORD;
end;
PEMRSETDIBITSTODEVICE = ^EMRSETDIBITSTODEVICE;
EMRSETMAPPERFLAGS = record
emr : EMR;
dwFlags : DWORD;
end;
PEMRSETMAPPERFLAGS = ^EMRSETMAPPERFLAGS;
EMRSETMITERLIMIT = record
emr : EMR;
eMiterLimit : FLOAT;
end;
PEMRSETMITERLIMIT = ^EMRSETMITERLIMIT;
EMRSETPALETTEENTRIES = record
emr : EMR;
ihPal : DWORD;
iStart : DWORD;
cEntries : DWORD;
aPalEntries : array[0..0] of PALETTEENTRY;
end;
PEMRSETPALETTEENTRIES = ^EMRSETPALETTEENTRIES;
EMRSETPIXELV = record
emr : EMR;
ptlPixel : POINTL;
crColor : COLORREF;
end;
PEMRSETPIXELV = ^record
emr : EMR;
ptlPixel : POINTL;
crColor : COLORREF;
end;
EMRSETVIEWPORTEXTEX = record
emr : EMR;
szlExtent : SIZEL;
end;
PEMRSETVIEWPORTEXTEX = ^EMRSETVIEWPORTEXTEX;
EMRSETWINDOWEXTEX = record
emr : EMR;
szlExtent : SIZEL;
end;
PEMRSETWINDOWEXTEX = ^EMRSETWINDOWEXTEX;
EMRSETVIEWPORTORGEX = record
emr : EMR;
ptlOrigin : POINTL;
end;
PEMRSETVIEWPORTORGEX = ^EMRSETVIEWPORTORGEX;
EMRSETWINDOWORGEX = record
emr : EMR;
ptlOrigin : POINTL;
end;
PEMRSETWINDOWORGEX = ^EMRSETWINDOWORGEX;
EMRSETBRUSHORGEX = record
emr : EMR;
ptlOrigin : POINTL;
end;
PEMRSETBRUSHORGEX = ^EMRSETBRUSHORGEX;
EMRSETWORLDTRANSFORM = record
emr : EMR;
xform : XFORM;
end;
PEMRSETWORLDTRANSFORM = ^EMRSETWORLDTRANSFORM;
EMRSTRETCHBLT = record
emr : EMR;
rclBounds : RECTL;
xDest : LONG;
yDest : LONG;
cxDest : LONG;
cyDest : LONG;
dwRop : DWORD;
xSrc : LONG;
ySrc : LONG;
xformSrc : XFORM;
crBkColorSrc : COLORREF;
iUsageSrc : DWORD;
offBmiSrc : DWORD;
cbBmiSrc : DWORD;
offBitsSrc : DWORD;
cbBitsSrc : DWORD;
cxSrc : LONG;
cySrc : LONG;
end;
PEMRSTRETCHBLT = ^EMRSTRETCHBLT;
EMRSTRETCHDIBITS = record
emr : EMR;
rclBounds : RECTL;
xDest : LONG;
yDest : LONG;
xSrc : LONG;
ySrc : LONG;
cxSrc : LONG;
cySrc : LONG;
offBmiSrc : DWORD;
cbBmiSrc : DWORD;
offBitsSrc : DWORD;
cbBitsSrc : DWORD;
iUsageSrc : DWORD;
dwRop : DWORD;
cxDest : LONG;
cyDest : LONG;
end;
PEMRSTRETCHDIBITS = ^EMRSTRETCHDIBITS;
EMRABORTPATH = record
emr : EMR;
end;
PEMRABORTPATH = ^EMRABORTPATH;
EMRBEGINPATH = record
emr : EMR;
end;
PEMRBEGINPATH = ^EMRBEGINPATH;
EMRENDPATH = record
emr : EMR;
end;
PEMRENDPATH = ^EMRENDPATH;
EMRCLOSEFIGURE = record
emr : EMR;
end;
PEMRCLOSEFIGURE = ^EMRCLOSEFIGURE;
EMRFLATTENPATH = record
emr : EMR;
end;
PEMRFLATTENPATH = ^EMRFLATTENPATH;
EMRWIDENPATH = record
emr : EMR;
end;
PEMRWIDENPATH = ^EMRWIDENPATH;
EMRSETMETARGN = record
emr : EMR;
end;
PEMRSETMETARGN = ^EMRSETMETARGN;
EMRSAVEDC = record
emr : EMR;
end;
PEMRSAVEDC = ^EMRSAVEDC;
EMRREALIZEPALETTE = record
emr : EMR;
end;
PEMRREALIZEPALETTE = ^EMRREALIZEPALETTE;
EMRSELECTCLIPPATH = record
emr : EMR;
iMode : DWORD;
end;
PEMRSELECTCLIPPATH = ^EMRSELECTCLIPPATH;
EMRSETBKMODE = record
emr : EMR;
iMode : DWORD;
end;
PEMRSETBKMODE = ^EMRSETBKMODE;
EMRSETMAPMODE = record
emr : EMR;
iMode : DWORD;
end;
PEMRSETMAPMODE = ^EMRSETMAPMODE;
EMRSETPOLYFILLMODE = record
emr : EMR;
iMode : DWORD;
end;
PEMRSETPOLYFILLMODE = ^EMRSETPOLYFILLMODE;
EMRSETROP2 = record
emr : EMR;
iMode : DWORD;
end;
PEMRSETROP2 = ^EMRSETROP2;
EMRSETSTRETCHBLTMODE = record
emr : EMR;
iMode : DWORD;
end;
PEMRSETSTRETCHBLTMODE = ^EMRSETSTRETCHBLTMODE;
EMRSETTEXTALIGN = record
emr : EMR;
iMode : DWORD;
end;
PEMRSETTEXTALIGN = ^EMRSETTEXTALIGN;
EMRENABLEICM = record
emr : EMR;
iMode : DWORD;
end;
PEMRENABLEICM = ^EMRENABLEICM;
NMHDR = record
hwndFrom : HWND;
idFrom : UINT;
code : UINT;
end;
ENCORRECTTEXT = record
nmhdr : NMHDR;
chrg : CHARRANGE;
seltyp : WORD;
end;
ENDROPFILES = record
nmhdr : NMHDR;
hDrop : HANDLE;
cp : LONG;
fProtected : WINBOOL;
end;
ENSAVECLIPBOARD = record
nmhdr : NMHDR;
cObjectCount : LONG;
cch : LONG;
end;
ENOLEOPFAILED = record
nmhdr : NMHDR;
iob : LONG;
lOper : LONG;
hr : HRESULT;
end;
ENHMETAHEADER = record
iType : DWORD;
nSize : DWORD;
rclBounds : RECTL;
rclFrame : RECTL;
dSignature : DWORD;
nVersion : DWORD;
nBytes : DWORD;
nRecords : DWORD;
nHandles : WORD;
sReserved : WORD;
nDescription : DWORD;
offDescription : DWORD;
nPalEntries : DWORD;
szlDevice : SIZEL;
szlMillimeters : SIZEL;
end;
LPENHMETAHEADER = ^ENHMETAHEADER;
ENHMETARECORD = record
iType : DWORD;
nSize : DWORD;
dParm : array[0..0] of DWORD;
end;
ENPROTECTED = record
nmhdr : NMHDR;
msg : UINT;
wParam : WPARAM;
lParam : LPARAM;
chrg : CHARRANGE;
end;
SERVICE_STATUS = record
dwServiceType : DWORD;
dwCurrentState : DWORD;
dwControlsAccepted : DWORD;
dwWin32ExitCode : DWORD;
dwServiceSpecificExitCode : DWORD;
dwCheckPoint : DWORD;
dwWaitHint : DWORD;
end;
LPSERVICE_STATUS = ^SERVICE_STATUS;
ENUM_SERVICE_STATUS = record
lpServiceName : LPTSTR;
lpDisplayName : LPTSTR;
ServiceStatus : SERVICE_STATUS;
end;
LPENUM_SERVICE_STATUS = ^ENUM_SERVICE_STATUS;
ENUMLOGFONT = record
elfLogFont : LOGFONT;
elfFullName : array[0..(LF_FULLFACESIZE)-1] of BCHAR;
elfStyle : array[0..(LF_FACESIZE)-1] of BCHAR;
end;
ENUMLOGFONTEX = record
elfLogFont : LOGFONT;
elfFullName : array[0..(LF_FULLFACESIZE)-1] of BCHAR;
elfStyle : array[0..(LF_FACESIZE)-1] of BCHAR;
elfScript : array[0..(LF_FACESIZE)-1] of BCHAR;
end;
{ }
{ Then follow:}
{ }
{ TCHAR SourceName[] }
{ TCHAR Computername[] }
{ SID UserSid }
{ TCHAR Strings[] }
{ BYTE Data[] }
{ CHAR Pad[] }
{ DWORD Length; }
{ }
EVENTLOGRECORD = record
Length : DWORD;
Reserved : DWORD;
RecordNumber : DWORD;
TimeGenerated : DWORD;
TimeWritten : DWORD;
EventID : DWORD;
EventType : WORD;
NumStrings : WORD;
EventCategory : WORD;
ReservedFlags : WORD;
ClosingRecordNumber : DWORD;
StringOffset : DWORD;
UserSidLength : DWORD;
UserSidOffset : DWORD;
DataLength : DWORD;
DataOffset : DWORD;
end;
EVENTMSG = record
message : UINT;
paramL : UINT;
paramH : UINT;
time : DWORD;
hwnd : HWND;
end;
EXCEPTION_POINTERS = record
ExceptionRecord : PEXCEPTION_RECORD;
ContextRecord : PCONTEXT;
end;
PEXCEPTION_POINTERS = ^EXCEPTION_POINTERS;
LPEXCEPTION_POINTERS = ^EXCEPTION_POINTERS;
EXT_BUTTON = record
idCommand : WORD;
idsHelp : WORD;
fsStyle : WORD;
end;
LPEXT_BUTTON = ^EXT_BUTTON;
FILTERKEYS = record
cbSize : UINT;
dwFlags : DWORD;
iWaitMSec : DWORD;
iDelayMSec : DWORD;
iRepeatMSec : DWORD;
iBounceMSec : DWORD;
end;
FIND_NAME_BUFFER = record
length : UCHAR;
access_control : UCHAR;
frame_control : UCHAR;
destination_addr : array[0..5] of UCHAR;
source_addr : array[0..5] of UCHAR;
routing_info : array[0..17] of UCHAR;
end;
FIND_NAME_HEADER = record
node_count : WORD;
reserved : UCHAR;
unique_group : UCHAR;
end;
FINDREPLACE = record
lStructSize : DWORD;
hwndOwner : HWND;
hInstance : HINSTANCE;
Flags : DWORD;
lpstrFindWhat : LPTSTR;
lpstrReplaceWith : LPTSTR;
wFindWhatLen : WORD;
wReplaceWithLen : WORD;
lCustData : LPARAM;
lpfnHook : LPFRHOOKPROC;
lpTemplateName : LPCTSTR;
end;
LPFINDREPLACE = ^FINDREPLACE;
FINDTEXT = record
chrg : CHARRANGE;
lpstrText : LPSTR;
end;
FINDTEXTEX = record
chrg : CHARRANGE;
lpstrText : LPSTR;
chrgText : CHARRANGE;
end;
FMS_GETDRIVEINFO = record
dwTotalSpace : DWORD;
dwFreeSpace : DWORD;
szPath : array[0..(260)-1] of TCHAR;
szVolume : array[0..(14)-1] of TCHAR;
szShare : array[0..(128)-1] of TCHAR;
end;
FMS_GETFILESEL = record
ftTime : FILETIME;
dwSize : DWORD;
bAttr : BYTE;
szName : array[0..(260)-1] of TCHAR;
end;
FMS_LOAD = record
dwSize : DWORD;
szMenuName : array[0..(MENU_TEXT_LEN)-1] of TCHAR;
hMenu : HMENU;
wMenuDelta : UINT;
end;
FMS_TOOLBARLOAD = record
dwSize : DWORD;
lpButtons : LPEXT_BUTTON;
cButtons : WORD;
cBitmaps : WORD;
idBitmap : WORD;
hBitmap : HBITMAP;
end;
FOCUS_EVENT_RECORD = record
bSetFocus : WINBOOL;
end;
FORM_INFO_1 = record
Flags : DWORD;
pName : LPTSTR;
Size : SIZEL;
ImageableArea : RECTL;
end;
FORMAT_PARAMETERS = record
MediaType : MEDIA_TYPE;
StartCylinderNumber : DWORD;
EndCylinderNumber : DWORD;
StartHeadNumber : DWORD;
EndHeadNumber : DWORD;
end;
FORMATRANGE = record
hdc : HDC;
hdcTarget : HDC;
rc : RECT;
rcPage : RECT;
chrg : CHARRANGE;
end;
GCP_RESULTS = record
lStructSize : DWORD;
lpOutString : LPTSTR;
lpOrder : ^UINT;
lpDx : ^INT;
lpCaretPos : ^INT;
lpClass : LPTSTR;
lpGlyphs : ^UINT;
nGlyphs : UINT;
nMaxFit : UINT;
end;
LPGCP_RESULTS = ^GCP_RESULTS;
GENERIC_MAPPING = record
GenericRead : ACCESS_MASK;
GenericWrite : ACCESS_MASK;
GenericExecute : ACCESS_MASK;
GenericAll : ACCESS_MASK;
end;
PGENERIC_MAPPING = ^GENERIC_MAPPING;
GLYPHMETRICS = record
gmBlackBoxX : UINT;
gmBlackBoxY : UINT;
gmptGlyphOrigin : POINT;
gmCellIncX : integer;
gmCellIncY : integer;
end;
LPGLYPHMETRICS = ^GLYPHMETRICS;
HANDLETABLE = record
objectHandle : array[0..0] of HGDIOBJ;
end;
LPHANDLETABLE = ^HANDLETABLE;
HD_HITTESTINFO = record
pt : POINT;
flags : UINT;
iItem : longint;
end;
HD_ITEM = record
mask : UINT;
cxy : longint;
pszText : LPTSTR;
hbm : HBITMAP;
cchTextMax : longint;
fmt : longint;
lParam : LPARAM;
end;
WINDOWPOS = record
hwnd : HWND;
hwndInsertAfter : HWND;
x : longint;
y : longint;
cx : longint;
cy : longint;
flags : UINT;
end;
PWINDOWPOS = ^WINDOWPOS;
LPWINDOWPOS = ^WINDOWPOS;
HD_LAYOUT = record
prc : ^RECT;
pwpos : ^WINDOWPOS;
end;
HD_NOTIFY = record
hdr : NMHDR;
iItem : longint;
iButton : longint;
pitem : ^HD_ITEM;
end;
HELPINFO = record
cbSize : UINT;
iContextType : longint;
iCtrlId : longint;
hItemHandle : HANDLE;
dwContextId : DWORD;
MousePos : POINT;
end;
LPHELPINFO = ^HELPINFO;
HELPWININFO = record
wStructSize : longint;
x : longint;
y : longint;
dx : longint;
dy : longint;
wMax : longint;
rgchMember : array[0..(2)-1] of TCHAR;
end;
HIGHCONTRAST = record
cbSize : UINT;
dwFlags : DWORD;
lpszDefaultScheme : LPTSTR;
end;
LPHIGHCONTRAST = ^HIGHCONTRAST;
HSZPAIR = record
hszSvc : HSZ;
hszTopic : HSZ;
end;
ICONINFO = record
fIcon : WINBOOL;
xHotspot : DWORD;
yHotspot : DWORD;
hbmMask : HBITMAP;
hbmColor : HBITMAP;
end;
PICONINFO = ^ICONINFO;
ICONMETRICS = record
cbSize : UINT;
iHorzSpacing : longint;
iVertSpacing : longint;
iTitleWrap : longint;
lfFont : LOGFONT;
end;
LPICONMETRICS = ^ICONMETRICS;
IMAGEINFO = record
hbmImage : HBITMAP;
hbmMask : HBITMAP;
Unused1 : longint;
Unused2 : longint;
rcImage : RECT;
end;
KEY_EVENT_RECORD = record
bKeyDown : WINBOOL;
wRepeatCount : WORD;
wVirtualKeyCode : WORD;
wVirtualScanCode : WORD;
uChar : record
case longint of
0 : ( UnicodeChar:WCHAR );
1 : ( AsciiChar:CHAR );
end;
dwControlKeyState : DWORD;
end;
MOUSE_EVENT_RECORD = record
dwMousePosition : COORD;
dwButtonState : DWORD;
dwControlKeyState : DWORD;
dwEventFlags : DWORD;
end;
WINDOW_BUFFER_SIZE_RECORD = record
dwSize : COORD;
end;
MENU_EVENT_RECORD = record
dwCommandId : UINT;
end;
PMENU_EVENT_RECORD = ^MENU_EVENT_RECORD;
INPUT_RECORD = record
EventType : WORD;
Event : record
case longint of
0 : ( KeyEvent:KEY_EVENT_RECORD );
1 : ( MouseEvent:MOUSE_EVENT_RECORD );
2 : ( WindowBufferSizeEvent:WINDOW_BUFFER_SIZE_RECORD );
3 : ( MenuEvent:MENU_EVENT_RECORD );
4 : ( FocusEvent:FOCUS_EVENT_RECORD );
end;
end;
PINPUT_RECORD = ^INPUT_RECORD;
SYSTEMTIME = record
wYear : WORD;
wMonth : WORD;
wDayOfWeek : WORD;
wDay : WORD;
wHour : WORD;
wMinute : WORD;
wSecond : WORD;
wMilliseconds : WORD;
end;
LPSYSTEMTIME = ^SYSTEMTIME;
JOB_INFO_1 = record
JobId : DWORD;
pPrinterName : LPTSTR;
pMachineName : LPTSTR;
pUserName : LPTSTR;
pDocument : LPTSTR;
pDatatype : LPTSTR;
pStatus : LPTSTR;
Status : DWORD;
Priority : DWORD;
Position : DWORD;
TotalPages : DWORD;
PagesPrinted : DWORD;
Submitted : SYSTEMTIME;
end;
SID_IDENTIFIER_AUTHORITY = record
Value : array[0..5] of BYTE;
end;
PSID_IDENTIFIER_AUTHORITY = ^SID_IDENTIFIER_AUTHORITY;
LPSID_IDENTIFIER_AUTHORITY = ^SID_IDENTIFIER_AUTHORITY;
SID = record
Revision : BYTE;
SubAuthorityCount : BYTE;
IdentifierAuthority : SID_IDENTIFIER_AUTHORITY;
SubAuthority : array[0..(ANYSIZE_ARRAY)-1] of DWORD;
end;
PSID = ^SID;
SECURITY_DESCRIPTOR_CONTROL = WORD;
PSECURITY_DESCRIPTOR_CONTROL = ^WORD;
SECURITY_DESCRIPTOR = record
Revision : BYTE;
Sbz1 : BYTE;
Control : SECURITY_DESCRIPTOR_CONTROL;
Owner : PSID;
Group : PSID;
Sacl : PACL;
Dacl : PACL;
end;
PSECURITY_DESCRIPTOR = ^SECURITY_DESCRIPTOR;
JOB_INFO_2 = record
JobId : DWORD;
pPrinterName : LPTSTR;
pMachineName : LPTSTR;
pUserName : LPTSTR;
pDocument : LPTSTR;
pNotifyName : LPTSTR;
pDatatype : LPTSTR;
pPrintProcessor : LPTSTR;
pParameters : LPTSTR;
pDriverName : LPTSTR;
pDevMode : LPDEVMODE;
pStatus : LPTSTR;
pSecurityDescriptor : PSECURITY_DESCRIPTOR;
Status : DWORD;
Priority : DWORD;
Position : DWORD;
StartTime : DWORD;
UntilTime : DWORD;
TotalPages : DWORD;
Size : DWORD;
Submitted : SYSTEMTIME;
Time : DWORD;
PagesPrinted : DWORD;
end;
KERNINGPAIR = record
wFirst : WORD;
wSecond : WORD;
iKernAmount : longint;
end;
LPKERNINGPAIR = ^KERNINGPAIR;
LANA_ENUM = record
length : UCHAR;
lana : array[0..(MAX_LANA)-1] of UCHAR;
end;
LOCALESIGNATURE = record
lsUsb : array[0..(4)-1] of DWORD;
lsCsbDefault : array[0..(2)-1] of DWORD;
lsCsbSupported : array[0..(2)-1] of DWORD;
end;
LOCALGROUP_MEMBERS_INFO_0 = record
lgrmi0_sid : PSID;
end;
LOCALGROUP_MEMBERS_INFO_3 = record
lgrmi3_domainandname : LPWSTR;
end;
FXPT16DOT16 = longint;
LPFXPT16DOT16 = ^longint;
LUID = LARGE_INTEGER;
PLUID = ^LARGE_INTEGER;
LUID_AND_ATTRIBUTES = record
Luid : LUID;
Attributes : DWORD;
end;
LUID_AND_ATTRIBUTES_ARRAY = array[0..(ANYSIZE_ARRAY)-1] of LUID_AND_ATTRIBUTES;
PLUID_AND_ATTRIBUTES_ARRAY = ^LUID_AND_ATTRIBUTES_ARRAY;
LV_COLUMN = record
mask : UINT;
fmt : longint;
cx : longint;
pszText : LPTSTR;
cchTextMax : longint;
iSubItem : longint;
end;
LV_ITEM = record
mask : UINT;
iItem : longint;
iSubItem : longint;
state : UINT;
stateMask : UINT;
pszText : LPTSTR;
cchTextMax : longint;
iImage : longint;
lParam : LPARAM;
end;
LV_DISPINFO = record
hdr : NMHDR;
item : LV_ITEM;
end;
LV_FINDINFO = record
flags : UINT;
psz : LPCTSTR;
lParam : LPARAM;
pt : POINT;
vkDirection : UINT;
end;
LV_HITTESTINFO = record
pt : POINT;
flags : UINT;
iItem : longint;
end;
LV_KEYDOWN = record
hdr : NMHDR;
wVKey : WORD;
flags : UINT;
end;
MAT2 = record
eM11 : FIXED;
eM12 : FIXED;
eM21 : FIXED;
eM22 : FIXED;
end;
MDICREATESTRUCT = record
szClass : LPCTSTR;
szTitle : LPCTSTR;
hOwner : HANDLE;
x : longint;
y : longint;
cx : longint;
cy : longint;
style : DWORD;
lParam : LPARAM;
end;
MEASUREITEMSTRUCT = record
CtlType : UINT;
CtlID : UINT;
itemID : UINT;
itemWidth : UINT;
itemHeight : UINT;
itemData : DWORD;
end;
MEMORY_BASIC_INFORMATION = record
BaseAddress : PVOID;
AllocationBase : PVOID;
AllocationProtect : DWORD;
RegionSize : DWORD;
State : DWORD;
Protect : DWORD;
Type : DWORD;
end;
PMEMORY_BASIC_INFORMATION = ^MEMORY_BASIC_INFORMATION;
MEMORYSTATUS = record
dwLength : DWORD;
dwMemoryLoad : DWORD;
dwTotalPhys : DWORD;
dwAvailPhys : DWORD;
dwTotalPageFile : DWORD;
dwAvailPageFile : DWORD;
dwTotalVirtual : DWORD;
dwAvailVirtual : DWORD;
end;
LPMEMORYSTATUS = ^MEMORYSTATUS;
MENUEX_TEMPLATE_HEADER = record
wVersion : WORD;
wOffset : WORD;
dwHelpId : DWORD;
end;
MENUEX_TEMPLATE_ITEM = record
dwType : DWORD;
dwState : DWORD;
uId : UINT;
bResInfo : BYTE;
szText : array[0..(1)-1] of WCHAR;
dwHelpId : DWORD;
end;
MENUITEMINFO = record
cbSize : UINT;
fMask : UINT;
fType : UINT;
fState : UINT;
wID : UINT;
hSubMenu : HMENU;
hbmpChecked : HBITMAP;
hbmpUnchecked : HBITMAP;
dwItemData : DWORD;
dwTypeData : LPTSTR;
cch : UINT;
end;
LPMENUITEMINFO = ^MENUITEMINFO;
LPCMENUITEMINFO = ^MENUITEMINFO;
MENUITEMTEMPLATE = record
mtOption : WORD;
mtID : WORD;
mtString : array[0..0] of WCHAR;
end;
MENUITEMTEMPLATEHEADER = record
versionNumber : WORD;
offset : WORD;
end;
MENUTEMPLATE = VOID;
LPMENUTEMPLATE = ^VOID;
METAFILEPICT = record
mm : LONG;
xExt : LONG;
yExt : LONG;
hMF : HMETAFILE;
end;
METAHEADER = record
mtType : WORD;
mtHeaderSize : WORD;
mtVersion : WORD;
mtSize : DWORD;
mtNoObjects : WORD;
mtMaxRecord : DWORD;
mtNoParameters : WORD;
end;
METARECORD = record
rdSize : DWORD;
rdFunction : WORD;
rdParm : array[0..0] of WORD;
end;
LPMETARECORD = ^METARECORD;
MINIMIZEDMETRICS = record
cbSize : UINT;
iWidth : longint;
iHorzGap : longint;
iVertGap : longint;
iArrange : longint;
end;
LPMINIMIZEDMETRICS = ^MINIMIZEDMETRICS;
MINMAXINFO = record
ptReserved : POINT;
ptMaxSize : POINT;
ptMaxPosition : POINT;
ptMinTrackSize : POINT;
ptMaxTrackSize : POINT;
end;
MODEMDEVCAPS = record
dwActualSize : DWORD;
dwRequiredSize : DWORD;
dwDevSpecificOffset : DWORD;
dwDevSpecificSize : DWORD;
dwModemProviderVersion : DWORD;
dwModemManufacturerOffset : DWORD;
dwModemManufacturerSize : DWORD;
dwModemModelOffset : DWORD;
dwModemModelSize : DWORD;
dwModemVersionOffset : DWORD;
dwModemVersionSize : DWORD;
dwDialOptions : DWORD;
dwCallSetupFailTimer : DWORD;
dwInactivityTimeout : DWORD;
dwSpeakerVolume : DWORD;
dwSpeakerMode : DWORD;
dwModemOptions : DWORD;
dwMaxDTERate : DWORD;
dwMaxDCERate : DWORD;
abVariablePortion : array[0..0] of BYTE;
end;
PMODEMDEVCAPS = ^MODEMDEVCAPS;
LPMODEMDEVCAPS = ^MODEMDEVCAPS;
MODEMSETTINGS = record
dwActualSize : DWORD;
dwRequiredSize : DWORD;
dwDevSpecificOffset : DWORD;
dwDevSpecificSize : DWORD;
dwCallSetupFailTimer : DWORD;
dwInactivityTimeout : DWORD;
dwSpeakerVolume : DWORD;
dwSpeakerMode : DWORD;
dwPreferredModemOptions : DWORD;
dwNegotiatedModemOptions : DWORD;
dwNegotiatedDCERate : DWORD;
abVariablePortion : array[0..0] of BYTE;
end;
PMODEMSETTINGS = ^MODEMSETTINGS;
LPMODEMSETTINGS = ^MODEMSETTINGS;
MONCBSTRUCT = record
cb : UINT;
dwTime : DWORD;
hTask : HANDLE;
dwRet : DWORD;
wType : UINT;
wFmt : UINT;
hConv : HCONV;
hsz1 : HSZ;
hsz2 : HSZ;
hData : HDDEDATA;
dwData1 : DWORD;
dwData2 : DWORD;
cc : CONVCONTEXT;
cbData : DWORD;
Data : array[0..7] of DWORD;
end;
MONCONVSTRUCT = record
cb : UINT;
fConnect : WINBOOL;
dwTime : DWORD;
hTask : HANDLE;
hszSvc : HSZ;
hszTopic : HSZ;
hConvClient : HCONV;
hConvServer : HCONV;
end;
MONERRSTRUCT = record
cb : UINT;
wLastError : UINT;
dwTime : DWORD;
hTask : HANDLE;
end;
MONHSZSTRUCT = record
cb : UINT;
fsAction : WINBOOL;
dwTime : DWORD;
hsz : HSZ;
hTask : HANDLE;
str : array[0..(1)-1] of TCHAR;
end;
MONITOR_INFO_1 = record
pName : LPTSTR;
end;
MONITOR_INFO_2 = record
pName : LPTSTR;
pEnvironment : LPTSTR;
pDLLName : LPTSTR;
end;
MONLINKSTRUCT = record
cb : UINT;
dwTime : DWORD;
hTask : HANDLE;
fEstablished : WINBOOL;
fNoData : WINBOOL;
hszSvc : HSZ;
hszTopic : HSZ;
hszItem : HSZ;
wFmt : UINT;
fServer : WINBOOL;
hConvServer : HCONV;
hConvClient : HCONV;
end;
MONMSGSTRUCT = record
cb : UINT;
hwndTo : HWND;
dwTime : DWORD;
hTask : HANDLE;
wMsg : UINT;
wParam : WPARAM;
lParam : LPARAM;
dmhd : DDEML_MSG_HOOK_DATA;
end;
MOUSEHOOKSTRUCT = record
pt : POINT;
hwnd : HWND;
wHitTestCode : UINT;
dwExtraInfo : DWORD;
end;
MOUSEKEYS = record
cbSize : DWORD;
dwFlags : DWORD;
iMaxSpeed : DWORD;
iTimeToMaxSpeed : DWORD;
iCtrlSpeed : DWORD;
dwReserved1 : DWORD;
dwReserved2 : DWORD;
end;
MSG = record
hwnd : HWND;
message : UINT;
wParam : WPARAM;
lParam : LPARAM;
time : DWORD;
pt : POINT;
end;
LPMSG = ^MSG;
MSGBOXCALLBACK = procedure(lpHelpInfo:LPHELPINFO);
MSGBOXPARAMS = record
cbSize : UINT;
hwndOwner : HWND;
hInstance : HINSTANCE;
lpszText : LPCSTR;
lpszCaption : LPCSTR;
dwStyle : DWORD;
lpszIcon : LPCSTR;
dwContextHelpId : DWORD;
lpfnMsgBoxCallback : MSGBOXCALLBACK;
dwLanguageId : DWORD;
end;
PMSGBOXPARAMS = ^MSGBOXPARAMS;
LPMSGBOXPARAMS = ^MSGBOXPARAMS;
MSGFILTER = record
nmhdr : NMHDR;
msg : UINT;
wParam : WPARAM;
lParam : LPARAM;
end;
MULTIKEYHELP = record
mkSize : DWORD;
mkKeylist : TCHAR;
szKeyphrase : array[0..(1)-1] of TCHAR;
end;
NAME_BUFFER = record
name : array[0..(NCBNAMSZ)-1] of UCHAR;
name_num : UCHAR;
name_flags : UCHAR;
end;
NCB = record
ncb_command : UCHAR;
ncb_retcode : UCHAR;
ncb_lsn : UCHAR;
ncb_num : UCHAR;
ncb_buffer : PUCHAR;
ncb_length : WORD;
ncb_callname : array[0..(NCBNAMSZ)-1] of UCHAR;
ncb_name : array[0..(NCBNAMSZ)-1] of UCHAR;
ncb_rto : UCHAR;
ncb_sto : UCHAR;
ncb_post : procedure(_para1:^*);
ncb_lana_num : UCHAR;
ncb_cmd_cplt : UCHAR;
ncb_reserve : array[0..(10)-1] of UCHAR;
ncb_event : HANDLE;
end;
NCCALCSIZE_PARAMS = record
rgrc : array[0..(3)-1] of RECT;
lppos : PWINDOWPOS;
end;
NDDESHAREINFO = record
lRevision : LONG;
lpszShareName : LPTSTR;
lShareType : LONG;
lpszAppTopicList : LPTSTR;
fSharedFlag : LONG;
fService : LONG;
fStartAppFlag : LONG;
nCmdShow : LONG;
qModifyId : array[0..(2)-1] of LONG;
cNumItems : LONG;
lpszItemList : LPTSTR;
end;
NETRESOURCE = record
dwScope : DWORD;
dwType : DWORD;
dwDisplayType : DWORD;
dwUsage : DWORD;
lpLocalName : LPTSTR;
lpRemoteName : LPTSTR;
lpComment : LPTSTR;
lpProvider : LPTSTR;
end;
LPNETRESOURCE = ^NETRESOURCE;
NEWCPLINFO = record
dwSize : DWORD;
dwFlags : DWORD;
dwHelpContext : DWORD;
lData : LONG;
hIcon : HICON;
szName : array[0..31] of TCHAR;
szInfo : array[0..(63] of TCHAR;
szHelpFile : array[0..127] of TCHAR;
end;
NEWTEXTMETRIC = record
tmHeight : LONG;
tmAscent : LONG;
tmDescent : LONG;
tmInternalLeading : LONG;
tmExternalLeading : LONG;
tmAveCharWidth : LONG;
tmMaxCharWidth : LONG;
tmWeight : LONG;
tmOverhang : LONG;
tmDigitizedAspectX : LONG;
tmDigitizedAspectY : LONG;
tmFirstChar : BCHAR;
tmLastChar : BCHAR;
tmDefaultChar : BCHAR;
tmBreakChar : BCHAR;
tmItalic : BYTE;
tmUnderlined : BYTE;
tmStruckOut : BYTE;
tmPitchAndFamily : BYTE;
tmCharSet : BYTE;
ntmFlags : DWORD;
ntmSizeEM : UINT;
ntmCellHeight : UINT;
ntmAvgWidth : UINT;
end;
NEWTEXTMETRICEX = record
ntmentm : NEWTEXTMETRIC;
ntmeFontSignature : FONTSIGNATURE;
end;
NM_LISTVIEW = record
hdr : NMHDR;
iItem : longint;
iSubItem : longint;
uNewState : UINT;
uOldState : UINT;
uChanged : UINT;
ptAction : POINT;
lParam : LPARAM;
end;
HTREEITEM = ^*;
TV_ITEM = record
mask : UINT;
hItem : HTREEITEM;
state : UINT;
stateMask : UINT;
pszText : LPTSTR;
cchTextMax : longint;
iImage : longint;
iSelectedImage : longint;
cChildren : longint;
lParam : LPARAM;
end;
LPTV_ITEM = ^TV_ITEM;
NM_TREEVIEW = record
hdr : NMHDR;
action : UINT;
itemOld : TV_ITEM;
itemNew : TV_ITEM;
ptDrag : POINT;
end;
LPNM_TREEVIEW = ^NM_TREEVIEW;
NM_UPDOWNW = record
hdr : NMHDR;
iPos : longint;
iDelta : longint;
end;
NONCLIENTMETRICS = record
cbSize : UINT;
iBorderWidth : longint;
iScrollWidth : longint;
iScrollHeight : longint;
iCaptionWidth : longint;
iCaptionHeight : longint;
lfCaptionFont : LOGFONT;
iSmCaptionWidth : longint;
iSmCaptionHeight : longint;
lfSmCaptionFont : LOGFONT;
iMenuWidth : longint;
iMenuHeight : longint;
lfMenuFont : LOGFONT;
lfStatusFont : LOGFONT;
lfMessageFont : LOGFONT;
end;
LPNONCLIENTMETRICS = ^NONCLIENTMETRICS;
SERVICE_ADDRESS = record
dwAddressType : DWORD;
dwAddressFlags : DWORD;
dwAddressLength : DWORD;
dwPrincipalLength : DWORD;
lpAddress : ^BYTE;
lpPrincipal : ^BYTE;
end;
SERVICE_ADDRESSES = record
dwAddressCount : DWORD;
Addresses : array[0..0] of SERVICE_ADDRESS;
end;
LPSERVICE_ADDRESSES = ^SERVICE_ADDRESSES;
GUID = record
Data1 : cardinal;
Data2 : word;
Data3 : word;
Data4 : array[0..7] of char;
end;
LPGUID = ^GUID;
CLSID = GUID;
LPCLSID = ^GUID;
SERVICE_INFO = record
lpServiceType : LPGUID;
lpServiceName : LPTSTR;
lpComment : LPTSTR;
lpLocale : LPTSTR;
dwDisplayHint : DWORD;
dwVersion : DWORD;
dwTime : DWORD;
lpMachineName : LPTSTR;
lpServiceAddress : LPSERVICE_ADDRESSES;
ServiceSpecificInfo : BLOB;
end;
NS_SERVICE_INFO = record
dwNameSpace : DWORD;
ServiceInfo : SERVICE_INFO;
end;
NUMBERFMT = record
NumDigits : UINT;
LeadingZero : UINT;
Grouping : UINT;
lpDecimalSep : LPTSTR;
lpThousandSep : LPTSTR;
NegativeOrder : UINT;
end;
OFSTRUCT = record
cBytes : BYTE;
fFixedDisk : BYTE;
nErrCode : WORD;
Reserved1 : WORD;
Reserved2 : WORD;
szPathName : array[0..(OFS_MAXPATHNAME)-1] of CHAR;
end;
LPOFSTRUCT = ^OFSTRUCT;
OPENFILENAME = record
lStructSize : DWORD;
hwndOwner : HWND;
hInstance : HINSTANCE;
lpstrFilter : LPCTSTR;
lpstrCustomFilter : LPTSTR;
nMaxCustFilter : DWORD;
nFilterIndex : DWORD;
lpstrFile : LPTSTR;
nMaxFile : DWORD;
lpstrFileTitle : LPTSTR;
nMaxFileTitle : DWORD;
lpstrInitialDir : LPCTSTR;
lpstrTitle : LPCTSTR;
Flags : DWORD;
nFileOffset : WORD;
nFileExtension : WORD;
lpstrDefExt : LPCTSTR;
lCustData : DWORD;
lpfnHook : LPOFNHOOKPROC;
lpTemplateName : LPCTSTR;
end;
LPOPENFILENAME = ^OPENFILENAME;
OFNOTIFY = record
hdr : NMHDR;
lpOFN : LPOPENFILENAME;
pszFile : LPTSTR;
end;
LPOFNOTIFY = ^OFNOTIFY;
OSVERSIONINFO = record
dwOSVersionInfoSize : DWORD;
dwMajorVersion : DWORD;
dwMinorVersion : DWORD;
dwBuildNumber : DWORD;
dwPlatformId : DWORD;
szCSDVersion : array[0..(128)-1] of TCHAR;
end;
POSVERSIONINFO = ^OSVERSIONINFO;
LPOSVERSIONINFO = ^OSVERSIONINFO;
TEXTMETRIC = record
tmHeight : LONG;
tmAscent : LONG;
tmDescent : LONG;
tmInternalLeading : LONG;
tmExternalLeading : LONG;
tmAveCharWidth : LONG;
tmMaxCharWidth : LONG;
tmWeight : LONG;
tmOverhang : LONG;
tmDigitizedAspectX : LONG;
tmDigitizedAspectY : LONG;
tmFirstChar : BCHAR;
tmLastChar : BCHAR;
tmDefaultChar : BCHAR;
tmBreakChar : BCHAR;
tmItalic : BYTE;
tmUnderlined : BYTE;
tmStruckOut : BYTE;
tmPitchAndFamily : BYTE;
tmCharSet : BYTE;
end;
LPTEXTMETRIC = ^TEXTMETRIC;
OUTLINETEXTMETRIC = record
otmSize : UINT;
otmTextMetrics : TEXTMETRIC;
otmFiller : BYTE;
otmPanoseNumber : PANOSE;
otmfsSelection : UINT;
otmfsType : UINT;
otmsCharSlopeRise : longint;
otmsCharSlopeRun : longint;
otmItalicAngle : longint;
otmEMSquare : UINT;
otmAscent : longint;
otmDescent : longint;
otmLineGap : UINT;
otmsCapEmHeight : UINT;
otmsXHeight : UINT;
otmrcFontBox : RECT;
otmMacAscent : longint;
otmMacDescent : longint;
otmMacLineGap : UINT;
otmusMinimumPPEM : UINT;
otmptSubscriptSize : POINT;
otmptSubscriptOffset : POINT;
otmptSuperscriptSize : POINT;
otmptSuperscriptOffset : POINT;
otmsStrikeoutSize : UINT;
otmsStrikeoutPosition : longint;
otmsUnderscoreSize : longint;
otmsUnderscorePosition : longint;
otmpFamilyName : PSTR;
otmpFaceName : PSTR;
otmpStyleName : PSTR;
otmpFullName : PSTR;
end;
LPOUTLINETEXTMETRIC = ^OUTLINETEXTMETRIC;
OVERLAPPED = record
Internal : DWORD;
InternalHigh : DWORD;
Offset : DWORD;
OffsetHigh : DWORD;
hEvent : HANDLE;
end;
LPOVERLAPPED = ^OVERLAPPED;
PAGESETUPDLG = record
lStructSize : DWORD;
hwndOwner : HWND;
hDevMode : HGLOBAL;
hDevNames : HGLOBAL;
Flags : DWORD;
ptPaperSize : POINT;
rtMinMargin : RECT;
rtMargin : RECT;
hInstance : HINSTANCE;
lCustData : LPARAM;
lpfnPageSetupHook : LPPAGESETUPHOOK;
lpfnPagePaintHook : LPPAGEPAINTHOOK;
lpPageSetupTemplateName : LPCTSTR;
hPageSetupTemplate : HGLOBAL;
end;
LPPAGESETUPDLG = ^PAGESETUPDLG;
PAINTSTRUCT = record
hdc : HDC;
fErase : WINBOOL;
rcPaint : RECT;
fRestore : WINBOOL;
fIncUpdate : WINBOOL;
rgbReserved : array[0..(32)-1] of BYTE;
end;
LPPAINTSTRUCT = ^PAINTSTRUCT;
PARAFORMAT = record
cbSize : UINT;
dwMask : DWORD;
wNumbering : WORD;
wReserved : WORD;
dxStartIndent : LONG;
dxRightIndent : LONG;
dxOffset : LONG;
wAlignment : WORD;
cTabCount : SHORT;
rgxTabs : array[0..(MAX_TAB_STOPS)-1] of LONG;
end;
PERF_COUNTER_BLOCK = record
ByteLength : DWORD;
end;
PERF_COUNTER_DEFINITION = record
ByteLength : DWORD;
CounterNameTitleIndex : DWORD;
CounterNameTitle : LPWSTR;
CounterHelpTitleIndex : DWORD;
CounterHelpTitle : LPWSTR;
DefaultScale : DWORD;
DetailLevel : DWORD;
CounterType : DWORD;
CounterSize : DWORD;
CounterOffset : DWORD;
end;
PERF_DATA_BLOCK = record
Signature : array[0..(4)-1] of WCHAR;
LittleEndian : DWORD;
Version : DWORD;
Revision : DWORD;
TotalByteLength : DWORD;
HeaderLength : DWORD;
NumObjectTypes : DWORD;
DefaultObject : DWORD;
SystemTime : SYSTEMTIME;
PerfTime : LARGE_INTEGER;
PerfFreq : LARGE_INTEGER;
PerfTime100nSec : LARGE_INTEGER;
SystemNameLength : DWORD;
SystemNameOffset : DWORD;
end;
PERF_INSTANCE_DEFINITION = record
ByteLength : DWORD;
ParentObjectTitleIndex : DWORD;
ParentObjectInstance : DWORD;
UniqueID : DWORD;
NameOffset : DWORD;
NameLength : DWORD;
end;
PERF_OBJECT_TYPE = record
TotalByteLength : DWORD;
DefinitionLength : DWORD;
HeaderLength : DWORD;
ObjectNameTitleIndex : DWORD;
ObjectNameTitle : LPWSTR;
ObjectHelpTitleIndex : DWORD;
ObjectHelpTitle : LPWSTR;
DetailLevel : DWORD;
NumCounters : DWORD;
DefaultCounter : DWORD;
NumInstances : DWORD;
CodePage : DWORD;
PerfTime : LARGE_INTEGER;
PerfFreq : LARGE_INTEGER;
end;
POLYTEXT = record
x : longint;
y : longint;
n : UINT;
lpstr : LPCTSTR;
uiFlags : UINT;
rcl : RECT;
pdx : ^longint;
end;
PORT_INFO_1 = record
pName : LPTSTR;
end;
PORT_INFO_2 = record
pPortName : LPSTR;
pMonitorName : LPSTR;
pDescription : LPSTR;
fPortType : DWORD;
Reserved : DWORD;
end;
PREVENT_MEDIA_REMOVAL = record
PreventMediaRemoval : BOOLEAN;
end;
PRINTDLG = record
lStructSize : DWORD;
hwndOwner : HWND;
hDevMode : HANDLE;
hDevNames : HANDLE;
hDC : HDC;
Flags : DWORD;
nFromPage : WORD;
nToPage : WORD;
nMinPage : WORD;
nMaxPage : WORD;
nCopies : WORD;
hInstance : HINSTANCE;
lCustData : DWORD;
lpfnPrintHook : LPPRINTHOOKPROC;
lpfnSetupHook : LPSETUPHOOKPROC;
lpPrintTemplateName : LPCTSTR;
lpSetupTemplateName : LPCTSTR;
hPrintTemplate : HANDLE;
hSetupTemplate : HANDLE;
end;
LPPRINTDLG = ^PRINTDLG;
PRINTER_DEFAULTS = record
pDatatype : LPTSTR;
pDevMode : LPDEVMODE;
DesiredAccess : ACCESS_MASK;
end;
PRINTER_INFO_1 = record
Flags : DWORD;
pDescription : LPTSTR;
pName : LPTSTR;
pComment : LPTSTR;
end;
PRINTER_INFO_2 = record
pServerName : LPTSTR;
pPrinterName : LPTSTR;
pShareName : LPTSTR;
pPortName : LPTSTR;
pDriverName : LPTSTR;
pComment : LPTSTR;
pLocation : LPTSTR;
pDevMode : LPDEVMODE;
pSepFile : LPTSTR;
pPrintProcessor : LPTSTR;
pDatatype : LPTSTR;
pParameters : LPTSTR;
pSecurityDescriptor : PSECURITY_DESCRIPTOR;
Attributes : DWORD;
Priority : DWORD;
DefaultPriority : DWORD;
StartTime : DWORD;
UntilTime : DWORD;
Status : DWORD;
cJobs : DWORD;
AveragePPM : DWORD;
end;
PRINTER_INFO_3 = record
pSecurityDescriptor : PSECURITY_DESCRIPTOR;
end;
PRINTER_INFO_4 = record
pPrinterName : LPTSTR;
pServerName : LPTSTR;
Attributes : DWORD;
end;
PRINTER_INFO_5 = record
pPrinterName : LPTSTR;
pPortName : LPTSTR;
Attributes : DWORD;
DeviceNotSelectedTimeout : DWORD;
TransmissionRetryTimeout : DWORD;
end;
PRINTER_NOTIFY_INFO_DATA = record
Type : WORD;
Field : WORD;
Reserved : DWORD;
Id : DWORD;
NotifyData : record
case longint of
0 : ( adwData:array[0..(2)-1] of DWORD );
1 : ( Data:record
cbBuf : DWORD;
pBuf : LPVOID;
end );
end;
end;
PRINTER_NOTIFY_INFO = record
Version : DWORD;
Flags : DWORD;
Count : DWORD;
aData : array[0..(1)-1] of PRINTER_NOTIFY_INFO_DATA;
end;
PRINTER_NOTIFY_OPTIONS_TYPE = record
Type : WORD;
Reserved0 : WORD;
Reserved1 : DWORD;
Reserved2 : DWORD;
Count : DWORD;
pFields : PWORD;
end;
PPRINTER_NOTIFY_OPTIONS_TYPE = ^PRINTER_NOTIFY_OPTIONS_TYPE;
PRINTER_NOTIFY_OPTIONS = record
Version : DWORD;
Flags : DWORD;
Count : DWORD;
pTypes : PPRINTER_NOTIFY_OPTIONS_TYPE;
end;
PRINTPROCESSOR_INFO_1 = record
pName : LPTSTR;
end;
PRIVILEGE_SET = record
PrivilegeCount : DWORD;
Control : DWORD;
Privilege : array[0..(ANYSIZE_ARRAY)-1] of LUID_AND_ATTRIBUTES;
end;
PPRIVILEGE_SET = ^PRIVILEGE_SET;
LPPRIVILEGE_SET = ^PRIVILEGE_SET;
PROCESS_HEAPENTRY = record
lpData : PVOID;
cbData : DWORD;
cbOverhead : BYTE;
iRegionIndex : BYTE;
wFlags : WORD;
dwCommittedSize : DWORD;
dwUnCommittedSize : DWORD;
lpFirstBlock : LPVOID;
lpLastBlock : LPVOID;
hMem : HANDLE;
end;
LPPROCESS_HEAP_ENTRY = ^PROCESS_HEAP_ENTRY;
PROCESS_INFORMATION = record
hProcess : HANDLE;
hThread : HANDLE;
dwProcessId : DWORD;
dwThreadId : DWORD;
end;
LPPROCESS_INFORMATION = ^PROCESS_INFORMATION;
LPFNPSPCALLBACK = function(_para1:HWND; _para2:UINT; _para3:LPVOID):UINT;
PROPSHEETPAGE = record
dwSize : DWORD;
dwFlags : DWORD;
hInstance : HINSTANCE;
u1 : record
case longint of
0 : ( pszTemplate:LPCTSTR );
1 : ( pResource:LPCDLGTEMPLATE );
end;
u2 : record
case longint of
0 : ( hIcon:HICON );
1 : ( pszIcon:LPCTSTR );
end;
pszTitle : LPCTSTR;
pfnDlgProc : DLGPROC;
lParam : LPARAM;
pfnCallback : LPFNPSPCALLBACK;
pcRefParent : ^UINT;
end;
LPPROPSHEETPAGE = ^PROPSHEETPAGE;
LPCPROPSHEETPAGE = ^PROPSHEETPAGE;
HPROPSHEETPAGE = ^*;
PROPSHEETHEADER = record
dwSize : DWORD;
dwFlags : DWORD;
hwndParent : HWND;
hInstance : HINSTANCE;
u1 : record
case longint of
0 : ( hIcon:HICON );
1 : ( pszIcon:LPCTSTR );
end;
pszCaption : LPCTSTR;
nPages : UINT;
u2 : record
case longint of
0 : ( nStartPage:UINT );
1 : ( pStartPage:LPCTSTR );
end;
u3 : record
case longint of
0 : ( ppsp:LPCPROPSHEETPAGE );
1 : ( phpage:^HPROPSHEETPAGE );
end;
pfnCallback : PFNPROPSHEETCALLBACK;
end;
LPPROPSHEETHEADER = ^PROPSHEETHEADER;
LPCPROPSHEETHEADER = ^PROPSHEETHEADER;
{ PropertySheet callbacks}
LPFNADDPROPSHEETPAGE = function(_para1:HPROPSHEETPAGE; _para2:LPARAM):WINBOOL;
LPFNADDPROPSHEETPAGES = function(_para1:LPVOID; _para2:LPFNADDPROPSHEETPAGE; _para3:LPARAM):WINBOOL;
PROTOCOL_INFO = record
dwServiceFlags : DWORD;
iAddressFamily : INT;
iMaxSockAddr : INT;
iMinSockAddr : INT;
iSocketType : INT;
iProtocol : INT;
dwMessageSize : DWORD;
lpProtocol : LPTSTR;
end;
PROVIDOR_INFO_1 = record
pName : LPTSTR;
pEnvironment : LPTSTR;
pDLLName : LPTSTR;
end;
PSHNOTIFY = record
hdr : NMHDR;
lParam : LPARAM;
end;
LPPSHNOTIFY = ^PSHNOTIFY;
PUNCTUATION = record
iSize : UINT;
szPunctuation : LPSTR;
end;
QUERY_SERVICE_CONFIG = record
dwServiceType : DWORD;
dwStartType : DWORD;
dwErrorControl : DWORD;
lpBinaryPathName : LPTSTR;
lpLoadOrderGroup : LPTSTR;
dwTagId : DWORD;
lpDependencies : LPTSTR;
lpServiceStartName : LPTSTR;
lpDisplayName : LPTSTR;
end;
LPQUERY_SERVICE_CONFIG = ^QUERY_SERVICE_CONFIG;
QUERY_SERVICE_LOCK_STATUS = record
fIsLocked : DWORD;
lpLockOwner : LPTSTR;
dwLockDuration : DWORD;
end;
LPQUERY_SERVICE_LOCK_STATUS = ^QUERY_SERVICE_LOCK_STATUS;
RASAMB = record
dwSize : DWORD;
dwError : DWORD;
szNetBiosError : array[0..((NETBIOS_NAME_LEN) + (1))-1] of TCHAR;
bLana : BYTE;
end;
RASCONN = record
dwSize : DWORD;
hrasconn : HRASCONN;
szEntryName : array[0..((RAS_MaxEntryName) + (1))-1] of TCHAR;
szDeviceType : array[0..((RAS_MaxDeviceType) + (1))-1] of CHAR;
szDeviceName : array[0..((RAS_MaxDeviceName) + (1))-1] of CHAR;
end;
RASCONNSTATUS = record
dwSize : DWORD;
rasconnstate : RASCONNSTATE;
dwError : DWORD;
szDeviceType : array[0..((RAS_MaxDeviceType) + (1))-1] of TCHAR;
szDeviceName : array[0..((RAS_MaxDeviceName) + (1))-1] of TCHAR;
end;
RASDIALEXTENSIONS = record
dwSize : DWORD;
dwfOptions : DWORD;
hwndParent : HWND;
reserved : DWORD;
end;
RASDIALPARAMS = record
dwSize : DWORD;
szEntryName : array[0..((RAS_MaxEntryName) + (1))-1] of TCHAR;
szPhoneNumber : array[0..((RAS_MaxPhoneNumber) + (1))-1] of TCHAR;
szCallbackNumber : array[0..((RAS_MaxCallbackNumber) + (1))-1] of TCHAR;
szUserName : array[0..((UNLEN) + (1))-1] of TCHAR;
szPassword : array[0..((PWLEN) + (1))-1] of TCHAR;
szDomain : array[0..((DNLEN) + (1))-1] of TCHAR;
end;
RASENTRYNAME = record
dwSize : DWORD;
szEntryName : array[0..((RAS_MaxEntryName) + (1))-1] of TCHAR;
end;
RASPPPIP = record
dwSize : DWORD;
dwError : DWORD;
szIpAddress : array[0..((RAS_MaxIpAddress) + (1))-1] of TCHAR;
end;
RASPPPIPX = record
dwSize : DWORD;
dwError : DWORD;
szIpxAddress : array[0..((RAS_MaxIpxAddress) + (1))-1] of TCHAR;
end;
RASPPPNBF = record
dwSize : DWORD;
dwError : DWORD;
dwNetBiosError : DWORD;
szNetBiosError : array[0..((NETBIOS_NAME_LEN) + (1))-1] of TCHAR;
szWorkstationName : array[0..((NETBIOS_NAME_LEN) + (1))-1] of TCHAR;
bLana : BYTE;
end;
RASTERIZER_STATUS = record
nSize : integer;
wFlags : integer;
nLanguageID : integer;
end;
LPRASTERIZER_STATUS = ^RASTERIZER_STATUS;
REASSIGN_BLOCKS = record
Reserved : WORD;
Count : WORD;
BlockNumber : array[0..(1)-1] of DWORD;
end;
REMOTE_NAME_INFO = record
lpUniversalName : LPTSTR;
lpConnectionName : LPTSTR;
lpRemainingPath : LPTSTR;
end;
{ TODO: OLE}
{typedef struct _reobject { }
{ DWORD cbStruct; }
{ LONG cp; }
{ CLSID clsid; }
{ LPOLEOBJECT poleobj; }
{ LPSTORAGE pstg; }
{ LPOLECLIENTSITE polesite; }
{ SIZEL sizel; }
{ DWORD dvaspect; }
{ DWORD dwFlags; }
{ DWORD dwUser; }
{} REOBJECT; }
REPASTESPECIAL = record
dwAspect : DWORD;
dwParam : DWORD;
end;
REQRESIZE = record
nmhdr : NMHDR;
rc : RECT;
end;
RGNDATAHEADER = record
dwSize : DWORD;
iType : DWORD;
nCount : DWORD;
nRgnSize : DWORD;
rcBound : RECT;
end;
RGNDATA = record
rdh : RGNDATAHEADER;
Buffer : array[0..(1)-1] of char;
end;
LPRGNDATA = ^RGNDATA;
SCROLLINFO = record
cbSize : UINT;
fMask : UINT;
nMin : longint;
nMax : longint;
nPage : UINT;
nPos : longint;
nTrackPos : longint;
end;
LPSCROLLINFO = ^SCROLLINFO;
LPCSCROLLINFO = ^SCROLLINFO;
SECURITY_ATTRIBUTES = record
nLength : DWORD;
lpSecurityDescriptor : LPVOID;
bInheritHandle : WINBOOL;
end;
LPSECURITY_ATTRIBUTES = ^SECURITY_ATTRIBUTES;
SECURITY_INFORMATION = DWORD;
PSECURITY_INFORMATION = ^DWORD;
SELCHANGE = record
nmhdr : NMHDR;
chrg : CHARRANGE;
seltyp : WORD;
end;
SERIALKEYS = record
cbSize : DWORD;
dwFlags : DWORD;
lpszActivePort : LPSTR;
lpszPort : LPSTR;
iBaudRate : DWORD;
iPortState : DWORD;
end;
LPSERIALKEYS = ^SERIALKEYS;
SERVICE_TABLE_ENTRY = record
lpServiceName : LPTSTR;
lpServiceProc : LPSERVICE_MAIN_FUNCTION;
end;
LPSERVICE_TABLE_ENTRY = ^SERVICE_TABLE_ENTRY;
SERVICE_TYPE_VALUE_ABS = record
dwNameSpace : DWORD;
dwValueType : DWORD;
dwValueSize : DWORD;
lpValueName : LPTSTR;
lpValue : PVOID;
end;
SERVICE_TYPE_INFO_ABS = record
lpTypeName : LPTSTR;
dwValueCount : DWORD;
Values : array[0..(1)-1] of SERVICE_TYPE_VALUE_ABS;
end;
SESSION_BUFFER = record
lsn : UCHAR;
state : UCHAR;
local_name : array[0..(NCBNAMSZ)-1] of UCHAR;
remote_name : array[0..(NCBNAMSZ)-1] of UCHAR;
rcvs_outstanding : UCHAR;
sends_outstanding : UCHAR;
end;
SESSION_HEADER = record
sess_name : UCHAR;
num_sess : UCHAR;
rcv_dg_outstanding : UCHAR;
rcv_any_outstanding : UCHAR;
end;
SET_PARTITION_INFORMATION = record
PartitionType : BYTE;
end;
SHFILEINFO = record
hIcon : HICON;
iIcon : longint;
dwAttributes : DWORD;
szDisplayName : array[0..(MAX_PATH)-1] of char;
szTypeName : array[0..(80)-1] of char;
end;
FILEOP_FLAGS = WORD;
SHFILEOPSTRUCT = record
hwnd : HWND;
wFunc : UINT;
pFrom : LPCSTR;
pTo : LPCSTR;
fFlags : FILEOP_FLAGS;
fAnyOperationsAborted : WINBOOL;
hNameMappings : LPVOID;
lpszProgressTitle : LPCSTR;
end;
LPSHFILEOPSTRUCT = ^SHFILEOPSTRUCT;
SHNAMEMAPPING = record
pszOldPath : LPSTR;
pszNewPath : LPSTR;
cchOldPath : longint;
cchNewPath : longint;
end;
LPSHNAMEMAPPING = ^SHNAMEMAPPING;
SID_AND_ATTRIBUTES = record
Sid : PSID;
Attributes : DWORD;
end;
SID_AND_ATTRIBUTES_ARRAY = array[0..(ANYSIZE_ARRAY)-1] of SID_AND_ATTRIBUTES;
PSID_AND_ATTRIBUTES_ARRAY = ^SID_AND_ATTRIBUTES_ARRAY;
SINGLE_LIST_ENTRY = record
Next : ^*;
end;
SOUNDSENTRY = record
cbSize : UINT;
dwFlags : DWORD;
iFSTextEffect : DWORD;
iFSTextEffectMSec : DWORD;
iFSTextEffectColorBits : DWORD;
iFSGrafEffect : DWORD;
iFSGrafEffectMSec : DWORD;
iFSGrafEffectColor : DWORD;
iWindowsEffect : DWORD;
iWindowsEffectMSec : DWORD;
lpszWindowsEffectDLL : LPTSTR;
iWindowsEffectOrdinal : DWORD;
end;
LPSOUNDSENTRY = ^SOUNDSENTRY;
STARTUPINFO = record
cb : DWORD;
lpReserved : LPTSTR;
lpDesktop : LPTSTR;
lpTitle : LPTSTR;
dwX : DWORD;
dwY : DWORD;
dwXSize : DWORD;
dwYSize : DWORD;
dwXCountChars : DWORD;
dwYCountChars : DWORD;
dwFillAttribute : DWORD;
dwFlags : DWORD;
wShowWindow : WORD;
cbReserved2 : WORD;
lpReserved2 : LPBYTE;
hStdInput : HANDLE;
hStdOutput : HANDLE;
hStdError : HANDLE;
end;
LPSTARTUPINFO = ^STARTUPINFO;
STICKYKEYS = record
cbSize : DWORD;
dwFlags : DWORD;
end;
LPSTICKYKEYS = ^STICKYKEYS;
STRRET = record
uType : UINT;
DUMMYUNIONNAME : record
case longint of
0 : ( pOleStr:LPWSTR );
1 : ( uOffset:UINT );
2 : ( cStr:array[0..(MAX_PATH)-1] of char );
end;
end;
LPSTRRET = ^STRRET;
STYLEBUF = record
dwStyle : DWORD;
szDescription : array[0..(32)-1] of CHAR;
end;
LPSTYLEBUF = ^record
dwStyle : DWORD;
szDescription : array[0..(32)-1] of CHAR;
end;
STYLESTRUCT = record
styleOld : DWORD;
styleNew : DWORD;
end;
LPSTYLESTRUCT = ^record
styleOld : DWORD;
styleNew : DWORD;
end;
SYSTEM_AUDIT_ACE = record
Header : ACE_HEADER;
Mask : ACCESS_MASK;
SidStart : DWORD;
end;
SYSTEM_INFO = record
wProcessorArchitecture : WORD;
wReserved : WORD;
dwPageSize : DWORD;
lpMinimumApplicationAddress : LPVOID;
lpMaximumApplicationAddress : LPVOID;
dwActiveProcessorMask : DWORD;
dwNumberOfProcessors : DWORD;
dwProcessorType : DWORD;
dwAllocationGranularity : DWORD;
wProcessorLevel : WORD;
wProcessorRevision : WORD;
end;
LPSYSTEM_INFO = ^record
wProcessorArchitecture : WORD;
wReserved : WORD;
dwPageSize : DWORD;
lpMinimumApplicationAddress : LPVOID;
lpMaximumApplicationAddress : LPVOID;
dwActiveProcessorMask : DWORD;
dwNumberOfProcessors : DWORD;
dwProcessorType : DWORD;
dwAllocationGranularity : DWORD;
wProcessorLevel : WORD;
wProcessorRevision : WORD;
end;
SYSTEM_POWER_STATUS = record
ACLineStatus : BYTE;
BatteryFlag : BYTE;
BatteryLifePercent : BYTE;
Reserved1 : BYTE;
BatteryLifeTime : DWORD;
BatteryFullLifeTime : DWORD;
end;
LPSYSTEM_POWER_STATUS = ^*;
TAPE_ERASE = record
Type : ULONG;
end;
TAPE_GET_DRIVE_PARAMETERS = record
ECC : BOOLEAN;
Compression : BOOLEAN;
DataPadding : BOOLEAN;
ReportSetmarks : BOOLEAN;
DefaultBlockSize : ULONG;
MaximumBlockSize : ULONG;
MinimumBlockSize : ULONG;
MaximumPartitionCount : ULONG;
FeaturesLow : ULONG;
FeaturesHigh : ULONG;
EOTWarningZoneSize : ULONG;
end;
TAPE_GET_MEDIA_PARAMETERS = record
Capacity : LARGE_INTEGER;
Remaining : LARGE_INTEGER;
BlockSize : DWORD;
PartitionCount : DWORD;
WriteProtected : BOOLEAN;
end;
TAPE_GET_POSITION = record
Type : ULONG;
Partition : ULONG;
OffsetLow : ULONG;
OffsetHigh : ULONG;
end;
TAPE_PREPARE = record
Operation : ULONG;
end;
TAPE_SET_DRIVE_PARAMETERS = record
ECC : BOOLEAN;
Compression : BOOLEAN;
DataPadding : BOOLEAN;
ReportSetmarks : BOOLEAN;
EOTWarningZoneSize : ULONG;
end;
TAPE_SET_MEDIA_PARAMETERS = record
BlockSize : ULONG;
end;
TAPE_SET_POSITION = record
Method : ULONG;
Partition : ULONG;
OffsetLow : ULONG;
OffsetHigh : ULONG;
end;
TAPE_WRITE_MARKS = record
Type : ULONG;
Count : ULONG;
end;
TBADDBITMAP = record
hInst : HINSTANCE;
nID : UINT;
end;
LPTBADDBITMAP = ^record
hInst : HINSTANCE;
nID : UINT;
end;
TBBUTTON = record
iBitmap : longint;
idCommand : longint;
fsState : BYTE;
fsStyle : BYTE;
dwData : DWORD;
iString : longint;
end;
PTBBUTTON = ^record
iBitmap : longint;
idCommand : longint;
fsState : BYTE;
fsStyle : BYTE;
dwData : DWORD;
iString : longint;
end;
LPTBBUTTON = ^record
iBitmap : longint;
idCommand : longint;
fsState : BYTE;
fsStyle : BYTE;
dwData : DWORD;
iString : longint;
end;
LPCTBBUTTON = ^TBBUTTON;
TBNOTIFY = record
hdr : NMHDR;
iItem : longint;
tbButton : TBBUTTON;
cchText : longint;
pszText : LPTSTR;
end;
LPTBNOTIFY = ^record
hdr : NMHDR;
iItem : longint;
tbButton : TBBUTTON;
cchText : longint;
pszText : LPTSTR;
end;
TBSAVEPARAMS = record
hkr : HKEY;
pszSubKey : LPCTSTR;
pszValueName : LPCTSTR;
end;
TC_HITTESTINFO = record
pt : POINT;
flags : UINT;
end;
TC_ITEM = record
mask : UINT;
lpReserved1 : UINT;
lpReserved2 : UINT;
pszText : LPTSTR;
cchTextMax : longint;
iImage : longint;
lParam : LPARAM;
end;
TC_ITEMHEADER = record
mask : UINT;
lpReserved1 : UINT;
lpReserved2 : UINT;
pszText : LPTSTR;
cchTextMax : longint;
iImage : longint;
end;
TC_KEYDOWN = record
hdr : NMHDR;
wVKey : WORD;
flags : UINT;
end;
TEXTRANGE = record
chrg : CHARRANGE;
lpstrText : LPSTR;
end;
TIME_ZONE_INFORMATION = record
Bias : LONG;
StandardName : array[0..(32)-1] of WCHAR;
StandardDate : SYSTEMTIME;
StandardBias : LONG;
DaylightName : array[0..(32)-1] of WCHAR;
DaylightDate : SYSTEMTIME;
DaylightBias : LONG;
end;
LPTIME_ZONE_INFORMATION = ^record
Bias : LONG;
StandardName : array[0..(32)-1] of WCHAR;
StandardDate : SYSTEMTIME;
StandardBias : LONG;
DaylightName : array[0..(32)-1] of WCHAR;
DaylightDate : SYSTEMTIME;
DaylightBias : LONG;
end;
TOGGLEKEYS = record
cbSize : DWORD;
dwFlags : DWORD;
end;
TOKEN_SOURCE = record
SourceName : array[0..(8)-1] of CHAR;
SourceIdentifier : LUID;
end;
TOKEN_CONTROL = record
TokenId : LUID;
AuthenticationId : LUID;
ModifiedId : LUID;
TokenSource : TOKEN_SOURCE;
end;
TOKEN_DEFAULT_DACL = record
DefaultDacl : PACL;
end;
TOKEN_GROUPS = record
GroupCount : DWORD;
Groups : array[0..(ANYSIZE_ARRAY)-1] of SID_AND_ATTRIBUTES;
end;
PTOKEN_GROUPS = ^record
GroupCount : DWORD;
Groups : array[0..(ANYSIZE_ARRAY)-1] of SID_AND_ATTRIBUTES;
end;
LPTOKEN_GROUPS = ^record
GroupCount : DWORD;
Groups : array[0..(ANYSIZE_ARRAY)-1] of SID_AND_ATTRIBUTES;
end;
TOKEN_OWNER = record
Owner : PSID;
end;
TOKEN_PRIMARY_GROUP = record
PrimaryGroup : PSID;
end;
TOKEN_PRIVILEGES = record
PrivilegeCount : DWORD;
Privileges : array[0..(ANYSIZE_ARRAY)-1] of LUID_AND_ATTRIBUTES;
end;
PTOKEN_PRIVILEGES = ^record
PrivilegeCount : DWORD;
Privileges : array[0..(ANYSIZE_ARRAY)-1] of LUID_AND_ATTRIBUTES;
end;
LPTOKEN_PRIVILEGES = ^record
PrivilegeCount : DWORD;
Privileges : array[0..(ANYSIZE_ARRAY)-1] of LUID_AND_ATTRIBUTES;
end;
TOKEN_STATISTICS = record
TokenId : LUID;
AuthenticationId : LUID;
ExpirationTime : LARGE_INTEGER;
TokenType : TOKEN_TYPE;
ImpersonationLevel : SECURITY_IMPERSONATION_LEVEL;
DynamicCharged : DWORD;
DynamicAvailable : DWORD;
GroupCount : DWORD;
PrivilegeCount : DWORD;
ModifiedId : LUID;
end;
TOKEN_USER = record
User : SID_AND_ATTRIBUTES;
end;
TOOLINFO = record
cbSize : UINT;
uFlags : UINT;
hwnd : HWND;
uId : UINT;
rect : RECT;
hinst : HINSTANCE;
lpszText : LPTSTR;
end;
PTOOLINFO = ^record
cbSize : UINT;
uFlags : UINT;
hwnd : HWND;
uId : UINT;
rect : RECT;
hinst : HINSTANCE;
lpszText : LPTSTR;
end;
LPTOOLINFO = ^record
cbSize : UINT;
uFlags : UINT;
hwnd : HWND;
uId : UINT;
rect : RECT;
hinst : HINSTANCE;
lpszText : LPTSTR;
end;
TOOLTIPTEXT = record
hdr : NMHDR;
lpszText : LPTSTR;
szText : array[0..(80)-1] of char;
hinst : HINSTANCE;
uFlags : UINT;
end;
LPTOOLTIPTEXT = ^record
hdr : NMHDR;
lpszText : LPTSTR;
szText : array[0..(80)-1] of char;
hinst : HINSTANCE;
uFlags : UINT;
end;
TPMPARAMS = record
cbSize : UINT;
rcExclude : RECT;
end;
LPTPMPARAMS = ^record
cbSize : UINT;
rcExclude : RECT;
end;
TRANSMIT_FILE_BUFFERS = record
Head : PVOID;
HeadLength : DWORD;
Tail : PVOID;
TailLength : DWORD;
end;
TTHITTESTINFO = record
hwnd : HWND;
pt : POINT;
ti : TOOLINFO;
end;
LPHITTESTINFO = ^record
hwnd : HWND;
pt : POINT;
ti : TOOLINFO;
end;
TTPOLYCURVE = record
wType : WORD;
cpfx : WORD;
apfx : array[0..(1)-1] of POINTFX;
end;
LPTTPOLYCURVE = ^record
wType : WORD;
cpfx : WORD;
apfx : array[0..(1)-1] of POINTFX;
end;
TTPOLYGONHEADER = record
cb : DWORD;
dwType : DWORD;
pfxStart : POINTFX;
end;
LPTTPOLYGONHEADER = ^record
cb : DWORD;
dwType : DWORD;
pfxStart : POINTFX;
end;
TV_DISPINFO = record
hdr : NMHDR;
item : TV_ITEM;
end;
TV_HITTESTINFO = record
pt : POINT;
flags : UINT;
hItem : HTREEITEM;
end;
LPTV_HITTESTINFO = ^record
pt : POINT;
flags : UINT;
hItem : HTREEITEM;
end;
TV_INSERTSTRUCT = record
hParent : HTREEITEM;
hInsertAfter : HTREEITEM;
item : TV_ITEM;
end;
LPTV_INSERTSTRUCT = ^record
hParent : HTREEITEM;
hInsertAfter : HTREEITEM;
item : TV_ITEM;
end;
TV_KEYDOWN = record
hdr : NMHDR;
wVKey : WORD;
flags : UINT;
end;
TV_SORTCB = record
hParent : HTREEITEM;
lpfnCompare : PFNTVCOMPARE;
lParam : LPARAM;
end;
LPTV_SORTCB = ^record
hParent : HTREEITEM;
lpfnCompare : PFNTVCOMPARE;
lParam : LPARAM;
end;
UDACCEL = record
nSec : UINT;
nInc : UINT;
end;
ULARGE_INTEGER = record
LowPart : DWORD;
HighPart : DWORD;
end;
PULARGE_INTEGER = ^record
LowPart : DWORD;
HighPart : DWORD;
end;
UNIVERSAL_NAME_INFO = record
lpUniversalName : LPTSTR;
end;
USEROBJECTFLAGS = record
fInherit : WINBOOL;
fReserved : WINBOOL;
dwFlags : DWORD;
end;
VALENT = record
ve_valuename : LPTSTR;
ve_valuelen : DWORD;
ve_valueptr : DWORD;
ve_type : DWORD;
end;
PVALENT = ^record
ve_valuename : LPTSTR;
ve_valuelen : DWORD;
ve_valueptr : DWORD;
ve_type : DWORD;
end;
VERIFY_INFORMATION = record
StartingOffset : LARGE_INTEGER;
Length : DWORD;
end;
VS_FIXEDFILEINFO = record
dwSignature : DWORD;
dwStrucVersion : DWORD;
dwFileVersionMS : DWORD;
dwFileVersionLS : DWORD;
dwProductVersionMS : DWORD;
dwProductVersionLS : DWORD;
dwFileFlagsMask : DWORD;
dwFileFlags : DWORD;
dwFileOS : DWORD;
dwFileType : DWORD;
dwFileSubtype : DWORD;
dwFileDateMS : DWORD;
dwFileDateLS : DWORD;
end;
WIN32_FIND_DATA = record
dwFileAttributes : DWORD;
ftCreationTime : FILETIME;
ftLastAccessTime : FILETIME;
ftLastWriteTime : FILETIME;
nFileSizeHigh : DWORD;
nFileSizeLow : DWORD;
dwReserved0 : DWORD;
dwReserved1 : DWORD;
cFileName : array[0..(MAX_PATH)-1] of TCHAR;
cAlternateFileName : array[0..(14)-1] of TCHAR;
end;
LPWIN32_FIND_DATA = ^record
dwFileAttributes : DWORD;
ftCreationTime : FILETIME;
ftLastAccessTime : FILETIME;
ftLastWriteTime : FILETIME;
nFileSizeHigh : DWORD;
nFileSizeLow : DWORD;
dwReserved0 : DWORD;
dwReserved1 : DWORD;
cFileName : array[0..(MAX_PATH)-1] of TCHAR;
cAlternateFileName : array[0..(14)-1] of TCHAR;
end;
WIN32_STREAM_ID = record
dwStreamId : DWORD;
dwStreamAttributes : DWORD;
Size : LARGE_INTEGER;
dwStreamNameSize : DWORD;
cStreamName : ^WCHAR;
end;
WINDOWPLACEMENT = record
length : UINT;
flags : UINT;
showCmd : UINT;
ptMinPosition : POINT;
ptMaxPosition : POINT;
rcNormalPosition : RECT;
end;
WNDCLASS = record
style : UINT;
lpfnWndProc : WNDPROC;
cbClsExtra : longint;
cbWndExtra : longint;
hInstance : HANDLE;
hIcon : HICON;
hCursor : HCURSOR;
hbrBackground : HBRUSH;
lpszMenuName : LPCTSTR;
lpszClassName : LPCTSTR;
end;
LPWNDCLASS = ^record
style : UINT;
lpfnWndProc : WNDPROC;
cbClsExtra : longint;
cbWndExtra : longint;
hInstance : HANDLE;
hIcon : HICON;
hCursor : HCURSOR;
hbrBackground : HBRUSH;
lpszMenuName : LPCTSTR;
lpszClassName : LPCTSTR;
end;
WNDCLASSEX = record
cbSize : UINT;
style : UINT;
lpfnWndProc : WNDPROC;
cbClsExtra : longint;
cbWndExtra : longint;
hInstance : HANDLE;
hIcon : HICON;
hCursor : HCURSOR;
hbrBackground : HBRUSH;
lpszMenuName : LPCTSTR;
lpszClassName : LPCTSTR;
hIconSm : HICON;
end;
LPWNDCLASSEX = ^record
cbSize : UINT;
style : UINT;
lpfnWndProc : WNDPROC;
cbClsExtra : longint;
cbWndExtra : longint;
hInstance : HANDLE;
hIcon : HICON;
hCursor : HCURSOR;
hbrBackground : HBRUSH;
lpszMenuName : LPCTSTR;
lpszClassName : LPCTSTR;
hIconSm : HICON;
end;
CONNECTDLGSTRUCT = record
cbStructure : DWORD;
hwndOwner : HWND;
lpConnRes : LPNETRESOURCE;
dwFlags : DWORD;
dwDevNum : DWORD;
end;
LPCONNECTDLGSTRUCT = ^record
cbStructure : DWORD;
hwndOwner : HWND;
lpConnRes : LPNETRESOURCE;
dwFlags : DWORD;
dwDevNum : DWORD;
end;
DISCDLGSTRUCT = record
cbStructure : DWORD;
hwndOwner : HWND;
lpLocalName : LPTSTR;
lpRemoteName : LPTSTR;
dwFlags : DWORD;
end;
LPDISCDLGSTRUCT = ^record
cbStructure : DWORD;
hwndOwner : HWND;
lpLocalName : LPTSTR;
lpRemoteName : LPTSTR;
dwFlags : DWORD;
end;
NETINFOSTRUCT = record
cbStructure : DWORD;
dwProviderVersion : DWORD;
dwStatus : DWORD;
dwCharacteristics : DWORD;
dwHandle : DWORD;
wNetType : WORD;
dwPrinters : DWORD;
dwDrives : DWORD;
end;
LPNETINFOSTRUCT = ^record
cbStructure : DWORD;
dwProviderVersion : DWORD;
dwStatus : DWORD;
dwCharacteristics : DWORD;
dwHandle : DWORD;
wNetType : WORD;
dwPrinters : DWORD;
dwDrives : DWORD;
end;
NETCONNECTINFOSTRUCT = record
cbStructure : DWORD;
dwFlags : DWORD;
dwSpeed : DWORD;
dwDelay : DWORD;
dwOptDataSize : DWORD;
end;
LPNETCONNECTINFOSTRUCT = ^record
cbStructure : DWORD;
dwFlags : DWORD;
dwSpeed : DWORD;
dwDelay : DWORD;
dwOptDataSize : DWORD;
end;
ENUMMETAFILEPROC = function(_para1:HDC; _para2:HANDLETABLE; _para3:METARECORD; _para4:longint; _para5:LPARAM):longint;
ENHMETAFILEPROC = function(_para1:HDC; _para2:HANDLETABLE; _para3:ENHMETARECORD; _para4:longint; _para5:LPARAM):longint;
ENUMFONTSPROC = function(_para1:LPLOGFONT; _para2:LPTEXTMETRIC; _para3:DWORD; _para4:LPARAM):longint;
FONTENUMPROC = function(_para1:^ENUMLOGFONT; _para2:^NEWTEXTMETRIC; _para3:longint; _para4:LPARAM):longint;
FONTENUMEXPROC = function(_para1:^ENUMLOGFONTEX; _para2:^NEWTEXTMETRICEX; _para3:longint; _para4:LPARAM):longint;
LPOVERLAPPED_COMPLETION_ROUTINE = function(_para1:DWORD; _para2:DWORD; _para3:LPOVERLAPPED):VOID;
{
Structures for the extensions to OpenGL
}
POINTFLOAT = record
x : FLOAT;
y : FLOAT;
end;
PPOINTFLOAT = ^record
x : FLOAT;
y : FLOAT;
end;
GLYPHMETRICSFLOAT = record
gmfBlackBoxX : FLOAT;
gmfBlackBoxY : FLOAT;
gmfptGlyphOrigin : POINTFLOAT;
gmfCellIncX : FLOAT;
gmfCellIncY : FLOAT;
end;
PGLYPHMETRICSFLOAT = ^record
gmfBlackBoxX : FLOAT;
gmfBlackBoxY : FLOAT;
gmfptGlyphOrigin : POINTFLOAT;
gmfCellIncX : FLOAT;
gmfCellIncY : FLOAT;
end;
LPGLYPHMETRICSFLOAT = ^record
gmfBlackBoxX : FLOAT;
gmfBlackBoxY : FLOAT;
gmfptGlyphOrigin : POINTFLOAT;
gmfCellIncX : FLOAT;
gmfCellIncY : FLOAT;
end;
LAYERPLANEDESCRIPTOR = record
nSize : WORD;
nVersion : WORD;
dwFlags : DWORD;
iPixelType : BYTE;
cColorBits : BYTE;
cRedBits : BYTE;
cRedShift : BYTE;
cGreenBits : BYTE;
cGreenShift : BYTE;
cBlueBits : BYTE;
cBlueShift : BYTE;
cAlphaBits : BYTE;
cAlphaShift : BYTE;
cAccumBits : BYTE;
cAccumRedBits : BYTE;
cAccumGreenBits : BYTE;
cAccumBlueBits : BYTE;
cAccumAlphaBits : BYTE;
cDepthBits : BYTE;
cStencilBits : BYTE;
cAuxBuffers : BYTE;
iLayerPlane : BYTE;
bReserved : BYTE;
crTransparent : COLORREF;
end;
PLAYERPLANEDESCRIPTOR = ^record
nSize : WORD;
nVersion : WORD;
dwFlags : DWORD;
iPixelType : BYTE;
cColorBits : BYTE;
cRedBits : BYTE;
cRedShift : BYTE;
cGreenBits : BYTE;
cGreenShift : BYTE;
cBlueBits : BYTE;
cBlueShift : BYTE;
cAlphaBits : BYTE;
cAlphaShift : BYTE;
cAccumBits : BYTE;
cAccumRedBits : BYTE;
cAccumGreenBits : BYTE;
cAccumBlueBits : BYTE;
cAccumAlphaBits : BYTE;
cDepthBits : BYTE;
cStencilBits : BYTE;
cAuxBuffers : BYTE;
iLayerPlane : BYTE;
bReserved : BYTE;
crTransparent : COLORREF;
end;
LPLAYERPLANEDESCRIPTOR = ^record
nSize : WORD;
nVersion : WORD;
dwFlags : DWORD;
iPixelType : BYTE;
cColorBits : BYTE;
cRedBits : BYTE;
cRedShift : BYTE;
cGreenBits : BYTE;
cGreenShift : BYTE;
cBlueBits : BYTE;
cBlueShift : BYTE;
cAlphaBits : BYTE;
cAlphaShift : BYTE;
cAccumBits : BYTE;
cAccumRedBits : BYTE;
cAccumGreenBits : BYTE;
cAccumBlueBits : BYTE;
cAccumAlphaBits : BYTE;
cDepthBits : BYTE;
cStencilBits : BYTE;
cAuxBuffers : BYTE;
iLayerPlane : BYTE;
bReserved : BYTE;
crTransparent : COLORREF;
end;
PIXELFORMATDESCRIPTOR = record
nSize : WORD;
nVersion : WORD;
dwFlags : DWORD;
iPixelType : BYTE;
cColorBits : BYTE;
cRedBits : BYTE;
cRedShift : BYTE;
cGreenBits : BYTE;
cGreenShift : BYTE;
cBlueBits : BYTE;
cBlueShift : BYTE;
cAlphaBits : BYTE;
cAlphaShift : BYTE;
cAccumBits : BYTE;
cAccumRedBits : BYTE;
cAccumGreenBits : BYTE;
cAccumBlueBits : BYTE;
cAccumAlphaBits : BYTE;
cDepthBits : BYTE;
cStencilBits : BYTE;
cAuxBuffers : BYTE;
iLayerType : BYTE;
bReserved : BYTE;
dwLayerMask : DWORD;
dwVisibleMask : DWORD;
dwDamageMask : DWORD;
end;
PPIXELFORMATDESCRIPTOR = ^record
nSize : WORD;
nVersion : WORD;
dwFlags : DWORD;
iPixelType : BYTE;
cColorBits : BYTE;
cRedBits : BYTE;
cRedShift : BYTE;
cGreenBits : BYTE;
cGreenShift : BYTE;
cBlueBits : BYTE;
cBlueShift : BYTE;
cAlphaBits : BYTE;
cAlphaShift : BYTE;
cAccumBits : BYTE;
cAccumRedBits : BYTE;
cAccumGreenBits : BYTE;
cAccumBlueBits : BYTE;
cAccumAlphaBits : BYTE;
cDepthBits : BYTE;
cStencilBits : BYTE;
cAuxBuffers : BYTE;
iLayerType : BYTE;
bReserved : BYTE;
dwLayerMask : DWORD;
dwVisibleMask : DWORD;
dwDamageMask : DWORD;
end;
LPPIXELFORMATDESCRIPTOR = ^record
nSize : WORD;
nVersion : WORD;
dwFlags : DWORD;
iPixelType : BYTE;
cColorBits : BYTE;
cRedBits : BYTE;
cRedShift : BYTE;
cGreenBits : BYTE;
cGreenShift : BYTE;
cBlueBits : BYTE;
cBlueShift : BYTE;
cAlphaBits : BYTE;
cAlphaShift : BYTE;
cAccumBits : BYTE;
cAccumRedBits : BYTE;
cAccumGreenBits : BYTE;
cAccumBlueBits : BYTE;
cAccumAlphaBits : BYTE;
cDepthBits : BYTE;
cStencilBits : BYTE;
cAuxBuffers : BYTE;
iLayerType : BYTE;
bReserved : BYTE;
dwLayerMask : DWORD;
dwVisibleMask : DWORD;
dwDamageMask : DWORD;
end;
implementation
end.
{
$Log$
Revision 1.3 1998-06-25 08:41:48 florian
* better rtti
Revision 1.2 1998/05/06 12:36:50 michael
+ Removed log from before restored version.
Revision 1.1.1.1 1998/03/25 11:18:47 root
* Restored version
}