mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-18 12:39:36 +02:00
* propvariant and friends.
git-svn-id: trunk@10185 -
This commit is contained in:
parent
7ab46e8507
commit
a259154511
@ -44,6 +44,11 @@ TYPE
|
||||
PROPID = ULONG;
|
||||
TPROPID= PROPID;
|
||||
PPROPID= ^PROPID;
|
||||
VARIANT_BOOL = short;
|
||||
_VARIANT_BOOL = VARIANT_BOOL;
|
||||
CY = CURRENCY;
|
||||
DATE = DOUBLE;
|
||||
BSTR = POLESTR;
|
||||
|
||||
CONST
|
||||
GUID_NULL : TGUID = '{00000000-0000-0000-0000-000000000000}';
|
||||
@ -1529,9 +1534,146 @@ TYPE
|
||||
CUSTDATA = tagCUSTDATA;
|
||||
LPCUSTDATA = ^CUSTDATA;
|
||||
|
||||
// CURRENCY = CY;
|
||||
PPROPVARIANT = ^TPROPVARIANT;
|
||||
|
||||
|
||||
tagVersionedStream = record
|
||||
guidVersion : TGUID;
|
||||
pStream : pointer; {IStream}
|
||||
end;
|
||||
VERSIONEDSTREAM = tagVersionedStream;
|
||||
TVERSIONEDSTREAM = tagVersionedStream;
|
||||
LPVERSIONEDSTREAM = tagVersionedStream;
|
||||
PVERSIONEDSTREAM = ^TagVersionedStream;
|
||||
|
||||
|
||||
LPSAFEARRAY = ^SAFEARRAY;
|
||||
tagDEC = record // simpler remoting variant without nested unions. see wtypes.h
|
||||
wReserved : ushort;
|
||||
scale,
|
||||
sign : byte;
|
||||
hi32 : ULONG;
|
||||
lo64 : ULONGLONG;
|
||||
end;
|
||||
TDECIMAL=tagDEC;
|
||||
PDecimal=^TDECIMAL;
|
||||
|
||||
tagCAC = record
|
||||
cElems : ULONG;
|
||||
pElems : pCHAR;
|
||||
end;
|
||||
CAC = tagCAC;
|
||||
tagCAUB = record
|
||||
cElems : ULONG;
|
||||
pElems : pUCHAR;
|
||||
end;
|
||||
CAUB = tagCAUB;
|
||||
tagCAI = record
|
||||
cElems : ULONG;
|
||||
pElems : pSHORT;
|
||||
end;
|
||||
CAI = tagCAI;
|
||||
tagCAUI = record
|
||||
cElems : ULONG;
|
||||
pElems : pUSHORT;
|
||||
end;
|
||||
CAUI = tagCAUI;
|
||||
tagCAL = record
|
||||
cElems : ULONG;
|
||||
pElems : pLONG;
|
||||
end;
|
||||
CAL = tagCAL;
|
||||
tagCAUL = record
|
||||
cElems : ULONG;
|
||||
pElems : pULONG;
|
||||
end;
|
||||
CAUL = tagCAUL;
|
||||
tagCAFLT = record
|
||||
cElems : ULONG;
|
||||
pElems : pSingle;
|
||||
end;
|
||||
CAFLT = tagCAFLT;
|
||||
|
||||
tagCADBL = record
|
||||
cElems : ULONG;
|
||||
pElems : ^DOUBLE;
|
||||
end;
|
||||
CADBL = tagCADBL;
|
||||
tagCACY = record
|
||||
cElems : ULONG;
|
||||
pElems : ^CY;
|
||||
end;
|
||||
CACY = tagCACY;
|
||||
tagCADATE = record
|
||||
cElems : ULONG;
|
||||
pElems : ^DATE;
|
||||
end;
|
||||
CADATE = tagCADATE;
|
||||
tagCABSTR = record
|
||||
cElems : ULONG;
|
||||
pElems : ^BSTR;
|
||||
end;
|
||||
CABSTR = tagCABSTR;
|
||||
tagCABSTRBLOB = record
|
||||
cElems : ULONG;
|
||||
pElems : ^BSTRBLOB;
|
||||
end;
|
||||
CABSTRBLOB = tagCABSTRBLOB;
|
||||
tagCABOOL = record
|
||||
cElems : ULONG;
|
||||
pElems : ^VARIANT_BOOL;
|
||||
end;
|
||||
CABOOL = tagCABOOL;
|
||||
tagCASCODE = record
|
||||
cElems : ULONG;
|
||||
pElems : ^SCODE;
|
||||
end;
|
||||
CASCODE = tagCASCODE;
|
||||
tagCAPROPVARIANT = record
|
||||
cElems : ULONG;
|
||||
pElems : ^PROPVARIANT;
|
||||
end;
|
||||
CAPROPVARIANT = tagCAPROPVARIANT;
|
||||
tagCAH = record
|
||||
cElems : ULONG;
|
||||
pElems : ^LARGE_INTEGER;
|
||||
end;
|
||||
CAH = tagCAH;
|
||||
tagCAUH = record
|
||||
cElems : ULONG;
|
||||
pElems : ^ULARGE_INTEGER;
|
||||
end;
|
||||
CAUH = tagCAUH;
|
||||
tagCALPSTR = record
|
||||
cElems : ULONG;
|
||||
pElems : ^LPSTR;
|
||||
end;
|
||||
CALPSTR = tagCALPSTR;
|
||||
tagCALPWSTR = record
|
||||
cElems : ULONG;
|
||||
pElems : ^LPWSTR;
|
||||
end;
|
||||
CALPWSTR = tagCALPWSTR;
|
||||
tagCAFILETIME = record
|
||||
cElems : ULONG;
|
||||
pElems : ^FILETIME;
|
||||
end;
|
||||
CAFILETIME = tagCAFILETIME;
|
||||
tagCACLIPDATA = record
|
||||
cElems : ULONG;
|
||||
pElems : ^CLIPDATA;
|
||||
end;
|
||||
CACLIPDATA = tagCACLIPDATA;
|
||||
tagCACLSID = record
|
||||
cElems : ULONG;
|
||||
pElems : ^CLSID;
|
||||
end;
|
||||
CACLSID = tagCACLSID;
|
||||
|
||||
PROPVAR_PAD1 = WORD;
|
||||
PROPVAR_PAD2 = WORD;
|
||||
PROPVAR_PAD3 = WORD;
|
||||
|
||||
// Forward interfaces.
|
||||
|
||||
IStream = Types.IStream;
|
||||
@ -1548,6 +1690,88 @@ TYPE
|
||||
ISynchronize = Interface;
|
||||
ITypeLib = Interface;
|
||||
|
||||
TPROPVARIANT = record
|
||||
vt : VARTYPE;
|
||||
wReserved1 : PROPVAR_PAD1;
|
||||
wReserved2 : PROPVAR_PAD2;
|
||||
wReserved3 : PROPVAR_PAD3;
|
||||
case longint of
|
||||
0 : ( cVal : CHAR );
|
||||
1 : ( bVal : UCHAR );
|
||||
2 : ( iVal : SHORT );
|
||||
3 : ( uiVal : USHORT );
|
||||
4 : ( lVal : LONG );
|
||||
5 : ( ulVal : ULONG );
|
||||
6 : ( intVal : longINT );
|
||||
7 : ( uintVal : UINT );
|
||||
8 : ( hVal : LARGE_INTEGER );
|
||||
9 : ( uhVal : ULARGE_INTEGER );
|
||||
10 : ( fltVal : SINGLE );
|
||||
11 : ( dblVal : DOUBLE );
|
||||
12 : ( boolVal : VARIANT_BOOL );
|
||||
13 : ( bool : _VARIANT_BOOL );
|
||||
14 : ( scode : SCODE );
|
||||
15 : ( cyVal : CY );
|
||||
16 : ( date : DATE );
|
||||
17 : ( filetime : FILETIME );
|
||||
18 : ( puuid : ^CLSID );
|
||||
19 : ( pclipdata : ^CLIPDATA );
|
||||
20 : ( bstrVal : BSTR );
|
||||
21 : ( bstrblobVal : BSTRBLOB );
|
||||
22 : ( blob : BLOB );
|
||||
23 : ( pszVal : LPSTR );
|
||||
24 : ( pwszVal : LPWSTR );
|
||||
25 : ( punkVal : pointer; { IUnknown to avoid Data types which require initialization/finalization can't be used in variant records});
|
||||
26 : ( pdispVal : pointer; {IDispatch} );
|
||||
27 : ( pStream : pointer {IStream} );
|
||||
28 : ( pStorage : pointer{IStorage} );
|
||||
29 : ( pVersionedStream : LPVERSIONEDSTREAM );
|
||||
30 : ( parray : LPSAFEARRAY );
|
||||
31 : ( cac : CAC );
|
||||
32 : ( caub : CAUB );
|
||||
33 : ( cai : CAI );
|
||||
34 : ( caui : CAUI );
|
||||
35 : ( cal : CAL );
|
||||
36 : ( caul : CAUL );
|
||||
37 : ( cah : CAH );
|
||||
38 : ( cauh : CAUH );
|
||||
39 : ( caflt : CAFLT );
|
||||
40 : ( cadbl : CADBL );
|
||||
41 : ( cabool : CABOOL );
|
||||
42 : ( cascode : CASCODE );
|
||||
43 : ( cacy : CACY );
|
||||
44 : ( cadate : CADATE );
|
||||
45 : ( cafiletime : CAFILETIME );
|
||||
46 : ( cauuid : CACLSID );
|
||||
47 : ( caclipdata : CACLIPDATA );
|
||||
48 : ( cabstr : CABSTR );
|
||||
49 : ( cabstrblob : CABSTRBLOB );
|
||||
50 : ( calpstr : CALPSTR );
|
||||
51 : ( calpwstr : CALPWSTR );
|
||||
52 : ( capropvar : CAPROPVARIANT );
|
||||
53 : ( pcVal : pCHAR );
|
||||
54 : ( pbVal : pUCHAR );
|
||||
55 : ( piVal : pSHORT );
|
||||
56 : ( puiVal : pUSHORT );
|
||||
57 : ( plVal : pLONG );
|
||||
58 : ( pulVal : pULONG );
|
||||
59 : ( pintVal : plongint );
|
||||
60 : ( puintVal : pUINT );
|
||||
61 : ( pfltVal : psingle );
|
||||
62 : ( pdblVal : pDOUBLE );
|
||||
63 : ( pboolVal : ^VARIANT_BOOL );
|
||||
64 : ( pdecVal : pDECIMAL );
|
||||
65 : ( pscode : ^SCODE );
|
||||
66 : ( pcyVal : ^CY );
|
||||
67 : ( pdate : ^DATE );
|
||||
68 : ( pbstrVal : ^TBSTR );
|
||||
69 : ( ppunkVal : ^IUnknown );
|
||||
70 : ( ppdispVal : ^IDispatch );
|
||||
71 : ( pparray : ^LPSAFEARRAY );
|
||||
72 : ( pvarVal : ^PROPVARIANT );
|
||||
end;
|
||||
PROPVARIANT=TPROPVARIANT;
|
||||
|
||||
// Unknwn.idl
|
||||
|
||||
// IUnknown is in classesh.inc
|
||||
|
@ -657,7 +657,7 @@ function ImageList_GetDragImage(ppt:PPOINT;pptHotspot:PPOINT):HIMAGELIST; stdcal
|
||||
Procedure ImageList_RemoveAll(himl:HIMAGELIST);
|
||||
|
||||
// Macro 14
|
||||
Procedure ImageList_ExtractIcon(hi:longint; {dummy?} himl:HIMAGELIST;i:cint);
|
||||
Procedure ImageList_ExtractIcon(hi:longint; himl:HIMAGELIST;i:longint);
|
||||
|
||||
|
||||
// Macro 15
|
||||
@ -9152,7 +9152,7 @@ End;
|
||||
// Macro 14
|
||||
// #define ImageList_ExtractIcon(hi, himl, i) ImageList_GetIcon(himl, i, 0)
|
||||
|
||||
Procedure ImageList_ExtractIcon(hi:longint; {dummy?} himl:HIMAGELIST;i:cint);
|
||||
Procedure ImageList_ExtractIcon(hi:longint; himl:HIMAGELIST;i:longint);
|
||||
|
||||
Begin
|
||||
ImageList_GetIcon(himl, i,0);
|
||||
|
@ -1799,7 +1799,7 @@ Type
|
||||
|
||||
IShellLinkA = Interface(IUnknown)
|
||||
['{000214EE-0000-0000-C000-000000000046}']
|
||||
function GetPath(pszFile:LPSTR; cch:longint; pfd:pWIN32_FIND_DATA; fFlags:DWORD):HRESULT;StdCall;
|
||||
function GetPath(pszFile:LPSTR; cch:longint;var pfd:WIN32_FIND_DATA; fFlags:DWORD):HRESULT;StdCall;
|
||||
function GetIDList(var ppidl:LPITEMIDLIST):HRESULT;StdCall;
|
||||
function SetIDList(pidl:LPCITEMIDLIST):HRESULT;StdCall;
|
||||
function GetDescription(pszName:LPSTR; cch:longint):HRESULT;StdCall;
|
||||
|
@ -6952,8 +6952,7 @@
|
||||
|
||||
TWOHandleArray = array[0..MAXIMUM_WAIT_OBJECTS-1] of HANDLE;
|
||||
PWOHandleArray = ^TWOHandleArray;
|
||||
|
||||
MMRESULT = Longint;
|
||||
MMRESULT = Longint;
|
||||
|
||||
type
|
||||
PWaveFormatEx = ^TWaveFormatEx;
|
||||
@ -7207,6 +7206,23 @@ type
|
||||
GET_FILEEX_INFO_LEVELS = _GET_FILEEX_INFO_LEVELS;
|
||||
TGetFileExInfoLevels = GET_FILEEX_INFO_LEVELS;
|
||||
|
||||
tagBSTRBLOB = record
|
||||
cbsize : ULONG;
|
||||
pdata : pbyte;
|
||||
end;
|
||||
BSTRBLOB=TagBSTRBlob;
|
||||
TBSTRBLOB=BSTRBLOB;
|
||||
PBSTRBLOB=^BSTRBLOB;
|
||||
|
||||
tagCLIPDATA = record
|
||||
cbsize : ULONG;
|
||||
ulClipFmt : long;
|
||||
pclipdata : pbyte;
|
||||
end;
|
||||
CLIPDATA=TagCLIPDATA;
|
||||
TCLIPDATA=CLIPDATA;
|
||||
PCLIPDATA=^CLIPDATA;
|
||||
|
||||
{$endif read_interface}
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user