static HRESULT WINAPI PersistStreamInit_Save(IPersistStreamInit *iface, LPSTREAM pStm, BOOL fClearDirty) { WindowsMediaPlayer *This = impl_from_IPersistStreamInit(iface); FIXME("(%p)->(%p %x)\n", This, pStm, fClearDirty); return E_NOTIMPL; }
static HRESULT WINAPI xmldoc_IPersistStreamInit_InitNew( IPersistStreamInit *iface) { xmldoc *This = impl_from_IPersistStreamInit(iface); TRACE("(%p)\n", This); return S_OK; }
static HRESULT WINAPI xmldoc_IPersistStreamInit_GetSizeMax( IPersistStreamInit *iface, ULARGE_INTEGER *pcbSize) { xmldoc *This = impl_from_IPersistStreamInit(iface); TRACE("(%p, %p)\n", This, pcbSize); return E_NOTIMPL; }
static HRESULT WINAPI PersistStreamInit_Save(IPersistStreamInit *iface, LPSTREAM pStm, BOOL fClearDirty) { HTMLDocument *This = impl_from_IPersistStreamInit(iface); char *str; DWORD written=0; HRESULT hres; TRACE("(%p)->(%p %x)\n", This, pStm, fClearDirty); hres = get_doc_string(This->doc_node, &str); if(FAILED(hres)) return hres; hres = IStream_Write(pStm, str, strlen(str), &written); if(FAILED(hres)) FIXME("Write failed: %08x\n", hres); heap_free(str); if(fClearDirty) set_dirty(This, VARIANT_FALSE); return S_OK; }
static HRESULT WINAPI PersistStreamInit_GetSizeMax(IPersistStreamInit *iface, ULARGE_INTEGER *pcbSize) { HTMLDocument *This = impl_from_IPersistStreamInit(iface); FIXME("(%p)->(%p)\n", This, pcbSize); return E_NOTIMPL; }
static HRESULT WINAPI PersistStreamInit_IsDirty(IPersistStreamInit *iface) { HTMLDocument *This = impl_from_IPersistStreamInit(iface); TRACE("(%p)\n", This); if(This->doc_obj->usermode == EDITMODE) return editor_is_dirty(This); return S_FALSE; }
static HRESULT WINAPI xmldoc_IPersistStreamInit_GetClassID( IPersistStreamInit *iface, CLSID *classid) { xmldoc *this = impl_from_IPersistStreamInit(iface); TRACE("(%p,%p)\n", this, classid); if (!classid) return E_POINTER; *classid = CLSID_XMLDocument; return S_OK; }
static HRESULT WINAPI xmldoc_IPersistStreamInit_Load( IPersistStreamInit *iface, LPSTREAM pStm) { xmldoc *This = impl_from_IPersistStreamInit(iface); HRESULT hr; HGLOBAL hglobal; DWORD read, written, len; BYTE buf[4096]; char *ptr; TRACE("(%p, %p)\n", iface, pStm); if (!pStm) return E_INVALIDARG; /* release previously allocated stream */ if (This->stream) IStream_Release(This->stream); hr = CreateStreamOnHGlobal(NULL, TRUE, &This->stream); if (FAILED(hr)) return hr; do { IStream_Read(pStm, buf, sizeof(buf), &read); hr = IStream_Write(This->stream, buf, read, &written); } while(SUCCEEDED(hr) && written != 0 && read != 0); if (FAILED(hr)) { ERR("Failed to copy stream\n"); return hr; } hr = GetHGlobalFromStream(This->stream, &hglobal); if (FAILED(hr)) return hr; len = GlobalSize(hglobal); ptr = GlobalLock(hglobal); if (len != 0) { xmlFreeDoc(This->xmldoc); This->xmldoc = parse_xml(ptr, len); } GlobalUnlock(hglobal); if (!This->xmldoc) { ERR("Failed to parse xml\n"); return E_FAIL; } return S_OK; }
static HRESULT WINAPI PersistStreamInit_InitNew(IPersistStreamInit *iface) { WindowsMediaPlayer *This = impl_from_IPersistStreamInit(iface); TRACE("(%p)\n", This); if(!This->client_site) return E_FAIL; /* Nothing to do, yet. */ get_container_hwnd(This); return S_OK; }
static HRESULT WINAPI PersistStreamInit_InitNew(IPersistStreamInit *iface) { HTMLDocument *This = impl_from_IPersistStreamInit(iface); IMoniker *mon; HRESULT hres; TRACE("(%p)\n", This); hres = CreateURLMoniker(NULL, about_blankW, &mon); if(FAILED(hres)) { WARN("CreateURLMoniker failed: %08x\n", hres); return hres; } prepare_for_binding(This, mon, FALSE); hres = set_moniker(This->window, mon, NULL, NULL, NULL, FALSE); IMoniker_Release(mon); if(FAILED(hres)) return hres; return channelbsc_load_stream(This->window->pending_window, NULL); }
static HRESULT WINAPI PersistStreamInit_InitNew(IPersistStreamInit *iface) { HTMLDocument *This = impl_from_IPersistStreamInit(iface); IMoniker *mon; HRESULT hres; static const WCHAR about_blankW[] = {'a','b','o','u','t',':','b','l','a','n','k',0}; TRACE("(%p)\n", This); hres = CreateURLMoniker(NULL, about_blankW, &mon); if(FAILED(hres)) { WARN("CreateURLMoniker failed: %08x\n", hres); return hres; } hres = set_moniker(This, mon, NULL, NULL, FALSE); IMoniker_Release(mon); if(FAILED(hres)) return hres; return channelbsc_load_stream(This->window->bscallback, NULL); }
static HRESULT WINAPI PersistStreamInit_Load(IPersistStreamInit *iface, LPSTREAM pStm) { HTMLDocument *This = impl_from_IPersistStreamInit(iface); IMoniker *mon; HRESULT hres; static const WCHAR about_blankW[] = {'a','b','o','u','t',':','b','l','a','n','k',0}; TRACE("(%p)->(%p)\n", This, pStm); hres = CreateURLMoniker(NULL, about_blankW, &mon); if(FAILED(hres)) { WARN("CreateURLMoniker failed: %08x\n", hres); return hres; } prepare_for_binding(This, mon, FALSE); hres = set_moniker(This, mon, NULL, NULL, TRUE); IMoniker_Release(mon); if(FAILED(hres)) return hres; return channelbsc_load_stream(This->window->pending_window, pStm); }
static HRESULT WINAPI PersistStreamInit_QueryInterface(IPersistStreamInit *iface, REFIID riid, void **ppv) { WindowsMediaPlayer *This = impl_from_IPersistStreamInit(iface); return IOleObject_QueryInterface(&This->IOleObject_iface, riid, ppv); }
static ULONG WINAPI PersistStreamInit_Release(IPersistStreamInit *iface) { WindowsMediaPlayer *This = impl_from_IPersistStreamInit(iface); return IOleObject_Release(&This->IOleObject_iface); }
static HRESULT WINAPI PersistStreamInit_GetClassID(IPersistStreamInit *iface, CLSID *pClassID) { WindowsMediaPlayer *This = impl_from_IPersistStreamInit(iface); FIXME("(%p)->(%p)\n", This, pClassID); return E_NOTIMPL; }
static HRESULT WINAPI PersistStreamInit_GetClassID(IPersistStreamInit *iface, CLSID *pClassID) { HTMLDocument *This = impl_from_IPersistStreamInit(iface); return IPersistFile_GetClassID(&This->IPersistFile_iface, pClassID); }
static ULONG WINAPI PersistStreamInit_Release(IPersistStreamInit *iface) { HTMLDocument *This = impl_from_IPersistStreamInit(iface); return htmldoc_release(This); }
static ULONG WINAPI PersistStreamInit_AddRef(IPersistStreamInit *iface) { HTMLDocument *This = impl_from_IPersistStreamInit(iface); return htmldoc_addref(This); }
static HRESULT WINAPI PersistStreamInit_QueryInterface(IPersistStreamInit *iface, REFIID riid, void **ppv) { HTMLDocument *This = impl_from_IPersistStreamInit(iface); return htmldoc_query_interface(This, riid, ppv); }
static HRESULT WINAPI PersistStreamInit_IsDirty(IPersistStreamInit *iface) { WindowsMediaPlayer *This = impl_from_IPersistStreamInit(iface); FIXME("(%p)\n", This); return E_NOTIMPL; }
static HRESULT WINAPI PersistStreamInit_Load(IPersistStreamInit *iface, LPSTREAM pStm) { WindowsMediaPlayer *This = impl_from_IPersistStreamInit(iface); FIXME("(%p)->(%p)\n", This, pStm); return E_NOTIMPL; }
static ULONG WINAPI xmldoc_IPersistStreamInit_AddRef( IPersistStreamInit *iface) { xmldoc *this = impl_from_IPersistStreamInit(iface); return IXMLDocument_AddRef((IXMLDocument *)this); }
/************************************************************************ * xmldoc implementation of IPersistStreamInit. */ static HRESULT WINAPI xmldoc_IPersistStreamInit_QueryInterface( IPersistStreamInit *iface, REFIID riid, LPVOID *ppvObj) { xmldoc *this = impl_from_IPersistStreamInit(iface); return IXMLDocument_QueryInterface(&this->IXMLDocument_iface, riid, ppvObj); }
static ULONG WINAPI xmldoc_IPersistStreamInit_Release( IPersistStreamInit *iface) { xmldoc *this = impl_from_IPersistStreamInit(iface); return IXMLDocument_Release(&this->IXMLDocument_iface); }