2 * Implementation of IPersist interfaces for IE Web Browser control
4 * Copyright 2001 John R. Sheets (for CodeWeavers)
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
21 #include "wine/debug.h"
24 WINE_DEFAULT_DEBUG_CHANNEL(shdocvw
);
26 /**********************************************************************
27 * Implement the IPersistStorage interface
30 static HRESULT WINAPI
WBPS_QueryInterface(LPPERSISTSTORAGE iface
,
31 REFIID riid
, LPVOID
*ppobj
)
33 FIXME("- no interface\n\tIID:\t%s\n", debugstr_guid(riid
));
35 if (ppobj
== NULL
) return E_POINTER
;
40 static ULONG WINAPI
WBPS_AddRef(LPPERSISTSTORAGE iface
)
44 return 2; /* non-heap based object */
47 static ULONG WINAPI
WBPS_Release(LPPERSISTSTORAGE iface
)
49 SHDOCVW_UnlockModule();
51 return 1; /* non-heap based object */
54 static HRESULT WINAPI
WBPS_GetClassID(LPPERSISTSTORAGE iface
, CLSID
*pClassID
)
56 FIXME("stub: CLSID = %s\n", debugstr_guid(pClassID
));
60 static HRESULT WINAPI
WBPS_IsDirty(LPPERSISTSTORAGE iface
)
66 static HRESULT WINAPI
WBPS_InitNew(LPPERSISTSTORAGE iface
, LPSTORAGE pStg
)
68 FIXME("stub: LPSTORAGE = %p\n", pStg
);
72 static HRESULT WINAPI
WBPS_Load(LPPERSISTSTORAGE iface
, LPSTORAGE pStg
)
74 FIXME("stub: LPSTORAGE = %p\n", pStg
);
78 static HRESULT WINAPI
WBPS_Save(LPPERSISTSTORAGE iface
, LPSTORAGE pStg
,
81 FIXME("stub: LPSTORAGE = %p, fSameAsLoad = %d\n", pStg
, fSameAsLoad
);
85 static HRESULT WINAPI
WBPS_SaveCompleted(LPPERSISTSTORAGE iface
, LPSTORAGE pStgNew
)
87 FIXME("stub: LPSTORAGE = %p\n", pStgNew
);
91 /**********************************************************************
92 * IPersistStorage virtual function table for IE Web Browser component
95 static IPersistStorageVtbl WBPS_Vtbl
=
108 IPersistStorageImpl SHDOCVW_PersistStorage
= {&WBPS_Vtbl
};
111 /**********************************************************************
112 * Implement the IPersistStreamInit interface
115 static HRESULT WINAPI
WBPSI_QueryInterface(LPPERSISTSTREAMINIT iface
,
116 REFIID riid
, LPVOID
*ppobj
)
118 FIXME("- no interface\n\tIID:\t%s\n", debugstr_guid(riid
));
120 if (ppobj
== NULL
) return E_POINTER
;
122 return E_NOINTERFACE
;
125 static ULONG WINAPI
WBPSI_AddRef(LPPERSISTSTREAMINIT iface
)
127 SHDOCVW_LockModule();
129 return 2; /* non-heap based object */
132 static ULONG WINAPI
WBPSI_Release(LPPERSISTSTREAMINIT iface
)
134 SHDOCVW_UnlockModule();
136 return 1; /* non-heap based object */
139 static HRESULT WINAPI
WBPSI_GetClassID(LPPERSISTSTREAMINIT iface
, CLSID
*pClassID
)
141 FIXME("stub: CLSID = %s\n", debugstr_guid(pClassID
));
145 static HRESULT WINAPI
WBPSI_IsDirty(LPPERSISTSTREAMINIT iface
)
151 static HRESULT WINAPI
WBPSI_Load(LPPERSISTSTREAMINIT iface
, LPSTREAM pStg
)
153 FIXME("stub: LPSTORAGE = %p\n", pStg
);
157 static HRESULT WINAPI
WBPSI_Save(LPPERSISTSTREAMINIT iface
, LPSTREAM pStg
,
160 FIXME("stub: LPSTORAGE = %p, fSameAsLoad = %d\n", pStg
, fSameAsLoad
);
164 static HRESULT WINAPI
WBPSI_GetSizeMax(LPPERSISTSTREAMINIT iface
,
165 ULARGE_INTEGER
*pcbSize
)
167 FIXME("stub: ULARGE_INTEGER = %p\n", pcbSize
);
171 static HRESULT WINAPI
WBPSI_InitNew(LPPERSISTSTREAMINIT iface
)
177 /**********************************************************************
178 * IPersistStreamInit virtual function table for IE Web Browser component
181 static IPersistStreamInitVtbl WBPSI_Vtbl
=
183 WBPSI_QueryInterface
,
194 IPersistStreamInitImpl SHDOCVW_PersistStreamInit
= {&WBPSI_Vtbl
};