Ejemplo n.º 1
0
		HRESULT XMLHelper::SetAttributeId(MSXML2::IXMLDOMNode *node, const TCHAR *attribute, const Id &id)
		{
			MSXML2::IXMLDOMElement *pElem = 0;
			HRESULT hr = node->QueryInterface(IID_IXMLDOMElement, reinterpret_cast<void **>(&pElem));
			if(hr == S_OK)
			{
				BSTR attr = SysAllocString(attribute);
				VARIANTARG varg;
				VariantInit(&varg);
				varg.vt = VT_BSTR;
				TCHAR buf[128] = {};
				varg.bstrVal = SysAllocStringLen(id.AsHex(buf), 128);
				hr = pElem->setAttribute(attr, varg);
				SysFreeString(attr);
				SysFreeString(varg.bstrVal);
				pElem->Release();
			}
			return hr;
		}