Commit 83755cca authored by Francois Gouget's avatar Francois Gouget Committed by Alexandre Julliard

Move the PROPVARIANT declaration from objidl.idl to propidl.idl.

Move related API declarations from individual C files to propidl.idl. Remove uneeded include of propidl.h in the propvariant.c test.
parent f0e6b584
...@@ -2326,8 +2326,6 @@ static void OLE_FreeClipDataArray(ULONG count, CLIPDATA * pClipDataArray) ...@@ -2326,8 +2326,6 @@ static void OLE_FreeClipDataArray(ULONG count, CLIPDATA * pClipDataArray)
CoTaskMemFree(pClipDataArray[i].pClipData); CoTaskMemFree(pClipDataArray[i].pClipData);
} }
HRESULT WINAPI FreePropVariantArray(ULONG,PROPVARIANT*);
/****************************************************************************** /******************************************************************************
* Check if a PROPVARIANT's type is valid. * Check if a PROPVARIANT's type is valid.
*/ */
......
...@@ -19,10 +19,6 @@ ...@@ -19,10 +19,6 @@
*/ */
#include "windows.h" #include "windows.h"
/* not present in Wine yet */
/*#include "propidl.h"*/
WINOLEAPI PropVariantClear(PROPVARIANT*);
WINOLEAPI PropVariantCopy(PROPVARIANT*, const PROPVARIANT*);
#include "wine/test.h" #include "wine/test.h"
......
...@@ -137,7 +137,7 @@ typedef enum { ...@@ -137,7 +137,7 @@ typedef enum {
} OLE_RELEASE_METHOD; } OLE_RELEASE_METHOD;
typedef LONG LHCLIENTDOC; typedef LONG LHCLIENTDOC;
typedef struct _OLEOBJECT *LPOLEOBJECT; typedef struct _OLEOBJECT *_LPOLEOBJECT;
typedef struct _OLECLIENT *LPOLECLIENT; typedef struct _OLECLIENT *LPOLECLIENT;
typedef LONG OLECLIPFORMAT;/* dunno about this type, please change/add */ typedef LONG OLECLIPFORMAT;/* dunno about this type, please change/add */
typedef OLEOPT_UPDATE *LPOLEOPT_UPDATE; typedef OLEOPT_UPDATE *LPOLEOPT_UPDATE;
...@@ -145,52 +145,52 @@ typedef LPCSTR LPCOLESTR16; ...@@ -145,52 +145,52 @@ typedef LPCSTR LPCOLESTR16;
struct _OLESTREAM; struct _OLESTREAM;
typedef struct _OLEOBJECTVTBL { typedef struct _OLEOBJECTVTBL16 {
void CALLBACK *(*QueryProtocol)(LPOLEOBJECT,LPCOLESTR16); void CALLBACK *(*QueryProtocol)(_LPOLEOBJECT,LPCOLESTR16);
OLESTATUS (CALLBACK *Release)(LPOLEOBJECT); OLESTATUS (CALLBACK *Release)(_LPOLEOBJECT);
OLESTATUS (CALLBACK *Show)(LPOLEOBJECT,BOOL16); OLESTATUS (CALLBACK *Show)(_LPOLEOBJECT,BOOL16);
OLESTATUS (CALLBACK *DoVerb)(LPOLEOBJECT,UINT16,BOOL16,BOOL16); OLESTATUS (CALLBACK *DoVerb)(_LPOLEOBJECT,UINT16,BOOL16,BOOL16);
OLESTATUS (CALLBACK *GetData)(LPOLEOBJECT,OLECLIPFORMAT,HANDLE16 *); OLESTATUS (CALLBACK *GetData)(_LPOLEOBJECT,OLECLIPFORMAT,HANDLE16 *);
OLESTATUS (CALLBACK *SetData)(LPOLEOBJECT,OLECLIPFORMAT,HANDLE16); OLESTATUS (CALLBACK *SetData)(_LPOLEOBJECT,OLECLIPFORMAT,HANDLE16);
OLESTATUS (CALLBACK *SetTargetDevice)(LPOLEOBJECT,HGLOBAL16); OLESTATUS (CALLBACK *SetTargetDevice)(_LPOLEOBJECT,HGLOBAL16);
OLESTATUS (CALLBACK *SetBounds)(LPOLEOBJECT,LPRECT16); OLESTATUS (CALLBACK *SetBounds)(_LPOLEOBJECT,LPRECT16);
OLESTATUS (CALLBACK *EnumFormats)(LPOLEOBJECT,OLECLIPFORMAT); OLESTATUS (CALLBACK *EnumFormats)(_LPOLEOBJECT,OLECLIPFORMAT);
OLESTATUS (CALLBACK *SetColorScheme)(LPOLEOBJECT,struct tagLOGPALETTE*); OLESTATUS (CALLBACK *SetColorScheme)(_LPOLEOBJECT,struct tagLOGPALETTE*);
OLESTATUS (CALLBACK *Delete)(LPOLEOBJECT); OLESTATUS (CALLBACK *Delete)(_LPOLEOBJECT);
OLESTATUS (CALLBACK *SetHostNames)(LPOLEOBJECT,LPCOLESTR16,LPCOLESTR16); OLESTATUS (CALLBACK *SetHostNames)(_LPOLEOBJECT,LPCOLESTR16,LPCOLESTR16);
OLESTATUS (CALLBACK *SaveToStream)(LPOLEOBJECT,struct _OLESTREAM*); OLESTATUS (CALLBACK *SaveToStream)(_LPOLEOBJECT,struct _OLESTREAM*);
OLESTATUS (CALLBACK *Clone)(LPOLEOBJECT,LPOLECLIENT,LHCLIENTDOC,LPCOLESTR16,LPOLEOBJECT *); OLESTATUS (CALLBACK *Clone)(_LPOLEOBJECT,LPOLECLIENT,LHCLIENTDOC,LPCOLESTR16,_LPOLEOBJECT *);
OLESTATUS (CALLBACK *CopyFromLink)(LPOLEOBJECT,LPOLECLIENT,LHCLIENTDOC,LPCOLESTR16,LPOLEOBJECT *); OLESTATUS (CALLBACK *CopyFromLink)(_LPOLEOBJECT,LPOLECLIENT,LHCLIENTDOC,LPCOLESTR16,_LPOLEOBJECT *);
OLESTATUS (CALLBACK *Equal)(LPOLEOBJECT,LPOLEOBJECT); OLESTATUS (CALLBACK *Equal)(_LPOLEOBJECT,_LPOLEOBJECT);
OLESTATUS (CALLBACK *CopyToClipBoard)(LPOLEOBJECT); OLESTATUS (CALLBACK *CopyToClipBoard)(_LPOLEOBJECT);
OLESTATUS (CALLBACK *Draw)(LPOLEOBJECT,HDC16,LPRECT16,LPRECT16,HDC16); OLESTATUS (CALLBACK *Draw)(_LPOLEOBJECT,HDC16,LPRECT16,LPRECT16,HDC16);
OLESTATUS (CALLBACK *Activate)(LPOLEOBJECT,UINT16,BOOL16,BOOL16,HWND16,LPRECT16); OLESTATUS (CALLBACK *Activate)(_LPOLEOBJECT,UINT16,BOOL16,BOOL16,HWND16,LPRECT16);
OLESTATUS (CALLBACK *Execute)(LPOLEOBJECT,HGLOBAL16,UINT16); OLESTATUS (CALLBACK *Execute)(_LPOLEOBJECT,HGLOBAL16,UINT16);
OLESTATUS (CALLBACK *Close)(LPOLEOBJECT); OLESTATUS (CALLBACK *Close)(_LPOLEOBJECT);
OLESTATUS (CALLBACK *Update)(LPOLEOBJECT); OLESTATUS (CALLBACK *Update)(_LPOLEOBJECT);
OLESTATUS (CALLBACK *Reconnect)(LPOLEOBJECT); OLESTATUS (CALLBACK *Reconnect)(_LPOLEOBJECT);
OLESTATUS (CALLBACK *ObjectConvert)(LPOLEOBJECT,LPCOLESTR16,LPOLECLIENT,LHCLIENTDOC,LPCOLESTR16,LPOLEOBJECT*); OLESTATUS (CALLBACK *ObjectConvert)(_LPOLEOBJECT,LPCOLESTR16,LPOLECLIENT,LHCLIENTDOC,LPCOLESTR16,_LPOLEOBJECT*);
OLESTATUS (CALLBACK *GetLinkUpdateOptions)(LPOLEOBJECT,LPOLEOPT_UPDATE); OLESTATUS (CALLBACK *GetLinkUpdateOptions)(_LPOLEOBJECT,LPOLEOPT_UPDATE);
OLESTATUS (CALLBACK *SetLinkUpdateOptions)(LPOLEOBJECT,OLEOPT_UPDATE); OLESTATUS (CALLBACK *SetLinkUpdateOptions)(_LPOLEOBJECT,OLEOPT_UPDATE);
OLESTATUS (CALLBACK *Rename)(LPOLEOBJECT,LPCOLESTR16); OLESTATUS (CALLBACK *Rename)(_LPOLEOBJECT,LPCOLESTR16);
OLESTATUS (CALLBACK *QueryName)(LPOLEOBJECT,LPSTR,LPUINT16); OLESTATUS (CALLBACK *QueryName)(_LPOLEOBJECT,LPSTR,LPUINT16);
OLESTATUS (CALLBACK *QueryType)(LPOLEOBJECT,LPLONG); OLESTATUS (CALLBACK *QueryType)(_LPOLEOBJECT,LPLONG);
OLESTATUS (CALLBACK *QueryBounds)(LPOLEOBJECT,LPRECT16); OLESTATUS (CALLBACK *QueryBounds)(_LPOLEOBJECT,LPRECT16);
OLESTATUS (CALLBACK *QuerySize)(LPOLEOBJECT,LPDWORD); OLESTATUS (CALLBACK *QuerySize)(_LPOLEOBJECT,LPDWORD);
OLESTATUS (CALLBACK *QueryOpen)(LPOLEOBJECT); OLESTATUS (CALLBACK *QueryOpen)(_LPOLEOBJECT);
OLESTATUS (CALLBACK *QueryOutOfDate)(LPOLEOBJECT); OLESTATUS (CALLBACK *QueryOutOfDate)(_LPOLEOBJECT);
OLESTATUS (CALLBACK *QueryReleaseStatus)(LPOLEOBJECT); OLESTATUS (CALLBACK *QueryReleaseStatus)(_LPOLEOBJECT);
OLESTATUS (CALLBACK *QueryReleaseError)(LPOLEOBJECT); OLESTATUS (CALLBACK *QueryReleaseError)(_LPOLEOBJECT);
OLE_RELEASE_METHOD (CALLBACK *QueryReleaseMethod)(LPOLEOBJECT); OLE_RELEASE_METHOD (CALLBACK *QueryReleaseMethod)(_LPOLEOBJECT);
OLESTATUS (CALLBACK *RequestData)(LPOLEOBJECT,OLECLIPFORMAT); OLESTATUS (CALLBACK *RequestData)(_LPOLEOBJECT,OLECLIPFORMAT);
OLESTATUS (CALLBACK *ObjectLong)(LPOLEOBJECT,UINT16,LPLONG); OLESTATUS (CALLBACK *ObjectLong)(_LPOLEOBJECT,UINT16,LPLONG);
} OLEOBJECTVTBL; } OLEOBJECTVTBL;
typedef OLEOBJECTVTBL *LPOLEOBJECTVTBL; typedef OLEOBJECTVTBL *LPOLEOBJECTVTBL;
typedef struct _OLEOBJECT typedef struct _OLEOBJECT
{ {
LPOLEOBJECTVTBL lpvtbl; LPOLEOBJECTVTBL lpvtbl;
} OLEOBJECT; } OLEOBJECT16;
static LONG OLE_current_handle; static LONG OLE_current_handle;
...@@ -293,7 +293,7 @@ BOOL16 WINAPI OleIsDcMeta16(HDC16 hdc) ...@@ -293,7 +293,7 @@ BOOL16 WINAPI OleIsDcMeta16(HDC16 hdc)
/****************************************************************************** /******************************************************************************
* OleQueryType [OLECLI.14] * OleQueryType [OLECLI.14]
*/ */
OLESTATUS WINAPI OleQueryType16(LPOLEOBJECT oleob, SEGPTR xlong) { OLESTATUS WINAPI OleQueryType16(_LPOLEOBJECT oleob, SEGPTR xlong) {
FIXME("(%p, %p): stub!\n", oleob, MapSL(xlong)); FIXME("(%p, %p): stub!\n", oleob, MapSL(xlong));
return OLE_OK; return OLE_OK;
} }
......
...@@ -137,7 +137,7 @@ typedef enum { ...@@ -137,7 +137,7 @@ typedef enum {
} OLE_RELEASE_METHOD; } OLE_RELEASE_METHOD;
typedef LONG LHCLIENTDOC; typedef LONG LHCLIENTDOC;
typedef struct _OLEOBJECT *LPOLEOBJECT; typedef struct _OLEOBJECT *_LPOLEOBJECT;
typedef struct _OLECLIENT *LPOLECLIENT; typedef struct _OLECLIENT *LPOLECLIENT;
typedef LONG OLECLIPFORMAT;/* dunno about this type, please change/add */ typedef LONG OLECLIPFORMAT;/* dunno about this type, please change/add */
typedef OLEOPT_UPDATE *LPOLEOPT_UPDATE; typedef OLEOPT_UPDATE *LPOLEOPT_UPDATE;
...@@ -146,44 +146,44 @@ typedef LPCSTR LPCOLESTR16; ...@@ -146,44 +146,44 @@ typedef LPCSTR LPCOLESTR16;
struct _OLESTREAM; struct _OLESTREAM;
typedef struct _OLEOBJECTVTBL { typedef struct _OLEOBJECTVTBL {
void CALLBACK *(*QueryProtocol)(LPOLEOBJECT,LPCOLESTR16); void CALLBACK *(*QueryProtocol)(_LPOLEOBJECT,LPCOLESTR16);
OLESTATUS (CALLBACK *Release)(LPOLEOBJECT); OLESTATUS (CALLBACK *Release)(_LPOLEOBJECT);
OLESTATUS (CALLBACK *Show)(LPOLEOBJECT,BOOL16); OLESTATUS (CALLBACK *Show)(_LPOLEOBJECT,BOOL16);
OLESTATUS (CALLBACK *DoVerb)(LPOLEOBJECT,UINT16,BOOL16,BOOL16); OLESTATUS (CALLBACK *DoVerb)(_LPOLEOBJECT,UINT16,BOOL16,BOOL16);
OLESTATUS (CALLBACK *GetData)(LPOLEOBJECT,OLECLIPFORMAT,HANDLE16 *); OLESTATUS (CALLBACK *GetData)(_LPOLEOBJECT,OLECLIPFORMAT,HANDLE16 *);
OLESTATUS (CALLBACK *SetData)(LPOLEOBJECT,OLECLIPFORMAT,HANDLE16); OLESTATUS (CALLBACK *SetData)(_LPOLEOBJECT,OLECLIPFORMAT,HANDLE16);
OLESTATUS (CALLBACK *SetTargetDevice)(LPOLEOBJECT,HGLOBAL16); OLESTATUS (CALLBACK *SetTargetDevice)(_LPOLEOBJECT,HGLOBAL16);
OLESTATUS (CALLBACK *SetBounds)(LPOLEOBJECT,LPRECT16); OLESTATUS (CALLBACK *SetBounds)(_LPOLEOBJECT,LPRECT16);
OLESTATUS (CALLBACK *EnumFormats)(LPOLEOBJECT,OLECLIPFORMAT); OLESTATUS (CALLBACK *EnumFormats)(_LPOLEOBJECT,OLECLIPFORMAT);
OLESTATUS (CALLBACK *SetColorScheme)(LPOLEOBJECT,struct tagLOGPALETTE*); OLESTATUS (CALLBACK *SetColorScheme)(_LPOLEOBJECT,struct tagLOGPALETTE*);
OLESTATUS (CALLBACK *Delete)(LPOLEOBJECT); OLESTATUS (CALLBACK *Delete)(_LPOLEOBJECT);
OLESTATUS (CALLBACK *SetHostNames)(LPOLEOBJECT,LPCOLESTR16,LPCOLESTR16); OLESTATUS (CALLBACK *SetHostNames)(_LPOLEOBJECT,LPCOLESTR16,LPCOLESTR16);
OLESTATUS (CALLBACK *SaveToStream)(LPOLEOBJECT,struct _OLESTREAM*); OLESTATUS (CALLBACK *SaveToStream)(_LPOLEOBJECT,struct _OLESTREAM*);
OLESTATUS (CALLBACK *Clone)(LPOLEOBJECT,LPOLECLIENT,LHCLIENTDOC,LPCOLESTR16,LPOLEOBJECT *); OLESTATUS (CALLBACK *Clone)(_LPOLEOBJECT,LPOLECLIENT,LHCLIENTDOC,LPCOLESTR16,_LPOLEOBJECT *);
OLESTATUS (CALLBACK *CopyFromLink)(LPOLEOBJECT,LPOLECLIENT,LHCLIENTDOC,LPCOLESTR16,LPOLEOBJECT *); OLESTATUS (CALLBACK *CopyFromLink)(_LPOLEOBJECT,LPOLECLIENT,LHCLIENTDOC,LPCOLESTR16,_LPOLEOBJECT *);
OLESTATUS (CALLBACK *Equal)(LPOLEOBJECT,LPOLEOBJECT); OLESTATUS (CALLBACK *Equal)(_LPOLEOBJECT,_LPOLEOBJECT);
OLESTATUS (CALLBACK *CopyToClipBoard)(LPOLEOBJECT); OLESTATUS (CALLBACK *CopyToClipBoard)(_LPOLEOBJECT);
OLESTATUS (CALLBACK *Draw)(LPOLEOBJECT,HDC16,LPRECT16,LPRECT16,HDC16); OLESTATUS (CALLBACK *Draw)(_LPOLEOBJECT,HDC16,LPRECT16,LPRECT16,HDC16);
OLESTATUS (CALLBACK *Activate)(LPOLEOBJECT,UINT16,BOOL16,BOOL16,HWND16,LPRECT16); OLESTATUS (CALLBACK *Activate)(_LPOLEOBJECT,UINT16,BOOL16,BOOL16,HWND16,LPRECT16);
OLESTATUS (CALLBACK *Execute)(LPOLEOBJECT,HGLOBAL16,UINT16); OLESTATUS (CALLBACK *Execute)(_LPOLEOBJECT,HGLOBAL16,UINT16);
OLESTATUS (CALLBACK *Close)(LPOLEOBJECT); OLESTATUS (CALLBACK *Close)(_LPOLEOBJECT);
OLESTATUS (CALLBACK *Update)(LPOLEOBJECT); OLESTATUS (CALLBACK *Update)(_LPOLEOBJECT);
OLESTATUS (CALLBACK *Reconnect)(LPOLEOBJECT); OLESTATUS (CALLBACK *Reconnect)(_LPOLEOBJECT);
OLESTATUS (CALLBACK *ObjectConvert)(LPOLEOBJECT,LPCOLESTR16,LPOLECLIENT,LHCLIENTDOC,LPCOLESTR16,LPOLEOBJECT*); OLESTATUS (CALLBACK *ObjectConvert)(_LPOLEOBJECT,LPCOLESTR16,LPOLECLIENT,LHCLIENTDOC,LPCOLESTR16,_LPOLEOBJECT*);
OLESTATUS (CALLBACK *GetLinkUpdateOptions)(LPOLEOBJECT,LPOLEOPT_UPDATE); OLESTATUS (CALLBACK *GetLinkUpdateOptions)(_LPOLEOBJECT,LPOLEOPT_UPDATE);
OLESTATUS (CALLBACK *SetLinkUpdateOptions)(LPOLEOBJECT,OLEOPT_UPDATE); OLESTATUS (CALLBACK *SetLinkUpdateOptions)(_LPOLEOBJECT,OLEOPT_UPDATE);
OLESTATUS (CALLBACK *Rename)(LPOLEOBJECT,LPCOLESTR16); OLESTATUS (CALLBACK *Rename)(_LPOLEOBJECT,LPCOLESTR16);
OLESTATUS (CALLBACK *QueryName)(LPOLEOBJECT,LPSTR,LPUINT16); OLESTATUS (CALLBACK *QueryName)(_LPOLEOBJECT,LPSTR,LPUINT16);
OLESTATUS (CALLBACK *QueryType)(LPOLEOBJECT,LPLONG); OLESTATUS (CALLBACK *QueryType)(_LPOLEOBJECT,LPLONG);
OLESTATUS (CALLBACK *QueryBounds)(LPOLEOBJECT,LPRECT16); OLESTATUS (CALLBACK *QueryBounds)(_LPOLEOBJECT,LPRECT16);
OLESTATUS (CALLBACK *QuerySize)(LPOLEOBJECT,LPDWORD); OLESTATUS (CALLBACK *QuerySize)(_LPOLEOBJECT,LPDWORD);
OLESTATUS (CALLBACK *QueryOpen)(LPOLEOBJECT); OLESTATUS (CALLBACK *QueryOpen)(_LPOLEOBJECT);
OLESTATUS (CALLBACK *QueryOutOfDate)(LPOLEOBJECT); OLESTATUS (CALLBACK *QueryOutOfDate)(_LPOLEOBJECT);
OLESTATUS (CALLBACK *QueryReleaseStatus)(LPOLEOBJECT); OLESTATUS (CALLBACK *QueryReleaseStatus)(_LPOLEOBJECT);
OLESTATUS (CALLBACK *QueryReleaseError)(LPOLEOBJECT); OLESTATUS (CALLBACK *QueryReleaseError)(_LPOLEOBJECT);
OLE_RELEASE_METHOD (CALLBACK *QueryReleaseMethod)(LPOLEOBJECT); OLE_RELEASE_METHOD (CALLBACK *QueryReleaseMethod)(_LPOLEOBJECT);
OLESTATUS (CALLBACK *RequestData)(LPOLEOBJECT,OLECLIPFORMAT); OLESTATUS (CALLBACK *RequestData)(_LPOLEOBJECT,OLECLIPFORMAT);
OLESTATUS (CALLBACK *ObjectLong)(LPOLEOBJECT,UINT16,LPLONG); OLESTATUS (CALLBACK *ObjectLong)(_LPOLEOBJECT,UINT16,LPLONG);
} OLEOBJECTVTBL; } OLEOBJECTVTBL;
typedef OLEOBJECTVTBL *LPOLEOBJECTVTBL; typedef OLEOBJECTVTBL *LPOLEOBJECTVTBL;
...@@ -237,7 +237,7 @@ OLESTATUS WINAPI OleRevokeClientDoc(LHCLIENTDOC hServerDoc) ...@@ -237,7 +237,7 @@ OLESTATUS WINAPI OleRevokeClientDoc(LHCLIENTDOC hServerDoc)
*/ */
OLESTATUS WINAPI OleCreateLinkFromClip( OLESTATUS WINAPI OleCreateLinkFromClip(
LPCSTR name,LPOLECLIENT olecli,LHCLIENTDOC hclientdoc,LPCSTR xname, LPCSTR name,LPOLECLIENT olecli,LHCLIENTDOC hclientdoc,LPCSTR xname,
LPOLEOBJECT *lpoleob,OLEOPT_RENDER render,OLECLIPFORMAT clipformat _LPOLEOBJECT *lpoleob,OLEOPT_RENDER render,OLECLIPFORMAT clipformat
) { ) {
FIXME("(%s,%p,%08lx,%s,%p,%d,%ld): stub!\n", FIXME("(%s,%p,%08lx,%s,%p,%d,%ld): stub!\n",
name,olecli,hclientdoc,xname,lpoleob,render,clipformat); name,olecli,hclientdoc,xname,lpoleob,render,clipformat);
...@@ -272,7 +272,7 @@ BOOL WINAPI OleIsDcMeta(HDC hdc) ...@@ -272,7 +272,7 @@ BOOL WINAPI OleIsDcMeta(HDC hdc)
/****************************************************************************** /******************************************************************************
* OleSetHostNames [OLECLI32.15] * OleSetHostNames [OLECLI32.15]
*/ */
OLESTATUS WINAPI OleSetHostNames(LPOLEOBJECT oleob,LPCSTR name1,LPCSTR name2) { OLESTATUS WINAPI OleSetHostNames(_LPOLEOBJECT oleob,LPCSTR name1,LPCSTR name2) {
FIXME("(%p,%s,%s): stub\n",oleob,name1,name2); FIXME("(%p,%s,%s): stub\n",oleob,name1,name2);
return OLE_OK; return OLE_OK;
} }
...@@ -280,7 +280,7 @@ OLESTATUS WINAPI OleSetHostNames(LPOLEOBJECT oleob,LPCSTR name1,LPCSTR name2) { ...@@ -280,7 +280,7 @@ OLESTATUS WINAPI OleSetHostNames(LPOLEOBJECT oleob,LPCSTR name1,LPCSTR name2) {
/****************************************************************************** /******************************************************************************
* OleQueryType [OLECLI32.14] * OleQueryType [OLECLI32.14]
*/ */
OLESTATUS WINAPI OleQueryType(LPOLEOBJECT oleob,LONG*xlong) { OLESTATUS WINAPI OleQueryType(_LPOLEOBJECT oleob,LONG*xlong) {
FIXME("(%p,%p): stub!\n",oleob,xlong); FIXME("(%p,%p): stub!\n",oleob,xlong);
if (!oleob) if (!oleob)
return 0x10; return 0x10;
...@@ -294,7 +294,7 @@ OLESTATUS WINAPI OleQueryType(LPOLEOBJECT oleob,LONG*xlong) { ...@@ -294,7 +294,7 @@ OLESTATUS WINAPI OleQueryType(LPOLEOBJECT oleob,LONG*xlong) {
*/ */
OLESTATUS WINAPI OleCreateFromClip( OLESTATUS WINAPI OleCreateFromClip(
LPCSTR name,LPOLECLIENT olecli,LHCLIENTDOC hclientdoc,LPCSTR xname, LPCSTR name,LPOLECLIENT olecli,LHCLIENTDOC hclientdoc,LPCSTR xname,
LPOLEOBJECT *lpoleob,OLEOPT_RENDER render, OLECLIPFORMAT clipformat _LPOLEOBJECT *lpoleob,OLEOPT_RENDER render, OLECLIPFORMAT clipformat
) { ) {
FIXME("(%s,%p,%08lx,%s,%p,%d,%ld): stub!\n", FIXME("(%s,%p,%08lx,%s,%p,%d,%ld): stub!\n",
name,olecli,hclientdoc,xname,lpoleob,render,clipformat); name,olecli,hclientdoc,xname,lpoleob,render,clipformat);
......
...@@ -20,6 +20,7 @@ IDL_SRCS = \ ...@@ -20,6 +20,7 @@ IDL_SRCS = \
objidl.idl \ objidl.idl \
ocidl.idl \ ocidl.idl \
oleidl.idl \ oleidl.idl \
propidl.idl \
pstore.idl \ pstore.idl \
servprov.idl \ servprov.idl \
shldisp.idl \ shldisp.idl \
......
...@@ -487,6 +487,8 @@ HRESULT WINAPI StgOpenStorageOnILockBytes(ILockBytes *plkbyt, IStorage *pstgPrio ...@@ -487,6 +487,8 @@ HRESULT WINAPI StgOpenStorageOnILockBytes(ILockBytes *plkbyt, IStorage *pstgPrio
} }
#endif #endif
/* FIXME: #include <urlmon.h> */
#include <propidl.h>
#ifndef __WINESRC__ #ifndef __WINESRC__
......
...@@ -1810,293 +1810,10 @@ interface IChannelHook : IUnknown ...@@ -1810,293 +1810,10 @@ interface IChannelHook : IUnknown
[in] HRESULT hrFault ); [in] HRESULT hrFault );
} }
/******************** Property Storage ********************/ extern const FMTID FMTID_SummaryInformation;
extern const FMTID FMTID_DocSummaryInformation;
extern const FMTID FMTID_UserDefinedProperties;
interface IEnumSTATPROPSTG;
interface IEnumSTATPROPSETSTG;
[
object,
uuid(00000138-0000-0000-C000-000000000046),
pointer_default(unique)
]
interface IPropertyStorage : IUnknown
{
typedef [unique] IPropertyStorage *LPPROPERTYSTORAGE;
extern const FMTID FMTID_SummaryInformation;
extern const FMTID FMTID_DocSummaryInformation;
extern const FMTID FMTID_UserDefinedProperties;
const DWORD PROPSETFLAG_DEFAULT = 0;
const DWORD PROPSETFLAG_NONSIMPLE = 1;
const DWORD PROPSETFLAG_ANSI = 2;
const DWORD PROPSETFLAG_UNBUFFERED = 4;
typedef struct tagPROPVARIANT PROPVARIANT;
#define TYPEDEF_CA(type, name) \
typedef struct tag##name { \
ULONG cElems; \
[size_is(cElems)] \
type *pElems; \
} name
TYPEDEF_CA(unsigned char, CAUB);
TYPEDEF_CA(short, CAI);
TYPEDEF_CA(USHORT, CAUI);
TYPEDEF_CA(long, CAL);
TYPEDEF_CA(ULONG, CAUL);
TYPEDEF_CA(float, CAFLT);
TYPEDEF_CA(double, CADBL);
TYPEDEF_CA(CY, CACY);
TYPEDEF_CA(DATE, CADATE);
TYPEDEF_CA(BSTR, CABSTR);
TYPEDEF_CA(BSTRBLOB, CABSTRBLOB);
TYPEDEF_CA(VARIANT_BOOL, CABOOL);
TYPEDEF_CA(SCODE, CASCODE);
TYPEDEF_CA(PROPVARIANT, CAPROPVARIANT);
TYPEDEF_CA(LARGE_INTEGER, CAH);
TYPEDEF_CA(ULARGE_INTEGER, CAUH);
TYPEDEF_CA(LPSTR, CALPSTR);
TYPEDEF_CA(LPWSTR, CALPWSTR);
TYPEDEF_CA(FILETIME, CAFILETIME);
TYPEDEF_CA(CLIPDATA, CACLIPDATA);
TYPEDEF_CA(CLSID, CACLSID);
struct tagPROPVARIANT {
VARTYPE vt;
WORD wReserved1;
WORD wReserved2;
WORD wReserved3;
[switch_is(vt & 0x1fff)] union {
[case(VT_EMPTY, VT_NULL)] ;
[case(VT_I1)] char cVal;
[case(VT_UI1)] UCHAR bVal;
[case(VT_I2)] short iVal;
[case(VT_UI2)] USHORT uiVal;
[case(VT_BOOL)] VARIANT_BOOL boolVal;
#if 0 /* illegal in C++ */
[case(VT_ILLEGAL)] _VARIANT_BOOL bool;
#endif
[case(VT_I4)] long lVal;
[case(VT_UI4)] ULONG ulVal;
[case(VT_R4)] float fltVal;
[case(VT_ERROR)] SCODE scode;
[case(VT_I8)] LARGE_INTEGER hVal;
[case(VT_UI8)] ULARGE_INTEGER uhVal;
[case(VT_R8)] double dblVal;
[case(VT_CY)] CY cyVal;
[case(VT_DATE)] DATE date;
[case(VT_FILETIME)] FILETIME filetime;
[case(VT_CLSID)] CLSID *puuid;
[case(VT_BLOB, VT_BLOB_OBJECT)] BLOB blob;
[case(VT_CF)] CLIPDATA *pclipdata;
[case(VT_STREAM, VT_STREAMED_OBJECT)] IStream *pStream;
[case(VT_STORAGE, VT_STORED_OBJECT)] IStorage *pStorage;
[case(VT_BSTR)] BSTR bstrVal;
[case(VT_BSTR_BLOB)] BSTRBLOB bstrblobVal;
[case(VT_LPSTR)] LPSTR pszVal;
[case(VT_LPWSTR)] LPWSTR pwszVal;
[case(VT_UI1|VT_VECTOR)] CAUB caub;
[case(VT_I2|VT_VECTOR)] CAI cai;
[case(VT_UI2|VT_VECTOR)] CAUI caui;
[case(VT_BOOL|VT_VECTOR)] CABOOL cabool;
[case(VT_I4|VT_VECTOR)] CAL cal;
[case(VT_UI4|VT_VECTOR)] CAUL caul;
[case(VT_R4|VT_VECTOR)] CAFLT caflt;
[case(VT_ERROR|VT_VECTOR)] CASCODE cascode;
[case(VT_I8|VT_VECTOR)] CAH cah;
[case(VT_UI8|VT_VECTOR)] CAUH cauh;
[case(VT_R8|VT_VECTOR)] CADBL cadbl;
[case(VT_CY|VT_VECTOR)] CACY cacy;
[case(VT_DATE|VT_VECTOR)] CADATE cadate;
[case(VT_FILETIME|VT_VECTOR)] CAFILETIME cafiletime;
[case(VT_CLSID|VT_VECTOR)] CACLSID cauuid;
[case(VT_CF|VT_VECTOR)] CACLIPDATA caclipdata;
[case(VT_BSTR|VT_VECTOR)] CABSTR cabstr;
[case(VT_BSTR_BLOB|VT_VECTOR)] CABSTRBLOB cabstrblob;
[case(VT_LPSTR|VT_VECTOR)] CALPSTR calpstr;
[case(VT_LPWSTR|VT_VECTOR)] CALPWSTR calpwstr;
[case(VT_VARIANT|VT_VECTOR)] CAPROPVARIANT capropvar;
};
};
typedef struct tagPROPVARIANT *LPPROPVARIANT;
/* FIXME: bunches of property IDs */
const ULONG PRSPEC_INVALID = 0xffffffff;
const ULONG PRSPEC_LPWSTR = 0;
const ULONG PRSPEC_PROPID = 1;
typedef struct tagPROPSPEC {
ULONG ulKind;
[switch_is(ulKind)] union {
[case(PRSPEC_PROPID)] PROPID propid;
[case(PRSPEC_LPWSTR)] LPOLESTR lpwstr;
[default] ;
};
} PROPSPEC;
typedef struct tagSTATPROPSTG {
LPOLESTR lpwstrName;
PROPID propid;
VARTYPE vt;
} STATPROPSTG;
/* FIXME: macros */
typedef struct tagSTATPROPSETSTG {
FMTID fmtid;
CLSID clsid;
DWORD grfFlags;
FILETIME mtime;
FILETIME ctime;
FILETIME atime;
DWORD dwOSVersion;
} STATPROPSETSTG;
HRESULT ReadMultiple(
[in] ULONG cpspec,
[in, size_is(cpspec)] const PROPSPEC rgpspec[],
[out, size_is(cpspec)] PROPVARIANT rgpropvar[]);
HRESULT WriteMultiple(
[in] ULONG cpspec,
[in, size_is(cpspec)] const PROPSPEC rgpspec[],
[in, size_is(cpspec)] const PROPVARIANT rgpropvar[],
[in] PROPID propidNameFirst);
HRESULT DeleteMultiple(
[in] ULONG cpspec,
[in, size_is(cpspec)] const PROPSPEC rgpspec[]);
HRESULT ReadPropertyNames(
[in] ULONG cpropid,
[in, size_is(cpropid)] const PROPID rgpropid[],
[out, size_is(cpropid)] LPOLESTR rglpwstrName[]);
HRESULT WritePropertyNames(
[in] ULONG cpropid,
[in, size_is(cpropid)] const PROPID rgpropid[],
[in, size_is(cpropid)] const LPOLESTR rglpwstrName[]);
HRESULT DeletePropertyNames(
[in] ULONG cpropid,
[in, size_is(cpropid)] const PROPID rgpropid[]);
HRESULT Commit(
[in] DWORD grfCommitFlags);
HRESULT Revert();
HRESULT Enum(
[out] IEnumSTATPROPSTG **ppenum);
HRESULT SetTimes(
[in] const FILETIME *pctime,
[in] const FILETIME *patime,
[in] const FILETIME *pmtime);
HRESULT SetClass(
[in] REFCLSID clsid);
HRESULT Stat(
[out] STATPROPSETSTG *statpsstg);
}
[
object,
uuid(0000013A-0000-0000-C000-000000000046),
pointer_default(unique)
]
interface IPropertySetStorage : IUnknown
{
typedef [unique] IPropertySetStorage *LPPROPERTYSETSTORAGE;
HRESULT Create(
[in] REFFMTID rfmtid,
[in, unique] const CLSID *pclsid,
[in] DWORD grfFlags,
[in] DWORD grfMode,
[out] IPropertyStorage **ppprstg);
HRESULT Open(
[in] REFFMTID rfmtid,
[in] DWORD grfMode,
[out] IPropertyStorage **ppprstg);
HRESULT Delete(
[in] REFFMTID rfmtid);
HRESULT Enum(
[out] IEnumSTATPROPSETSTG **ppenum);
}
[
object,
uuid(00000139-0000-0000-C000-000000000046),
pointer_default(unique)
]
interface IEnumSTATPROPSTG : IUnknown
{
typedef [unique] IEnumSTATPROPSTG *LPENUMSTATPROPSTG;
[local]
HRESULT Next(
[in] ULONG celt,
[out, size_is(celt), length_is(*pceltFetched)]
STATPROPSTG *rgelt,
[out] ULONG *pceltFetched);
[call_as(Next)]
HRESULT RemoteNext(
[in] ULONG celt,
[out, size_is(celt), length_is(*pceltFetched)]
STATPROPSTG *rgelt,
[out] ULONG *pceltFetched);
HRESULT Skip(
[in] ULONG celt);
HRESULT Reset();
HRESULT Clone(
[out] IEnumSTATPROPSTG **ppenum);
}
[
object,
uuid(0000013B-0000-0000-C000-000000000046),
pointer_default(unique)
]
interface IEnumSTATPROPSETSTG : IUnknown
{
typedef [unique] IEnumSTATPROPSETSTG *LPENUMSTATPROPSETSTG;
[local]
HRESULT Next(
[in] ULONG celt,
[out, size_is(celt), length_is(*pceltFetched)]
STATPROPSETSTG *rgelt,
[out] ULONG *pceltFetched);
[call_as(Next)]
HRESULT RemoteNext(
[in] ULONG celt,
[out, size_is(celt), length_is(*pceltFetched)]
STATPROPSETSTG *rgelt,
[out] ULONG *pceltFetched);
HRESULT Skip(
[in] ULONG celt);
HRESULT Reset();
HRESULT Clone(
[out] IEnumSTATPROPSETSTG **ppenum);
}
/******************** Connection Points ********************/ /******************** Connection Points ********************/
/* FIXME */ /* FIXME */
......
/*
* Copyright 2002 Ove Kaaven
* Copyright 2004 Francois Gouget
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
import "objidl.idl";
import "oaidl.idl";
/******************** Property Storage ********************/
interface IEnumSTATPROPSTG;
interface IEnumSTATPROPSETSTG;
[
object,
uuid(00000138-0000-0000-C000-000000000046),
pointer_default(unique)
]
interface IPropertyStorage : IUnknown
{
typedef [unique] IPropertyStorage *LPPROPERTYSTORAGE;
const DWORD PROPSETFLAG_DEFAULT = 0;
const DWORD PROPSETFLAG_NONSIMPLE = 1;
const DWORD PROPSETFLAG_ANSI = 2;
const DWORD PROPSETFLAG_UNBUFFERED = 4;
typedef struct tagPROPVARIANT PROPVARIANT;
#define TYPEDEF_CA(type, name) \
typedef struct tag##name { \
ULONG cElems; \
[size_is(cElems)] \
type *pElems; \
} name
TYPEDEF_CA(unsigned char, CAUB);
TYPEDEF_CA(short, CAI);
TYPEDEF_CA(USHORT, CAUI);
TYPEDEF_CA(long, CAL);
TYPEDEF_CA(ULONG, CAUL);
TYPEDEF_CA(float, CAFLT);
TYPEDEF_CA(double, CADBL);
TYPEDEF_CA(CY, CACY);
TYPEDEF_CA(DATE, CADATE);
TYPEDEF_CA(BSTR, CABSTR);
TYPEDEF_CA(BSTRBLOB, CABSTRBLOB);
TYPEDEF_CA(VARIANT_BOOL, CABOOL);
TYPEDEF_CA(SCODE, CASCODE);
TYPEDEF_CA(PROPVARIANT, CAPROPVARIANT);
TYPEDEF_CA(LARGE_INTEGER, CAH);
TYPEDEF_CA(ULARGE_INTEGER, CAUH);
TYPEDEF_CA(LPSTR, CALPSTR);
TYPEDEF_CA(LPWSTR, CALPWSTR);
TYPEDEF_CA(FILETIME, CAFILETIME);
TYPEDEF_CA(CLIPDATA, CACLIPDATA);
TYPEDEF_CA(CLSID, CACLSID);
struct tagPROPVARIANT {
VARTYPE vt;
WORD wReserved1;
WORD wReserved2;
WORD wReserved3;
[switch_is(vt & 0x1fff)] union {
[case(VT_EMPTY, VT_NULL)] ;
[case(VT_I1)] char cVal;
[case(VT_UI1)] UCHAR bVal;
[case(VT_I2)] short iVal;
[case(VT_UI2)] USHORT uiVal;
[case(VT_BOOL)] VARIANT_BOOL boolVal;
#if 0 /* illegal in C++ */
[case(VT_ILLEGAL)] _VARIANT_BOOL bool;
#endif
[case(VT_I4)] long lVal;
[case(VT_UI4)] ULONG ulVal;
[case(VT_R4)] float fltVal;
[case(VT_ERROR)] SCODE scode;
[case(VT_I8)] LARGE_INTEGER hVal;
[case(VT_UI8)] ULARGE_INTEGER uhVal;
[case(VT_R8)] double dblVal;
[case(VT_CY)] CY cyVal;
[case(VT_DATE)] DATE date;
[case(VT_FILETIME)] FILETIME filetime;
[case(VT_CLSID)] CLSID *puuid;
[case(VT_BLOB, VT_BLOB_OBJECT)] BLOB blob;
[case(VT_CF)] CLIPDATA *pclipdata;
[case(VT_STREAM, VT_STREAMED_OBJECT)] IStream *pStream;
[case(VT_STORAGE, VT_STORED_OBJECT)] IStorage *pStorage;
[case(VT_BSTR)] BSTR bstrVal;
[case(VT_BSTR_BLOB)] BSTRBLOB bstrblobVal;
[case(VT_LPSTR)] LPSTR pszVal;
[case(VT_LPWSTR)] LPWSTR pwszVal;
[case(VT_UI1|VT_VECTOR)] CAUB caub;
[case(VT_I2|VT_VECTOR)] CAI cai;
[case(VT_UI2|VT_VECTOR)] CAUI caui;
[case(VT_BOOL|VT_VECTOR)] CABOOL cabool;
[case(VT_I4|VT_VECTOR)] CAL cal;
[case(VT_UI4|VT_VECTOR)] CAUL caul;
[case(VT_R4|VT_VECTOR)] CAFLT caflt;
[case(VT_ERROR|VT_VECTOR)] CASCODE cascode;
[case(VT_I8|VT_VECTOR)] CAH cah;
[case(VT_UI8|VT_VECTOR)] CAUH cauh;
[case(VT_R8|VT_VECTOR)] CADBL cadbl;
[case(VT_CY|VT_VECTOR)] CACY cacy;
[case(VT_DATE|VT_VECTOR)] CADATE cadate;
[case(VT_FILETIME|VT_VECTOR)] CAFILETIME cafiletime;
[case(VT_CLSID|VT_VECTOR)] CACLSID cauuid;
[case(VT_CF|VT_VECTOR)] CACLIPDATA caclipdata;
[case(VT_BSTR|VT_VECTOR)] CABSTR cabstr;
[case(VT_BSTR_BLOB|VT_VECTOR)] CABSTRBLOB cabstrblob;
[case(VT_LPSTR|VT_VECTOR)] CALPSTR calpstr;
[case(VT_LPWSTR|VT_VECTOR)] CALPWSTR calpwstr;
[case(VT_VARIANT|VT_VECTOR)] CAPROPVARIANT capropvar;
};
};
typedef struct tagPROPVARIANT *LPPROPVARIANT;
/* FIXME: bunches of property IDs */
const ULONG PRSPEC_INVALID = 0xffffffff;
const ULONG PRSPEC_LPWSTR = 0;
const ULONG PRSPEC_PROPID = 1;
typedef struct tagPROPSPEC {
ULONG ulKind;
[switch_is(ulKind)] union {
[case(PRSPEC_PROPID)] PROPID propid;
[case(PRSPEC_LPWSTR)] LPOLESTR lpwstr;
[default] ;
};
} PROPSPEC;
typedef struct tagSTATPROPSTG {
LPOLESTR lpwstrName;
PROPID propid;
VARTYPE vt;
} STATPROPSTG;
/* FIXME: macros */
typedef struct tagSTATPROPSETSTG {
FMTID fmtid;
CLSID clsid;
DWORD grfFlags;
FILETIME mtime;
FILETIME ctime;
FILETIME atime;
DWORD dwOSVersion;
} STATPROPSETSTG;
HRESULT ReadMultiple(
[in] ULONG cpspec,
[in, size_is(cpspec)] const PROPSPEC rgpspec[],
[out, size_is(cpspec)] PROPVARIANT rgpropvar[]);
HRESULT WriteMultiple(
[in] ULONG cpspec,
[in, size_is(cpspec)] const PROPSPEC rgpspec[],
[in, size_is(cpspec)] const PROPVARIANT rgpropvar[],
[in] PROPID propidNameFirst);
HRESULT DeleteMultiple(
[in] ULONG cpspec,
[in, size_is(cpspec)] const PROPSPEC rgpspec[]);
HRESULT ReadPropertyNames(
[in] ULONG cpropid,
[in, size_is(cpropid)] const PROPID rgpropid[],
[out, size_is(cpropid)] LPOLESTR rglpwstrName[]);
HRESULT WritePropertyNames(
[in] ULONG cpropid,
[in, size_is(cpropid)] const PROPID rgpropid[],
[in, size_is(cpropid)] const LPOLESTR rglpwstrName[]);
HRESULT DeletePropertyNames(
[in] ULONG cpropid,
[in, size_is(cpropid)] const PROPID rgpropid[]);
HRESULT Commit(
[in] DWORD grfCommitFlags);
HRESULT Revert();
HRESULT Enum(
[out] IEnumSTATPROPSTG **ppenum);
HRESULT SetTimes(
[in] const FILETIME *pctime,
[in] const FILETIME *patime,
[in] const FILETIME *pmtime);
HRESULT SetClass(
[in] REFCLSID clsid);
HRESULT Stat(
[out] STATPROPSETSTG *statpsstg);
}
[
object,
uuid(0000013A-0000-0000-C000-000000000046),
pointer_default(unique)
]
interface IPropertySetStorage : IUnknown
{
typedef [unique] IPropertySetStorage *LPPROPERTYSETSTORAGE;
HRESULT Create(
[in] REFFMTID rfmtid,
[in, unique] const CLSID *pclsid,
[in] DWORD grfFlags,
[in] DWORD grfMode,
[out] IPropertyStorage **ppprstg);
HRESULT Open(
[in] REFFMTID rfmtid,
[in] DWORD grfMode,
[out] IPropertyStorage **ppprstg);
HRESULT Delete(
[in] REFFMTID rfmtid);
HRESULT Enum(
[out] IEnumSTATPROPSETSTG **ppenum);
}
[
object,
uuid(00000139-0000-0000-C000-000000000046),
pointer_default(unique)
]
interface IEnumSTATPROPSTG : IUnknown
{
typedef [unique] IEnumSTATPROPSTG *LPENUMSTATPROPSTG;
[local]
HRESULT Next(
[in] ULONG celt,
[out, size_is(celt), length_is(*pceltFetched)]
STATPROPSTG *rgelt,
[out] ULONG *pceltFetched);
[call_as(Next)]
HRESULT RemoteNext(
[in] ULONG celt,
[out, size_is(celt), length_is(*pceltFetched)]
STATPROPSTG *rgelt,
[out] ULONG *pceltFetched);
HRESULT Skip(
[in] ULONG celt);
HRESULT Reset();
HRESULT Clone(
[out] IEnumSTATPROPSTG **ppenum);
}
[
object,
uuid(0000013B-0000-0000-C000-000000000046),
pointer_default(unique)
]
interface IEnumSTATPROPSETSTG : IUnknown
{
typedef [unique] IEnumSTATPROPSETSTG *LPENUMSTATPROPSETSTG;
[local]
HRESULT Next(
[in] ULONG celt,
[out, size_is(celt), length_is(*pceltFetched)]
STATPROPSETSTG *rgelt,
[out] ULONG *pceltFetched);
[call_as(Next)]
HRESULT RemoteNext(
[in] ULONG celt,
[out, size_is(celt), length_is(*pceltFetched)]
STATPROPSETSTG *rgelt,
[out] ULONG *pceltFetched);
HRESULT Skip(
[in] ULONG celt);
HRESULT Reset();
HRESULT Clone(
[out] IEnumSTATPROPSETSTG **ppenum);
}
cpp_quote("HRESULT WINAPI FreePropVariantArray(ULONG,PROPVARIANT*);");
cpp_quote("HRESULT WINAPI PropVariantClear(PROPVARIANT*);");
cpp_quote("HRESULT WINAPI PropVariantCopy(PROPVARIANT*,const PROPVARIANT*);");
...@@ -13,6 +13,7 @@ extern "C" { ...@@ -13,6 +13,7 @@ extern "C" {
#include <shtypes.h> #include <shtypes.h>
#include <servprov.h> #include <servprov.h>
#include <comcat.h> #include <comcat.h>
#include <propidl.h>
#ifndef __IPersistFolder_FWD_DEFINED__ #ifndef __IPersistFolder_FWD_DEFINED__
#define __IPersistFolder_FWD_DEFINED__ #define __IPersistFolder_FWD_DEFINED__
typedef struct IPersistFolder IPersistFolder; typedef struct IPersistFolder IPersistFolder;
......
...@@ -25,7 +25,7 @@ import "oaidl.idl"; ...@@ -25,7 +25,7 @@ import "oaidl.idl";
import "shtypes.idl"; import "shtypes.idl";
import "servprov.idl"; import "servprov.idl";
import "comcat.idl"; import "comcat.idl";
/*import "propidl.idl";*/ import "propidl.idl";
/*import "prsht.idl";*/ /*import "prsht.idl";*/
/*import "msxml.idl";*/ /*import "msxml.idl";*/
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment