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 };