Commit 46964179 authored by Huw Davies's avatar Huw Davies Committed by Alexandre Julliard

msxml3: Support both v 2.x and 3.0 version independent clsids as well as the v…

msxml3: Support both v 2.x and 3.0 version independent clsids as well as the v 3.0 version dependent clsid.
parent 9e1284df
...@@ -141,7 +141,9 @@ HRESULT WINAPI DllGetClassObject( REFCLSID rclsid, REFIID iid, LPVOID *ppv ) ...@@ -141,7 +141,9 @@ HRESULT WINAPI DllGetClassObject( REFCLSID rclsid, REFIID iid, LPVOID *ppv )
TRACE("%s %s %p\n", debugstr_guid(rclsid), debugstr_guid(iid), ppv ); TRACE("%s %s %p\n", debugstr_guid(rclsid), debugstr_guid(iid), ppv );
if( IsEqualGUID( rclsid, &CLSID_DOMDocument ) ) if( IsEqualGUID( rclsid, &CLSID_DOMDocument ) || /* Version indep. v 2.x */
IsEqualGUID( rclsid, &CLSID_DOMDocument2 ) || /* Version indep. v 3.0 */
IsEqualGUID( rclsid, &CLSID_DOMDocument30 ) ) /* Version dep. v 3.0 */
cf = (IClassFactory*) &domdoccf.lpVtbl; cf = (IClassFactory*) &domdoccf.lpVtbl;
if ( !cf ) if ( !cf )
......
...@@ -31,6 +31,11 @@ ...@@ -31,6 +31,11 @@
#include "msxml.h" #include "msxml.h"
#include "xmldom.h" #include "xmldom.h"
#include "xmldso.h" #include "xmldso.h"
#include "msxml2.h"
/* undef the #define in msxml2 so that we can access the v.2 version
independent CLSID as well as the v.3 one. */
#undef CLSID_DOMDocument
#include "msxml_private.h" #include "msxml_private.h"
...@@ -529,6 +534,22 @@ static struct regsvr_coclass const coclass_list[] = { ...@@ -529,6 +534,22 @@ static struct regsvr_coclass const coclass_list[] = {
"Microsoft.XMLDOM", "Microsoft.XMLDOM",
"1.0" "1.0"
}, },
{ &CLSID_DOMDocument2,
"XML DOM Document",
NULL,
"msxml3.dll",
"Both",
"Msxml2.DOMDocument",
"3.0"
},
{ &CLSID_DOMDocument30,
"XML DOM Document 3.0",
NULL,
"msxml3.dll",
"Both",
"Msxml2.DOMDocument",
"3.0"
},
{ &CLSID_DOMFreeThreadedDocument, { &CLSID_DOMFreeThreadedDocument,
"Free threaded XML DOM Document", "Free threaded XML DOM Document",
NULL, NULL,
...@@ -589,6 +610,16 @@ static struct progid const progid_list[] = { ...@@ -589,6 +610,16 @@ static struct progid const progid_list[] = {
&CLSID_DOMDocument, &CLSID_DOMDocument,
"Microsoft.XMLDOM.1.0" "Microsoft.XMLDOM.1.0"
}, },
{ "Msxml2.DOMDocument",
"XML DOM Document",
&CLSID_DOMDocument2,
"Msxml2.DOMDocument.3.0"
},
{ "Msxml2.DOMDocument.3.0",
"XML DOM Document 3.0",
&CLSID_DOMDocument30,
NULL
},
{ "Microsoft.FreeThreadedXMLDOM", { "Microsoft.FreeThreadedXMLDOM",
"Free threaded XML DOM Document", "Free threaded XML DOM Document",
&CLSID_DOMFreeThreadedDocument, &CLSID_DOMFreeThreadedDocument,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment