wchar_t * kull_m_xml_getTextValue(IXMLDOMNode *pNode, PCWSTR name) { wchar_t *result = NULL; IXMLDOMNode *pSingleNode, *pChild; BSTR bstrGeneric; if((IXMLDOMNode_selectSingleNode(pNode, (BSTR) name, &pSingleNode) == S_OK) && pSingleNode) { if((IXMLDOMNode_get_firstChild(pSingleNode, &pChild) == S_OK) && pChild) { if(IXMLDOMNode_get_text(pChild, &bstrGeneric) == S_OK) { kull_m_string_copy(&result, bstrGeneric); SysFreeString(bstrGeneric); } } } return result; }
static HRESULT WINAPI domtext_selectSingleNode( IXMLDOMText *iface, BSTR p, IXMLDOMNode** outNode) { domtext *This = impl_from_IXMLDOMText( iface ); return IXMLDOMNode_selectSingleNode( IXMLDOMNode_from_impl(&This->node), p, outNode ); }
static HRESULT WINAPI dom_pi_selectSingleNode( IXMLDOMProcessingInstruction *iface, BSTR p, IXMLDOMNode** outNode) { dom_pi *This = impl_from_IXMLDOMProcessingInstruction( iface ); return IXMLDOMNode_selectSingleNode( This->node, p, outNode ); }
static HRESULT WINAPI entityref_selectSingleNode( IXMLDOMEntityReference *iface, BSTR p, IXMLDOMNode** outNode) { entityref *This = impl_from_IXMLDOMEntityReference( iface ); return IXMLDOMNode_selectSingleNode( IXMLDOMNode_from_impl(&This->node), p, outNode ); }
static HRESULT WINAPI domcomment_selectSingleNode( IXMLDOMComment *iface, BSTR p, IXMLDOMNode** outNode) { domcomment *This = impl_from_IXMLDOMComment( iface ); return IXMLDOMNode_selectSingleNode( This->node, p, outNode ); }
static HRESULT WINAPI domattr_selectSingleNode( IXMLDOMAttribute *iface, BSTR p, IXMLDOMNode** outNode) { domattr *This = impl_from_IXMLDOMAttribute( iface ); return IXMLDOMNode_selectSingleNode( This->node, p, outNode ); }
void kuhl_m_iis_apphost_apppool(int argc, wchar_t * argv[], IXMLDOMDocument *pXMLDom, IXMLDOMNode *pNode) { PWSTR gen; IXMLDOMNode *pProcessModelNode; if(gen = kull_m_xml_getAttribute(pNode, L"name")) { kprintf(L"\n* ApplicationPool: \'%s\'\n", gen); LocalFree(gen); if((IXMLDOMNode_selectSingleNode(pNode, L"processModel", &pProcessModelNode) == S_OK) && pProcessModelNode) { if(gen = kull_m_xml_getAttribute(pProcessModelNode, L"userName")) { kprintf(L" Username: %s\n", gen); LocalFree(gen); if(gen = kull_m_xml_getAttribute(pProcessModelNode, L"password")) { kprintf(L" Password: %s\n", gen); kuhl_m_iis_maybeEncrypted(argc, argv, pXMLDom, gen); LocalFree(gen); } } } } }