103 if (!
This->enumvariant)
109 return IEnumVARIANT_QueryInterface(
This->enumvariant, &IID_IEnumVARIANT, ppvObject);
122 IXMLDOMNodeList_AddRef( iface );
132 TRACE(
"%p, refcount %lu.\n", iface,
ref);
142 TRACE(
"%p, refcount %lu.\n", iface,
ref);
147 if (
This->enumvariant) IEnumVARIANT_Release(
This->enumvariant);
159 return IDispatchEx_GetTypeInfoCount(&
This->dispex.IDispatchEx_iface, pctinfo);
169 return IDispatchEx_GetTypeInfo(&
This->dispex.IDispatchEx_iface,
170 iTInfo,
lcid, ppTInfo);
182 return IDispatchEx_GetIDsOfNames(&
This->dispex.IDispatchEx_iface,
183 riid, rgszNames, cNames,
lcid, rgDispId);
192 DISPPARAMS* pDispParams,
194 EXCEPINFO* pExcepInfo,
198 return IDispatchEx_Invoke(&
This->dispex.IDispatchEx_iface,
199 dispIdMember,
riid,
lcid,
wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr);
211 TRACE(
"%p, %ld, %p.\n", iface,
index, listItem);
221 curr =
This->parent->children;
224 if(nodeIndex++ ==
index)
break;
249 curr =
This->parent->children;
256 *listLength = nodeCount;
277 This->current =
This->current->next;
287 This->current =
This->parent->children;
327 TRACE(
"ret %lx\n", *dispid);
336 TRACE(
"%p, %ld, %lx, %x, %p, %p, %p.\n", iface,
id,
lcid,
flags,
params,
res, ei);
358 else if (
id == DISPID_VALUE)
387 FIXME(
"DISPID_VALUE: unimplemented flags %x\n",
flags);
433 return &
This->IXMLDOMNodeList_iface;
#define InterlockedIncrement
#define InterlockedDecrement
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
LONG xmldoc_release(xmlDocPtr doc)
LONG xmldoc_add_ref(xmlDocPtr doc)
GLenum const GLfloat * params
static HRESULT create_node(HTMLDocumentNode *, nsIDOMNode *, HTMLDOMNode **)
HRESULT init_dispex(jsdisp_t *dispex, script_ctx_t *ctx, const builtin_info_t *builtin_info, jsdisp_t *prototype)
static const char * debugstr_variant(const VARIANT *var)
static VARIANTARG static DISPID
BOOL dispex_query_interface(DispatchEx *This, REFIID riid, void **ppv)
#define DISPID_DOM_COLLECTION_MAX
#define DISPID_DOM_COLLECTION_BASE
HRESULT create_enumvariant(IUnknown *, BOOL, const struct enumvariant_funcs *, IEnumVARIANT **)
static HRESULT WINAPI xmlnodelist_GetTypeInfoCount(IXMLDOMNodeList *iface, UINT *pctinfo)
static HRESULT WINAPI xmlnodelist_get_item(IXMLDOMNodeList *iface, LONG index, IXMLDOMNode **listItem)
static HRESULT WINAPI xmlnodelist_nextNode(IXMLDOMNodeList *iface, IXMLDOMNode **nextItem)
static const tid_t xmlnodelist_iface_tids[]
static ULONG WINAPI xmlnodelist_AddRef(IXMLDOMNodeList *iface)
static HRESULT WINAPI xmlnodelist_QueryInterface(IXMLDOMNodeList *iface, REFIID riid, void **ppvObject)
static const struct enumvariant_funcs nodelist_enumvariant
static dispex_static_data_t xmlnodelist_dispex
static const struct IXMLDOMNodeListVtbl xmlnodelist_vtbl
static HRESULT xmlnodelist_get_dispid(IUnknown *iface, BSTR name, DWORD flags, DISPID *dispid)
static HRESULT WINAPI xmlnodelist_GetTypeInfo(IXMLDOMNodeList *iface, UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo)
static HRESULT WINAPI xmlnodelist_Invoke(IXMLDOMNodeList *iface, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
static HRESULT xmlnodelist_invoke(IUnknown *iface, DISPID id, LCID lcid, WORD flags, DISPPARAMS *params, VARIANT *res, EXCEPINFO *ei)
static HRESULT WINAPI xmlnodelist_reset(IXMLDOMNodeList *iface)
static ULONG WINAPI xmlnodelist_Release(IXMLDOMNodeList *iface)
static HRESULT WINAPI xmlnodelist_get_length(IXMLDOMNodeList *iface, LONG *listLength)
static HRESULT WINAPI xmlnodelist_GetIDsOfNames(IXMLDOMNodeList *iface, REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
IXMLDOMNodeList * create_children_nodelist(xmlNodePtr node)
static HRESULT nodelist_get_item(IUnknown *iface, LONG index, VARIANT *item)
static xmlnodelist * impl_from_IXMLDOMNodeList(IXMLDOMNodeList *iface)
static HRESULT WINAPI xmlnodelist__newEnum(IXMLDOMNodeList *iface, IUnknown **enumv)
static const dispex_static_data_vtbl_t xmlnodelist_dispex_vtbl
#define DISPATCH_PROPERTYGET
#define IsEqualGUID(rguid1, rguid2)
IEnumVARIANT * enumvariant
IXMLDOMNodeList IXMLDOMNodeList_iface
#define CONTAINING_RECORD(address, type, field)
HRESULT WINAPI DECLSPEC_HOTPATCH VariantChangeType(VARIANTARG *pvargDest, VARIANTARG *pvargSrc, USHORT wFlags, VARTYPE vt)
void WINAPI VariantInit(VARIANTARG *pVarg)
WINBASEAPI _In_ DWORD _Out_ _In_ WORD wFlags
#define DISP_E_BADPARAMCOUNT
#define DISP_E_UNKNOWNNAME