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 )
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;
if ( !cf )
......
......@@ -31,6 +31,11 @@
#include "msxml.h"
#include "xmldom.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"
......@@ -529,6 +534,22 @@ static struct regsvr_coclass const coclass_list[] = {
"Microsoft.XMLDOM",
"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,
"Free threaded XML DOM Document",
NULL,
......@@ -589,6 +610,16 @@ static struct progid const progid_list[] = {
&CLSID_DOMDocument,
"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",
"Free threaded XML DOM Document",
&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