71static const struct enumvariant_funcs nodelist_enumvariant = {
76static inline xmlnodelist *impl_from_IXMLDOMNodeList(
IXMLDOMNodeList *iface )
86 xmlnodelist *
This = impl_from_IXMLDOMNodeList( iface );
109 if (!
This->enumvariant)
115 return IEnumVARIANT_QueryInterface(
This->enumvariant, &IID_IEnumVARIANT,
ppvObject);
128 IXMLDOMNodeList_AddRef( iface );
136 xmlnodelist *
This = impl_from_IXMLDOMNodeList( iface );
145 xmlnodelist *
This = impl_from_IXMLDOMNodeList( iface );
151 xmldoc_release(
This->parent->doc );
152 if (
This->enumvariant) IEnumVARIANT_Release(
This->enumvariant);
163 xmlnodelist *
This = impl_from_IXMLDOMNodeList( iface );
164 return IDispatchEx_GetTypeInfoCount(&
This->dispex.IDispatchEx_iface, pctinfo);
173 xmlnodelist *
This = impl_from_IXMLDOMNodeList( iface );
174 return IDispatchEx_GetTypeInfo(&
This->dispex.IDispatchEx_iface,
175 iTInfo, lcid, ppTInfo);
186 xmlnodelist *
This = impl_from_IXMLDOMNodeList( iface );
187 return IDispatchEx_GetIDsOfNames(&
This->dispex.IDispatchEx_iface,
188 riid, rgszNames, cNames, lcid, rgDispId);
197 DISPPARAMS* pDispParams,
199 EXCEPINFO* pExcepInfo,
202 xmlnodelist *
This = impl_from_IXMLDOMNodeList( iface );
203 return IDispatchEx_Invoke(&
This->dispex.IDispatchEx_iface,
204 dispIdMember,
riid, lcid,
wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr);
212 xmlnodelist *
This = impl_from_IXMLDOMNodeList( iface );
226 curr =
This->parent->children;
229 if(nodeIndex++ ==
index)
break;
247 xmlnodelist *
This = impl_from_IXMLDOMNodeList( iface );
254 curr =
This->parent->children;
261 *listLength = nodeCount;
269 xmlnodelist *
This = impl_from_IXMLDOMNodeList( iface );
282 This->current =
This->current->next;
289 xmlnodelist *
This = impl_from_IXMLDOMNodeList( iface );
292 This->current =
This->parent->children;
300 xmlnodelist *
This = impl_from_IXMLDOMNodeList( iface );
305static const struct IXMLDOMNodeListVtbl xmlnodelist_vtbl =
307 xmlnodelist_QueryInterface,
310 xmlnodelist_GetTypeInfoCount,
311 xmlnodelist_GetTypeInfo,
312 xmlnodelist_GetIDsOfNames,
314 xmlnodelist_get_item,
315 xmlnodelist_get_length,
316 xmlnodelist_nextNode,
318 xmlnodelist__newEnum,
332 TRACE(
"ret %x\n", *dispid);
363 else if (
id == DISPID_VALUE)
392 FIXME(
"DISPID_VALUE: unimplemented flags %x\n",
flags);
406 xmlnodelist_get_dispid,
410static const tid_t xmlnodelist_iface_tids[] = {
415 &xmlnodelist_dispex_vtbl,
418 xmlnodelist_iface_tids
429 This->IXMLDOMNodeList_iface.lpVtbl = &xmlnodelist_vtbl;
434 xmldoc_add_ref(
node->doc );
438 return &
This->IXMLDOMNodeList_iface;
static void * heap_alloc(size_t len)
static BOOL heap_free(void *mem)
#define InterlockedIncrement
#define InterlockedDecrement
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
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)
struct task_struct * current
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
#define DISPATCH_PROPERTYGET
#define IsEqualGUID(rguid1, rguid2)
#define CONTAINING_RECORD(address, type, field)
HRESULT WINAPI DECLSPEC_HOTPATCH VariantChangeType(VARIANTARG *pvargDest, VARIANTARG *pvargSrc, USHORT wFlags, VARTYPE vt)
void WINAPI VariantInit(VARIANTARG *pVarg)
_In_ DWORD _Out_ _In_ WORD wFlags
_In_ void _In_ PCCERT_CONTEXT _In_opt_ LPFILETIME _In_ DWORD _In_ DWORD _Outptr_opt_ void ** ppvObject
#define DISP_E_BADPARAMCOUNT
#define DISP_E_UNKNOWNNAME