Updated to use the latest COM macros. Defined more interfaces and API
functions.
This commit is contained in:
parent
308c6afe62
commit
d04d2f1474
|
@ -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 */
|
||||
|
|
|
@ -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 */
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue