ReactOS 0.4.16-dev-2208-g6350669
xmlview.c File Reference
#include <stdarg.h>
#include "windef.h"
#include "winbase.h"
#include "ole2.h"
#include "msxml6.h"
#include "mshtml.h"
#include "mshtmhst.h"
#include "perhist.h"
#include "docobj.h"
#include "wine/debug.h"
#include "msxml_dispex.h"
Include dependency graph for xmlview.c:

Go to the source code of this file.

Classes

class  XMLView
 
struct  Moniker
 
struct  BindStatusCallback
 
struct  Binding
 

Macros

#define COBJMACROS
 

Functions

 WINE_DEFAULT_DEBUG_CHANNEL (msxml)
 
static Bindingimpl_from_IBinding (IBinding *iface)
 
static HRESULT WINAPI XMLView_Binding_QueryInterface (IBinding *iface, REFIID riid, void **ppvObject)
 
static ULONG WINAPI XMLView_Binding_AddRef (IBinding *iface)
 
static ULONG WINAPI XMLView_Binding_Release (IBinding *iface)
 
static HRESULT WINAPI XMLView_Binding_Abort (IBinding *iface)
 
static HRESULT WINAPI XMLView_Binding_Suspend (IBinding *iface)
 
static HRESULT WINAPI XMLView_Binding_Resume (IBinding *iface)
 
static HRESULT WINAPI XMLView_Binding_SetPriority (IBinding *iface, LONG nPriority)
 
static HRESULT WINAPI XMLView_Binding_GetPriority (IBinding *iface, LONG *pnPriority)
 
static HRESULT WINAPI XMLView_Binding_GetBindResult (IBinding *iface, CLSID *pclsidProtocol, DWORD *pdwResult, LPOLESTR *pszResult, DWORD *pdwReserved)
 
static HRESULT XMLView_Binding_Create (IBinding *binding, IBinding **ret)
 
static BindStatusCallbackimpl_from_IBindStatusCallback (IBindStatusCallback *iface)
 
static HRESULT WINAPI XMLView_BindStatusCallback_QueryInterface (IBindStatusCallback *iface, REFIID riid, void **ppvObject)
 
static ULONG WINAPI XMLView_BindStatusCallback_AddRef (IBindStatusCallback *iface)
 
static ULONG WINAPI XMLView_BindStatusCallback_Release (IBindStatusCallback *iface)
 
static HRESULT WINAPI XMLView_BindStatusCallback_OnStartBinding (IBindStatusCallback *iface, DWORD dwReserved, IBinding *pib)
 
static HRESULT WINAPI XMLView_BindStatusCallback_GetPriority (IBindStatusCallback *iface, LONG *pnPriority)
 
static HRESULT WINAPI XMLView_BindStatusCallback_OnLowResource (IBindStatusCallback *iface, DWORD reserved)
 
static HRESULT WINAPI XMLView_BindStatusCallback_OnProgress (IBindStatusCallback *iface, ULONG ulProgress, ULONG ulProgressMax, ULONG ulStatusCode, LPCWSTR szStatusText)
 
static HRESULT WINAPI XMLView_BindStatusCallback_OnStopBinding (IBindStatusCallback *iface, HRESULT hresult, LPCWSTR szError)
 
static HRESULT WINAPI XMLView_BindStatusCallback_GetBindInfo (IBindStatusCallback *iface, DWORD *grfBINDF, BINDINFO *pbindinfo)
 
static HRESULT report_data (BindStatusCallback *This)
 
static HRESULT display_error_page (BindStatusCallback *This)
 
static HRESULT handle_xml_load (BindStatusCallback *This)
 
static HRESULT WINAPI XMLView_BindStatusCallback_OnDataAvailable (IBindStatusCallback *iface, DWORD grfBSCF, DWORD dwSize, FORMATETC *pformatetc, STGMEDIUM *pstgmed)
 
static HRESULT WINAPI XMLView_BindStatusCallback_OnObjectAvailable (IBindStatusCallback *iface, REFIID riid, IUnknown *punk)
 
static HRESULT XMLView_BindStatusCallback_Create (IBindStatusCallback *bsc_html, IMoniker *mon, IStream *stream, IBindStatusCallback **ret)
 
static Monikerimpl_from_IMoniker (IMoniker *iface)
 
static HRESULT WINAPI XMLView_Moniker_QueryInterface (IMoniker *iface, REFIID riid, void **ppvObject)
 
static ULONG WINAPI XMLView_Moniker_AddRef (IMoniker *iface)
 
static ULONG WINAPI XMLView_Moniker_Release (IMoniker *iface)
 
static HRESULT WINAPI XMLView_Moniker_GetClassID (IMoniker *iface, CLSID *pClassID)
 
static HRESULT WINAPI XMLView_Moniker_IsDirty (IMoniker *iface)
 
static HRESULT WINAPI XMLView_Moniker_Load (IMoniker *iface, IStream *pStm)
 
static HRESULT WINAPI XMLView_Moniker_Save (IMoniker *iface, IStream *pStm, BOOL fClearDirty)
 
static HRESULT WINAPI XMLView_Moniker_GetSizeMax (IMoniker *iface, ULARGE_INTEGER *pcbSize)
 
static HRESULT WINAPI XMLView_Moniker_BindToObject (IMoniker *iface, IBindCtx *pbc, IMoniker *pmkToLeft, REFIID riidResult, void **ppvResult)
 
static HRESULT WINAPI XMLView_Moniker_BindToStorage (IMoniker *iface, IBindCtx *pbc, IMoniker *pmkToLeft, REFIID riid, void **ppvObj)
 
static HRESULT WINAPI XMLView_Moniker_Reduce (IMoniker *iface, IBindCtx *pbc, DWORD dwReduceHowFar, IMoniker **ppmkToLeft, IMoniker **ppmkReduced)
 
static HRESULT WINAPI XMLView_Moniker_ComposeWith (IMoniker *iface, IMoniker *pmkRight, BOOL fOnlyIfNotGeneric, IMoniker **ppmkComposite)
 
static HRESULT WINAPI XMLView_Moniker_Enum (IMoniker *iface, BOOL fForward, IEnumMoniker **ppenumMoniker)
 
static HRESULT WINAPI XMLView_Moniker_IsEqual (IMoniker *iface, IMoniker *pmkOtherMoniker)
 
static HRESULT WINAPI XMLView_Moniker_Hash (IMoniker *iface, DWORD *pdwHash)
 
static HRESULT WINAPI XMLView_Moniker_IsRunning (IMoniker *iface, IBindCtx *pbc, IMoniker *pmkToLeft, IMoniker *pmkNewlyRunning)
 
static HRESULT WINAPI XMLView_Moniker_GetTimeOfLastChange (IMoniker *iface, IBindCtx *pbc, IMoniker *pmkToLeft, FILETIME *pFileTime)
 
static HRESULT WINAPI XMLView_Moniker_Inverse (IMoniker *iface, IMoniker **ppmk)
 
static HRESULT WINAPI XMLView_Moniker_CommonPrefixWith (IMoniker *iface, IMoniker *pmkOther, IMoniker **ppmkPrefix)
 
static HRESULT WINAPI XMLView_Moniker_RelativePathTo (IMoniker *iface, IMoniker *pmkOther, IMoniker **ppmkRelPath)
 
static HRESULT WINAPI XMLView_Moniker_GetDisplayName (IMoniker *iface, IBindCtx *pbc, IMoniker *pmkToLeft, LPOLESTR *ppszDisplayName)
 
static HRESULT WINAPI XMLView_Moniker_ParseDisplayName (IMoniker *iface, IBindCtx *pbc, IMoniker *pmkToLeft, LPOLESTR pszDisplayName, ULONG *pchEaten, IMoniker **ppmkOut)
 
static HRESULT WINAPI XMLView_Moniker_IsSystemMoniker (IMoniker *iface, DWORD *pdwMksys)
 
static HRESULT XMLView_Moniker_Create (IMoniker *mon, IStream *stream, IMoniker **ret)
 
static XMLViewimpl_from_IPersistMoniker (IPersistMoniker *iface)
 
static HRESULT WINAPI XMLView_PersistMoniker_QueryInterface (IPersistMoniker *iface, REFIID riid, void **ppvObject)
 
static ULONG WINAPI XMLView_PersistMoniker_AddRef (IPersistMoniker *iface)
 
static ULONG WINAPI XMLView_PersistMoniker_Release (IPersistMoniker *iface)
 
static HRESULT WINAPI XMLView_PersistMoniker_GetClassID (IPersistMoniker *iface, CLSID *pClassID)
 
static HRESULT WINAPI XMLView_PersistMoniker_IsDirty (IPersistMoniker *iface)
 
static HRESULT WINAPI XMLView_PersistMoniker_Load (IPersistMoniker *iface, BOOL fFullyAvailable, IMoniker *pimkName, LPBC pibc, DWORD grfMode)
 
static HRESULT WINAPI XMLView_PersistMoniker_Save (IPersistMoniker *iface, IMoniker *pimkName, LPBC pbc, BOOL fRemember)
 
static HRESULT WINAPI XMLView_PersistMoniker_SaveCompleted (IPersistMoniker *iface, IMoniker *pimkName, LPBC pibc)
 
static HRESULT WINAPI XMLView_PersistMoniker_GetCurMoniker (IPersistMoniker *iface, IMoniker **ppimkName)
 
static XMLViewimpl_from_IPersistHistory (IPersistHistory *iface)
 
static HRESULT WINAPI XMLView_PersistHistory_QueryInterface (IPersistHistory *iface, REFIID riid, void **ppvObject)
 
static ULONG WINAPI XMLView_PersistHistory_AddRef (IPersistHistory *iface)
 
static ULONG WINAPI XMLView_PersistHistory_Release (IPersistHistory *iface)
 
static HRESULT WINAPI XMLView_PersistHistory_GetClassID (IPersistHistory *iface, CLSID *pClassID)
 
static HRESULT WINAPI XMLView_PersistHistory_LoadHistory (IPersistHistory *iface, IStream *pStream, IBindCtx *pbc)
 
static HRESULT WINAPI XMLView_PersistHistory_SaveHistory (IPersistHistory *iface, IStream *pStream)
 
static HRESULT WINAPI XMLView_PersistHistory_SetPositionCookie (IPersistHistory *iface, DWORD dwPositioncookie)
 
static HRESULT WINAPI XMLView_PersistHistory_GetPositionCookie (IPersistHistory *iface, DWORD *pdwPositioncookie)
 
static XMLViewimpl_from_IOleCommandTarget (IOleCommandTarget *iface)
 
static HRESULT WINAPI XMLView_OleCommandTarget_QueryInterface (IOleCommandTarget *iface, REFIID riid, void **ppvObject)
 
static ULONG WINAPI XMLView_OleCommandTarget_AddRef (IOleCommandTarget *iface)
 
static ULONG WINAPI XMLView_OleCommandTarget_Release (IOleCommandTarget *iface)
 
static HRESULT WINAPI XMLView_OleCommandTarget_QueryStatus (IOleCommandTarget *iface, const GUID *pguidCmdGroup, ULONG cCmds, OLECMD prgCmds[], OLECMDTEXT *pCmdText)
 
static HRESULT WINAPI XMLView_OleCommandTarget_Exec (IOleCommandTarget *iface, const GUID *pguidCmdGroup, DWORD nCmdID, DWORD nCmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut)
 
static XMLViewimpl_from_IOleObject (IOleObject *iface)
 
static HRESULT WINAPI XMLView_OleObject_QueryInterface (IOleObject *iface, REFIID riid, void **ppvObject)
 
static ULONG WINAPI XMLView_OleObject_AddRef (IOleObject *iface)
 
static ULONG WINAPI XMLView_OleObject_Release (IOleObject *iface)
 
static HRESULT WINAPI XMLView_OleObject_SetClientSite (IOleObject *iface, IOleClientSite *pClientSite)
 
static HRESULT WINAPI XMLView_OleObject_GetClientSite (IOleObject *iface, IOleClientSite **ppClientSite)
 
static HRESULT WINAPI XMLView_OleObject_SetHostNames (IOleObject *iface, LPCOLESTR szContainerApp, LPCOLESTR szContainerObj)
 
static HRESULT WINAPI XMLView_OleObject_Close (IOleObject *iface, DWORD dwSaveOption)
 
static HRESULT WINAPI XMLView_OleObject_SetMoniker (IOleObject *iface, DWORD dwWhichMoniker, IMoniker *pmk)
 
static HRESULT WINAPI XMLView_OleObject_GetMoniker (IOleObject *iface, DWORD dwAssign, DWORD dwWhichMoniker, IMoniker **ppmk)
 
static HRESULT WINAPI XMLView_OleObject_InitFromData (IOleObject *iface, IDataObject *pDataObject, BOOL fCreation, DWORD dwReserved)
 
static HRESULT WINAPI XMLView_OleObject_GetClipboardData (IOleObject *iface, DWORD dwReserved, IDataObject **ppDataObject)
 
static HRESULT WINAPI XMLView_OleObject_DoVerb (IOleObject *iface, LONG iVerb, LPMSG lpmsg, IOleClientSite *pActiveSite, LONG lindex, HWND hwndParent, LPCRECT lprcPosRect)
 
static HRESULT WINAPI XMLView_OleObject_EnumVerbs (IOleObject *iface, IEnumOLEVERB **ppEnumOleVerb)
 
static HRESULT WINAPI XMLView_OleObject_Update (IOleObject *iface)
 
static HRESULT WINAPI XMLView_OleObject_IsUpToDate (IOleObject *iface)
 
static HRESULT WINAPI XMLView_OleObject_GetUserClassID (IOleObject *iface, CLSID *pClsid)
 
static HRESULT WINAPI XMLView_OleObject_GetUserType (IOleObject *iface, DWORD dwFormOfType, LPOLESTR *pszUserType)
 
static HRESULT WINAPI XMLView_OleObject_SetExtent (IOleObject *iface, DWORD dwDrawAspect, SIZEL *psizel)
 
static HRESULT WINAPI XMLView_OleObject_GetExtent (IOleObject *iface, DWORD dwDrawAspect, SIZEL *psizel)
 
static HRESULT WINAPI XMLView_OleObject_Advise (IOleObject *iface, IAdviseSink *pAdvSink, DWORD *pdwConnection)
 
static HRESULT WINAPI XMLView_OleObject_Unadvise (IOleObject *iface, DWORD dwConnection)
 
static HRESULT WINAPI XMLView_OleObject_EnumAdvise (IOleObject *iface, IEnumSTATDATA **ppenumAdvise)
 
static HRESULT WINAPI XMLView_OleObject_GetMiscStatus (IOleObject *iface, DWORD dwAspect, DWORD *pdwStatus)
 
static HRESULT WINAPI XMLView_OleObject_SetColorScheme (IOleObject *iface, LOGPALETTE *pLogpal)
 
HRESULT XMLView_create (void **ppObj)
 

Variables

static IBindingVtbl XMLView_BindingVtbl
 
static IBindStatusCallbackVtbl XMLView_BindStatusCallbackVtbl
 
static IMonikerVtbl XMLView_MonikerVtbl
 
static IPersistMonikerVtbl XMLView_PersistMonikerVtbl
 
static IPersistHistoryVtbl XMLView_PersistHistoryVtbl
 
static IOleCommandTargetVtbl XMLView_OleCommandTargetVtbl
 
static IOleObjectVtbl XMLView_OleObjectVtbl
 

Macro Definition Documentation

◆ COBJMACROS

#define COBJMACROS

Definition at line 21 of file xmlview.c.

Function Documentation

◆ display_error_page()

static HRESULT display_error_page ( BindStatusCallback This)
inlinestatic

Definition at line 364 of file xmlview.c.

365{
366 FIXME("Error page not implemented yet.\n");
367 return report_data(This);
368}
#define FIXME(fmt,...)
Definition: precomp.h:53
static HRESULT report_data(BindStatusCallback *This)
Definition: xmlview.c:334

Referenced by handle_xml_load().

◆ handle_xml_load()

static HRESULT handle_xml_load ( BindStatusCallback This)
inlinestatic

Definition at line 370 of file xmlview.c.

371{
372 static const WCHAR selectW[] = {'p','r','o','c','e','s','s','i','n','g','-',
373 'i','n','s','t','r','u','c','t','i','o','n','(','\'','x','m','l',
374 '-','s','t','y','l','e','s','h','e','e','t','\'',')',0};
375 static const WCHAR hrefW[] = {'h','r','e','f','=',0};
376
377 IXMLDOMDocument3 *xml = NULL, *xsl = NULL;
378 IXMLDOMNode *stylesheet;
379 IBindCtx *pbc;
380 IMoniker *mon;
381 LPOLESTR xsl_url;
382 LARGE_INTEGER off;
383 VARIANT_BOOL succ;
384 VARIANT var;
385 WCHAR *href = NULL, *p;
386 BSTR bstr;
388
389 off.QuadPart = 0;
390 hres = IStream_Seek(This->stream, off, STREAM_SEEK_SET, NULL);
391 if(FAILED(hres))
392 return display_error_page(This);
393
394 hres = dom_document_create(MSXML_DEFAULT, (void **)&xml);
395 if(FAILED(hres))
396 return display_error_page(This);
397
398 V_VT(&var) = VT_UNKNOWN;
399 V_UNKNOWN(&var) = (IUnknown*)This->stream;
400 hres = IXMLDOMDocument3_load(xml, var, &succ);
401 if(FAILED(hres) || !succ) {
402 IXMLDOMDocument3_Release(xml);
403 return display_error_page(This);
404 }
405 V_VT(&var) = VT_EMPTY;
406
407 bstr = SysAllocString(selectW);
408 hres = IXMLDOMDocument3_selectSingleNode(xml, bstr, &stylesheet);
409 SysFreeString(bstr);
410 if(hres != S_OK) {
411 IXMLDOMDocument3_Release(xml);
412 return display_error_page(This);
413 }
414
415 hres = IXMLDOMNode_get_nodeValue(stylesheet, &var);
416 IXMLDOMNode_Release(stylesheet);
417 if(SUCCEEDED(hres) && V_VT(&var)!=VT_BSTR) {
418 FIXME("Variant type %d not supported\n", V_VT(&var));
420 hres = E_FAIL;
421 }
422 if(FAILED(hres)) {
423 IXMLDOMDocument3_Release(xml);
424 return display_error_page(This);
425 }
426
427 /* TODO: fix parsing processing instruction value */
428 if((p = wcsstr(V_BSTR(&var), hrefW))) {
429 p += ARRAY_SIZE(hrefW) - 1;
430 if(*p!='\'' && *p!='\"') p = NULL;
431 else {
432 href = p+1;
433 p = wcschr(href, *p);
434 }
435 }
436 if(p) {
437 *p = 0;
438 } else {
440 IXMLDOMDocument3_Release(xml);
441 return display_error_page(This);
442 }
443
444 hres = CreateURLMonikerEx(This->mon, href, &mon, 0);
446 if(FAILED(hres)) {
447 IXMLDOMDocument3_Release(xml);
448 return display_error_page(This);
449 }
450
451 hres = CreateBindCtx(0, &pbc);
452 if(SUCCEEDED(hres)) {
453 hres = IMoniker_GetDisplayName(mon, pbc, NULL, &xsl_url);
454 IMoniker_Release(mon);
455 IBindCtx_Release(pbc);
456 }
457 if(FAILED(hres)) {
458 IXMLDOMDocument3_Release(xml);
459 return display_error_page(This);
460 }
461
462 V_VT(&var) = VT_BSTR;
463 V_BSTR(&var) = SysAllocString(xsl_url);
464 CoTaskMemFree(xsl_url);
465 if(!V_BSTR(&var)) {
466 IXMLDOMDocument3_Release(xml);
467 return display_error_page(This);
468 }
469
470 hres = dom_document_create(MSXML_DEFAULT, (void **)&xsl);
471 if(FAILED(hres)) {
473 IXMLDOMDocument3_Release(xml);
474 return display_error_page(This);
475 }
476
477 /* TODO: do the binding asynchronously */
478 hres = IXMLDOMDocument3_load(xsl, var, &succ);
480 if(FAILED(hres) || !succ) {
481 IXMLDOMDocument3_Release(xsl);
482 IXMLDOMDocument3_Release(xml);
483 return display_error_page(This);
484 }
485
486 hres = IXMLDOMDocument3_transformNode(xml, (IXMLDOMNode*)xsl, &bstr);
487 IXMLDOMDocument3_Release(xsl);
488 IXMLDOMDocument3_Release(xml);
489 if(FAILED(hres))
490 return display_error_page(This);
491
492 hres = IStream_Seek(This->stream, off, STREAM_SEEK_SET, NULL);
493 if(FAILED(hres)) {
494 SysFreeString(bstr);
495 return display_error_page(This);
496 }
497
498 hres = IStream_Write(This->stream, (BYTE*)bstr,
499 SysStringLen(bstr)*sizeof(WCHAR), NULL);
500 SysFreeString(bstr);
501 if(FAILED(hres))
502 return display_error_page(This);
503
504 return report_data(This);
505}
#define ARRAY_SIZE(A)
Definition: main.h:20
#define E_FAIL
Definition: ddrawi.h:102
#define NULL
Definition: types.h:112
#define wcschr
Definition: compat.h:17
OLECHAR * BSTR
Definition: compat.h:2293
short VARIANT_BOOL
Definition: compat.h:2290
@ VT_BSTR
Definition: compat.h:2303
@ VT_UNKNOWN
Definition: compat.h:2308
@ VT_EMPTY
Definition: compat.h:2295
_ACRTIMP wchar_t *__cdecl wcsstr(const wchar_t *, const wchar_t *)
Definition: wcs.c:2993
HRESULT dom_document_create(MSXML_VERSION version, void **ppObj)
Definition: domdoc.c:3788
static HRESULT display_error_page(BindStatusCallback *This)
Definition: xmlview.c:364
GLfloat GLfloat p
Definition: glext.h:8902
static const WCHAR selectW[]
Definition: htmlelem.c:38
VOID WINAPI CoTaskMemFree(LPVOID ptr)
Definition: ifs.c:442
#define S_OK
Definition: intsafe.h:52
#define SUCCEEDED(hr)
Definition: intsafe.h:50
#define FAILED(hr)
Definition: intsafe.h:51
const char * var
Definition: shader.c:5666
HRESULT hres
Definition: protocol.c:465
static LPOLESTR
Definition: stg_prop.c:27
@ MSXML_DEFAULT
Definition: msxml_dispex.h:28
HRESULT WINAPI CreateBindCtx(DWORD reserved, LPBC *ppbc)
Definition: bindctx.c:556
BSTR WINAPI SysAllocString(LPCOLESTR str)
Definition: oleaut.c:238
UINT WINAPI SysStringLen(BSTR str)
Definition: oleaut.c:196
void WINAPI DECLSPEC_HOTPATCH SysFreeString(BSTR str)
Definition: oleaut.c:271
#define V_UNKNOWN(A)
Definition: oleauto.h:281
#define V_VT(A)
Definition: oleauto.h:211
#define V_BSTR(A)
Definition: oleauto.h:226
HRESULT WINAPI CreateURLMonikerEx(IMoniker *pmkContext, LPCWSTR szURL, IMoniker **ppmk, DWORD dwFlags)
Definition: umon.c:616
LONGLONG QuadPart
Definition: typedefs.h:114
HRESULT WINAPI DECLSPEC_HOTPATCH VariantClear(VARIANTARG *pVarg)
Definition: variant.c:648
__wchar_t WCHAR
Definition: xmlstorage.h:180
unsigned char BYTE
Definition: xxhash.c:193

Referenced by XMLView_BindStatusCallback_OnDataAvailable().

◆ impl_from_IBinding()

static Binding * impl_from_IBinding ( IBinding iface)
inlinestatic

◆ impl_from_IBindStatusCallback()

◆ impl_from_IMoniker()

◆ impl_from_IOleCommandTarget()

static XMLView * impl_from_IOleCommandTarget ( IOleCommandTarget iface)
inlinestatic

Definition at line 1150 of file xmlview.c.

1151{
1152 return CONTAINING_RECORD(iface, XMLView, IOleCommandTarget_iface);
1153}

Referenced by XMLView_OleCommandTarget_AddRef(), XMLView_OleCommandTarget_QueryInterface(), and XMLView_OleCommandTarget_Release().

◆ impl_from_IOleObject()

◆ impl_from_IPersistHistory()

◆ impl_from_IPersistMoniker()

◆ report_data()

static HRESULT report_data ( BindStatusCallback This)
inlinestatic

Definition at line 334 of file xmlview.c.

335{
336 FORMATETC formatetc = {0, NULL, 1, -1, TYMED_ISTREAM};
337 STGMEDIUM stgmedium;
338 LARGE_INTEGER off;
341
342 off.QuadPart = 0;
343 hres = IStream_Seek(This->stream, off, STREAM_SEEK_CUR, &size);
344 if(FAILED(hres))
345 return hres;
346
347 hres = IStream_Seek(This->stream, off, STREAM_SEEK_SET, NULL);
348 if(FAILED(hres))
349 return hres;
350
351 stgmedium.tymed = TYMED_ISTREAM;
352 stgmedium.pstm = This->stream;
353 stgmedium.pUnkForRelease = NULL;
354
355 hres = IBindStatusCallback_OnDataAvailable(This->bsc,
356 BSCF_FIRSTDATANOTIFICATION|BSCF_LASTDATANOTIFICATION,
357 size.u.LowPart, &formatetc, &stgmedium);
358
359 IStream_Release(This->stream);
360 This->stream = NULL;
361 return hres;
362}
GLsizeiptr size
Definition: glext.h:5919

Referenced by display_error_page(), and handle_xml_load().

◆ WINE_DEFAULT_DEBUG_CHANNEL()

WINE_DEFAULT_DEBUG_CHANNEL ( msxml  )

◆ XMLView_Binding_Abort()

static HRESULT WINAPI XMLView_Binding_Abort ( IBinding iface)
static

Definition at line 125 of file xmlview.c.

126{
128 TRACE("(%p)\n", This);
129
130 return IBinding_Abort(This->binding);
131}
static Binding * impl_from_IBinding(IBinding *iface)
Definition: xmlview.c:79
#define TRACE(s)
Definition: solgame.cpp:4

◆ XMLView_Binding_AddRef()

static ULONG WINAPI XMLView_Binding_AddRef ( IBinding iface)
static

Definition at line 101 of file xmlview.c.

102{
105
106 TRACE("%p, refcount %lu.\n", iface, ref);
107
108 return ref;
109}
#define InterlockedIncrement
Definition: armddk.h:53
Definition: send.c:48
uint32_t ULONG
Definition: typedefs.h:59

◆ XMLView_Binding_Create()

static HRESULT XMLView_Binding_Create ( IBinding binding,
IBinding **  ret 
)
inlinestatic

Definition at line 187 of file xmlview.c.

188{
189 Binding *bind;
190
191 bind = calloc(1, sizeof(Binding));
192 if(!bind)
193 return E_OUTOFMEMORY;
194
195 bind->IBinding_iface.lpVtbl = &XMLView_BindingVtbl;
196 bind->ref = 1;
197
198 bind->binding = binding;
199 IBinding_AddRef(binding);
200
201 *ret = &bind->IBinding_iface;
202 return S_OK;
203}
#define E_OUTOFMEMORY
Definition: ddrawi.h:100
static IBindingVtbl XMLView_BindingVtbl
Definition: xmlview.c:175
return ret
Definition: mutex.c:146
static RPC_BINDING_HANDLE binding
Definition: server.c:166
#define calloc
Definition: rosglue.h:14
INT WSAAPI bind(IN SOCKET s, IN CONST struct sockaddr *name, IN INT namelen)
Definition: socklife.c:36

Referenced by XMLView_BindStatusCallback_OnStartBinding().

◆ XMLView_Binding_GetBindResult()

static HRESULT WINAPI XMLView_Binding_GetBindResult ( IBinding iface,
CLSID pclsidProtocol,
DWORD pdwResult,
LPOLESTR pszResult,
DWORD pdwReserved 
)
static

Definition at line 165 of file xmlview.c.

168{
170 FIXME("(%p)->(%s %p %p %p)\n", This, debugstr_guid(pclsidProtocol),
171 pdwResult, pszResult, pdwReserved);
172 return E_NOTIMPL;
173}
#define E_NOTIMPL
Definition: ddrawi.h:99
#define debugstr_guid
Definition: kernel32.h:35
_In_ UINT _In_ DWORD _Out_ DWORD * pdwResult
Definition: ntgdi.h:250

◆ XMLView_Binding_GetPriority()

static HRESULT WINAPI XMLView_Binding_GetPriority ( IBinding iface,
LONG pnPriority 
)
static

Definition at line 156 of file xmlview.c.

158{
160 TRACE("(%p)->(%p)\n", This, pnPriority);
161
162 return IBinding_GetPriority(This->binding, pnPriority);
163}

◆ XMLView_Binding_QueryInterface()

static HRESULT WINAPI XMLView_Binding_QueryInterface ( IBinding iface,
REFIID  riid,
void **  ppvObject 
)
static

Definition at line 84 of file xmlview.c.

86{
88
89 TRACE("(%p)->(%s %p)\n", This, debugstr_guid(riid), ppvObject);
90
91 if(IsEqualGUID(riid, &IID_IUnknown) || IsEqualGUID(riid, &IID_IBinding)) {
92 *ppvObject = iface;
93 IBinding_AddRef(iface);
94 return S_OK;
95 }
96
97 *ppvObject = NULL;
98 return E_NOINTERFACE;
99}
const GUID IID_IUnknown
REFIID riid
Definition: atlbase.h:39
#define IsEqualGUID(rguid1, rguid2)
Definition: guiddef.h:147
#define E_NOINTERFACE
Definition: winerror.h:3479

◆ XMLView_Binding_Release()

static ULONG WINAPI XMLView_Binding_Release ( IBinding iface)
static

Definition at line 111 of file xmlview.c.

112{
115
116 TRACE("%p, refcount %lu.\n", iface, ref);
117
118 if(!ref) {
119 IBinding_Release(This->binding);
120 free(This);
121 }
122 return ref;
123}
#define InterlockedDecrement
Definition: armddk.h:52
#define free
Definition: debug_ros.c:5

◆ XMLView_Binding_Resume()

static HRESULT WINAPI XMLView_Binding_Resume ( IBinding iface)
static

Definition at line 140 of file xmlview.c.

141{
143 FIXME("(%p)\n", This);
144 return E_NOTIMPL;
145}

◆ XMLView_Binding_SetPriority()

static HRESULT WINAPI XMLView_Binding_SetPriority ( IBinding iface,
LONG  nPriority 
)
static

Definition at line 147 of file xmlview.c.

149{
151 TRACE("%p, %ld.\n", iface, nPriority);
152
153 return IBinding_SetPriority(This->binding, nPriority);
154}

◆ XMLView_Binding_Suspend()

static HRESULT WINAPI XMLView_Binding_Suspend ( IBinding iface)
static

Definition at line 133 of file xmlview.c.

134{
136 FIXME("(%p)\n", This);
137 return E_NOTIMPL;
138}

◆ XMLView_BindStatusCallback_AddRef()

static ULONG WINAPI XMLView_BindStatusCallback_AddRef ( IBindStatusCallback iface)
static

Definition at line 229 of file xmlview.c.

231{
234
235 TRACE("%p, refcount %lu.\n", iface, ref);
236
237 return ref;
238}
static BindStatusCallback * impl_from_IBindStatusCallback(IBindStatusCallback *iface)
Definition: xmlview.c:205

◆ XMLView_BindStatusCallback_Create()

static HRESULT XMLView_BindStatusCallback_Create ( IBindStatusCallback bsc_html,
IMoniker mon,
IStream stream,
IBindStatusCallback **  ret 
)
inlinestatic

Definition at line 556 of file xmlview.c.

558{
560
561 bsc = calloc(1, sizeof(BindStatusCallback));
562 if(!bsc)
563 return E_OUTOFMEMORY;
564
566 bsc->ref = 1;
567
568 bsc->bsc = bsc_html;
569 IBindStatusCallback_AddRef(bsc_html);
570 bsc->stream = stream;
571 IStream_AddRef(bsc->stream);
572 bsc->mon = mon;
573 IMoniker_AddRef(mon);
574
576 return S_OK;
577}
static IBindStatusCallbackVtbl XMLView_BindStatusCallbackVtbl
Definition: xmlview.c:542
Definition: xmldoc.c:231
IBindStatusCallback IBindStatusCallback_iface
Definition: xmldoc.c:232
Definition: parse.h:23

Referenced by XMLView_PersistMoniker_Load().

◆ XMLView_BindStatusCallback_GetBindInfo()

static HRESULT WINAPI XMLView_BindStatusCallback_GetBindInfo ( IBindStatusCallback iface,
DWORD grfBINDF,
BINDINFO *  pbindinfo 
)
static

Definition at line 326 of file xmlview.c.

328{
330 TRACE("(%p)->(%p %p)\n", This, grfBINDF, pbindinfo);
331 return IBindStatusCallback_GetBindInfo(This->bsc, grfBINDF, pbindinfo);
332}

◆ XMLView_BindStatusCallback_GetPriority()

static HRESULT WINAPI XMLView_BindStatusCallback_GetPriority ( IBindStatusCallback iface,
LONG pnPriority 
)
static

Definition at line 283 of file xmlview.c.

285{
287 FIXME("(%p)->(%p)\n", This, pnPriority);
288 return E_NOTIMPL;
289}

◆ XMLView_BindStatusCallback_OnDataAvailable()

static HRESULT WINAPI XMLView_BindStatusCallback_OnDataAvailable ( IBindStatusCallback iface,
DWORD  grfBSCF,
DWORD  dwSize,
FORMATETC *  pformatetc,
STGMEDIUM *  pstgmed 
)
static

Definition at line 507 of file xmlview.c.

510{
512 char buf[1024];
513 DWORD size;
515
516 TRACE("%p, %lx, %ld, %p, %p.\n", iface, grfBSCF, dwSize, pformatetc, pstgmed);
517
518 if(!This->stream)
519 return E_FAIL;
520
521 do {
522 hres = IStream_Read(pstgmed->pstm, buf, sizeof(buf), &size);
523 IStream_Write(This->stream, buf, size, &size);
524 } while(hres==S_OK && size);
525
526 if(FAILED(hres) && hres!=E_PENDING)
527 return hres;
528 if(hres != S_FALSE)
529 return S_OK;
530
531 return handle_xml_load(This);
532}
#define E_PENDING
Definition: dinput.h:172
static HRESULT handle_xml_load(BindStatusCallback *This)
Definition: xmlview.c:370
unsigned long DWORD
Definition: ntddk_ex.h:95
GLenum GLuint GLenum GLsizei const GLchar * buf
Definition: glext.h:7751
PSDBQUERYRESULT_VISTA PVOID DWORD * dwSize
Definition: env.c:56
#define S_FALSE
Definition: winerror.h:3451

◆ XMLView_BindStatusCallback_OnLowResource()

static HRESULT WINAPI XMLView_BindStatusCallback_OnLowResource ( IBindStatusCallback iface,
DWORD  reserved 
)
static

Definition at line 291 of file xmlview.c.

293{
294 FIXME("%p, %lx.\n", iface, reserved);
295 return E_NOTIMPL;
296}
r reserved
Definition: btrfs.c:3006

◆ XMLView_BindStatusCallback_OnObjectAvailable()

static HRESULT WINAPI XMLView_BindStatusCallback_OnObjectAvailable ( IBindStatusCallback iface,
REFIID  riid,
IUnknown punk 
)
static

Definition at line 534 of file xmlview.c.

536{
538 FIXME("(%p)->(%s %p)\n", This, debugstr_guid(riid), punk);
539 return E_NOTIMPL;
540}
_In_opt_ IUnknown * punk
Definition: shlwapi.h:158

◆ XMLView_BindStatusCallback_OnProgress()

static HRESULT WINAPI XMLView_BindStatusCallback_OnProgress ( IBindStatusCallback iface,
ULONG  ulProgress,
ULONG  ulProgressMax,
ULONG  ulStatusCode,
LPCWSTR  szStatusText 
)
static

Definition at line 298 of file xmlview.c.

301{
303 TRACE("%p, %lu, %lu, %lu, %s.\n", iface, ulProgress, ulProgressMax,
304 ulStatusCode, debugstr_w(szStatusText));
305
306 switch(ulStatusCode) {
307 case BINDSTATUS_BEGINDOWNLOADDATA:
308 return IBindStatusCallback_OnProgress(This->bsc, ulProgress,
309 ulProgressMax, ulStatusCode, szStatusText);
310 case BINDSTATUS_MIMETYPEAVAILABLE:
311 return S_OK;
312 default:
313 FIXME("ulStatusCode: %lu\n", ulStatusCode);
314 return E_NOTIMPL;
315 }
316}
#define debugstr_w
Definition: kernel32.h:32

◆ XMLView_BindStatusCallback_OnStartBinding()

static HRESULT WINAPI XMLView_BindStatusCallback_OnStartBinding ( IBindStatusCallback iface,
DWORD  dwReserved,
IBinding pib 
)
static

Definition at line 258 of file xmlview.c.

260{
264
265 TRACE("%p, %lx, %p.\n", iface, dwReserved, pib);
266
268 if(FAILED(hres)) {
269 IBinding_Abort(pib);
270 return hres;
271 }
272
273 hres = IBindStatusCallback_OnStartBinding(This->bsc, dwReserved, binding);
274 if(FAILED(hres)) {
275 IBinding_Abort(binding);
276 return hres;
277 }
278
279 IBinding_Release(binding);
280 return hres;
281}
static HRESULT XMLView_Binding_Create(IBinding *binding, IBinding **ret)
Definition: xmlview.c:187
_In_ HANDLE _In_ DWORD _In_ DWORD _Inout_opt_ LPOVERLAPPED _In_opt_ LPTRANSMIT_FILE_BUFFERS _In_ DWORD dwReserved
Definition: mswsock.h:95

◆ XMLView_BindStatusCallback_OnStopBinding()

static HRESULT WINAPI XMLView_BindStatusCallback_OnStopBinding ( IBindStatusCallback iface,
HRESULT  hresult,
LPCWSTR  szError 
)
static

Definition at line 318 of file xmlview.c.

320{
322 TRACE("%p, %#lx, %s.\n", iface, hresult, debugstr_w(szError));
323 return IBindStatusCallback_OnStopBinding(This->bsc, hresult, szError);
324}

◆ XMLView_BindStatusCallback_QueryInterface()

static HRESULT WINAPI XMLView_BindStatusCallback_QueryInterface ( IBindStatusCallback iface,
REFIID  riid,
void **  ppvObject 
)
static

Definition at line 212 of file xmlview.c.

214{
216
217 TRACE("(%p)->(%s %p)\n", This, debugstr_guid(riid), ppvObject);
218
219 if(IsEqualGUID(riid, &IID_IUnknown) || IsEqualGUID(riid, &IID_IBindStatusCallback)) {
220 *ppvObject = iface;
221 IBindStatusCallback_AddRef(iface);
222 return S_OK;
223 }
224
225 *ppvObject = NULL;
226 return E_NOINTERFACE;
227}

◆ XMLView_BindStatusCallback_Release()

static ULONG WINAPI XMLView_BindStatusCallback_Release ( IBindStatusCallback iface)
static

Definition at line 240 of file xmlview.c.

242{
245
246 TRACE("%p, refcount %lu.\n", iface, ref);
247
248 if(!ref) {
249 if(This->stream)
250 IStream_Release(This->stream);
251 IBindStatusCallback_Release(This->bsc);
252 IMoniker_Release(This->mon);
253 free(This);
254 }
255 return ref;
256}

◆ XMLView_create()

HRESULT XMLView_create ( void **  ppObj)

Definition at line 1404 of file xmlview.c.

1405{
1406 XMLView *This;
1407 HRESULT hres;
1408
1409 TRACE("(%p)\n", ppObj);
1410
1411 This = calloc(1, sizeof(*This));
1412 if(!This)
1413 return E_OUTOFMEMORY;
1414
1415 This->IPersistMoniker_iface.lpVtbl = &XMLView_PersistMonikerVtbl;
1416 This->IPersistHistory_iface.lpVtbl = &XMLView_PersistHistoryVtbl;
1417 This->IOleCommandTarget_iface.lpVtbl = &XMLView_OleCommandTargetVtbl;
1418 This->IOleObject_iface.lpVtbl = &XMLView_OleObjectVtbl;
1419 This->ref = 1;
1420
1421 hres = CoCreateInstance(&CLSID_HTMLDocument, (IUnknown*)&This->IPersistMoniker_iface,
1422 CLSCTX_INPROC_SERVER, &IID_IUnknown, (void**)&This->html_doc);
1423 if(FAILED(hres)) {
1424 free(This);
1425 return hres;
1426 }
1427
1428 *ppObj = &This->IPersistMoniker_iface;
1429 return S_OK;
1430}
static IPersistHistoryVtbl XMLView_PersistHistoryVtbl
Definition: xmlview.c:1139
static IPersistMonikerVtbl XMLView_PersistMonikerVtbl
Definition: xmlview.c:1064
static IOleCommandTargetVtbl XMLView_OleCommandTargetVtbl
Definition: xmlview.c:1190
static IOleObjectVtbl XMLView_OleObjectVtbl
Definition: xmlview.c:1377
HRESULT WINAPI DECLSPEC_HOTPATCH CoCreateInstance(REFCLSID rclsid, LPUNKNOWN pUnkOuter, DWORD dwClsContext, REFIID iid, LPVOID *ppv)
Definition: compobj.c:3325

◆ XMLView_Moniker_AddRef()

static ULONG WINAPI XMLView_Moniker_AddRef ( IMoniker iface)
static

Definition at line 602 of file xmlview.c.

603{
606
607 TRACE("%p, refcount %lu.\n", iface, ref);
608
609 return ref;
610}
static Moniker * impl_from_IMoniker(IMoniker *iface)
Definition: xmlview.c:579
long LONG
Definition: pedump.c:60

◆ XMLView_Moniker_BindToObject()

static HRESULT WINAPI XMLView_Moniker_BindToObject ( IMoniker iface,
IBindCtx pbc,
IMoniker pmkToLeft,
REFIID  riidResult,
void **  ppvResult 
)
static

Definition at line 663 of file xmlview.c.

665{
667 FIXME("(%p)->(%p %p %s %p)\n", This, pbc, pmkToLeft,
668 debugstr_guid(riidResult), ppvResult);
669 return E_NOTIMPL;
670}

◆ XMLView_Moniker_BindToStorage()

static HRESULT WINAPI XMLView_Moniker_BindToStorage ( IMoniker iface,
IBindCtx pbc,
IMoniker pmkToLeft,
REFIID  riid,
void **  ppvObj 
)
static

Definition at line 672 of file xmlview.c.

674{
676
677 TRACE("(%p)->(%p %p %s %p)\n", This, pbc, pmkToLeft, debugstr_guid(riid), ppvObj);
678
679 if(IsEqualGUID(riid, &IID_IStream)) {
680 if(!This->stream)
681 return E_FAIL;
682
683 *ppvObj = This->stream;
684 This->stream = NULL;
685 return S_ASYNCHRONOUS;
686 }
687
688 return E_NOTIMPL;
689}
#define S_ASYNCHRONOUS
Definition: urlmon.idl:2120

◆ XMLView_Moniker_CommonPrefixWith()

static HRESULT WINAPI XMLView_Moniker_CommonPrefixWith ( IMoniker iface,
IMoniker pmkOther,
IMoniker **  ppmkPrefix 
)
static

Definition at line 752 of file xmlview.c.

754{
756 FIXME("(%p)->(%p %p)\n", This, pmkOther, ppmkPrefix);
757 return E_NOTIMPL;
758}

◆ XMLView_Moniker_ComposeWith()

static HRESULT WINAPI XMLView_Moniker_ComposeWith ( IMoniker iface,
IMoniker pmkRight,
BOOL  fOnlyIfNotGeneric,
IMoniker **  ppmkComposite 
)
static

Definition at line 698 of file xmlview.c.

700{
702 FIXME("(%p)->(%p %x %p)\n", This, pmkRight, fOnlyIfNotGeneric, ppmkComposite);
703 return E_NOTIMPL;
704}

◆ XMLView_Moniker_Create()

static HRESULT XMLView_Moniker_Create ( IMoniker mon,
IStream stream,
IMoniker **  ret 
)
inlinestatic

Definition at line 820 of file xmlview.c.

822{
823 Moniker *wrap;
824
825 wrap = calloc(1, sizeof(Moniker));
826 if(!wrap)
827 return E_OUTOFMEMORY;
828
829 wrap->IMoniker_iface.lpVtbl = &XMLView_MonikerVtbl;
830 wrap->ref = 1;
831
832 wrap->mon = mon;
833 IMoniker_AddRef(mon);
834 wrap->stream = stream;
835 IStream_AddRef(stream);
836
837 *ret = &wrap->IMoniker_iface;
838 return S_OK;
839}
static IMonikerVtbl XMLView_MonikerVtbl
Definition: xmlview.c:794
#define wrap(journal, var)
Definition: recovery.c:207

Referenced by XMLView_PersistMoniker_Load().

◆ XMLView_Moniker_Enum()

static HRESULT WINAPI XMLView_Moniker_Enum ( IMoniker iface,
BOOL  fForward,
IEnumMoniker **  ppenumMoniker 
)
static

Definition at line 706 of file xmlview.c.

708{
710 FIXME("(%p)->(%x %p)\n", This, fForward, ppenumMoniker);
711 return E_NOTIMPL;
712}

◆ XMLView_Moniker_GetClassID()

static HRESULT WINAPI XMLView_Moniker_GetClassID ( IMoniker iface,
CLSID pClassID 
)
static

Definition at line 626 of file xmlview.c.

627{
629 FIXME("(%p)->(%p)\n", This, pClassID);
630 return E_NOTIMPL;
631}

◆ XMLView_Moniker_GetDisplayName()

static HRESULT WINAPI XMLView_Moniker_GetDisplayName ( IMoniker iface,
IBindCtx pbc,
IMoniker pmkToLeft,
LPOLESTR ppszDisplayName 
)
static

Definition at line 768 of file xmlview.c.

770{
772 TRACE("(%p)->(%p %p %p)\n", This, pbc, pmkToLeft, ppszDisplayName);
773 return IMoniker_GetDisplayName(This->mon, pbc, pmkToLeft, ppszDisplayName);
774}

◆ XMLView_Moniker_GetSizeMax()

static HRESULT WINAPI XMLView_Moniker_GetSizeMax ( IMoniker iface,
ULARGE_INTEGER pcbSize 
)
static

Definition at line 655 of file xmlview.c.

657{
659 FIXME("(%p)->(%p)\n", This, pcbSize);
660 return E_NOTIMPL;
661}

◆ XMLView_Moniker_GetTimeOfLastChange()

static HRESULT WINAPI XMLView_Moniker_GetTimeOfLastChange ( IMoniker iface,
IBindCtx pbc,
IMoniker pmkToLeft,
FILETIME pFileTime 
)
static

Definition at line 737 of file xmlview.c.

739{
741 FIXME("(%p)->(%p %p %p)\n", This, pbc, pmkToLeft, pFileTime);
742 return E_NOTIMPL;
743}

◆ XMLView_Moniker_Hash()

static HRESULT WINAPI XMLView_Moniker_Hash ( IMoniker iface,
DWORD pdwHash 
)
static

Definition at line 722 of file xmlview.c.

723{
725 FIXME("(%p)->(%p)\n", This, pdwHash);
726 return E_NOTIMPL;
727}

◆ XMLView_Moniker_Inverse()

static HRESULT WINAPI XMLView_Moniker_Inverse ( IMoniker iface,
IMoniker **  ppmk 
)
static

Definition at line 745 of file xmlview.c.

746{
748 FIXME("(%p)->(%p)\n", This, ppmk);
749 return E_NOTIMPL;
750}

◆ XMLView_Moniker_IsDirty()

static HRESULT WINAPI XMLView_Moniker_IsDirty ( IMoniker iface)
static

Definition at line 633 of file xmlview.c.

634{
636 FIXME("(%p)\n", This);
637 return E_NOTIMPL;
638}

◆ XMLView_Moniker_IsEqual()

static HRESULT WINAPI XMLView_Moniker_IsEqual ( IMoniker iface,
IMoniker pmkOtherMoniker 
)
static

Definition at line 714 of file xmlview.c.

716{
718 FIXME("(%p)->(%p)\n", This, pmkOtherMoniker);
719 return E_NOTIMPL;
720}

◆ XMLView_Moniker_IsRunning()

static HRESULT WINAPI XMLView_Moniker_IsRunning ( IMoniker iface,
IBindCtx pbc,
IMoniker pmkToLeft,
IMoniker pmkNewlyRunning 
)
static

Definition at line 729 of file xmlview.c.

731{
733 FIXME("(%p)->(%p %p %p)\n", This, pbc, pmkToLeft, pmkNewlyRunning);
734 return E_NOTIMPL;
735}

◆ XMLView_Moniker_IsSystemMoniker()

static HRESULT WINAPI XMLView_Moniker_IsSystemMoniker ( IMoniker iface,
DWORD pdwMksys 
)
static

Definition at line 786 of file xmlview.c.

788{
790 FIXME("(%p)->(%p)\n", This, pdwMksys);
791 return E_NOTIMPL;
792}

◆ XMLView_Moniker_Load()

static HRESULT WINAPI XMLView_Moniker_Load ( IMoniker iface,
IStream pStm 
)
static

Definition at line 640 of file xmlview.c.

641{
643 FIXME("(%p)->(%p)\n", This, pStm);
644 return E_NOTIMPL;
645}

◆ XMLView_Moniker_ParseDisplayName()

static HRESULT WINAPI XMLView_Moniker_ParseDisplayName ( IMoniker iface,
IBindCtx pbc,
IMoniker pmkToLeft,
LPOLESTR  pszDisplayName,
ULONG pchEaten,
IMoniker **  ppmkOut 
)
static

Definition at line 776 of file xmlview.c.

779{
781 FIXME("(%p)->(%p %p %s %p %p)\n", This, pbc, pmkToLeft,
782 debugstr_w(pszDisplayName), pchEaten, ppmkOut);
783 return E_NOTIMPL;
784}

◆ XMLView_Moniker_QueryInterface()

static HRESULT WINAPI XMLView_Moniker_QueryInterface ( IMoniker iface,
REFIID  riid,
void **  ppvObject 
)
static

Definition at line 584 of file xmlview.c.

586{
588
589 TRACE("(%p)->(%s %p)\n", This, debugstr_guid(riid), ppvObject);
590
592 || IsEqualGUID(riid, &IID_IPersistStream) || IsEqualGUID(riid, &IID_IMoniker)) {
593 *ppvObject = iface;
594 IMoniker_AddRef(iface);
595 return S_OK;
596 }
597
598 *ppvObject = NULL;
599 return E_NOINTERFACE;
600}
const GUID IID_IPersist
Definition: proxy.cpp:14
const GUID IID_IPersistStream
Definition: proxy.cpp:13

◆ XMLView_Moniker_Reduce()

static HRESULT WINAPI XMLView_Moniker_Reduce ( IMoniker iface,
IBindCtx pbc,
DWORD  dwReduceHowFar,
IMoniker **  ppmkToLeft,
IMoniker **  ppmkReduced 
)
static

Definition at line 691 of file xmlview.c.

693{
694 FIXME("%p, %p, %ld, %p, %p.\n", iface, pbc, dwReduceHowFar, ppmkToLeft, ppmkReduced);
695 return E_NOTIMPL;
696}

◆ XMLView_Moniker_RelativePathTo()

static HRESULT WINAPI XMLView_Moniker_RelativePathTo ( IMoniker iface,
IMoniker pmkOther,
IMoniker **  ppmkRelPath 
)
static

Definition at line 760 of file xmlview.c.

762{
764 FIXME("(%p)->(%p %p)\n", This, pmkOther, ppmkRelPath);
765 return E_NOTIMPL;
766}

◆ XMLView_Moniker_Release()

static ULONG WINAPI XMLView_Moniker_Release ( IMoniker iface)
static

Definition at line 612 of file xmlview.c.

613{
616
617 TRACE("%p, refcount %lu.\n", iface, ref);
618
619 if(!ref) {
620 IMoniker_Release(This->mon);
621 free(This);
622 }
623 return ref;
624}

◆ XMLView_Moniker_Save()

static HRESULT WINAPI XMLView_Moniker_Save ( IMoniker iface,
IStream pStm,
BOOL  fClearDirty 
)
static

Definition at line 647 of file xmlview.c.

649{
651 FIXME("(%p)->(%p %x)\n", This, pStm, fClearDirty);
652 return E_NOTIMPL;
653}

◆ XMLView_OleCommandTarget_AddRef()

static ULONG WINAPI XMLView_OleCommandTarget_AddRef ( IOleCommandTarget iface)
static

Definition at line 1162 of file xmlview.c.

1163{
1165 return IPersistMoniker_AddRef(&This->IPersistMoniker_iface);
1166}
static XMLView * impl_from_IOleCommandTarget(IOleCommandTarget *iface)
Definition: xmlview.c:1150

◆ XMLView_OleCommandTarget_Exec()

static HRESULT WINAPI XMLView_OleCommandTarget_Exec ( IOleCommandTarget iface,
const GUID pguidCmdGroup,
DWORD  nCmdID,
DWORD  nCmdexecopt,
VARIANT pvaIn,
VARIANT pvaOut 
)
static

Definition at line 1181 of file xmlview.c.

1184{
1185 FIXME("%p, %p, %ld, %lx, %p, %p.\n", iface, pguidCmdGroup,
1186 nCmdID, nCmdexecopt, pvaIn, pvaOut);
1187 return E_NOTIMPL;
1188}

◆ XMLView_OleCommandTarget_QueryInterface()

static HRESULT WINAPI XMLView_OleCommandTarget_QueryInterface ( IOleCommandTarget iface,
REFIID  riid,
void **  ppvObject 
)
static

Definition at line 1155 of file xmlview.c.

1157{
1159 return IPersistMoniker_QueryInterface(&This->IPersistMoniker_iface, riid, ppvObject);
1160}

◆ XMLView_OleCommandTarget_QueryStatus()

static HRESULT WINAPI XMLView_OleCommandTarget_QueryStatus ( IOleCommandTarget iface,
const GUID pguidCmdGroup,
ULONG  cCmds,
OLECMD  prgCmds[],
OLECMDTEXT *  pCmdText 
)
static

Definition at line 1174 of file xmlview.c.

1176{
1177 FIXME("%p, %p, %lu, %p, %p.\n", iface, pguidCmdGroup, cCmds, prgCmds, pCmdText);
1178 return E_NOTIMPL;
1179}

◆ XMLView_OleCommandTarget_Release()

static ULONG WINAPI XMLView_OleCommandTarget_Release ( IOleCommandTarget iface)
static

Definition at line 1168 of file xmlview.c.

1169{
1171 return IPersistMoniker_Release(&This->IPersistMoniker_iface);
1172}

◆ XMLView_OleObject_AddRef()

static ULONG WINAPI XMLView_OleObject_AddRef ( IOleObject iface)
static

Definition at line 1210 of file xmlview.c.

1211{
1213 return IPersistMoniker_AddRef(&This->IPersistMoniker_iface);
1214}
static XMLView * impl_from_IOleObject(IOleObject *iface)
Definition: xmlview.c:1198

◆ XMLView_OleObject_Advise()

static HRESULT WINAPI XMLView_OleObject_Advise ( IOleObject iface,
IAdviseSink pAdvSink,
DWORD pdwConnection 
)
static

Definition at line 1339 of file xmlview.c.

1341{
1343 FIXME("(%p)->(%p %p)\n", This, pAdvSink, pdwConnection);
1344 return E_NOTIMPL;
1345}

◆ XMLView_OleObject_Close()

static HRESULT WINAPI XMLView_OleObject_Close ( IOleObject iface,
DWORD  dwSaveOption 
)
static

Definition at line 1246 of file xmlview.c.

1247{
1248 FIXME("%p, %lx.\n", iface, dwSaveOption);
1249 return E_NOTIMPL;
1250}

◆ XMLView_OleObject_DoVerb()

static HRESULT WINAPI XMLView_OleObject_DoVerb ( IOleObject iface,
LONG  iVerb,
LPMSG  lpmsg,
IOleClientSite pActiveSite,
LONG  lindex,
HWND  hwndParent,
LPCRECT  lprcPosRect 
)
static

Definition at line 1280 of file xmlview.c.

1283{
1284 FIXME("%p, %ld, %p, %p, %ld, %p, %p.\n", iface, iVerb, lpmsg,
1285 pActiveSite, lindex, hwndParent, lprcPosRect);
1286 return E_NOTIMPL;
1287}
static HWND hwndParent
Definition: cryptui.c:300

◆ XMLView_OleObject_EnumAdvise()

static HRESULT WINAPI XMLView_OleObject_EnumAdvise ( IOleObject iface,
IEnumSTATDATA **  ppenumAdvise 
)
static

Definition at line 1354 of file xmlview.c.

1356{
1358 FIXME("(%p)->(%p)\n", This, ppenumAdvise);
1359 return E_NOTIMPL;
1360}

◆ XMLView_OleObject_EnumVerbs()

static HRESULT WINAPI XMLView_OleObject_EnumVerbs ( IOleObject iface,
IEnumOLEVERB **  ppEnumOleVerb 
)
static

Definition at line 1289 of file xmlview.c.

1291{
1293 FIXME("(%p)->{%p)\n", This, ppEnumOleVerb);
1294 return E_NOTIMPL;
1295}

◆ XMLView_OleObject_GetClientSite()

static HRESULT WINAPI XMLView_OleObject_GetClientSite ( IOleObject iface,
IOleClientSite **  ppClientSite 
)
static

Definition at line 1230 of file xmlview.c.

1232{
1234 FIXME("(%p)->(%p)\n", This, ppClientSite);
1235 return E_NOTIMPL;
1236}

◆ XMLView_OleObject_GetClipboardData()

static HRESULT WINAPI XMLView_OleObject_GetClipboardData ( IOleObject iface,
DWORD  dwReserved,
IDataObject **  ppDataObject 
)
static

Definition at line 1273 of file xmlview.c.

1275{
1276 FIXME("%p, %lx, %p.\n", iface, dwReserved, ppDataObject);
1277 return E_NOTIMPL;
1278}

◆ XMLView_OleObject_GetExtent()

static HRESULT WINAPI XMLView_OleObject_GetExtent ( IOleObject iface,
DWORD  dwDrawAspect,
SIZEL psizel 
)
static

Definition at line 1332 of file xmlview.c.

1334{
1335 FIXME("%p, %lx, %p.\n", iface, dwDrawAspect, psizel);
1336 return E_NOTIMPL;
1337}

◆ XMLView_OleObject_GetMiscStatus()

static HRESULT WINAPI XMLView_OleObject_GetMiscStatus ( IOleObject iface,
DWORD  dwAspect,
DWORD pdwStatus 
)
static

Definition at line 1362 of file xmlview.c.

1364{
1365 FIXME("%p, %ld, %p.\n", iface, dwAspect, pdwStatus);
1366 return E_NOTIMPL;
1367}

◆ XMLView_OleObject_GetMoniker()

static HRESULT WINAPI XMLView_OleObject_GetMoniker ( IOleObject iface,
DWORD  dwAssign,
DWORD  dwWhichMoniker,
IMoniker **  ppmk 
)
static

Definition at line 1259 of file xmlview.c.

1261{
1262 FIXME("%p, %lx, %lx, %p.\n", iface, dwAssign, dwWhichMoniker, ppmk);
1263 return E_NOTIMPL;
1264}

◆ XMLView_OleObject_GetUserClassID()

static HRESULT WINAPI XMLView_OleObject_GetUserClassID ( IOleObject iface,
CLSID pClsid 
)
static

Definition at line 1311 of file xmlview.c.

1312{
1314 FIXME("(%p)->(%p)\n", This, pClsid);
1315 return E_NOTIMPL;
1316}

◆ XMLView_OleObject_GetUserType()

static HRESULT WINAPI XMLView_OleObject_GetUserType ( IOleObject iface,
DWORD  dwFormOfType,
LPOLESTR pszUserType 
)
static

Definition at line 1318 of file xmlview.c.

1320{
1321 FIXME("%p, %lx, %p.\n", iface, dwFormOfType, pszUserType);
1322 return E_NOTIMPL;
1323}

◆ XMLView_OleObject_InitFromData()

static HRESULT WINAPI XMLView_OleObject_InitFromData ( IOleObject iface,
IDataObject pDataObject,
BOOL  fCreation,
DWORD  dwReserved 
)
static

Definition at line 1266 of file xmlview.c.

1268{
1269 FIXME("%p, %p, %x, %lx.\n", iface, pDataObject, fCreation, dwReserved);
1270 return E_NOTIMPL;
1271}

◆ XMLView_OleObject_IsUpToDate()

static HRESULT WINAPI XMLView_OleObject_IsUpToDate ( IOleObject iface)
static

Definition at line 1304 of file xmlview.c.

1305{
1307 FIXME("(%p)\n", This);
1308 return E_NOTIMPL;
1309}

◆ XMLView_OleObject_QueryInterface()

static HRESULT WINAPI XMLView_OleObject_QueryInterface ( IOleObject iface,
REFIID  riid,
void **  ppvObject 
)
static

Definition at line 1203 of file xmlview.c.

1205{
1207 return IPersistMoniker_QueryInterface(&This->IPersistMoniker_iface, riid, ppvObject);
1208}

◆ XMLView_OleObject_Release()

static ULONG WINAPI XMLView_OleObject_Release ( IOleObject iface)
static

Definition at line 1216 of file xmlview.c.

1217{
1219 return IPersistMoniker_Release(&This->IPersistMoniker_iface);
1220}

◆ XMLView_OleObject_SetClientSite()

static HRESULT WINAPI XMLView_OleObject_SetClientSite ( IOleObject iface,
IOleClientSite pClientSite 
)
static

Definition at line 1222 of file xmlview.c.

1224{
1226 FIXME("(%p)->(%p)\n", This, pClientSite);
1227 return E_NOTIMPL;
1228}

◆ XMLView_OleObject_SetColorScheme()

static HRESULT WINAPI XMLView_OleObject_SetColorScheme ( IOleObject iface,
LOGPALETTE pLogpal 
)
static

Definition at line 1369 of file xmlview.c.

1371{
1373 FIXME("(%p)->(%p)\n", This, pLogpal);
1374 return E_NOTIMPL;
1375}

◆ XMLView_OleObject_SetExtent()

static HRESULT WINAPI XMLView_OleObject_SetExtent ( IOleObject iface,
DWORD  dwDrawAspect,
SIZEL psizel 
)
static

Definition at line 1325 of file xmlview.c.

1327{
1328 FIXME("%p, %lx, %p.\n", iface, dwDrawAspect, psizel);
1329 return E_NOTIMPL;
1330}

◆ XMLView_OleObject_SetHostNames()

static HRESULT WINAPI XMLView_OleObject_SetHostNames ( IOleObject iface,
LPCOLESTR  szContainerApp,
LPCOLESTR  szContainerObj 
)
static

Definition at line 1238 of file xmlview.c.

1240{
1242 FIXME("(%p)->(%s %s)\n", This, debugstr_w(szContainerApp), debugstr_w(szContainerObj));
1243 return E_NOTIMPL;
1244}

◆ XMLView_OleObject_SetMoniker()

static HRESULT WINAPI XMLView_OleObject_SetMoniker ( IOleObject iface,
DWORD  dwWhichMoniker,
IMoniker pmk 
)
static

Definition at line 1252 of file xmlview.c.

1254{
1255 FIXME("%p, %lx, %p.\n", iface, dwWhichMoniker, pmk);
1256 return E_NOTIMPL;
1257}

◆ XMLView_OleObject_Unadvise()

static HRESULT WINAPI XMLView_OleObject_Unadvise ( IOleObject iface,
DWORD  dwConnection 
)
static

Definition at line 1347 of file xmlview.c.

1349{
1350 FIXME("%p, %ld.\n", iface, dwConnection);
1351 return E_NOTIMPL;
1352}

◆ XMLView_OleObject_Update()

static HRESULT WINAPI XMLView_OleObject_Update ( IOleObject iface)
static

Definition at line 1297 of file xmlview.c.

1298{
1300 FIXME("(%p)\n", This);
1301 return E_NOTIMPL;
1302}

◆ XMLView_PersistHistory_AddRef()

static ULONG WINAPI XMLView_PersistHistory_AddRef ( IPersistHistory iface)
static

Definition at line 1088 of file xmlview.c.

1089{
1091 return IPersistMoniker_AddRef(&This->IPersistMoniker_iface);
1092}
static XMLView * impl_from_IPersistHistory(IPersistHistory *iface)
Definition: xmlview.c:1076

◆ XMLView_PersistHistory_GetClassID()

static HRESULT WINAPI XMLView_PersistHistory_GetClassID ( IPersistHistory iface,
CLSID pClassID 
)
static

Definition at line 1100 of file xmlview.c.

1102{
1104 FIXME("(%p)->(%p)\n", This, pClassID);
1105 return E_NOTIMPL;
1106}

◆ XMLView_PersistHistory_GetPositionCookie()

static HRESULT WINAPI XMLView_PersistHistory_GetPositionCookie ( IPersistHistory iface,
DWORD pdwPositioncookie 
)
static

Definition at line 1131 of file xmlview.c.

1133{
1135 FIXME("(%p)->(%p)\n", This, pdwPositioncookie);
1136 return E_NOTIMPL;
1137}

◆ XMLView_PersistHistory_LoadHistory()

static HRESULT WINAPI XMLView_PersistHistory_LoadHistory ( IPersistHistory iface,
IStream pStream,
IBindCtx pbc 
)
static

Definition at line 1108 of file xmlview.c.

1110{
1112 FIXME("(%p)->(%p %p)\n", This, pStream, pbc);
1113 return E_NOTIMPL;
1114}

◆ XMLView_PersistHistory_QueryInterface()

static HRESULT WINAPI XMLView_PersistHistory_QueryInterface ( IPersistHistory iface,
REFIID  riid,
void **  ppvObject 
)
static

Definition at line 1081 of file xmlview.c.

1083{
1085 return IPersistMoniker_QueryInterface(&This->IPersistMoniker_iface, riid, ppvObject);
1086}

◆ XMLView_PersistHistory_Release()

static ULONG WINAPI XMLView_PersistHistory_Release ( IPersistHistory iface)
static

Definition at line 1094 of file xmlview.c.

1095{
1097 return IPersistMoniker_Release(&This->IPersistMoniker_iface);
1098}

◆ XMLView_PersistHistory_SaveHistory()

static HRESULT WINAPI XMLView_PersistHistory_SaveHistory ( IPersistHistory iface,
IStream pStream 
)
static

Definition at line 1116 of file xmlview.c.

1118{
1120 FIXME("(%p)->(%p)\n", This, pStream);
1121 return E_NOTIMPL;
1122}

◆ XMLView_PersistHistory_SetPositionCookie()

static HRESULT WINAPI XMLView_PersistHistory_SetPositionCookie ( IPersistHistory iface,
DWORD  dwPositioncookie 
)
static

Definition at line 1124 of file xmlview.c.

1126{
1127 FIXME("%p, %ld.\n", iface, dwPositioncookie);
1128 return E_NOTIMPL;
1129}

◆ XMLView_PersistMoniker_AddRef()

static ULONG WINAPI XMLView_PersistMoniker_AddRef ( IPersistMoniker iface)
static

Definition at line 869 of file xmlview.c.

870{
873
874 TRACE("%p, refcount %lu.\n", iface, ref);
875
876 return ref;
877}
static XMLView * impl_from_IPersistMoniker(IPersistMoniker *iface)
Definition: xmlview.c:841

◆ XMLView_PersistMoniker_GetClassID()

static HRESULT WINAPI XMLView_PersistMoniker_GetClassID ( IPersistMoniker iface,
CLSID pClassID 
)
static

Definition at line 895 of file xmlview.c.

897{
899 FIXME("(%p)->(%p)\n", This, pClassID);
900 return E_NOTIMPL;
901}

◆ XMLView_PersistMoniker_GetCurMoniker()

static HRESULT WINAPI XMLView_PersistMoniker_GetCurMoniker ( IPersistMoniker iface,
IMoniker **  ppimkName 
)
static

Definition at line 1056 of file xmlview.c.

1058{
1060 FIXME("(%p)->(%p)\n", This, ppimkName);
1061 return E_NOTIMPL;
1062}

◆ XMLView_PersistMoniker_IsDirty()

static HRESULT WINAPI XMLView_PersistMoniker_IsDirty ( IPersistMoniker iface)
static

Definition at line 903 of file xmlview.c.

904{
906 FIXME("(%p)\n", This);
907 return E_NOTIMPL;
908}

◆ XMLView_PersistMoniker_Load()

static HRESULT WINAPI XMLView_PersistMoniker_Load ( IPersistMoniker iface,
BOOL  fFullyAvailable,
IMoniker pimkName,
LPBC  pibc,
DWORD  grfMode 
)
static

Definition at line 910 of file xmlview.c.

912{
913 static const WCHAR XSLParametersW[] = {'X','S','L','P','a','r','a','m','e','t','e','r','s',0};
914 static const WCHAR XMLBufferStreamW[] = {'X','M','L','B','u','f','f','e','r','S','t','r','e','a','m',0};
915 static const WCHAR DWNBINDINFOW[] = {'_','_','D','W','N','B','I','N','D','I','N','F','O',0};
916 static const WCHAR HTMLLOADOPTIONSW[] = {'_','_','H','T','M','L','L','O','A','D','O','P','T','I','O','N','S',0};
917 static const WCHAR BSCBHolderW[] = { '_','B','S','C','B','_','H','o','l','d','e','r','_',0 };
918
920 IPersistMoniker *html_persist_mon;
921 IBindStatusCallback *bsc, *bsc_html;
922 IBindCtx *bindctx;
924 IMoniker *mon;
925 IUnknown *unk;
927
928 TRACE("%p, %x, %p, %p, %lx.\n", iface, fFullyAvailable, pimkName, pibc, grfMode);
929
930 hres = IBindCtx_GetObjectParam(pibc, (LPOLESTR)XSLParametersW, &unk);
931 if(SUCCEEDED(hres)) {
932 FIXME("ignoring XSLParameters\n");
933 IUnknown_Release(unk);
934 }
935 hres = IBindCtx_GetObjectParam(pibc, (LPOLESTR)XMLBufferStreamW, &unk);
936 if(SUCCEEDED(hres)) {
937 FIXME("ignoring XMLBufferStream\n");
938 IUnknown_Release(unk);
939 }
940
941 hres = CreateBindCtx(0, &bindctx);
942 if(FAILED(hres))
943 return hres;
944
945 hres = IBindCtx_GetObjectParam(pibc, (LPOLESTR)DWNBINDINFOW, &unk);
946 if(SUCCEEDED(hres)) {
947 IBindCtx_RegisterObjectParam(bindctx, (LPOLESTR)DWNBINDINFOW, unk);
948 IUnknown_Release(unk);
949 }
950 hres = IBindCtx_GetObjectParam(pibc, (LPOLESTR)HTMLLOADOPTIONSW, &unk);
951 if(SUCCEEDED(hres)) {
952 IBindCtx_RegisterObjectParam(bindctx, (LPOLESTR)HTMLLOADOPTIONSW, unk);
953 IUnknown_Release(unk);
954 }
955 hres = IBindCtx_GetObjectParam(pibc, (LPOLESTR)SZ_HTML_CLIENTSITE_OBJECTPARAM, &unk);
956 if(SUCCEEDED(hres)) {
957 IBindCtx_RegisterObjectParam(bindctx, (LPOLESTR)SZ_HTML_CLIENTSITE_OBJECTPARAM, unk);
958 IUnknown_Release(unk);
959 }
960
962 if(FAILED(hres)) {
963 IBindCtx_Release(bindctx);
964 return hres;
965 }
966
967 if(This->mon)
968 IMoniker_Release(This->mon);
969 This->mon = pimkName;
970 IMoniker_AddRef(This->mon);
971
972 hres = XMLView_Moniker_Create(This->mon, stream, &mon);
973 if(FAILED(hres)) {
974 IStream_Release(stream);
975 IBindCtx_Release(bindctx);
976 return hres;
977 }
978
979 hres = IUnknown_QueryInterface(This->html_doc,
980 &IID_IPersistMoniker, (void**)&html_persist_mon);
981 if(FAILED(hres)) {
982 IMoniker_Release(mon);
983 IStream_Release(stream);
984 IBindCtx_Release(bindctx);
985 return hres;
986 }
987
988 hres = IPersistMoniker_Load(html_persist_mon, FALSE, mon, bindctx, 0);
989 IPersistMoniker_Release(html_persist_mon);
990 IMoniker_Release(mon);
991 if(FAILED(hres)) {
992 IStream_Release(stream);
993 IBindCtx_Release(bindctx);
994 return hres;
995 }
996
997 hres = IBindCtx_GetObjectParam(bindctx, (LPOLESTR)BSCBHolderW, &unk);
998 IBindCtx_Release(bindctx);
999 if(FAILED(hres)) {
1000 IStream_Release(stream);
1001 return hres;
1002 }
1003 hres = IUnknown_QueryInterface(unk, &IID_IBindStatusCallback, (void**)&bsc_html);
1004 IUnknown_Release(unk);
1005 if(FAILED(hres)) {
1006 IStream_Release(stream);
1007 return hres;
1008 }
1009
1011 IStream_Release(stream);
1012 if(FAILED(hres)) {
1013 IBindStatusCallback_OnStopBinding(bsc_html, hres, NULL);
1014 IBindStatusCallback_Release(bsc_html);
1015 return hres;
1016 }
1017
1019 IBindStatusCallback_Release(bsc);
1020 if(FAILED(hres)) {
1021 IBindStatusCallback_OnStopBinding(bsc_html, hres, NULL);
1022 IBindStatusCallback_Release(bsc_html);
1023 return hres;
1024 }
1025
1026 hres = IMoniker_BindToStorage(pimkName, pibc, NULL,
1027 &IID_IStream, (void**)&stream);
1028 if(FAILED(hres)) {
1029 IBindStatusCallback_OnStopBinding(bsc_html, hres, NULL);
1030 IBindStatusCallback_Release(bsc_html);
1031 return hres;
1032 }
1033
1034 if(stream)
1035 IStream_Release(stream);
1036 IBindStatusCallback_Release(bsc_html);
1037 return S_OK;
1038}
#define TRUE
Definition: types.h:120
#define FALSE
Definition: types.h:117
static HRESULT XMLView_BindStatusCallback_Create(IBindStatusCallback *bsc_html, IMoniker *mon, IStream *stream, IBindStatusCallback **ret)
Definition: xmlview.c:556
static HRESULT XMLView_Moniker_Create(IMoniker *mon, IStream *stream, IMoniker **ret)
Definition: xmlview.c:820
HRESULT WINAPI CreateStreamOnHGlobal(HGLOBAL hGlobal, BOOL fDeleteOnRelease, LPSTREAM *ppstm)
static const WCHAR SZ_HTML_CLIENTSITE_OBJECTPARAM[]
Definition: mshtmhst.idl:59
HRESULT WINAPI RegisterBindStatusCallback(IBindCtx *pbc, IBindStatusCallback *pbsc, IBindStatusCallback **ppbscPrevious, DWORD dwReserved)
Definition: bindctx.c:615

◆ XMLView_PersistMoniker_QueryInterface()

static HRESULT WINAPI XMLView_PersistMoniker_QueryInterface ( IPersistMoniker iface,
REFIID  riid,
void **  ppvObject 
)
static

Definition at line 846 of file xmlview.c.

848{
850
851 TRACE("(%p)->(%s %p)\n", This, debugstr_guid(riid), ppvObject);
852
853 if(IsEqualGUID(riid, &IID_IUnknown) || IsEqualGUID(riid, &IID_IPersistMoniker))
854 *ppvObject = &This->IPersistMoniker_iface;
855 else if(IsEqualGUID(riid, &IID_IPersistHistory) ||
857 *ppvObject = &This->IPersistHistory_iface;
858 else if(IsEqualGUID(riid, &IID_IOleCommandTarget))
859 *ppvObject = &This->IOleCommandTarget_iface;
861 *ppvObject = &This->IOleObject_iface;
862 else
863 return IUnknown_QueryInterface(This->html_doc, riid, ppvObject);
864
865 IPersistMoniker_AddRef(&This->IPersistMoniker_iface);
866 return S_OK;
867}
const GUID IID_IOleObject

◆ XMLView_PersistMoniker_Release()

static ULONG WINAPI XMLView_PersistMoniker_Release ( IPersistMoniker iface)
static

Definition at line 879 of file xmlview.c.

880{
883
884 TRACE("%p, refcount %lu.\n", iface, ref);
885
886 if(!ref) {
887 if(This->mon)
888 IMoniker_Release(This->mon);
889 IUnknown_Release(This->html_doc);
890 free(This);
891 }
892 return ref;
893}

◆ XMLView_PersistMoniker_Save()

static HRESULT WINAPI XMLView_PersistMoniker_Save ( IPersistMoniker iface,
IMoniker pimkName,
LPBC  pbc,
BOOL  fRemember 
)
static

Definition at line 1040 of file xmlview.c.

1042{
1044 FIXME("(%p)->(%p %p %x)\n", This, pimkName, pbc, fRemember);
1045 return E_NOTIMPL;
1046}

◆ XMLView_PersistMoniker_SaveCompleted()

static HRESULT WINAPI XMLView_PersistMoniker_SaveCompleted ( IPersistMoniker iface,
IMoniker pimkName,
LPBC  pibc 
)
static

Definition at line 1048 of file xmlview.c.

1050{
1052 FIXME("(%p)->(%p %p)\n", This, pimkName, pibc);
1053 return E_NOTIMPL;
1054}

Variable Documentation

◆ XMLView_BindingVtbl

IBindingVtbl XMLView_BindingVtbl
static
Initial value:
= {
}
static HRESULT WINAPI XMLView_Binding_QueryInterface(IBinding *iface, REFIID riid, void **ppvObject)
Definition: xmlview.c:84
static HRESULT WINAPI XMLView_Binding_SetPriority(IBinding *iface, LONG nPriority)
Definition: xmlview.c:147
static HRESULT WINAPI XMLView_Binding_Abort(IBinding *iface)
Definition: xmlview.c:125
static HRESULT WINAPI XMLView_Binding_Suspend(IBinding *iface)
Definition: xmlview.c:133
static ULONG WINAPI XMLView_Binding_AddRef(IBinding *iface)
Definition: xmlview.c:101
static HRESULT WINAPI XMLView_Binding_GetBindResult(IBinding *iface, CLSID *pclsidProtocol, DWORD *pdwResult, LPOLESTR *pszResult, DWORD *pdwReserved)
Definition: xmlview.c:165
static HRESULT WINAPI XMLView_Binding_Resume(IBinding *iface)
Definition: xmlview.c:140
static ULONG WINAPI XMLView_Binding_Release(IBinding *iface)
Definition: xmlview.c:111
static HRESULT WINAPI XMLView_Binding_GetPriority(IBinding *iface, LONG *pnPriority)
Definition: xmlview.c:156

Definition at line 175 of file xmlview.c.

Referenced by XMLView_Binding_Create().

◆ XMLView_BindStatusCallbackVtbl

IBindStatusCallbackVtbl XMLView_BindStatusCallbackVtbl
static
Initial value:
= {
}
static ULONG WINAPI XMLView_BindStatusCallback_Release(IBindStatusCallback *iface)
Definition: xmlview.c:240
static HRESULT WINAPI XMLView_BindStatusCallback_OnDataAvailable(IBindStatusCallback *iface, DWORD grfBSCF, DWORD dwSize, FORMATETC *pformatetc, STGMEDIUM *pstgmed)
Definition: xmlview.c:507
static HRESULT WINAPI XMLView_BindStatusCallback_QueryInterface(IBindStatusCallback *iface, REFIID riid, void **ppvObject)
Definition: xmlview.c:212
static HRESULT WINAPI XMLView_BindStatusCallback_OnStartBinding(IBindStatusCallback *iface, DWORD dwReserved, IBinding *pib)
Definition: xmlview.c:258
static HRESULT WINAPI XMLView_BindStatusCallback_GetBindInfo(IBindStatusCallback *iface, DWORD *grfBINDF, BINDINFO *pbindinfo)
Definition: xmlview.c:326
static ULONG WINAPI XMLView_BindStatusCallback_AddRef(IBindStatusCallback *iface)
Definition: xmlview.c:229
static HRESULT WINAPI XMLView_BindStatusCallback_OnObjectAvailable(IBindStatusCallback *iface, REFIID riid, IUnknown *punk)
Definition: xmlview.c:534
static HRESULT WINAPI XMLView_BindStatusCallback_OnProgress(IBindStatusCallback *iface, ULONG ulProgress, ULONG ulProgressMax, ULONG ulStatusCode, LPCWSTR szStatusText)
Definition: xmlview.c:298
static HRESULT WINAPI XMLView_BindStatusCallback_GetPriority(IBindStatusCallback *iface, LONG *pnPriority)
Definition: xmlview.c:283
static HRESULT WINAPI XMLView_BindStatusCallback_OnLowResource(IBindStatusCallback *iface, DWORD reserved)
Definition: xmlview.c:291
static HRESULT WINAPI XMLView_BindStatusCallback_OnStopBinding(IBindStatusCallback *iface, HRESULT hresult, LPCWSTR szError)
Definition: xmlview.c:318

Definition at line 542 of file xmlview.c.

Referenced by XMLView_BindStatusCallback_Create().

◆ XMLView_MonikerVtbl

IMonikerVtbl XMLView_MonikerVtbl
static
Initial value:
= {
}
static HRESULT WINAPI XMLView_Moniker_Reduce(IMoniker *iface, IBindCtx *pbc, DWORD dwReduceHowFar, IMoniker **ppmkToLeft, IMoniker **ppmkReduced)
Definition: xmlview.c:691
static HRESULT WINAPI XMLView_Moniker_RelativePathTo(IMoniker *iface, IMoniker *pmkOther, IMoniker **ppmkRelPath)
Definition: xmlview.c:760
static HRESULT WINAPI XMLView_Moniker_GetSizeMax(IMoniker *iface, ULARGE_INTEGER *pcbSize)
Definition: xmlview.c:655
static ULONG WINAPI XMLView_Moniker_AddRef(IMoniker *iface)
Definition: xmlview.c:602
static HRESULT WINAPI XMLView_Moniker_Hash(IMoniker *iface, DWORD *pdwHash)
Definition: xmlview.c:722
static HRESULT WINAPI XMLView_Moniker_IsSystemMoniker(IMoniker *iface, DWORD *pdwMksys)
Definition: xmlview.c:786
static ULONG WINAPI XMLView_Moniker_Release(IMoniker *iface)
Definition: xmlview.c:612
static HRESULT WINAPI XMLView_Moniker_BindToObject(IMoniker *iface, IBindCtx *pbc, IMoniker *pmkToLeft, REFIID riidResult, void **ppvResult)
Definition: xmlview.c:663
static HRESULT WINAPI XMLView_Moniker_IsDirty(IMoniker *iface)
Definition: xmlview.c:633
static HRESULT WINAPI XMLView_Moniker_Save(IMoniker *iface, IStream *pStm, BOOL fClearDirty)
Definition: xmlview.c:647
static HRESULT WINAPI XMLView_Moniker_BindToStorage(IMoniker *iface, IBindCtx *pbc, IMoniker *pmkToLeft, REFIID riid, void **ppvObj)
Definition: xmlview.c:672
static HRESULT WINAPI XMLView_Moniker_GetDisplayName(IMoniker *iface, IBindCtx *pbc, IMoniker *pmkToLeft, LPOLESTR *ppszDisplayName)
Definition: xmlview.c:768
static HRESULT WINAPI XMLView_Moniker_QueryInterface(IMoniker *iface, REFIID riid, void **ppvObject)
Definition: xmlview.c:584
static HRESULT WINAPI XMLView_Moniker_IsEqual(IMoniker *iface, IMoniker *pmkOtherMoniker)
Definition: xmlview.c:714
static HRESULT WINAPI XMLView_Moniker_Load(IMoniker *iface, IStream *pStm)
Definition: xmlview.c:640
static HRESULT WINAPI XMLView_Moniker_Inverse(IMoniker *iface, IMoniker **ppmk)
Definition: xmlview.c:745
static HRESULT WINAPI XMLView_Moniker_ParseDisplayName(IMoniker *iface, IBindCtx *pbc, IMoniker *pmkToLeft, LPOLESTR pszDisplayName, ULONG *pchEaten, IMoniker **ppmkOut)
Definition: xmlview.c:776
static HRESULT WINAPI XMLView_Moniker_CommonPrefixWith(IMoniker *iface, IMoniker *pmkOther, IMoniker **ppmkPrefix)
Definition: xmlview.c:752
static HRESULT WINAPI XMLView_Moniker_GetTimeOfLastChange(IMoniker *iface, IBindCtx *pbc, IMoniker *pmkToLeft, FILETIME *pFileTime)
Definition: xmlview.c:737
static HRESULT WINAPI XMLView_Moniker_ComposeWith(IMoniker *iface, IMoniker *pmkRight, BOOL fOnlyIfNotGeneric, IMoniker **ppmkComposite)
Definition: xmlview.c:698
static HRESULT WINAPI XMLView_Moniker_IsRunning(IMoniker *iface, IBindCtx *pbc, IMoniker *pmkToLeft, IMoniker *pmkNewlyRunning)
Definition: xmlview.c:729
static HRESULT WINAPI XMLView_Moniker_Enum(IMoniker *iface, BOOL fForward, IEnumMoniker **ppenumMoniker)
Definition: xmlview.c:706
static HRESULT WINAPI XMLView_Moniker_GetClassID(IMoniker *iface, CLSID *pClassID)
Definition: xmlview.c:626

Definition at line 794 of file xmlview.c.

Referenced by XMLView_Moniker_Create().

◆ XMLView_OleCommandTargetVtbl

IOleCommandTargetVtbl XMLView_OleCommandTargetVtbl
static
Initial value:
= {
}
static HRESULT WINAPI XMLView_OleCommandTarget_QueryInterface(IOleCommandTarget *iface, REFIID riid, void **ppvObject)
Definition: xmlview.c:1155
static HRESULT WINAPI XMLView_OleCommandTarget_QueryStatus(IOleCommandTarget *iface, const GUID *pguidCmdGroup, ULONG cCmds, OLECMD prgCmds[], OLECMDTEXT *pCmdText)
Definition: xmlview.c:1174
static ULONG WINAPI XMLView_OleCommandTarget_Release(IOleCommandTarget *iface)
Definition: xmlview.c:1168
static HRESULT WINAPI XMLView_OleCommandTarget_Exec(IOleCommandTarget *iface, const GUID *pguidCmdGroup, DWORD nCmdID, DWORD nCmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut)
Definition: xmlview.c:1181
static ULONG WINAPI XMLView_OleCommandTarget_AddRef(IOleCommandTarget *iface)
Definition: xmlview.c:1162

Definition at line 1190 of file xmlview.c.

Referenced by XMLView_create().

◆ XMLView_OleObjectVtbl

IOleObjectVtbl XMLView_OleObjectVtbl
static
Initial value:
= {
}
static HRESULT WINAPI XMLView_OleObject_IsUpToDate(IOleObject *iface)
Definition: xmlview.c:1304
static ULONG WINAPI XMLView_OleObject_AddRef(IOleObject *iface)
Definition: xmlview.c:1210
static HRESULT WINAPI XMLView_OleObject_InitFromData(IOleObject *iface, IDataObject *pDataObject, BOOL fCreation, DWORD dwReserved)
Definition: xmlview.c:1266
static HRESULT WINAPI XMLView_OleObject_GetClientSite(IOleObject *iface, IOleClientSite **ppClientSite)
Definition: xmlview.c:1230
static ULONG WINAPI XMLView_OleObject_Release(IOleObject *iface)
Definition: xmlview.c:1216
static HRESULT WINAPI XMLView_OleObject_GetExtent(IOleObject *iface, DWORD dwDrawAspect, SIZEL *psizel)
Definition: xmlview.c:1332
static HRESULT WINAPI XMLView_OleObject_Advise(IOleObject *iface, IAdviseSink *pAdvSink, DWORD *pdwConnection)
Definition: xmlview.c:1339
static HRESULT WINAPI XMLView_OleObject_SetHostNames(IOleObject *iface, LPCOLESTR szContainerApp, LPCOLESTR szContainerObj)
Definition: xmlview.c:1238
static HRESULT WINAPI XMLView_OleObject_Close(IOleObject *iface, DWORD dwSaveOption)
Definition: xmlview.c:1246
static HRESULT WINAPI XMLView_OleObject_GetUserClassID(IOleObject *iface, CLSID *pClsid)
Definition: xmlview.c:1311
static HRESULT WINAPI XMLView_OleObject_GetClipboardData(IOleObject *iface, DWORD dwReserved, IDataObject **ppDataObject)
Definition: xmlview.c:1273
static HRESULT WINAPI XMLView_OleObject_EnumAdvise(IOleObject *iface, IEnumSTATDATA **ppenumAdvise)
Definition: xmlview.c:1354
static HRESULT WINAPI XMLView_OleObject_DoVerb(IOleObject *iface, LONG iVerb, LPMSG lpmsg, IOleClientSite *pActiveSite, LONG lindex, HWND hwndParent, LPCRECT lprcPosRect)
Definition: xmlview.c:1280
static HRESULT WINAPI XMLView_OleObject_SetColorScheme(IOleObject *iface, LOGPALETTE *pLogpal)
Definition: xmlview.c:1369
static HRESULT WINAPI XMLView_OleObject_SetMoniker(IOleObject *iface, DWORD dwWhichMoniker, IMoniker *pmk)
Definition: xmlview.c:1252
static HRESULT WINAPI XMLView_OleObject_GetMoniker(IOleObject *iface, DWORD dwAssign, DWORD dwWhichMoniker, IMoniker **ppmk)
Definition: xmlview.c:1259
static HRESULT WINAPI XMLView_OleObject_GetUserType(IOleObject *iface, DWORD dwFormOfType, LPOLESTR *pszUserType)
Definition: xmlview.c:1318
static HRESULT WINAPI XMLView_OleObject_EnumVerbs(IOleObject *iface, IEnumOLEVERB **ppEnumOleVerb)
Definition: xmlview.c:1289
static HRESULT WINAPI XMLView_OleObject_SetClientSite(IOleObject *iface, IOleClientSite *pClientSite)
Definition: xmlview.c:1222
static HRESULT WINAPI XMLView_OleObject_Update(IOleObject *iface)
Definition: xmlview.c:1297
static HRESULT WINAPI XMLView_OleObject_QueryInterface(IOleObject *iface, REFIID riid, void **ppvObject)
Definition: xmlview.c:1203
static HRESULT WINAPI XMLView_OleObject_SetExtent(IOleObject *iface, DWORD dwDrawAspect, SIZEL *psizel)
Definition: xmlview.c:1325
static HRESULT WINAPI XMLView_OleObject_GetMiscStatus(IOleObject *iface, DWORD dwAspect, DWORD *pdwStatus)
Definition: xmlview.c:1362
static HRESULT WINAPI XMLView_OleObject_Unadvise(IOleObject *iface, DWORD dwConnection)
Definition: xmlview.c:1347

Definition at line 1377 of file xmlview.c.

Referenced by XMLView_create().

◆ XMLView_PersistHistoryVtbl

IPersistHistoryVtbl XMLView_PersistHistoryVtbl
static
Initial value:
= {
}
static HRESULT WINAPI XMLView_PersistHistory_GetPositionCookie(IPersistHistory *iface, DWORD *pdwPositioncookie)
Definition: xmlview.c:1131
static HRESULT WINAPI XMLView_PersistHistory_SaveHistory(IPersistHistory *iface, IStream *pStream)
Definition: xmlview.c:1116
static ULONG WINAPI XMLView_PersistHistory_Release(IPersistHistory *iface)
Definition: xmlview.c:1094
static ULONG WINAPI XMLView_PersistHistory_AddRef(IPersistHistory *iface)
Definition: xmlview.c:1088
static HRESULT WINAPI XMLView_PersistHistory_QueryInterface(IPersistHistory *iface, REFIID riid, void **ppvObject)
Definition: xmlview.c:1081
static HRESULT WINAPI XMLView_PersistHistory_SetPositionCookie(IPersistHistory *iface, DWORD dwPositioncookie)
Definition: xmlview.c:1124
static HRESULT WINAPI XMLView_PersistHistory_GetClassID(IPersistHistory *iface, CLSID *pClassID)
Definition: xmlview.c:1100
static HRESULT WINAPI XMLView_PersistHistory_LoadHistory(IPersistHistory *iface, IStream *pStream, IBindCtx *pbc)
Definition: xmlview.c:1108

Definition at line 1139 of file xmlview.c.

Referenced by XMLView_create().

◆ XMLView_PersistMonikerVtbl

IPersistMonikerVtbl XMLView_PersistMonikerVtbl
static
Initial value:
= {
}
static ULONG WINAPI XMLView_PersistMoniker_AddRef(IPersistMoniker *iface)
Definition: xmlview.c:869
static HRESULT WINAPI XMLView_PersistMoniker_GetCurMoniker(IPersistMoniker *iface, IMoniker **ppimkName)
Definition: xmlview.c:1056
static HRESULT WINAPI XMLView_PersistMoniker_Load(IPersistMoniker *iface, BOOL fFullyAvailable, IMoniker *pimkName, LPBC pibc, DWORD grfMode)
Definition: xmlview.c:910
static HRESULT WINAPI XMLView_PersistMoniker_GetClassID(IPersistMoniker *iface, CLSID *pClassID)
Definition: xmlview.c:895
static HRESULT WINAPI XMLView_PersistMoniker_Save(IPersistMoniker *iface, IMoniker *pimkName, LPBC pbc, BOOL fRemember)
Definition: xmlview.c:1040
static HRESULT WINAPI XMLView_PersistMoniker_QueryInterface(IPersistMoniker *iface, REFIID riid, void **ppvObject)
Definition: xmlview.c:846
static HRESULT WINAPI XMLView_PersistMoniker_SaveCompleted(IPersistMoniker *iface, IMoniker *pimkName, LPBC pibc)
Definition: xmlview.c:1048
static HRESULT WINAPI XMLView_PersistMoniker_IsDirty(IPersistMoniker *iface)
Definition: xmlview.c:903
static ULONG WINAPI XMLView_PersistMoniker_Release(IPersistMoniker *iface)
Definition: xmlview.c:879

Definition at line 1064 of file xmlview.c.

Referenced by XMLView_create().