Huw Davies : msxml3: Implement createElement.

Alexandre Julliard julliard at wine.codeweavers.com
Fri Nov 17 11:49:15 CST 2006


Module: wine
Branch: master
Commit: 459dd11f3f0ea95640da3c6b1344440111bac4a3
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=459dd11f3f0ea95640da3c6b1344440111bac4a3

Author: Huw Davies <huw at codeweavers.com>
Date:   Fri Nov 17 14:32:17 2006 +0000

msxml3: Implement createElement.

---

 dlls/msxml3/domdoc.c |   21 +++++++++++++++++++--
 1 files changed, 19 insertions(+), 2 deletions(-)

diff --git a/dlls/msxml3/domdoc.c b/dlls/msxml3/domdoc.c
index 1314811..459e234 100644
--- a/dlls/msxml3/domdoc.c
+++ b/dlls/msxml3/domdoc.c
@@ -694,8 +694,25 @@ static HRESULT WINAPI domdoc_createEleme
     BSTR tagname,
     IXMLDOMElement** element )
 {
-    FIXME("\n");
-    return E_NOTIMPL;
+    xmlNodePtr xmlnode;
+    domdoc *This = impl_from_IXMLDOMDocument( iface );
+    xmlChar *xml_name;
+    IUnknown *elem_unk;
+    HRESULT hr;
+
+    TRACE("%p->(%s,%p)\n", iface, debugstr_w(tagname), element);
+
+    xml_name = xmlChar_from_wchar((WCHAR*)tagname);
+    xmlnode = xmlNewDocNode(get_doc(This), NULL, xml_name, NULL);
+
+    TRACE("created xmlptr %p\n", xmlnode);
+    elem_unk = create_element(xmlnode, NULL);
+    HeapFree(GetProcessHeap(), 0, xml_name);
+
+    hr = IUnknown_QueryInterface(elem_unk, &IID_IXMLDOMElement, (void **)element);
+    IUnknown_Release(elem_unk);
+    TRACE("returning %p\n", *element);
+    return hr;
 }
 
 




More information about the wine-cvs mailing list