Should help with http://bugs.winehq.org/show_bug.cgi?id=22607
+ V_VT(&v) = VT_BSTR; + V_BSTR(&v) = SysAllocString(data); - hr = node_put_value(node_obj, &v_data); Allocating a string only because it's needed for VariantChangeType (back to the string) seems like a bad design. How about moving xmlNodeSetContent call (and supporting xmlChar_from_wchar) to separated function (node_set_content?) from node_put_value and call it directly here? Jacek