Added IPersistPropertyBag2 and IPropertyBag2 definitions, added
missing BINDINFO member.
This commit is contained in:
parent
3dc764038d
commit
7f9b0906dd
|
@ -72,6 +72,7 @@ typedef struct _tagBINDINFO {
|
|||
ULONG cbSize;
|
||||
LPWSTR szExtraInfo;
|
||||
STGMEDIUM stgmedData;
|
||||
DWORD grfBindInfoF;
|
||||
DWORD dwBindVerb;
|
||||
LPWSTR szCustomVerb;
|
||||
DWORD cbStgmedData;
|
||||
|
|
|
@ -50,6 +50,27 @@ typedef struct tagCADWORD
|
|||
} 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
|
||||
*/
|
||||
|
@ -77,12 +98,18 @@ typedef struct IPersistMemory IPersistMemory,*LPPERSISTMEMORY;
|
|||
DEFINE_GUID(IID_IPersistPropertyBag, 0x37d84f60, 0x42cb, 0x11ce, 0x81, 0x35, 0x00, 0xaa, 0x00, 0x4b, 0xb8, 0x51);
|
||||
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);
|
||||
typedef struct IErrorLog IErrorLog,*LPERRORLOG;
|
||||
|
||||
DEFINE_GUID(IID_IPropertyBag, 0x55272a00L, 0x42cb, 0x11ce, 0x81, 0x35, 0x00, 0xaa, 0x00, 0x4b, 0xb8, 0x51);
|
||||
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);
|
||||
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)
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
* 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
|
||||
*/
|
||||
|
@ -360,6 +415,34 @@ ICOM_DEFINE(IPropertyBag,IUnknown)
|
|||
#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
|
||||
*/
|
||||
|
|
Loading…
Reference in New Issue