static HRESULT WINAPI HTMLDOMAttribute_get_nodeValue(IHTMLDOMAttribute *iface, VARIANT *p) { HTMLDOMAttribute *This = impl_from_IHTMLDOMAttribute(iface); TRACE("(%p)->(%p)\n", This, p); if(!This->elem) return VariantCopy(p, &This->value); return get_elem_attr_value_by_dispid(This->elem, This->dispid, p); }
static HRESULT WINAPI HTMLDOMAttribute_get_nodeValue(IHTMLDOMAttribute *iface, VARIANT *p) { HTMLDOMAttribute *This = impl_from_IHTMLDOMAttribute(iface); TRACE("(%p)->(%p)\n", This, p); if(!This->elem) { FIXME("NULL This->elem\n"); return E_UNEXPECTED; } return get_elem_attr_value_by_dispid(This->elem, This->dispid, 0, p); }
static HRESULT WINAPI HTMLDOMAttribute2_get_value(IHTMLDOMAttribute2 *iface, BSTR *p) { HTMLDOMAttribute *This = impl_from_IHTMLDOMAttribute2(iface); VARIANT val; HRESULT hres; TRACE("(%p)->(%p)\n", This, p); if(!This->elem) { FIXME("NULL This->elem\n"); return E_UNEXPECTED; } hres = get_elem_attr_value_by_dispid(This->elem, This->dispid, ATTRFLAG_ASSTRING, &val); if(FAILED(hres)) return hres; assert(V_VT(&val) == VT_BSTR); *p = V_BSTR(&val); if(!*p && !(*p = SysAllocStringLen(NULL, 0))) return E_OUTOFMEMORY; return S_OK; }
static HRESULT WINAPI HTMLDOMAttribute2_get_value(IHTMLDOMAttribute2 *iface, BSTR *p) { HTMLDOMAttribute *This = impl_from_IHTMLDOMAttribute2(iface); VARIANT val; HRESULT hres; TRACE("(%p)->(%p)\n", This, p); V_VT(&val) = VT_EMPTY; if(This->elem) hres = get_elem_attr_value_by_dispid(This->elem, This->dispid, &val); else hres = VariantCopy(&val, &This->value); if(SUCCEEDED(hres)) hres = attr_value_to_string(&val); if(FAILED(hres)) return hres; assert(V_VT(&val) == VT_BSTR); *p = V_BSTR(&val); if(!*p && !(*p = SysAllocStringLen(NULL, 0))) return E_OUTOFMEMORY; return S_OK; }