Updated to use the latest COM macros. Defined more interfaces and API

functions.
This commit is contained in:
Francois Gouget 1999-02-18 10:59:20 +00:00 committed by Alexandre Julliard
parent 308c6afe62
commit d04d2f1474
3 changed files with 582 additions and 271 deletions

View File

@ -39,18 +39,18 @@ typedef struct IRunningObjectTable IRunningObjectTable,*LPRUNNINGOBJECTTABLE;
/*********************************************************************************
* BIND_OPTS and BIND_OPTS2 structures definition
* Thes structures contain parameters used during a moniker-binding operation.
* These structures contain parameters used during a moniker-binding operation.
*********************************************************************************/
typedef struct tagBIND_OPTS{
typedef struct tagBIND_OPTS
{
DWORD cbStruct;
DWORD grfFlags;
DWORD grfMode;
DWORD dwTickCountDeadline;
} BIND_OPTS, * LPBIND_OPTS;
typedef struct tagBIND_OPTS2{
typedef struct tagBIND_OPTS2
{
DWORD cbStruct;
DWORD grfFlags;
DWORD grfMode;
@ -59,131 +59,297 @@ typedef struct tagBIND_OPTS2{
DWORD dwClassContext;
LCID locale;
COSERVERINFO* pServerInfo;
} BIND_OPTS2, * LPBIND_OPTS2;
/*****************************************************************************
* IBindCtx interface
*/
#define ICOM_INTERFACE IBindCtx
ICOM_BEGIN(IBindCtx,IUnknown)
ICOM_METHOD1 (HRESULT, RegisterObjectBound,IUnknown*,punk);
ICOM_METHOD1 (HRESULT, RevokeObjectBound,IUnknown*,punk);
ICOM_METHOD (HRESULT, ReleaseObjects);
ICOM_METHOD1 (HRESULT, SetBindOptions,LPBIND_OPTS2,pbindopts);
ICOM_METHOD1 (HRESULT, GetBindOptions,LPBIND_OPTS2,pbindopts);
ICOM_METHOD1 (HRESULT, GetRunningObjectTable,IRunningObjectTable**,pprot);
ICOM_METHOD2 (HRESULT, RegisterObjectParam,LPOLESTR32,pszkey,IUnknown*,punk);
ICOM_METHOD2 (HRESULT, GetObjectParam,LPOLESTR32,pszkey,IUnknown*,punk);
ICOM_METHOD1 (HRESULT, EnumObjectParam,IEnumString**,ppenum);
ICOM_METHOD1 (HRESULT, RevokeObjectParam,LPOLESTR32,pszkey);
ICOM_END(IBindCtx)
#define IBindCtx_METHODS \
ICOM_METHOD1 (HRESULT, RegisterObjectBound, IUnknown*,punk) \
ICOM_METHOD1 (HRESULT, RevokeObjectBound, IUnknown*,punk) \
ICOM_METHOD (HRESULT, ReleaseObjects) \
ICOM_METHOD1 (HRESULT, SetBindOptions, LPBIND_OPTS2,pbindopts) \
ICOM_METHOD1 (HRESULT, GetBindOptions, LPBIND_OPTS2,pbindopts) \
ICOM_METHOD1 (HRESULT, GetRunningObjectTable,IRunningObjectTable**,pprot) \
ICOM_METHOD2 (HRESULT, RegisterObjectParam, LPOLESTR32,pszkey, IUnknown*,punk) \
ICOM_METHOD2 (HRESULT, GetObjectParam, LPOLESTR32,pszkey, IUnknown*,punk) \
ICOM_METHOD1 (HRESULT, EnumObjectParam, IEnumString**,ppenum) \
ICOM_METHOD1 (HRESULT, RevokeObjectParam, LPOLESTR32,pszkey)
#define IBindCtx_IMETHODS \
IUnknown_IMETHODS \
IBindCtx_METHODS
ICOM_DEFINE(IBindCtx,IUnknown)
#undef ICOM_INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
#ifdef ICOM_CINTERFACE
/*** IUnknown methods ***/
#define IBindCtx_QueryInterface(p,a,b) ICOM_ICALL2(IUnknown,QueryInterface,p,a,b)
#define IBindCtxr_AddRef(p) ICOM_ICALL (IUnknown,AddRef,p)
#define IBindCtx_Release(p) ICOM_ICALL (IUnknown,Release,p)
#define IBindCtx_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
#define IBindCtxr_AddRef(p) ICOM_CALL (AddRef,p)
#define IBindCtx_Release(p) ICOM_CALL (Release,p)
/* IBindCtx methods*/
#define IBindCtx_RegisterObjectBound(p,a) ICOM_CALL1 (RegisterObjectBound,p,a);
#define IBindCtx_RevokeObjectBound(p,a) ICOM_CALL1 (RevokeObjectBound,p,a);
#define IBindCtx_ReleaseObjects(p) ICOM_CALL (ReleaseObjects,p);
#define IBindCtx_SetBindOptions(p,a) ICOM_CALL1 (SetBindOptions,p,a);
#define IBindCtx_GetBindOptions(p,a) ICOM_CALL1 (GetBindOptions,p,a);
#define IBindCtx_GetRunningObjectTable(p,a) ICOM_CALL1 (GetRunningObjectTable,p,a);
#define IBindCtx_RegisterObjectParam(p,a,b) ICOM_CALL2 (RegisterObjectParam,p,a,b);
#define IBindCtx_GetObjectParam(p,a,b) ICOM_CALL2 (GetObjectParam,p,a,b);
#define IBindCtx_EnumObjectParam(p,a) ICOM_CALL1 (EnumObjectParam,p,a);
#define IBindCtx_RevokeObjectParam(p,a) ICOM_CALL1 (RevokeObjectParam,p,a);
#define IBindCtx_RegisterObjectBound(p,a) ICOM_CALL1(RegisterObjectBound,p,a)
#define IBindCtx_RevokeObjectBound(p,a) ICOM_CALL1(RevokeObjectBound,p,a)
#define IBindCtx_ReleaseObjects(p) ICOM_CALL (ReleaseObjects,p)
#define IBindCtx_SetBindOptions(p,a) ICOM_CALL1(SetBindOptions,p,a)
#define IBindCtx_GetBindOptions(p,a) ICOM_CALL1(GetBindOptions,p,a)
#define IBindCtx_GetRunningObjectTable(p,a) ICOM_CALL1(GetRunningObjectTable,p,a)
#define IBindCtx_RegisterObjectParam(p,a,b) ICOM_CALL2(RegisterObjectParam,p,a,b)
#define IBindCtx_GetObjectParam(p,a,b) ICOM_CALL2(GetObjectParam,p,a,b)
#define IBindCtx_EnumObjectParam(p,a) ICOM_CALL1(EnumObjectParam,p,a)
#define IBindCtx_RevokeObjectParam(p,a) ICOM_CALL1(RevokeObjectParam,p,a)
#endif
HRESULT WINAPI CreateBindCtx16(DWORD reserved, LPBC* ppbc);
HRESULT WINAPI CreateBindCtx32(DWORD reserved, LPBC* ppbc);
#define CreateBindCtx WINELIB_NAME(CreateBindCtx)
/*****************************************************************************
* IClassActivator interface
*/
/* FIXME: not implemented */
#define ICOM_INTERFACE IClassActivator
#define IClassActivator_METHODS \
ICOM_METHOD5(HRESULT,GetClassObject, REFCLSID,rclsid, DWORD,dwClassContext, LCID,locale, REFIID,riid, void**,ppv)
#define IClassActivator_IMETHODS \
IUnknown_IMETHODS \
IClassActivator_METHODS
ICOM_DEFINE(IClassActivator,IUnknown)
#undef ICOM_INTERFACE
#ifdef ICOM_CINTERFACE
/*** IUnknown methods ***/
#define IClassActivator_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
#define IClassActivator_AddRef(p) ICOM_CALL (AddRef,p)
#define IClassActivator_Release(p) ICOM_CALL (Release,p)
/*** IClassActivator methods ***/
#define IClassActivator_GetClassObject(p,a,b,c,d,e) ICOM_CALL5(GetClassObject,p,a,b,c,d,e)
#endif
/*****************************************************************************
* IEnumMoniker interface
*/
/* FIXME: not implemented */
#define ICOM_INTERFACE IEnumMoniker
#define IEnumMoniker_METHODS \
ICOM_METHOD3(HRESULT,Next, ULONG,celt, IMoniker***,rgelt, ULONG*,pceltFethed) \
ICOM_METHOD1(HRESULT,Skip, ULONG,celt) \
ICOM_METHOD (HRESULT,Reset) \
ICOM_METHOD1(HRESULT,Clone, IEnumMoniker**,ppenum)
#define IEnumMoniker_IMETHODS \
IUnknown_IMETHODS \
IEnumMoniker_METHODS
ICOM_DEFINE(IEnumMoniker,IUnknown)
#undef ICOM_INTERFACE
#ifdef ICOM_CINTERFACE
/*** IUnknown methods ***/
#define IEnumMoniker_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
#define IEnumMoniker_AddRef(p) ICOM_CALL (AddRef,p)
#define IEnumMoniker_Release(p) ICOM_CALL (Release,p)
/*** IEnumMoniker methods ***/
#define IEnumMoniker_Next(p,a,b,c) ICOM_CALL3(Next,p,a,b,c)
#define IEnumMoniker_Skip(p,a) ICOM_CALL1(Skip,p,a)
#define IEnumMoniker_Reset(p) ICOM_CALL (Reset,p)
#define IEnumMoniker_Clone(p,a) ICOM_CALL1(Clone,p,a)
#endif
/*****************************************************************************
* IMoniker interface
*/
typedef enum tagMKSYS
{
MKSYS_NONE = 0,
MKSYS_GENERICCOMPOSITE = 1,
MKSYS_FILEMONIKER = 2,
MKSYS_ANTIMONIKER = 3,
MKSYS_ITEMMONIKER = 4,
MKSYS_POINTERMONIKER = 5,
MKSYS_CLASSMONIKER = 7
} MKSYS;
typedef enum tagMKREDUCE
{
MKRREDUCE_ONE = 3 << 16,
MKRREDUCE_TOUSER = 2 << 16,
MKRREDUCE_THROUGHUSER = 1 << 16,
MKRREDUCE_ALL = 0
} MKRREDUCE;
#define ICOM_INTERFACE IMoniker
ICOM_BEGIN(IMoniker,IPersistStream)
ICOM_METHOD4 (HRESULT,BindToObject,IBindCtx*,pbc,IMoniker*,pmkToLeft,REFIID,riid,VOID**,ppvResult);
ICOM_METHOD4 (HRESULT,BindToStorage,IBindCtx*,pbc,IMoniker*,pmkToLeft,REFIID,riid,VOID**,ppvResult);
ICOM_METHOD4 (HRESULT,Reduce,IBindCtx*,pbc,DWORD,dwReduceHowFar,IMoniker**,ppmkToLeft,IMoniker**,ppmkReduced);
ICOM_METHOD3 (HRESULT,ComposeWith,IMoniker*,pmkRight,BOOL32,fOnlyIfNotGeneric,IMoniker**,ppmkComposite);
ICOM_METHOD2 (HRESULT,Enum,BOOL32,fForward,IEnumMoniker**,ppenumMoniker);
ICOM_METHOD1 (HRESULT,IsEqual,IMoniker*, pmkOtherMoniker);
ICOM_METHOD1 (HRESULT,Hash,DWORD*,pdwHash);
ICOM_METHOD3 (HRESULT,IsRunning,IBindCtx*,pbc,IMoniker*,pmkToLeft,IMoniker*,pmkNewlyRunning);
ICOM_METHOD3 (HRESULT,GetTimeOfLastChange,IBindCtx*,pbc,IMoniker*,pmkToLeft,FILETIME*,pFileTime);
ICOM_METHOD1 (HRESULT,Inverse,IMoniker**,ppmk);
ICOM_METHOD2 (HRESULT,CommonPrefixWith,IMoniker*,pmkOther,IMoniker**,ppmkPrefix);
ICOM_METHOD2 (HRESULT,RelativePathTo,IMoniker*,pmOther,IMoniker**,ppmkRelPath);
ICOM_METHOD3 (HRESULT,GetDisplayName,IBindCtx*,pbc,IMoniker*,pmkToLeft,LPOLESTR32,*ppszDisplayName);
ICOM_METHOD5 (HRESULT,ParseDisplayName,IBindCtx*,pbc,IMoniker*,pmkToLeft,LPOLESTR32,pszDisplayName,ULONG*,pchEaten,IMoniker**,ppmkOut);
ICOM_METHOD1 (HRESULT,IsSystemMoniker,DWORD*,pwdMksys);
ICOM_END(IMoniker)
#define IMoniker_METHODS \
ICOM_METHOD4(HRESULT,BindToObject, IBindCtx*,pbc, IMoniker*,pmkToLeft, REFIID,riidResult, void**,ppvResult) \
ICOM_METHOD4(HRESULT,BindToStorage, IBindCtx*,pbc, IMoniker*,pmkToLeft, REFIID,riid, void**,ppvObj) \
ICOM_METHOD4(HRESULT,Reduce, IBindCtx*,pbc, DWORD,dwReduceHowFar, IMoniker**,ppmkToLeft, IMoniker**,ppmkReduced) \
ICOM_METHOD3(HRESULT,ComposeWith, IMoniker*,pmkRight, BOOL32,fOnlyIfNotGeneric, IMoniker**,ppmkComposite) \
ICOM_METHOD2(HRESULT,Enum, BOOL32,fForward, IEnumMoniker**,ppenumMoniker) \
ICOM_METHOD1(HRESULT,IsEqual, IMoniker*,pmkOtherMoniker) \
ICOM_METHOD1(HRESULT,Hash, DWORD*,pdwHash) \
ICOM_METHOD3(HRESULT,IsRunning, IBindCtx*,pbc, IMoniker*,pmkToLeft, IMoniker*,pmkNewlyRunning) \
ICOM_METHOD3(HRESULT,GetTimeOfLastChange, IBindCtx*,pbc, IMoniker*,pmkToLeft, FILETIME*,pFileTime) \
ICOM_METHOD1(HRESULT,Inverse, IMoniker**,ppmk) \
ICOM_METHOD2(HRESULT,CommonPrefixWith, IMoniker*,pmkOtherMoniker, IMoniker**,ppmkPrefix) \
ICOM_METHOD2(HRESULT,RelativePathTo, IMoniker*,pmkOther, IMoniker**,ppmkRelPath) \
ICOM_METHOD3(HRESULT,GetDisplayName, IBindCtx*,pbc, IMoniker*,pmkToLeft, LPOLESTR32*,ppszDisplayName) \
ICOM_METHOD5(HRESULT,ParseDisplayName, IBindCtx*,pbc, IMoniker*,pmkToLeft, LPOLESTR32,pszDisplayName, ULONG*,pchEaten, IMoniker**,ppmkOut) \
ICOM_METHOD1(HRESULT,IsSystemMoniker, DWORD*,pdwMksys)
#define IMoniker_IMETHODS \
IPersistStream_IMETHODS \
IMoniker_METHODS
ICOM_DEFINE(IMoniker,IPersistStream)
#undef ICOM_INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
#ifdef ICOM_CINTERFACE
/*** IUnknown methods ***/
#define IMoniker_QueryInterface(p,a,b) ICOM_ICALL2(IUnknown,QueryInterface,p,a,b)
#define IMoniker_AddRef(p) ICOM_ICALL (IUnknown,AddRef,p)
#define IMoniker_Release(p) ICOM_ICALL (IUnknown,Release,p)
#define IMoniker_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
#define IMoniker_AddRef(p) ICOM_CALL (AddRef,p)
#define IMoniker_Release(p) ICOM_CALL (Release,p)
/*** IPersist methods ***/
#define IMoniker_GetClassID(p,a) ICOM_ICALL1(IPersist,GetClassID,p,a)
/*** IPersistStream ***/
#define IMoniker_Stream_IsDirty(p) ICOM_ICALL(IPersistStream,IsDirty,p)
#define IMoniker_Stream_Load(p,a) ICOM_ICALL1(IPersistStream,Load,p,a)
#define IMoniker_Stream_Save(p,a,b) ICOM_ICALL2(IPersistStream,Save,p,a,b)
#define IMoniker_Stream_GetSizeMax(p,a) ICOM_ICALL1(IPersistStream,GetSizeMax,p,a)
/* IMonker methods*/
#define IMoniker_BindToObject(p,a,b,c,d) ICOM_CALL4(BindToObject,p,a,b,c,d)
#define IMoniker_BindToStorage(p,a,b,c,d) ICOM_CALL4(BindToStorage,p,a,b,c,d)
#define IMoniker_Reduce(p,a,b,c,d) ICOM_CALL4(Reduce,p,a,b,c,d)
#define IMoniker_ComposeWith(p,a,b,c) ICOM_CALL3(ComposeWith,p,a,b,c)
#define IMoniker_Enum(p,a,b) ICOM_CALL2(Enum,p,a,b)
#define IMoniker_IsEqual(p,a) ICOM_CALL1(IsEqual,p,a)
#define IMoniker_Hash(p,a) ICOM_CALL1(Hash,p,a)
#define IMoniker_IsRunning(p,a,b,c) ICOM_CALL3(IsRunning,p,a,b,c)
#define IMoniker_GetTimeOfLastChange(p,a,b,c) ICOM_CALL3(GetTimeOfLastChange,p,a,b,c)
#define IMoniker_Inverse(p,a) ICOM_CALL1(Inverse,p,a)
#define IMoniker_CommonPrefixWith(p,a,b) ICOM_CALL2(CommonPrefixWith,p,a,b)
#define IMoniker_RelativePathTo(p,a,b) ICOM_CALL2(RelativePathTo,p,a,b)
#define IMoniker_GetDisplayName(p,a,b,c) ICOM_CALL3(GetDisplayName,p,a,b,c)
#define IMoniker_ParseDisplayName(p,a,b,c,d,e) ICOM_CALL5(ParseDisplayName,p,a,b,c,d,e)
#define IMoniker_IsSystemMoniker(p,a) ICOM_CALL1(IsSystemMonker,p,a)
#define IMoniker_GetClassID(p,a) ICOM_CALL1(GetClassID,p,a)
/*** IPersistStream methods ***/
#define IMoniker_IsDirty(p) ICOM_CALL (IsDirty,p)
#define IMoniker_Load(p,a) ICOM_CALL1(Load,p,a)
#define IMoniker_Save(p,a,b) ICOM_CALL2(Save,p,a,b)
#define IMoniker_GetSizeMax(p,a) ICOM_CALL1(GetSizeMax,p,a)
/*** IMoniker methods ***/
#define IMoniker_BindToObject(p,a,b,c,d) ICOM_CALL(BindToObject,p,a,b,c,d)
#define IMoniker_BindToStorage(p,a,b,c,d) ICOM_CALL(BindToStorage,p,a,b,c,d)
#define IMoniker_Reduce(p,a,b,c,d) ICOM_CALL(Reduce,p,a,b,c,d)
#define IMoniker_ComposeWith(p,a,b,c) ICOM_CALL(ComposeWith,p,a,b,c)
#define IMoniker_Enum(p,a,b) ICOM_CALL(Enum,p,a,b)
#define IMoniker_IsEqual(p,a) ICOM_CALL(IsEqual,p,a)
#define IMoniker_Hash(p,a) ICOM_CALL(Hash,p,a)
#define IMoniker_IsRunning(p,a,b,c) ICOM_CALL(IsRunning,p,a,b,c)
#define IMoniker_GetTimeOfLastChange(p,a,b,c) ICOM_CALL(GetTimeOfLastChange,p,a,b,c)
#define IMoniker_Inverse(p,a) ICOM_CALL(Inverse,p,a)
#define IMoniker_CommonPrefixWith(p,a,b) ICOM_CALL(CommonPrefixWith,p,a,b)
#define IMoniker_RelativePathTo(p,a,b) ICOM_CALL(RelativePathTo,p,a,b)
#define IMoniker_GetDisplayName(p,a,b,c) ICOM_CALL(GetDisplayName,p,a,b,c)
#define IMoniker_ParseDisplayName(p,a,b,c,d,e) ICOM_CALL(ParseDisplayName,p,a,b,c,d,e)
#define IMoniker_IsSystemMoniker(p,a) ICOM_CALL(IsSystemMoniker,p,a)
#endif
/* FIXME: not implemented */
HRESULT WINAPI BindMoniker(LPMONIKER pmk, DWORD grfOpt, REFIID iidResult, LPVOID* ppvResult);
/* FIXME: not implemented */
HRESULT WINAPI CreateAntiMoniker(LPMONIKER* ppmk);
/* FIXME: not implemented */
HRESULT WINAPI CreateClassMoniker(REFCLSID rclsid, LPMONIKER* ppmk);
HRESULT WINAPI CreateFileMoniker16(LPCOLESTR16 lpszPathName, LPMONIKER* ppmk);
HRESULT WINAPI CreateFileMoniker32(LPCOLESTR32 lpszPathName, LPMONIKER* ppmk);
#define CreateFileMoniker WINELIB_NAME(CreateFileMoniker)
HRESULT WINAPI CreateItemMoniker16(LPCOLESTR16 lpszDelim, LPCOLESTR32 lpszItem, LPMONIKER* ppmk);
HRESULT WINAPI CreateItemMoniker32(LPCOLESTR32 lpszDelim, LPCOLESTR32 lpszItem, LPMONIKER* ppmk);
#define CreateItemMoniker WINELIB_NAME(CreateItemMoniker)
/* FIXME: not implemented */
HRESULT WINAPI CreateGenericComposite(LPMONIKER pmkFirst, LPMONIKER pmkRest, LPMONIKER* ppmkComposite);
/* FIXME: not implemented */
HRESULT WINAPI CreatePointerMoniker(LPUNKNOWN punk, LPMONIKER* ppmk);
/*****************************************************************************
* IROTData interface
*/
/* FIXME: not implemented */
#define ICOM_INTERFACE IROTData
#define IROTData_METHODS \
ICOM_METHOD3(HRESULT,GetComparisonData, byte*,pbData, ULONG,cbMax, ULONG*,pcbData)
#define IROTData_IMETHODS \
IUnknown_IMETHODS \
IROTData_METHODS
ICOM_DEFINE(IROTData,IUnknown)
#undef ICOM_INTERFACE
#ifdef ICOM_CINTERFACE
/*** IUnknown methods ***/
#define IROTData_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
#define IROTData_AddRef(p) ICOM_CALL (AddRef,p)
#define IROTData_Release(p) ICOM_CALL (Release,p)
/*** IROTData methods ***/
#define IROTData_GetComparisonData(p,a,b,c) ICOM_CALL3(GetComparisonData,p,a,b,c)
#endif
/*****************************************************************************
* IRunnableObject interface
*/
/* FIXME: not implemented */
#define ICOM_INTERFACE IRunnableObject
#define IRunnableObject_METHODS \
ICOM_METHOD1(HRESULT,GetRunningClass, LPCLSID,lpClsid) \
ICOM_METHOD1(HRESULT,Run, IBindCtx*,pbc) \
ICOM_METHOD (BOOL32,IsRunning) \
ICOM_METHOD2(HRESULT,LockRunning, BOOL32,fLock, BOOL32,fLastUnlockCloses) \
ICOM_METHOD1(HRESULT,SetContainedObject, BOOL32,fContained)
#define IRunnableObject_IMETHODS \
IUnknown_IMETHODS \
IRunnableObject_METHODS
ICOM_DEFINE(IRunnableObject,IUnknown)
#undef ICOM_INTERFACE
#ifdef ICOM_CINTERFACE
/*** IUnknown methods ***/
#define IRunnableObject_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
#define IRunnableObject_AddRef(p) ICOM_CALL (AddRef,p)
#define IRunnableObject_Release(p) ICOM_CALL (Release,p)
/*** IRunnableObject methods ***/
#define IRunnableObject_GetRunningClass(p,a) ICOM_CALL1(GetRunningClass,p,a)
#define IRunnableObject_Run(p,a) ICOM_CALL1(Run,p,a)
#define IRunnableObject_IsRunning(p) ICOM_CALL (IsRunning,p)
#define IRunnableObject_LockRunning(p,a,b) ICOM_CALL2(LockRunning,p,a,b)
#define IRunnableObject_SetContainedObject(p,a) ICOM_CALL1(SetContainedObject,p,a)
#endif
/*****************************************************************************
* IRunningObjectTable interface
*/
#define ICOM_INTERFACE IRunningObjectTable
#define IRunningObjectTable_METHODS \
ICOM_METHOD4(HRESULT,Register, DWORD,grfFlags, IUnknown*,punkObject, IMoniker*,pmkObjectName, DWORD*,pdwRegister) \
ICOM_METHOD1(HRESULT,Revoke, DWORD,dwRegister) \
ICOM_METHOD1(HRESULT,IsRunning, IMoniker*,pmkObjectName) \
ICOM_METHOD2(HRESULT,GetObject, IMoniker*,pmkObjectName, IUnknown**,ppunkObject) \
ICOM_METHOD2(HRESULT,NoteChangeTime, DWORD,dwRegister, FILETIME*,pfiletime) \
ICOM_METHOD2(HRESULT,GetTimeOfLastChange, IMoniker*,pmkObjectName, FILETIME*,pfiletime) \
ICOM_METHOD1(HRESULT,EnumRunning, IEnumMoniker**,ppenumMoniker)
#define IRunningObjectTable_IMETHODS \
IUnknown_IMETHODS \
IRunningObjectTable_METHODS
ICOM_DEFINE(IRunningObjectTable,IUnknown)
#undef ICOM_INTERFACE
#ifdef ICOM_CINTERFACE
/*** IUnknown methods ***/
#define IRunningObjectTable_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
#define IRunningObjectTable_AddRef(p) ICOM_CALL (AddRef,p)
#define IRunningObjectTable_Release(p) ICOM_CALL (Release,p)
/*** IRunningObjectTable methods ***/
#define IRunningObjectTable_Register(p,a,b,c,d) ICOM_CALL4(Register,p,a,b,c,d)
#define IRunningObjectTable_Revoke(p,a) ICOM_CALL1(Revoke,p,a)
#define IRunningObjectTable_IsRunning(p,a) ICOM_CALL1(IsRunning,p,a)
#define IRunningObjectTable_GetObject(p,a,b) ICOM_CALL2(GetObject,p,a,b)
#define IRunningObjectTable_NoteChangeTime(p,a,b) ICOM_CALL2(NoteChangeTime,p,a,b)
#define IRunningObjectTable_GetTimeOfLastChange(p,a,b) ICOM_CALL2(GetTimeOfLastChange,p,a,b)
#define IRunningObjectTable_EnumRunning(p,a) ICOM_CALL1(EnumRunning,p,a)
#endif
/*****************************************************************************
* Additional API
*/
/* FIXME: not implemented */
HRESULT WINAPI CoGetInstanceFromFile(COSERVERINFO* pServerInfo, CLSID* pClsid, IUnknown* punkOuter, DWORD dwClsCtx, DWORD grfMode, OLECHAR32* pwszName, DWORD dwCount, MULTI_QI* pResults);
/* FIXME: not implemented */
HRESULT WINAPI CoGetInstanceFromIStorage(COSERVERINFO* pServerInfo, CLSID* pClsid, IUnknown* punkOuter, DWORD dwClsCtx, IStorage32* pstg, DWORD dwCount, MULTI_QI* pResults);
#endif /* __WINE_WINE_OBJ_MONIKER_H */

View File

@ -140,19 +140,22 @@ struct STATSTG {
* IEnumSTATSTG interface
*/
#define ICOM_INTERFACE IEnumSTATSTG
ICOM_BEGIN(IEnumSTATSTG,IUnknown)
ICOM_METHOD3(HRESULT, Next, ULONG, celt, STATSTG*, rgelt, ULONG*, pceltFetched);
ICOM_METHOD1(HRESULT, Skip, ULONG, celt);
ICOM_CMETHOD(HRESULT, Reset);
ICOM_METHOD1(HRESULT, Clone, IEnumSTATSTG**, ppenum);
ICOM_END(IEnumSTATSTG)
#define IEnumSTATSTG_METHODS \
ICOM_METHOD3(HRESULT,Next, ULONG,celt, STATSTG*,rgelt, ULONG*,pceltFethed) \
ICOM_METHOD1(HRESULT,Skip, ULONG,celt) \
ICOM_METHOD (HRESULT,Reset) \
ICOM_METHOD1(HRESULT,Clone, IEnumSTATSTG**,ppenum)
#define IEnumSTATSTG_IMETHODS \
IUnknown_IMETHODS \
IEnumSTATSTG_METHODS
ICOM_DEFINE(IEnumSTATSTG,IUnknown)
#undef ICOM_INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
#ifdef ICOM_CINTERFACE
/*** IUnknown methods ***/
#define IEnumSTATSTG_QueryInterface(p,a,b) ICOM_ICALL2(IUnknown,QueryInterface,p,a,b)
#define IEnumSTATSTG_AddRef(p) ICOM_ICALL (IUnknown,AddRef,p)
#define IEnumSTATSTG_Release(p) ICOM_ICALL (IUnknown,Release,p)
#define IEnumSTATSTG_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
#define IEnumSTATSTG_AddRef(p) ICOM_CALL (AddRef,p)
#define IEnumSTATSTG_Release(p) ICOM_CALL (Release,p)
/*** IEnumSTATSTG methods ***/
#define IEnumSTATSTG_Next(p,a,b,c) ICOM_CALL3(Next,p,a,b,c)
#define IEnumSTATSTG_Skip(p,a) ICOM_CALL1(Skip,p,a)
@ -160,38 +163,124 @@ ICOM_END(IEnumSTATSTG)
#define IEnumSTATSTG_Clone(p,a) ICOM_CALL1(Clone,p,a)
#endif
/*****************************************************************************
* IFillLockBytes interface
*/
/* FIXME: not implemented */
#define ICOM_INTERFACE IFillLockBytes
#define IFillLockBytes_METHODS \
ICOM_METHOD3(HRESULT,FillAppend, const void*,pv, ULONG,cb, ULONG*,pcbWritten) \
ICOM_METHOD4(HRESULT,FillAt, ULARGE_INTEGER,ulOffset, const void*,pv, ULONG,cb, ULONG*,pcbWritten) \
ICOM_METHOD1(HRESULT,SetFillSize, ULARGE_INTEGER,ulSize) \
ICOM_METHOD1(HRESULT,Terminate, BOOL32,bCanceled)
#define IFillLockBytes_IMETHODS \
IUnknown_IMETHODS \
IFillLockBytes_METHODS
ICOM_DEFINE(IFillLockBytes,IUnknown)
#undef ICOM_INTERFACE
#ifdef ICOM_CINTERFACE
/*** IUnknown methods ***/
#define IFillLockBytes_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
#define IFillLockBytes_AddRef(p) ICOM_CALL (AddRef,p)
#define IFillLockBytes_Release(p) ICOM_CALL (Release,p)
/*** IFillLockBytes methods ***/
#define IFillLockBytes_FillAppend(p,a,b,c) ICOM_CALL3(FillAppend,p,a,b,c)
#define IFillLockBytes_FillAt(p,a,b,c,d) ICOM_CALL4(FillAt,p,a,b,c,d)
#define IFillLockBytes_SetFillSize(p,a) ICOM_CALL1(SetFillSize,p,a)
#define IFillLockBytes_Terminate(p,a) ICOM_CALL1(Terminate,p,a)
#endif
/*****************************************************************************
* ILayoutStorage interface
*/
/* FIXME: not implemented */
typedef struct tagStorageLayout
{
DWORD LayoutType;
OLECHAR16* pwcsElementName;
LARGE_INTEGER cOffset;
LARGE_INTEGER cBytes;
} StorageLayout;
#define ICOM_INTERFACE ILayoutStorage
#define ILayoutStorage_METHODS \
ICOM_METHOD2(HRESULT,LayoutScript, DWORD,nEntries, DWORD,glfInterleavedFlag) \
ICOM_METHOD (HRESULT,BeginMonitor) \
ICOM_METHOD (HRESULT,EndMonitor) \
ICOM_METHOD1(HRESULT,ReLayoutDocfile, OLECHAR16*,pwcsNewDfName) \
ICOM_METHOD1(HRESULT,ReLayoutDocfileOnILockBytes, ILockBytes*,pILockBytes)
#define ILayoutStorage_IMETHODS \
IUnknown_IMETHODS \
ILayoutStorage_METHODS
ICOM_DEFINE(ILayoutStorage,IUnknown)
#undef ICOM_INTERFACE
#ifdef ICOM_CINTERFACE
/*** IUnknown methods ***/
#define ILayoutStorage_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
#define ILayoutStorage_AddRef(p) ICOM_CALL (AddRef,p)
#define ILayoutStorage_Release(p) ICOM_CALL (Release,p)
/*** ILayoutStorage methods ***/
#define ILayoutStorage_LayoutScript(p,a,b) ICOM_CALL2(LayoutScript,p,a,b)
#define ILayoutStorage_BeginMonitor(p) ICOM_CALL (BeginMonitor,p)
#define ILayoutStorage_EndMonitor(p) ICOM_CALL (EndMonitor,p)
#define ILayoutStorage_ReLayoutDocfile(p,a) ICOM_CALL1(ReLayoutDocfile,p,a)
#define ILayoutStorage_ReLayoutDocfileOnILockBytes(p,a) ICOM_CALL1(ReLayoutDocfileOnILockBytes,p,a)
#endif
/*****************************************************************************
* ILockBytes interface
*/
/* FIXME: not implemented */
#define ICOM_INTERFACE ILockBytes
#define ILockBytes_METHODS \
ICOM_METHOD4(HRESULT,ReadAt, ULARGE_INTEGER,ulOffset, void*,pv, ULONG,cb, ULONG*,pcbRead) \
ICOM_METHOD4(HRESULT,WriteAt, ULARGE_INTEGER,ulOffset, const void*,pv, ULONG,cb, ULONG*,pcbWritten) \
ICOM_METHOD (HRESULT,Flush); \
ICOM_METHOD1(HRESULT,SetSize, ULARGE_INTEGER,cb) \
ICOM_METHOD3(HRESULT,LockRegion, ULARGE_INTEGER,libOffset, ULARGE_INTEGER,cb, DWORD,dwLockType) \
ICOM_METHOD3(HRESULT,UnlockRegion, ULARGE_INTEGER,libOffset, ULARGE_INTEGER,cb, DWORD,dwLockType) \
ICOM_METHOD2(HRESULT,Stat, STATSTG*,pstatstg, DWORD,grfStatFlag)
#define ILockBytes_IMETHODS \
IUnknown_IMETHODS \
ILockBytes_METHODS
ICOM_DEFINE(ILockBytes,IUnknown)
#undef ICOM_INTERFACE
#ifdef ICOM_CINTERFACE
/*** IUnknown methods ***/
#define ILockBytes_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
#define ILockBytes_AddRef(p) ICOM_CALL (AddRef,p)
#define ILockBytes_Release(p) ICOM_CALL (Release,p)
/*** ILockBytes methods ***/
#define ILockBytes_ReadAt(p,a,b,c,d) ICOM_CALL4(ReadAt,p,a,b,c,d)
#define ILockBytes_WriteAt(p,a,b,c,d) ICOM_CALL4(WriteAt,p,a,b,c,d)
#define ILockBytes_Flush(p) ICOM_CALL (Flush,p)
#define ILockBytes_SetSize(p,a) ICOM_CALL1(SetSize,p,a)
#define ILockBytes_LockRegion(p,a,b,c) ICOM_CALL3(LockRegion,p,a,b,c)
#define ILockBytes_UnlockRegion(p,a,b,c) ICOM_CALL3(UnlockRegion,p,a,b,c)
#define ILockBytes_Stat(p,a,b) ICOM_CALL2(Stat,p,a,b)
#endif
/*****************************************************************************
* IPersist interface
*/
#define ICOM_INTERFACE IPersist
ICOM_BEGIN(IPersist,IUnknown)
ICOM_CMETHOD1(HRESULT,GetClassID, CLSID*,pClassID);
ICOM_END(IPersist)
#define IPersist_METHODS \
ICOM_CMETHOD1(HRESULT,GetClassID, CLSID*,pClassID)
#define IPersist_IMETHODS \
IUnknown_IMETHODS \
IPersist_METHODS
ICOM_DEFINE(IPersist,IUnknown)
#undef ICOM_INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
#ifdef ICOM_CINTERFACE
/*** IUnknown methods ***/
#define IPersist_QueryInterface(p,a,b) ICOM_ICALL2(IUnknown,QueryInterface,p,a,b)
#define IPersist_AddRef(p) ICOM_ICALL (IUnknown,AddRef,p)
#define IPersist_Release(p) ICOM_ICALL (IUnknown,Release,p)
#define IPersist_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
#define IPersist_AddRef(p) ICOM_CALL (AddRef,p)
#define IPersist_Release(p) ICOM_CALL (Release,p)
/*** IPersist methods ***/
#define IPersist_GetClassID(p,a) ICOM_CALL1(GetClassID,p,a)
#endif
@ -201,22 +290,25 @@ ICOM_END(IPersist)
* IPersistFile interface
*/
#define ICOM_INTERFACE IPersistFile
ICOM_BEGIN(IPersistFile,IPersist)
ICOM_CMETHOD (HRESULT,IsDirty);
ICOM_METHOD2 (HRESULT,Load, LPCOLESTR32,pszFileName, DWORD,dwMode);
ICOM_METHOD2 (HRESULT,Save, LPCOLESTR32,pszFileName, BOOL32,fRemember);
ICOM_METHOD1 (HRESULT,SaveCompleted, LPCOLESTR32,pszFileName);
ICOM_CMETHOD1(HRESULT,GetCurFile, LPOLESTR32*,ppszFileName);
ICOM_END(IPersistFile)
#define IPersistFile_METHODS \
ICOM_CMETHOD (HRESULT,IsDirty) \
ICOM_METHOD2 (HRESULT,Load, LPCOLESTR32,pszFileName, DWORD,dwMode) \
ICOM_METHOD2 (HRESULT,Save, LPCOLESTR32,pszFileName, BOOL32,fRemember) \
ICOM_METHOD1 (HRESULT,SaveCompleted, LPCOLESTR32,pszFileName) \
ICOM_CMETHOD1(HRESULT,GetCurFile, LPOLESTR32*,ppszFileName)
#define IPersistFile_IMETHODS \
IPersist_IMETHODS \
IPersistFile_METHODS
ICOM_DEFINE(IPersistFile,IPersist)
#undef ICOM_INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
#ifdef ICOM_CINTERFACE
/*** IUnknown methods ***/
#define IPersistFile_QueryInterface(p,a,b) ICOM_ICALL2(IUnknown,QueryInterface,p,a,b)
#define IPersistFile_AddRef(p) ICOM_ICALL (IUnknown,AddRef,p)
#define IPersistFile_Release(p) ICOM_ICALL (IUnknown,Release,p)
#define IPersistFile_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
#define IPersistFile_AddRef(p) ICOM_CALL (AddRef,p)
#define IPersistFile_Release(p) ICOM_CALL (Release,p)
/*** IPersist methods ***/
#define IPersistFile_GetClassID(p,a) ICOM_ICALL1(IPersist,GetClassID,p,a)
#define IPersistFile_GetClassID(p,a) ICOM_CALL1(GetClassID,p,a)
/*** IPersistFile methods ***/
#define IPersistFile_IsDirty(p) ICOM_CALL(IsDirty,p)
#define IPersistFile_Load(p,a,b) ICOM_CALL2(Load,p,a,b)
@ -230,24 +322,27 @@ ICOM_END(IPersistFile)
* IPersistStorage interface
*/
#define ICOM_INTERFACE IPersistStorage
ICOM_BEGIN(IPersistStorage, IPersist)
ICOM_METHOD (HRESULT,IsDirty)
ICOM_METHOD1(HRESULT,InitNew, IStorage32*,pStg)
ICOM_METHOD1(HRESULT,Load, IStorage32*,pStg)
ICOM_METHOD2(HRESULT,Save, IStorage32*,pStgSave, BOOL32,fSameAsLoad)
ICOM_METHOD1(HRESULT,SaveCompleted, IStorage32*,pStgNew);
#define IPersistStorage_METHODS \
ICOM_METHOD (HRESULT,IsDirty) \
ICOM_METHOD1(HRESULT,InitNew, IStorage32*,pStg) \
ICOM_METHOD1(HRESULT,Load, IStorage32*,pStg) \
ICOM_METHOD2(HRESULT,Save, IStorage32*,pStg, BOOL32,fSameAsLoad) \
ICOM_METHOD1(HRESULT,SaveCompleted, IStorage32*,pStgNew) \
ICOM_METHOD (HRESULT,HandsOffStorage)
ICOM_END(IPersistStorage)
#define IPersistStorage_IMETHODS \
IPersist_IMETHODS \
IPersistStorage_METHODS
ICOM_DEFINE(IPersistStorage,IPersist)
#undef ICOM_INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
#ifdef ICOM_CINTERFACE
/*** IUnknown methods ***/
#define IPersistStorage_QueryInterface(p,a,b) ICOM_ICALL2(IUnknown,QueryInterface,p,a,b)
#define IPersistStorage_AddRef(p) ICOM_ICALL (IUnknown,AddRef,p)
#define IPersistStorage_Release(p) ICOM_ICALL (IUnknown,Release,p)
#define IPersistStorage_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
#define IPersistStorage_AddRef(p) ICOM_CALL (AddRef,p)
#define IPersistStorage_Release(p) ICOM_CALL (Release,p)
/*** IPersist methods ***/
#define IPersistStorage_GetClassID(p,a) ICOM_ICALL1(IPersist,GetClassID,p,a)
/*** IPersistFile methods ***/
#define IPersistStorage_GetClassID(p,a) ICOM_CALL1(GetClassID,p,a)
/*** IPersistStorage methods ***/
#define IPersistStorage_IsDirty(p) ICOM_CALL (IsDirty,p)
#define IPersistStorage_InitNew(p,a) ICOM_CALL1(InitNew,p,a)
#define IPersistStorage_Load(p,a) ICOM_CALL1(Load,p,a)
@ -261,56 +356,94 @@ ICOM_END(IPersistStorage)
* IPersistStream interface
*/
#define ICOM_INTERFACE IPersistStream
ICOM_BEGIN(IPersistStream,IPersist);
ICOM_METHOD(HRESULT, IsDirty);
ICOM_METHOD1(HRESULT, Load, IStream32*, pStm);
ICOM_METHOD2(HRESULT, Save, IStream32*, pStm, BOOL32, fClearDirty);
ICOM_METHOD1(HRESULT, GetSizeMax, ULARGE_INTEGER*, pcbSize);
ICOM_END(IPersistStream)
#define IPersistStream_METHODS \
ICOM_METHOD (HRESULT,IsDirty) \
ICOM_METHOD1(HRESULT,Load, IStream32*,pStm) \
ICOM_METHOD2(HRESULT,Save, IStream32*,pStm, BOOL32,fClearDirty) \
ICOM_METHOD1(HRESULT,GetSizeMax, ULARGE_INTEGER*,pcbSize)
#define IPersistStream_IMETHODS \
IPersist_IMETHODS \
IPersistStream_METHODS
ICOM_DEFINE(IPersistStream,IPersist)
#undef ICOM_INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
#ifdef ICOM_CINTERFACE
/*** IUnknown methods ***/
#define IPersistStream_QueryInterface(p,a,b) ICOM_ICALL2(IUnknown,QueryInterface,p,a,b)
#define IPersistStream_AddRef(p) ICOM_ICALL(IUnknown,AddRef,p)
#define IPersistStream_Release(p) ICOM_ICALL(IUnknown,Release,p)
#define IPersistStream_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
#define IPersistStream_AddRef(p) ICOM_CALL (AddRef,p)
#define IPersistStream_Release(p) ICOM_CALL (Release,p)
/*** IPersist methods ***/
#define IPersistStream_GetClassID(p,a) ICOM_ICALL1(IPersist,GetClassID,p,a)
/*** IPersistStream ***/
#define IPersist_Stream_IsDirty(p) ICOM_CALL(IsDirty,p)
#define IPersist_Stream_Load(p,a) ICOM_CALL1(Load,p,a)
#define IPersist_Stream_Save(p,a,b) ICOM_CALL2(Save,p,a,b)
#define IPersist_Stream_GetSizeMax(p,a) ICOM_CALL(GetSizeMax,p)
#define IPersistStream_GetClassID(p,a) ICOM_CALL1(GetClassID,p,a)
/*** IPersistStream methods ***/
#define IPersistStream_IsDirty(p) ICOM_CALL (IsDirty,p)
#define IPersistStream_Load(p,a) ICOM_CALL1(Load,p,a)
#define IPersistStream_Save(p,a,b) ICOM_CALL2(Save,p,a,b)
#define IPersistStream_GetSizeMax(p,a) ICOM_CALL1(GetSizeMax,p,a)
#endif
/*****************************************************************************
* IProgressNotify interface
*/
/* FIXME: not implemented */
#define ICOM_INTERFACE IProgressNotify
#define IProgressNotify_METHODS \
ICOM_METHOD4(HRESULT,OnProgress, DWORD,dwProgressCurrent, DWORD,dwProgressMaximum, BOOL32,fAccurate, BOOL32,fOwner)
#define IProgressNotify_IMETHODS \
IUnknown_IMETHODS \
IProgressNotify_METHODS
ICOM_DEFINE(IProgressNotify,IUnknown)
#undef ICOM_INTERFACE
#ifdef ICOM_CINTERFACE
/*** IUnknown methods ***/
#define IProgressNotify_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
#define IProgressNotify_AddRef(p) ICOM_CALL (AddRef,p)
#define IProgressNotify_Release(p) ICOM_CALL (Release,p)
/*** IProgressNotify methods ***/
#define IProgressNotify_OnProgress(p,a,b,c,d) ICOM_CALL4(OnProgress,p,a,b,c,d)
#endif
/*****************************************************************************
* IRootStorage interface
*/
/* FIXME: not implemented */
#define ICOM_INTERFACE IRootStorage
#define IRootStorage_METHODS \
ICOM_METHOD1(HRESULT,SwitchToFile, LPOLESTR32,pszFile)
#define IRootStorage_IMETHODS \
IUnknown_IMETHODS \
IRootStorage_METHODS
ICOM_DEFINE(IRootStorage,IUnknown)
#undef ICOM_INTERFACE
#ifdef ICOM_CINTERFACE
/*** IUnknown methods ***/
#define IRootStorage_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
#define IRootStorage_AddRef(p) ICOM_CALL (AddRef,p)
#define IRootStorage_Release(p) ICOM_CALL (Release,p)
/*** IRootStorage methods ***/
#define IRootStorage_SwitchToFile(p,a) ICOM_CALLSwitchToFile(,p,a)
#endif
/*****************************************************************************
* ISequentialStream interface
*/
#define ICOM_INTERFACE ISequentialStream
ICOM_BEGIN(ISequentialStream,IUnknown)
ICOM_METHOD3(HRESULT,Read, void*,pv, ULONG,cb, ULONG*,pcbRead);
ICOM_METHOD3(HRESULT,Write, const void*,pv, ULONG,cb, ULONG*,pcbWritten);
ICOM_END(ISequentialStream)
#define ISequentialStream_METHODS \
ICOM_METHOD3(HRESULT,Read, void*,pv, ULONG,cb, ULONG*,pcbRead) \
ICOM_METHOD3(HRESULT,Write, const void*,pv, ULONG,cb, ULONG*,pcbWritten)
#define ISequentialStream_IMETHODS \
IUnknown_IMETHODS \
ISequentialStream_METHODS
ICOM_DEFINE(ISequentialStream,IUnknown)
#undef ICOM_INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
#ifdef ICOM_CINTERFACE
/*** IUnknown methods ***/
#define ISequentialStream_QueryInterface(p,a,b) ICOM_ICALL2(IUnknown,QueryInterface,p,a,b)
#define ISequentialStream_AddRef(p) ICOM_ICALL (IUnknown,AddRef,p)
#define ISequentialStream_Release(p) ICOM_ICALL (IUnknown,Release,p)
#define ISequentialStream_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
#define ISequentialStream_AddRef(p) ICOM_CALL (AddRef,p)
#define ISequentialStream_Release(p) ICOM_CALL (Release,p)
/*** ISequentialStream methods ***/
#define ISequentialStream_Read(p,a,b,c) ICOM_CALL3(Read,p,a,b,c)
#define ISequentialStream_Write(p,a,b,c) ICOM_CALL3(Write,p,a,b,c)
@ -321,30 +454,33 @@ ICOM_END(ISequentialStream)
* IStorage interface
*/
#define ICOM_INTERFACE IStorage16
ICOM_BEGIN(IStorage16,IUnknown)
ICOM_METHOD5(HRESULT,CreateStream, LPCOLESTR16,pwcsName, DWORD,grfMode, DWORD,reserved1, DWORD,reserved2, IStream16**,ppstm)
ICOM_METHOD5(HRESULT,OpenStream, LPCOLESTR16,pwcsName, void*,reserved1, DWORD,grfMode, DWORD,reserved2, IStream16**,ppstm)
ICOM_METHOD5(HRESULT,CreateStorage, LPCOLESTR16,pwcsName, DWORD,grfMode, DWORD,dwStgFmt, DWORD,reserved2, IStorage16**,ppstg)
ICOM_METHOD6(HRESULT,OpenStorage, LPCOLESTR16,pwcsName, IStorage16*,pstgPriority, DWORD,grfMode, SNB16,snb16Exclude, DWORD,reserved, IStorage16**,ppstg)
ICOM_METHOD4(HRESULT,CopyTo, DWORD,ciidExclude, const IID*,rgiidExclude, SNB16,snb16Exclude, IStorage16*,pstgDest)
ICOM_METHOD4(HRESULT,MoveElementTo, LPCOLESTR16,pwcsName, IStorage16*,pstgDest, LPCOLESTR16,pwcsNewName, DWORD,grfFlags)
ICOM_METHOD1(HRESULT,Commit, DWORD,grfCommitFlags)
ICOM_METHOD (HRESULT,Revert)
ICOM_METHOD4(HRESULT,EnumElements, DWORD,reserved1, void*,reserved2, DWORD,reserved3, IEnumSTATSTG**,ppenum)
ICOM_METHOD1(HRESULT,DestroyElement, LPCOLESTR16,pwcsName)
ICOM_METHOD2(HRESULT,RenameElement, LPCOLESTR16,pwcsOldName, LPCOLESTR16,pwcsNewName)
ICOM_METHOD4(HRESULT,SetElementTimes,LPCOLESTR16,pwcsName, const FILETIME*,pctime, const FILETIME*,patime, const FILETIME*,pmtime)
ICOM_METHOD1(HRESULT,SetClass, REFCLSID,clsid)
ICOM_METHOD2(HRESULT,SetStateBits, DWORD,grfStateBits, DWORD,grfMask)
#define IStorage16_METHODS \
ICOM_METHOD5(HRESULT,CreateStream, LPCOLESTR16,pwcsName, DWORD,grfMode, DWORD,reserved1, DWORD,reserved2, IStream16**,ppstm) \
ICOM_METHOD5(HRESULT,OpenStream, LPCOLESTR16,pwcsName, void*,reserved1, DWORD,grfMode, DWORD,reserved2, IStream16**,ppstm) \
ICOM_METHOD5(HRESULT,CreateStorage, LPCOLESTR16,pwcsName, DWORD,grfMode, DWORD,dwStgFmt, DWORD,reserved2, IStorage16**,ppstg) \
ICOM_METHOD6(HRESULT,OpenStorage, LPCOLESTR16,pwcsName, IStorage16*,pstgPriority, DWORD,grfMode, SNB16,snb16Exclude, DWORD,reserved, IStorage16**,ppstg) \
ICOM_METHOD4(HRESULT,CopyTo, DWORD,ciidExclude, const IID*,rgiidExclude, SNB16,snb16Exclude, IStorage16*,pstgDest) \
ICOM_METHOD4(HRESULT,MoveElementTo, LPCOLESTR16,pwcsName, IStorage16*,pstgDest, LPCOLESTR16,pwcsNewName, DWORD,grfFlags) \
ICOM_METHOD1(HRESULT,Commit, DWORD,grfCommitFlags) \
ICOM_METHOD (HRESULT,Revert) \
ICOM_METHOD4(HRESULT,EnumElements, DWORD,reserved1, void*,reserved2, DWORD,reserved3, IEnumSTATSTG**,ppenum) \
ICOM_METHOD1(HRESULT,DestroyElement, LPCOLESTR16,pwcsName) \
ICOM_METHOD2(HRESULT,RenameElement, LPCOLESTR16,pwcsOldName, LPCOLESTR16,pwcsNewName) \
ICOM_METHOD4(HRESULT,SetElementTimes,LPCOLESTR16,pwcsName, const FILETIME*,pctime, const FILETIME*,patime, const FILETIME*,pmtime) \
ICOM_METHOD1(HRESULT,SetClass, REFCLSID,clsid) \
ICOM_METHOD2(HRESULT,SetStateBits, DWORD,grfStateBits, DWORD,grfMask) \
ICOM_METHOD2(HRESULT,Stat, STATSTG*,pstatstg, DWORD,grfStatFlag)
ICOM_END(IStorage16)
#define IStorage16_IMETHODS \
IUnknown_IMETHODS \
IStorage16_METHODS
ICOM_DEFINE(IStorage16,IUnknown)
#undef ICOM_INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
#ifdef ICOM_CINTERFACE
/*** IUnknown methods ***/
#define IStorage16_QueryInterface(p,a,b) ICOM_ICALL2(IUnknown,QueryInterface,p,a,b)
#define IStorage16_AddRef(p) ICOM_ICALL (IUnknown,AddRef,p)
#define IStorage16_Release(p) ICOM_ICALL (IUnknown,Release,p)
#define IStorage16_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
#define IStorage16_AddRef(p) ICOM_CALL (AddRef,p)
#define IStorage16_Release(p) ICOM_CALL (Release,p)
/*** IStorage16 methods ***/
#define IStorage16_CreateStream(p,a,b,c,d,e) ICOM_CALL5(CreateStream,p,a,b,c,d,e)
#define IStorage16_OpenStream(p,a,b,c,d,e) ICOM_CALL5(OpenStream,p,a,b,c,d,e)
@ -365,30 +501,33 @@ ICOM_END(IStorage16)
#define ICOM_INTERFACE IStorage32
ICOM_BEGIN(IStorage32,IUnknown)
ICOM_METHOD5(HRESULT,CreateStream, LPCOLESTR32,pwcsName, DWORD,grfMode, DWORD,reserved1, DWORD,reserved2, IStream32**,ppstm);
ICOM_METHOD5(HRESULT,OpenStream, LPCOLESTR32,pwcsName, void*,reserved1, DWORD,grfMode, DWORD,reserved2, IStream32**,ppstm);
ICOM_METHOD5(HRESULT,CreateStorage, LPCOLESTR32,pwcsName, DWORD,grfMode, DWORD,dwStgFmt, DWORD,reserved2, IStorage32**,ppstg);
ICOM_METHOD6(HRESULT,OpenStorage, LPCOLESTR32,pwcsName, IStorage32*,pstgPriority, DWORD,grfMode, SNB32,snb16Exclude, DWORD,reserved, IStorage32**,ppstg);
ICOM_METHOD4(HRESULT,CopyTo, DWORD,ciidExclude, const IID*,rgiidExclude, SNB32,snb16Exclude, IStorage32*,pstgDest);
ICOM_METHOD4(HRESULT,MoveElementTo, LPCOLESTR32,pwcsName, IStorage32*,pstgDest, LPCOLESTR32,pwcsNewName, DWORD,grfFlags);
ICOM_METHOD1(HRESULT,Commit, DWORD,grfCommitFlags);
ICOM_METHOD (HRESULT,Revert);
ICOM_METHOD4(HRESULT,EnumElements, DWORD,reserved1, void*,reserved2, DWORD,reserved3, IEnumSTATSTG**,ppenum);
ICOM_METHOD1(HRESULT,DestroyElement, LPCOLESTR32,pwcsName);
ICOM_METHOD2(HRESULT,RenameElement, LPCOLESTR32,pwcsOldName, LPCOLESTR32,pwcsNewName);
ICOM_METHOD4(HRESULT,SetElementTimes,LPCOLESTR32,pwcsName, const FILETIME*,pctime, const FILETIME*,patime, const FILETIME*,pmtime);
ICOM_METHOD1(HRESULT,SetClass, REFCLSID,clsid);
ICOM_METHOD2(HRESULT,SetStateBits, DWORD,grfStateBits, DWORD,grfMask);
ICOM_METHOD2(HRESULT,Stat, STATSTG*,pstatstg, DWORD,grfStatFlag);
ICOM_END(IStorage32)
#define IStorage32_METHODS \
ICOM_METHOD5(HRESULT,CreateStream, LPCOLESTR32,pwcsName, DWORD,grfMode, DWORD,reserved1, DWORD,reserved2, IStream32**,ppstm) \
ICOM_METHOD5(HRESULT,OpenStream, LPCOLESTR32,pwcsName, void*,reserved1, DWORD,grfMode, DWORD,reserved2, IStream32**,ppstm) \
ICOM_METHOD5(HRESULT,CreateStorage, LPCOLESTR32,pwcsName, DWORD,grfMode, DWORD,dwStgFmt, DWORD,reserved2, IStorage32**,ppstg) \
ICOM_METHOD6(HRESULT,OpenStorage, LPCOLESTR32,pwcsName, IStorage32*,pstgPriority, DWORD,grfMode, SNB32,snb16Exclude, DWORD,reserved, IStorage32**,ppstg) \
ICOM_METHOD4(HRESULT,CopyTo, DWORD,ciidExclude, const IID*,rgiidExclude, SNB32,snb16Exclude, IStorage32*,pstgDest) \
ICOM_METHOD4(HRESULT,MoveElementTo, LPCOLESTR32,pwcsName, IStorage32*,pstgDest, LPCOLESTR32,pwcsNewName, DWORD,grfFlags) \
ICOM_METHOD1(HRESULT,Commit, DWORD,grfCommitFlags) \
ICOM_METHOD (HRESULT,Revert) \
ICOM_METHOD4(HRESULT,EnumElements, DWORD,reserved1, void*,reserved2, DWORD,reserved3, IEnumSTATSTG**,ppenum) \
ICOM_METHOD1(HRESULT,DestroyElement, LPCOLESTR32,pwcsName) \
ICOM_METHOD2(HRESULT,RenameElement, LPCOLESTR32,pwcsOldName, LPCOLESTR32,pwcsNewName) \
ICOM_METHOD4(HRESULT,SetElementTimes,LPCOLESTR32,pwcsName, const FILETIME*,pctime, const FILETIME*,patime, const FILETIME*,pmtime) \
ICOM_METHOD1(HRESULT,SetClass, REFCLSID,clsid) \
ICOM_METHOD2(HRESULT,SetStateBits, DWORD,grfStateBits, DWORD,grfMask) \
ICOM_METHOD2(HRESULT,Stat, STATSTG*,pstatstg, DWORD,grfStatFlag)
#define IStorage32_IMETHODS \
IUnknown_IMETHODS \
IStorage32_METHODS
ICOM_DEFINE(IStorage32,IUnknown)
#undef ICOM_INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
#ifdef ICOM_CINTERFACE
/*** IUnknown methods ***/
#define IStorage32_QueryInterface(p,a,b) ICOM_ICALL2(IUnknown,QueryInterface,p,a,b)
#define IStorage32_AddRef(p) ICOM_ICALL (IUnknown,AddRef,p)
#define IStorage32_Release(p) ICOM_ICALL (IUnknown,Release,p)
#define IStorage32_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
#define IStorage32_AddRef(p) ICOM_CALL (AddRef,p)
#define IStorage32_Release(p) ICOM_CALL (Release,p)
/*** IStorage32 methods ***/
#define IStorage32_CreateStream(p,a,b,c,d,e) ICOM_CALL5(CreateStream,p,a,b,c,d,e)
#define IStorage32_OpenStream(p,a,b,c,d,e) ICOM_CALL5(OpenStream,p,a,b,c,d,e)
@ -409,9 +548,9 @@ ICOM_END(IStorage32)
#ifndef __WINE__
/* Duplicated for WINELIB */
/*** IUnknown methods ***/
#define IStorage_QueryInterface(p,a,b) ICOM_ICALL2(IUnknown,QueryInterface,p,a,b)
#define IStorage_AddRef(p) ICOM_ICALL (IUnknown,AddRef,p)
#define IStorage_Release(p) ICOM_ICALL (IUnknown,Release,p)
#define IStorage_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
#define IStorage_AddRef(p) ICOM_CALL (AddRef,p)
#define IStorage_Release(p) ICOM_CALL (Release,p)
/*** IStorage methods ***/
#define IStorage_CreateStream(p,a,b,c,d,e) ICOM_CALL5(CreateStream,p,a,b,c,d,e)
#define IStorage_OpenStream(p,a,b,c,d,e) ICOM_CALL5(OpenStream,p,a,b,c,d,e)
@ -436,27 +575,30 @@ ICOM_END(IStorage32)
* IStream interface
*/
#define ICOM_INTERFACE IStream16
ICOM_BEGIN(IStream16,ISequentialStream)
ICOM_METHOD3(HRESULT,Seek, LARGE_INTEGER,dlibMove, DWORD,dwOrigin, ULARGE_INTEGER*,plibNewPosition);
ICOM_METHOD1(HRESULT,SetSize, ULARGE_INTEGER,libNewSize);
ICOM_METHOD4(HRESULT,CopyTo, IStream16*,pstm, ULARGE_INTEGER,cb, ULARGE_INTEGER*,pcbRead, ULARGE_INTEGER*,pcbWritten);
ICOM_METHOD1(HRESULT,Commit, DWORD,grfCommitFlags);
ICOM_METHOD (HRESULT,Revert);
ICOM_METHOD3(HRESULT,LockRegion, ULARGE_INTEGER,libOffset, ULARGE_INTEGER,cb, DWORD,dwLockType);
ICOM_METHOD3(HRESULT,UnlockRegion,ULARGE_INTEGER,libOffset, ULARGE_INTEGER,cb, DWORD,dwLockType);
ICOM_METHOD2(HRESULT,Stat, STATSTG*,pstatstg, DWORD,grfStatFlag);
ICOM_METHOD1(HRESULT,Clone, IStream16**,ppstm);
ICOM_END(IStream16)
#define IStream16_METHODS \
ICOM_METHOD3(HRESULT,Seek, LARGE_INTEGER,dlibMove, DWORD,dwOrigin, ULARGE_INTEGER*,plibNewPosition) \
ICOM_METHOD1(HRESULT,SetSize, ULARGE_INTEGER,libNewSize) \
ICOM_METHOD4(HRESULT,CopyTo, IStream16*,pstm, ULARGE_INTEGER,cb, ULARGE_INTEGER*,pcbRead, ULARGE_INTEGER*,pcbWritten) \
ICOM_METHOD1(HRESULT,Commit, DWORD,grfCommitFlags) \
ICOM_METHOD (HRESULT,Revert) \
ICOM_METHOD3(HRESULT,LockRegion, ULARGE_INTEGER,libOffset, ULARGE_INTEGER,cb, DWORD,dwLockType) \
ICOM_METHOD3(HRESULT,UnlockRegion,ULARGE_INTEGER,libOffset, ULARGE_INTEGER,cb, DWORD,dwLockType) \
ICOM_METHOD2(HRESULT,Stat, STATSTG*,pstatstg, DWORD,grfStatFlag) \
ICOM_METHOD1(HRESULT,Clone, IStream16**,ppstm)
#define IStream16_IMETHODS \
ISequentialStream_IMETHODS \
IStream16_METHODS
ICOM_DEFINE(IStream16,ISequentialStream)
#undef ICOM_INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
#ifdef ICOM_CINTERFACE
/*** IUnknown methods ***/
#define IStream16_QueryInterface(p,a,b) ICOM_ICALL2(IUnknown,QueryInterface,p,a,b)
#define IStream16_AddRef(p) ICOM_ICALL (IUnknown,AddRef,p)
#define IStream16_Release(p) ICOM_ICALL (IUnknown,Release,p)
#define IStream16_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
#define IStream16_AddRef(p) ICOM_CALL (AddRef,p)
#define IStream16_Release(p) ICOM_CALL (Release,p)
/*** ISequentialStream methods ***/
#define IStream16_Read(p,a,b,c) ICOM_ICALL3(ISequentialStream,Read,p,a,b,c)
#define IStream16_Write(p,a,b,c) ICOM_ICALL3(ISequentialStream,Write,p,a,b,c)
#define IStream16_Read(p,a,b,c) ICOM_CALL3(Read,p,a,b,c)
#define IStream16_Write(p,a,b,c) ICOM_CALL3(Write,p,a,b,c)
/*** IStream16 methods ***/
#define IStream16_Seek(p) ICOM_CALL3(Seek,p)
#define IStream16_SetSize(p,a,b) ICOM_CALL1(SetSize,p,a,b)
@ -471,27 +613,30 @@ ICOM_END(IStream16)
#define ICOM_INTERFACE IStream32
ICOM_BEGIN(IStream32,ISequentialStream)
ICOM_METHOD3(HRESULT,Seek, LARGE_INTEGER,dlibMove, DWORD,dwOrigin, ULARGE_INTEGER*,plibNewPosition);
ICOM_METHOD1(HRESULT,SetSize, ULARGE_INTEGER,libNewSize);
ICOM_METHOD4(HRESULT,CopyTo, IStream32*,pstm, ULARGE_INTEGER,cb, ULARGE_INTEGER*,pcbRead, ULARGE_INTEGER*,pcbWritten);
ICOM_METHOD1(HRESULT,Commit, DWORD,grfCommitFlags);
ICOM_METHOD (HRESULT,Revert);
ICOM_METHOD3(HRESULT,LockRegion, ULARGE_INTEGER,libOffset, ULARGE_INTEGER,cb, DWORD,dwLockType);
ICOM_METHOD3(HRESULT,UnlockRegion,ULARGE_INTEGER,libOffset, ULARGE_INTEGER,cb, DWORD,dwLockType);
ICOM_METHOD2(HRESULT,Stat, STATSTG*,pstatstg, DWORD,grfStatFlag);
ICOM_METHOD1(HRESULT,Clone, IStream32**,ppstm);
ICOM_END(IStream32)
#define IStream32_METHODS \
ICOM_METHOD3(HRESULT,Seek, LARGE_INTEGER,dlibMove, DWORD,dwOrigin, ULARGE_INTEGER*,plibNewPosition) \
ICOM_METHOD1(HRESULT,SetSize, ULARGE_INTEGER,libNewSize) \
ICOM_METHOD4(HRESULT,CopyTo, IStream32*,pstm, ULARGE_INTEGER,cb, ULARGE_INTEGER*,pcbRead, ULARGE_INTEGER*,pcbWritten) \
ICOM_METHOD1(HRESULT,Commit, DWORD,grfCommitFlags) \
ICOM_METHOD (HRESULT,Revert) \
ICOM_METHOD3(HRESULT,LockRegion, ULARGE_INTEGER,libOffset, ULARGE_INTEGER,cb, DWORD,dwLockType) \
ICOM_METHOD3(HRESULT,UnlockRegion,ULARGE_INTEGER,libOffset, ULARGE_INTEGER,cb, DWORD,dwLockType) \
ICOM_METHOD2(HRESULT,Stat, STATSTG*,pstatstg, DWORD,grfStatFlag) \
ICOM_METHOD1(HRESULT,Clone, IStream32**,ppstm)
#define IStream32_IMETHODS \
ISequentialStream_IMETHODS \
IStream32_METHODS
ICOM_DEFINE(IStream32,ISequentialStream)
#undef ICOM_INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
#ifdef ICOM_CINTERFACE
/*** IUnknown methods ***/
#define IStream32_QueryInterface(p,a,b) ICOM_ICALL2(IUnknown,QueryInterface,p,a,b)
#define IStream32_AddRef(p) ICOM_ICALL (IUnknown,AddRef,p)
#define IStream32_Release(p) ICOM_ICALL (IUnknown,Release,p)
#define IStream32_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
#define IStream32_AddRef(p) ICOM_CALL (AddRef,p)
#define IStream32_Release(p) ICOM_CALL (Release,p)
/*** ISequentialStream methods ***/
#define IStream32_Read(p,a,b,c) ICOM_ICALL3(ISequentialStream,Read,p,a,b,c)
#define IStream32_Write(p,a,b,c) ICOM_ICALL3(ISequentialStream,Write,p,a,b,c)
#define IStream32_Read(p,a,b,c) ICOM_CALL3(Read,p,a,b,c)
#define IStream32_Write(p,a,b,c) ICOM_CALL3(Write,p,a,b,c)
/*** IStream32 methods ***/
#define IStream32_Seek(p,a,b,c) ICOM_CALL3(Seek,p,a,b,c)
#define IStream32_SetSize(p,a) ICOM_CALL1(SetSize,p,a)
@ -506,12 +651,12 @@ ICOM_END(IStream32)
#ifndef __WINE__
/* Duplicated for WINELIB */
/*** IUnknown methods ***/
#define IStream_QueryInterface(p,a,b) ICOM_ICALL2(IUnknown,QueryInterface,p,a,b)
#define IStream_AddRef(p) ICOM_ICALL (IUnknown,AddRef,p)
#define IStream_Release(p) ICOM_ICALL (IUnknown,Release,p)
#define IStream_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
#define IStream_AddRef(p) ICOM_CALL (AddRef,p)
#define IStream_Release(p) ICOM_CALL (Release,p)
/*** ISequentialStream methods ***/
#define IStream_Read(p,a,b,c) ICOM_ICALL3(ISequentialStream,Read,p,a,b,c)
#define IStream_Write(p,a,b,c) ICOM_ICALL3(ISequentialStream,Write,p,a,b,c)
#define IStream_Read(p,a,b,c) ICOM_CALL3(Read,p,a,b,c)
#define IStream_Write(p,a,b,c) ICOM_CALL3(Write,p,a,b,c)
/*** IStream methods ***/
#define IStream_Seek(p,a,b,c) ICOM_CALL3(Seek,p,a,b,c)
#define IStream_SetSize(p,a) ICOM_CALL1(SetSize,p,a)
@ -545,4 +690,16 @@ HRESULT WINAPI StgOpenStorage32(const OLECHAR32* pwcsName,IStorage32* pstgPriori
HRESULT WINAPI WriteClassStg32(IStorage32* pStg, REFCLSID rclsid);
#define WriteClassStg WINELIB_NAME(WriteClassStg)
/*****************************************************************************
* Other storage API
*/
/* FIXME: not implemented */
BOOL32 WINAPI CoDosDateTimeToFileTime(WORD nDosDate, WORD nDosTime, FILETIME* lpFileTime);
/* FIXME: not implemented */
BOOL32 WINAPI CoFileTimeToDosDateTime(FILETIME* lpFileTime, WORD* lpDosDate, WORD* lpDosTime);
#endif /* __WINE_WINE_OBJ_STORAGE_H */

View File

@ -681,7 +681,7 @@ typedef struct
* IStream16_QueryInterface [STORAGE.518]
*/
HRESULT WINAPI IStream16_fnQueryInterface(
LPUNKNOWN iface,REFIID refiid,LPVOID *obj
IStream16* iface,REFIID refiid,LPVOID *obj
) {
ICOM_THIS(IStream16Impl,iface);
char xrefiid[50];
@ -698,7 +698,7 @@ HRESULT WINAPI IStream16_fnQueryInterface(
/******************************************************************************
* IStream16_AddRef [STORAGE.519]
*/
ULONG WINAPI IStream16_fnAddRef(LPUNKNOWN iface) {
ULONG WINAPI IStream16_fnAddRef(IStream16* iface) {
ICOM_THIS(IStream16Impl,iface);
return ++(This->ref);
}
@ -706,7 +706,7 @@ ULONG WINAPI IStream16_fnAddRef(LPUNKNOWN iface) {
/******************************************************************************
* IStream16_Release [STORAGE.520]
*/
ULONG WINAPI IStream16_fnRelease(LPUNKNOWN iface) {
ULONG WINAPI IStream16_fnRelease(IStream16* iface) {
ICOM_THIS(IStream16Impl,iface);
FlushFileBuffers(This->hf);
This->ref--;
@ -769,7 +769,7 @@ HRESULT WINAPI IStream16_fnSeek(
* IStream16_Read [STORAGE.521]
*/
HRESULT WINAPI IStream16_fnRead(
LPSEQUENTIALSTREAM iface,void *pv,ULONG cb,ULONG *pcbRead
IStream16* iface,void *pv,ULONG cb,ULONG *pcbRead
) {
ICOM_THIS(IStream16Impl,iface);
BYTE block[BIGSIZE];
@ -830,7 +830,7 @@ HRESULT WINAPI IStream16_fnRead(
* IStream16_Write [STORAGE.522]
*/
HRESULT WINAPI IStream16_fnWrite(
LPSEQUENTIALSTREAM iface,const void *pv,ULONG cb,ULONG *pcbWrite
IStream16* iface,const void *pv,ULONG cb,ULONG *pcbWrite
) {
ICOM_THIS(IStream16Impl,iface);
BYTE block[BIGSIZE];
@ -1094,20 +1094,16 @@ HRESULT WINAPI IStream16_fnWrite(
static void _create_istream16(LPSTREAM16 *str) {
IStream16Impl* lpst;
if (!strvt16.bvt.bvt.fnQueryInterface) {
if (!strvt16.fnQueryInterface) {
HMODULE16 wp = GetModuleHandle16("STORAGE");
if (wp>=32) {
/* FIXME: what is this WIN32_GetProcAddress16. Should the name be IStream16_QueryInterface of IStream16_fnQueryInterface */
#define VTENT(xfn) strvt16.bvt.bvt.fn##xfn = (void*)WIN32_GetProcAddress16(wp,"IStream16_"#xfn);assert(strvt16.bvt.bvt.fn##xfn)
/* FIXME: what is This WIN32_GetProcAddress16. Should the name be IStream16_QueryInterface of IStream16_fnQueryInterface */
#define VTENT(xfn) strvt16.fn##xfn = (void*)WIN32_GetProcAddress16(wp,"IStream16_"#xfn);assert(strvt16.fn##xfn)
VTENT(QueryInterface);
VTENT(AddRef);
VTENT(Release);
#undef VTENT
#define VTENT(xfn) strvt16.bvt.fn##xfn = (void*)WIN32_GetProcAddress16(wp,"IStream16_"#xfn);assert(strvt16.bvt.fn##xfn)
VTENT(Read);
VTENT(Write);
#undef VTENT
#define VTENT(xfn) strvt16.fn##xfn = (void*)WIN32_GetProcAddress16(wp,"IStream16_"#xfn);assert(strvt16.fn##xfn)
VTENT(Seek);
VTENT(SetSize);
VTENT(CopyTo);
@ -1122,16 +1118,12 @@ static void _create_istream16(LPSTREAM16 *str) {
memcpy(segstrvt16,&strvt16,sizeof(strvt16));
segstrvt16 = (ICOM_VTABLE(IStream16)*)SEGPTR_GET(segstrvt16);
} else {
#define VTENT(xfn) strvt16.bvt.bvt.fn##xfn = IStream16_fn##xfn;
#define VTENT(xfn) strvt16.fn##xfn = IStream16_fn##xfn;
VTENT(QueryInterface);
VTENT(AddRef);
VTENT(Release);
#undef VTENT
#define VTENT(xfn) strvt16.bvt.fn##xfn = IStream16_fn##xfn;
VTENT(Read);
VTENT(Write);
#undef VTENT
#define VTENT(xfn) strvt16.fn##xfn = IStream16_fn##xfn;
VTENT(Seek);
/*
VTENT(CopyTo);
@ -1173,7 +1165,7 @@ typedef struct
* IStream32_QueryInterface [VTABLE]
*/
HRESULT WINAPI IStream32_fnQueryInterface(
LPUNKNOWN iface,REFIID refiid,LPVOID *obj
IStream32* iface,REFIID refiid,LPVOID *obj
) {
ICOM_THIS(IStream32Impl,iface);
char xrefiid[50];
@ -1191,7 +1183,7 @@ HRESULT WINAPI IStream32_fnQueryInterface(
/******************************************************************************
* IStream32_AddRef [VTABLE]
*/
ULONG WINAPI IStream32_fnAddRef(LPUNKNOWN iface) {
ULONG WINAPI IStream32_fnAddRef(IStream32* iface) {
ICOM_THIS(IStream32Impl,iface);
return ++(This->ref);
}
@ -1199,7 +1191,7 @@ ULONG WINAPI IStream32_fnAddRef(LPUNKNOWN iface) {
/******************************************************************************
* IStream32_Release [VTABLE]
*/
ULONG WINAPI IStream32_fnRelease(LPUNKNOWN iface) {
ULONG WINAPI IStream32_fnRelease(IStream32* iface) {
ICOM_THIS(IStream32Impl,iface);
FlushFileBuffers(This->hf);
This->ref--;
@ -1229,7 +1221,7 @@ typedef struct
* IStorage16_QueryInterface [STORAGE.500]
*/
HRESULT WINAPI IStorage16_fnQueryInterface(
LPUNKNOWN iface,REFIID refiid,LPVOID *obj
IStorage16* iface,REFIID refiid,LPVOID *obj
) {
ICOM_THIS(IStorage16Impl,iface);
char xrefiid[50];
@ -1247,7 +1239,7 @@ HRESULT WINAPI IStorage16_fnQueryInterface(
/******************************************************************************
* IStorage16_AddRef [STORAGE.501]
*/
ULONG WINAPI IStorage16_fnAddRef(LPUNKNOWN iface) {
ULONG WINAPI IStorage16_fnAddRef(IStorage16* iface) {
ICOM_THIS(IStorage16Impl,iface);
return ++(This->ref);
}
@ -1255,7 +1247,7 @@ ULONG WINAPI IStorage16_fnAddRef(LPUNKNOWN iface) {
/******************************************************************************
* IStorage16_Release [STORAGE.502]
*/
ULONG WINAPI IStorage16_fnRelease(LPUNKNOWN iface) {
ULONG WINAPI IStorage16_fnRelease(IStorage16* iface) {
ICOM_THIS(IStorage16Impl,iface);
This->ref--;
if (This->ref)
@ -1455,12 +1447,12 @@ HRESULT WINAPI IStorage16_fnOpenStorage(
lstrcpyAtoW(name,pwcsName);
newpps = STORAGE_look_for_named_pps(lpstg->hf,This->stde.pps_dir,name);
if (newpps==-1) {
IStream16_fnRelease((IUnknown*)lpstg);
IStream16_fnRelease((IStream16*)lpstg);
return E_FAIL;
}
if (1!=STORAGE_get_pps_entry(lpstg->hf,newpps,&(lpstg->stde))) {
IStream16_fnRelease((IUnknown*)lpstg);
IStream16_fnRelease((IStream16*)lpstg);
return E_FAIL;
}
lpstg->ppsent = newpps;
@ -1490,12 +1482,12 @@ HRESULT WINAPI IStorage16_fnOpenStream(
lstrcpyAtoW(name,pwcsName);
newpps = STORAGE_look_for_named_pps(lpstr->hf,This->stde.pps_dir,name);
if (newpps==-1) {
IStream16_fnRelease((IUnknown*)lpstr);
IStream16_fnRelease((IStream16*)lpstr);
return E_FAIL;
}
if (1!=STORAGE_get_pps_entry(lpstr->hf,newpps,&(lpstr->stde))) {
IStream16_fnRelease((IUnknown*)lpstr);
IStream16_fnRelease((IStream16*)lpstr);
return E_FAIL;
}
lpstr->offset.LowPart = 0;
@ -1510,15 +1502,13 @@ HRESULT WINAPI IStorage16_fnOpenStream(
static void _create_istorage16(LPSTORAGE16 *stg) {
IStorage16Impl* lpst;
if (!stvt16.bvt.fnQueryInterface) {
if (!stvt16.fnQueryInterface) {
HMODULE16 wp = GetModuleHandle16("STORAGE");
if (wp>=32) {
#define VTENT(xfn) stvt16.bvt.fn##xfn = (void*)WIN32_GetProcAddress16(wp,"IStorage16_"#xfn);
#define VTENT(xfn) stvt16.fn##xfn = (void*)WIN32_GetProcAddress16(wp,"IStorage16_"#xfn);
VTENT(QueryInterface)
VTENT(AddRef)
VTENT(Release)
#undef VTENT
#define VTENT(xfn) stvt16.fn##xfn = (void*)WIN32_GetProcAddress16(wp,"IStorage16_"#xfn);
VTENT(CreateStream)
VTENT(OpenStream)
VTENT(CreateStorage)
@ -1539,12 +1529,10 @@ static void _create_istorage16(LPSTORAGE16 *stg) {
memcpy(segstvt16,&stvt16,sizeof(stvt16));
segstvt16 = (ICOM_VTABLE(IStorage16)*)SEGPTR_GET(segstvt16);
} else {
#define VTENT(xfn) stvt16.bvt.fn##xfn = IStorage16_fn##xfn;
#define VTENT(xfn) stvt16.fn##xfn = IStorage16_fn##xfn;
VTENT(QueryInterface)
VTENT(AddRef)
VTENT(Release)
#undef VTENT
#define VTENT(xfn) stvt16.fn##xfn = IStorage16_fn##xfn;
VTENT(CreateStream)
VTENT(OpenStream)
VTENT(CreateStorage)
@ -1615,7 +1603,7 @@ HRESULT WINAPI StgCreateDocFile16(
i++;
}
if (ret!=1) {
IStorage16_fnRelease((IUnknown*)lpstg); /* will remove it */
IStorage16_fnRelease((IStorage16*)lpstg); /* will remove it */
return E_FAIL;
}
@ -1707,7 +1695,7 @@ HRESULT WINAPI StgOpenStorage16(
i++;
}
if (ret!=1) {
IStorage16_fnRelease((IUnknown*)lpstg); /* will remove it */
IStorage16_fnRelease((IStorage16*)lpstg); /* will remove it */
return E_FAIL;
}
return S_OK;