56 IXMLDocument IXMLDocument_iface;
68static inline xmldoc *impl_from_IXMLDocument(IXMLDocument *iface)
80 xmldoc *
This = impl_from_IXMLDocument(iface);
102 IXMLDocument_AddRef(iface);
107static ULONG WINAPI xmldoc_AddRef(IXMLDocument *iface)
109 xmldoc *
This = impl_from_IXMLDocument(iface);
115static ULONG WINAPI xmldoc_Release(IXMLDocument *iface)
117 xmldoc *
This = impl_from_IXMLDocument(iface);
125 if (
This->stream) IStream_Release(
This->stream);
134 xmldoc *
This = impl_from_IXMLDocument(iface);
146 xmldoc *
This = impl_from_IXMLDocument(iface);
148 TRACE(
"(%p)->(%u %u %p)\n",
This, iTInfo, lcid, ppTInfo);
157 xmldoc *
This = impl_from_IXMLDocument(iface);
164 if(!rgszNames || cNames == 0 || !rgDispId)
170 hr = ITypeInfo_GetIDsOfNames(
typeinfo, rgszNames, cNames, rgDispId);
179 DISPPARAMS* pDispParams,
VARIANT* pVarResult,
180 EXCEPINFO* pExcepInfo,
UINT* puArgErr)
182 xmldoc *
This = impl_from_IXMLDocument(iface);
187 lcid,
wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr);
193 pDispParams, pVarResult, pExcepInfo, puArgErr);
200static HRESULT WINAPI xmldoc_get_root(IXMLDocument *iface, IXMLElement **
p)
202 xmldoc *
This = impl_from_IXMLDocument(iface);
205 TRACE(
"(%p, %p)\n", iface,
p);
220 FIXME(
"(%p, %p): stub\n", iface,
p);
226 FIXME(
"(%p, %p): stub\n", iface,
p);
232 FIXME(
"(%p, %p): stub\n", iface,
p);
238 FIXME(
"(%p, %p): stub\n", iface,
p);
254 IBindStatusCallback_AddRef( iface );
320 *grfBINDF = BINDF_RESYNCHRONIZE;
329 FORMATETC* pformatetc,
343static const struct IBindStatusCallbackVtbl
bsc_vtbl =
381 ERR(
"can't find path\n");
387 ERR(
"can't create url from path\n");
401 IBindCtx_Release(bctx);
413 hr = IPersistStreamInit_Load(persist,
stream);
414 IPersistStreamInit_Release(persist);
422 FIXME(
"(%p, %p): stub\n", iface,
p);
428 FIXME(
"(%p, %p): stub\n", iface,
p);
434 FIXME(
"(%p, %p): stub\n", iface,
p);
440 FIXME(
"(%p, %p): stub\n", iface,
p);
446 xmldoc *
This = impl_from_IXMLDocument(iface);
451 *
p = bstr_from_xmlChar(
This->xmldoc->version);
458 xmldoc *
This = impl_from_IXMLDocument(iface);
468 *
p = bstr_from_xmlChar(dtd->
name);
476 FIXME(
"(%p, %p): stub\n", iface,
p);
484 case XMLELEMTYPE_ELEMENT:
504 VARIANT var1, IXMLElement **ppElem)
520 if(type_msxml_to_libxml(
V_I4(&vType)) == -1)
524 node->type = type_msxml_to_libxml(
V_I4(&vType));
530static const struct IXMLDocumentVtbl xmldoc_vtbl =
532 xmldoc_QueryInterface,
535 xmldoc_GetTypeInfoCount,
537 xmldoc_GetIDsOfNames,
541 xmldoc_put_fileModifiedDate,
542 xmldoc_get_fileUpdatedDate,
546 xmldoc_get_readyState,
558static HRESULT WINAPI xmldoc_IPersistStreamInit_QueryInterface(
562 return IXMLDocument_QueryInterface(&this->IXMLDocument_iface,
riid, ppvObj);
565static ULONG WINAPI xmldoc_IPersistStreamInit_AddRef(
569 return IXMLDocument_AddRef(&this->IXMLDocument_iface);
572static ULONG WINAPI xmldoc_IPersistStreamInit_Release(
576 return IXMLDocument_Release(&this->IXMLDocument_iface);
583 TRACE(
"(%p,%p)\n",
this, classid);
594 FIXME(
"(%p): stub!\n", iface);
600#ifdef HAVE_XMLREADMEMORY
604 return xmlParseMemory(
ptr,
len);
618 TRACE(
"(%p, %p)\n", iface, pStm);
624 if (
This->stream) IStream_Release(
This->stream);
637 ERR(
"Failed to copy stream\n");
656 ERR(
"Failed to parse xml\n");
666 FIXME(
"(%p, %p, %d): stub!\n", iface, pStm, fClearDirty);
686static const IPersistStreamInitVtbl xmldoc_IPersistStreamInit_VTable =
688 xmldoc_IPersistStreamInit_QueryInterface,
689 xmldoc_IPersistStreamInit_AddRef,
690 xmldoc_IPersistStreamInit_Release,
691 xmldoc_IPersistStreamInit_GetClassID,
692 xmldoc_IPersistStreamInit_IsDirty,
693 xmldoc_IPersistStreamInit_Load,
694 xmldoc_IPersistStreamInit_Save,
695 xmldoc_IPersistStreamInit_GetSizeMax,
696 xmldoc_IPersistStreamInit_InitNew
703 TRACE(
"(%p)\n", ppObj);
709 doc->IXMLDocument_iface.lpVtbl = &xmldoc_vtbl;
710 doc->IPersistStreamInit_iface.lpVtbl = &xmldoc_IPersistStreamInit_VTable;
716 *ppObj = &doc->IXMLDocument_iface;
718 TRACE(
"returning iface %p\n", *ppObj);
726 MESSAGE(
"This program tried to use an XMLDocument object, but\n"
727 "libxml2 support was not present at compile time.\n");
HRESULT get_typeinfo(enum type_id tid, ITypeInfo **ret)
static void * heap_alloc(size_t len)
static BOOL heap_free(void *mem)
#define InterlockedIncrement
#define InterlockedDecrement
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
static ULONG WINAPI bsc_AddRef(IBindStatusCallback *iface)
static HRESULT WINAPI bsc_OnStopBinding(IBindStatusCallback *iface, HRESULT hresult, LPCWSTR szError)
static HRESULT WINAPI bsc_GetPriority(IBindStatusCallback *iface, LONG *pnPriority)
static HRESULT WINAPI bsc_OnObjectAvailable(IBindStatusCallback *iface, REFIID riid, IUnknown *punk)
static HRESULT WINAPI bsc_OnProgress(IBindStatusCallback *iface, ULONG ulProgress, ULONG ulProgressMax, ULONG ulStatusCode, LPCWSTR szStatusText)
static HRESULT WINAPI bsc_OnStartBinding(IBindStatusCallback *iface, DWORD dwReserved, IBinding *pib)
static ULONG WINAPI bsc_Release(IBindStatusCallback *iface)
static HRESULT WINAPI bsc_GetBindInfo(IBindStatusCallback *iface, DWORD *grfBINDF, BINDINFO *pbindinfo)
static HRESULT WINAPI bsc_OnLowResource(IBindStatusCallback *iface, DWORD reserved)
static const struct IBindStatusCallbackVtbl bsc_vtbl
static HRESULT WINAPI bsc_QueryInterface(IBindStatusCallback *iface, REFIID riid, LPVOID *ppobj)
static HRESULT WINAPI bsc_OnDataAvailable(IBindStatusCallback *iface, DWORD grfBSCF, DWORD dwSize, FORMATETC *pformatetc, STGMEDIUM *pstgmed)
static const WCHAR empty[]
HRESULT XMLDocument_create(LPVOID *ppObj)
HRESULT WINAPI GetHGlobalFromStream(IStream *pstm, HGLOBAL *phglobal)
HRESULT WINAPI CreateStreamOnHGlobal(HGLOBAL hGlobal, BOOL fDeleteOnRelease, LPSTREAM *ppstm)
BOOL WINAPI PathSearchAndQualifyW(LPCWSTR lpszPath, LPWSTR lpszBuf, UINT cchBuf)
HRESULT WINAPI UrlCreateFromPathW(LPCWSTR pszPath, LPWSTR pszUrl, LPDWORD pcchUrl, DWORD dwReserved)
BOOL WINAPI PathIsURLW(LPCWSTR lpstrPath)
#define INTERNET_MAX_URL_LENGTH
GLuint GLuint GLsizei GLenum type
GLenum GLuint GLenum GLsizei const GLchar * buf
LPVOID NTAPI GlobalLock(HGLOBAL hMem)
BOOL NTAPI GlobalUnlock(HGLOBAL hMem)
SIZE_T NTAPI GlobalSize(HGLOBAL hMem)
static WebBrowser * impl_from_IPersistStreamInit(IPersistStreamInit *iface)
PSDBQUERYRESULT_VISTA PVOID DWORD * dwSize
static const char * debugstr_variant(const VARIANT *var)
static VARIANTARG static DISPID
static IBindStatusCallbackEx bsc
_In_ HANDLE _In_ DWORD _In_ DWORD _Inout_opt_ LPOVERLAPPED _In_opt_ LPTRANSMIT_FILE_BUFFERS _In_ DWORD dwReserved
const struct _GUID CLSID_XMLDocument
MSXML::enum XMLELEMTYPE_DOCUMENT
MSXML::enum XMLELEMTYPE_DTD
MSXML::enum XMLELEMTYPE_TEXT
MSXML::enum XMLELEMTYPE_COMMENT
MSXML::enum XMLELEMTYPE_PI
interface IStream * LPSTREAM
UINT WINAPI SysStringLen(BSTR str)
const GUID IID_IPersistStreamInit
const GUID IID_IPersistStream
#define IsEqualGUID(rguid1, rguid2)
XMLPUBFUN xmlDocPtr XMLCALL xmlReadMemory(const char *buffer, int size, const char *URL, const char *encoding, int options)
XMLPUBFUN xmlNodePtr XMLCALL xmlDocGetRootElement(const xmlDoc *doc)
XMLPUBFUN void XMLCALL xmlFreeDoc(xmlDocPtr cur)
XMLPUBFUN xmlDtdPtr XMLCALL xmlGetIntSubset(const xmlDoc *doc)
XMLPUBFUN xmlNodePtr XMLCALL xmlNewNode(xmlNsPtr ns, const xmlChar *name)
#define CONTAINING_RECORD(address, type, field)
HRESULT WINAPI CreateURLMoniker(IMoniker *pmkContext, LPCWSTR szURL, IMoniker **ppmk)
HRESULT WINAPI CreateAsyncBindCtx(DWORD reserved, IBindStatusCallback *callback, IEnumFORMATETC *format, IBindCtx **pbind)
_In_ DWORD _Out_ _In_ WORD wFlags
_In_ void _In_ PCCERT_CONTEXT _In_opt_ LPFILETIME _In_ DWORD _In_ DWORD _Outptr_opt_ void ** ppvObject
DWORD WINAPI CharUpperBuffW(_Inout_updates_(cchLength) LPWSTR lpsz, _In_ DWORD cchLength)