Added IPersistPropertyBag2 and IPropertyBag2 definitions, added

missing  BINDINFO member.
This commit is contained in:
Malte Starostik 2001-10-05 19:38:43 +00:00 committed by Alexandre Julliard
parent 3dc764038d
commit 7f9b0906dd
2 changed files with 84 additions and 0 deletions

View File

@ -72,6 +72,7 @@ typedef struct _tagBINDINFO {
ULONG cbSize; ULONG cbSize;
LPWSTR szExtraInfo; LPWSTR szExtraInfo;
STGMEDIUM stgmedData; STGMEDIUM stgmedData;
DWORD grfBindInfoF;
DWORD dwBindVerb; DWORD dwBindVerb;
LPWSTR szCustomVerb; LPWSTR szCustomVerb;
DWORD cbStgmedData; DWORD cbStgmedData;

View File

@ -50,6 +50,27 @@ typedef struct tagCADWORD
} CADWORD, *LPCADWORD; } CADWORD, *LPCADWORD;
typedef enum tagPROPBAG2_TYPE
{
PROPBAG2_TYPE_UNDEFINED = 0,
PROPBAG2_TYPE_DATA = 1,
PROPBAG2_TYPE_URL = 2,
PROPBAG2_TYPE_OBJECT = 3,
PROPBAG2_TYPE_STREAM = 4,
PROPBAG2_TYPE_STORAGE = 5,
PROPBAG2_TYPE_MONIKER = 6
} PROPBAG2_TYPE;
typedef struct tagPROPBAG2
{
DWORD dwType;
VARTYPE vt;
CLIPFORMAT cfType;
DWORD dwHint;
LPOLESTR pstrName;
CLSID clsid;
} PROPBAG2;
/***************************************************************************** /*****************************************************************************
* Predeclare the interfaces * Predeclare the interfaces
*/ */
@ -77,12 +98,18 @@ typedef struct IPersistMemory IPersistMemory,*LPPERSISTMEMORY;
DEFINE_GUID(IID_IPersistPropertyBag, 0x37d84f60, 0x42cb, 0x11ce, 0x81, 0x35, 0x00, 0xaa, 0x00, 0x4b, 0xb8, 0x51); DEFINE_GUID(IID_IPersistPropertyBag, 0x37d84f60, 0x42cb, 0x11ce, 0x81, 0x35, 0x00, 0xaa, 0x00, 0x4b, 0xb8, 0x51);
typedef struct IPersistPropertyBag IPersistPropertyBag,*LPPERSISTPROPERTYBAG; typedef struct IPersistPropertyBag IPersistPropertyBag,*LPPERSISTPROPERTYBAG;
DEFINE_GUID(IID_IPersistPropertyBag2, 0x22f55881, 0x280b, 0x11d0, 0xa8, 0xa9, 0x00, 0xa0, 0xc9, 0x0c, 0x20, 0x04);
typedef struct IPersistPropertyBag2 IPersistPropertyBag2,*LPPERSISTPROPERTYBAG2;
DEFINE_GUID(IID_IErrorLog, 0x3127ca40L, 0x446e, 0x11ce, 0x81, 0x35, 0x00, 0xaa, 0x00, 0x4b, 0xb8, 0x51); DEFINE_GUID(IID_IErrorLog, 0x3127ca40L, 0x446e, 0x11ce, 0x81, 0x35, 0x00, 0xaa, 0x00, 0x4b, 0xb8, 0x51);
typedef struct IErrorLog IErrorLog,*LPERRORLOG; typedef struct IErrorLog IErrorLog,*LPERRORLOG;
DEFINE_GUID(IID_IPropertyBag, 0x55272a00L, 0x42cb, 0x11ce, 0x81, 0x35, 0x00, 0xaa, 0x00, 0x4b, 0xb8, 0x51); DEFINE_GUID(IID_IPropertyBag, 0x55272a00L, 0x42cb, 0x11ce, 0x81, 0x35, 0x00, 0xaa, 0x00, 0x4b, 0xb8, 0x51);
typedef struct IPropertyBag IPropertyBag,*LPPROPERTYBAG; typedef struct IPropertyBag IPropertyBag,*LPPROPERTYBAG;
DEFINE_GUID(IID_IPropertyBag2, 0x22f55882, 0x280b, 0x11d0, 0xa8, 0xa9, 0x00, 0xa0, 0xc9, 0x0c, 0x20, 0x04);
typedef struct IPropertyBag2 IPropertyBag2,*LPPROPERTYBAG2;
DEFINE_GUID(IID_ISpecifyPropertyPages, 0xb196b28b, 0xbab4, 0x101a, 0xb6, 0x9c, 0x00, 0xaa, 0x00, 0x34, 0x1d, 0x07); DEFINE_GUID(IID_ISpecifyPropertyPages, 0xb196b28b, 0xbab4, 0x101a, 0xb6, 0x9c, 0x00, 0xaa, 0x00, 0x34, 0x1d, 0x07);
typedef struct ISpecifyPropertyPages ISpecifyPropertyPages,*LPSPECIFYPROPERTYPAGES; typedef struct ISpecifyPropertyPages ISpecifyPropertyPages,*LPSPECIFYPROPERTYPAGES;
@ -318,6 +345,34 @@ ICOM_DEFINE(IPersistPropertyBag,IPersist)
#define IPersistPropertyBag_Save(p,a,b,c) ICOM_CALL3(Save,p,a,b,c) #define IPersistPropertyBag_Save(p,a,b,c) ICOM_CALL3(Save,p,a,b,c)
/*****************************************************************************
* IPersistPropertyBag2 interface
*/
#define ICOM_INTERFACE IPersistPropertyBag2
#define IPersistPropertyBag2_METHODS \
ICOM_METHOD (HRESULT,InitNew) \
ICOM_METHOD2(HRESULT,Load, IPropertyBag2*,pPropBag, IErrorLog*,pErrorLog) \
ICOM_METHOD3(HRESULT,Save, IPropertyBag2*,pPropBag, BOOL,fClearDirty, BOOL,fSaveAllProperties) \
ICOM_METHOD (HRESULT,IsDirty)
#define IPersistPropertyBag2_IMETHODS \
IPersist_IMETHODS \
IPersistPropertyBag2_METHODS
ICOM_DEFINE(IPersistPropertyBag2,IPersist)
#undef ICOM_INTERFACE
/*** IUnknown methods ***/
#define IPersistPropertyBag2_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
#define IPersistPropertyBag2_AddRef(p) ICOM_CALL (AddRef,p)
#define IPersistPropertyBag2_Release(p) ICOM_CALL (Release,p)
/*** IPersist methods ***/
#define IPersistPropertyBag2_GetClassID(p,a) ICOM_CALL1(GetClassID,p,a)
/*** IPersistPropertyBag methods ***/
#define IPersistPropertyBag2_InitNew(p) ICOM_CALL (InitNew,p)
#define IPersistPropertyBag2_Load(p,a,b) ICOM_CALL2(Load,p,a,b)
#define IPersistPropertyBag2_Save(p,a,b,c) ICOM_CALL3(Save,p,a,b,c)
#define IPersistPropertyBag2_IsDirty(p) ICON_CALL (IsDirty,p)
/***************************************************************************** /*****************************************************************************
* IErrorLog interface * IErrorLog interface
*/ */
@ -360,6 +415,34 @@ ICOM_DEFINE(IPropertyBag,IUnknown)
#define IPropertyBag_Write(p,a,b) ICOM_CALL2(Write,p,a,b) #define IPropertyBag_Write(p,a,b) ICOM_CALL2(Write,p,a,b)
/*****************************************************************************
* IPropertyBag2 interface
*/
#define ICOM_INTERFACE IPropertyBag2
#define IPropertyBag2_METHODS \
ICOM_METHOD5(HRESULT,Read, ULONG,cProperties, PROPBAG2*,pPropBag, IErrorLog*,pErrLog, VARIANT*,pvarValue, HRESULT*,phrError) \
ICOM_METHOD3(HRESULT,Write, ULONG,cProperties, PROPBAG2*,pPropBag, VARIANT*,pvarValue) \
ICOM_METHOD1(HRESULT,CountProperties, ULONG*,pcProperties) \
ICOM_METHOD4(HRESULT,GetPropertyInfo, ULONG,iProperty, ULONG,cProperties, PROPBAG2*,pPropBag, ULONG*,pcProperties) \
ICOM_METHOD4(HRESULT,LoadObject, LPCOLESTR,pstrName, DWORD,dwHint, IUnknown*,pUnkObject, IErrorLog*,pErrLog)
#define IPropertyBag2_IMETHODS \
IUnknown_IMETHODS \
IPropertyBag2_METHODS
ICOM_DEFINE(IPropertyBag2,IUnknown)
#undef ICOM_INTERFACE
/*** IUnknown methods ***/
#define IPropertyBag2_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
#define IPropertyBag2_AddRef(p) ICOM_CALL (AddRef,p)
#define IPropertyBag2_Release(p) ICOM_CALL (Release,p)
/*** IPropertyBag methods ***/
#define IPropertyBag2_Read(p,a,b,c,d,e) ICOM_CALL5(Read,p,a,b,c,d,e)
#define IPropertyBag2_Write(p,a,b,c) ICOM_CALL3(Write,p,a,b,c)
#define IPropertyBag2_CountProperties(p,a) ICOM_CALL1(CountProperties,p,a)
#define IPropertyBag2_GetPropertyInfo(p,a,b,c,d) ICOM_CALL4(GetPropertyInfo,p,a,b,c,d)
#define IPropertyBag2_LoadObject(p,a,b,c,d) ICOM_CALL4(LoadObject,p,a,b,c,d)
/***************************************************************************** /*****************************************************************************
* ISpecifyPropertyPages interface * ISpecifyPropertyPages interface
*/ */