2 * Implementation of IPersist interfaces for IE Web Browser control
4 * 2001 John R. Sheets (for CodeWeavers)
7 #include "debugtools.h"
10 DEFAULT_DEBUG_CHANNEL(shdocvw
);
12 /**********************************************************************
13 * Implement the IPersistStorage interface
16 static HRESULT WINAPI
WBPS_QueryInterface(LPPERSISTSTORAGE iface
,
17 REFIID riid
, LPVOID
*ppobj
)
19 ICOM_THIS(IPersistStorageImpl
, iface
);
21 FIXME("(%p)->(%s,%p),stub!\n", This
, debugstr_guid(riid
), ppobj
);
25 static ULONG WINAPI
WBPS_AddRef(LPPERSISTSTORAGE iface
)
27 ICOM_THIS(IPersistStorageImpl
, iface
);
33 static ULONG WINAPI
WBPS_Release(LPPERSISTSTORAGE iface
)
35 ICOM_THIS(IPersistStorageImpl
, iface
);
37 /* static class, won't be freed */
42 static HRESULT WINAPI
WBPS_GetClassID(LPPERSISTSTORAGE iface
, CLSID
*pClassID
)
44 FIXME("stub: CLSID = %s\n", debugstr_guid(pClassID
));
48 static HRESULT WINAPI
WBPS_IsDirty(LPPERSISTSTORAGE iface
)
54 static HRESULT WINAPI
WBPS_InitNew(LPPERSISTSTORAGE iface
, LPSTORAGE pStg
)
56 FIXME("stub: LPSTORAGE = %p\n", pStg
);
60 static HRESULT WINAPI
WBPS_Load(LPPERSISTSTORAGE iface
, LPSTORAGE pStg
)
62 FIXME("stub: LPSTORAGE = %p\n", pStg
);
66 static HRESULT WINAPI
WBPS_Save(LPPERSISTSTORAGE iface
, LPSTORAGE pStg
,
69 FIXME("stub: LPSTORAGE = %p, fSameAsLoad = %d\n", pStg
, fSameAsLoad
);
73 static HRESULT WINAPI
WBPS_SaveCompleted(LPPERSISTSTORAGE iface
, LPSTORAGE pStgNew
)
75 FIXME("stub: LPSTORAGE = %p\n", pStgNew
);
79 /**********************************************************************
80 * IPersistStorage virtual function table for IE Web Browser component
83 static ICOM_VTABLE(IPersistStorage
) WBPS_Vtbl
=
85 ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
97 IPersistStorageImpl SHDOCVW_PersistStorage
= { &WBPS_Vtbl
, 1 };
100 /**********************************************************************
101 * Implement the IPersistStreamInit interface
104 static HRESULT WINAPI
WBPSI_QueryInterface(LPPERSISTSTREAMINIT iface
,
105 REFIID riid
, LPVOID
*ppobj
)
107 ICOM_THIS(IPersistStreamInitImpl
, iface
);
109 FIXME("(%p)->(%s,%p),stub!\n", This
, debugstr_guid(riid
), ppobj
);
110 return E_NOINTERFACE
;
113 static ULONG WINAPI
WBPSI_AddRef(LPPERSISTSTREAMINIT iface
)
115 ICOM_THIS(IPersistStreamInitImpl
, iface
);
118 return ++(This
->ref
);
121 static ULONG WINAPI
WBPSI_Release(LPPERSISTSTREAMINIT iface
)
123 ICOM_THIS(IPersistStreamInitImpl
, iface
);
125 /* static class, won't be freed */
127 return --(This
->ref
);
130 static HRESULT WINAPI
WBPSI_GetClassID(LPPERSISTSTREAMINIT iface
, CLSID
*pClassID
)
132 FIXME("stub: CLSID = %s\n", debugstr_guid(pClassID
));
136 static HRESULT WINAPI
WBPSI_IsDirty(LPPERSISTSTREAMINIT iface
)
142 static HRESULT WINAPI
WBPSI_Load(LPPERSISTSTREAMINIT iface
, LPSTREAM pStg
)
144 FIXME("stub: LPSTORAGE = %p\n", pStg
);
148 static HRESULT WINAPI
WBPSI_Save(LPPERSISTSTREAMINIT iface
, LPSTREAM pStg
,
151 FIXME("stub: LPSTORAGE = %p, fSameAsLoad = %d\n", pStg
, fSameAsLoad
);
155 static HRESULT WINAPI
WBPSI_GetSizeMax(LPPERSISTSTREAMINIT iface
,
156 ULARGE_INTEGER
*pcbSize
)
158 FIXME("stub: ULARGE_INTEGER = %p\n", pcbSize
);
162 static HRESULT WINAPI
WBPSI_InitNew(LPPERSISTSTREAMINIT iface
)
168 /**********************************************************************
169 * IPersistStreamInit virtual function table for IE Web Browser component
172 static ICOM_VTABLE(IPersistStreamInit
) WBPSI_Vtbl
=
174 ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
175 WBPSI_QueryInterface
,
186 IPersistStreamInitImpl SHDOCVW_PersistStreamInit
= { &WBPSI_Vtbl
, 1 };