diff --git a/dlls/msxml3/factory.c b/dlls/msxml3/factory.c index 67ed747ab3..a973b04c96 100644 --- a/dlls/msxml3/factory.c +++ b/dlls/msxml3/factory.c @@ -158,6 +158,10 @@ HRESULT WINAPI DllGetClassObject( REFCLSID rclsid, REFIID iid, LPVOID *ppv ) { cf = (IClassFactory*) &xmldoccf.lpVtbl; } + else if( IsEqualCLSID( rclsid, &CLSID_FreeThreadedDOMDocument ) ) + { + cf = (IClassFactory*) &domdoccf.lpVtbl; + } if ( !cf ) return CLASS_E_CLASSNOTAVAILABLE; diff --git a/dlls/msxml3/regsvr.c b/dlls/msxml3/regsvr.c index 9a0d9382b8..3a0c6bd55f 100644 --- a/dlls/msxml3/regsvr.c +++ b/dlls/msxml3/regsvr.c @@ -496,6 +496,23 @@ static struct regsvr_coclass const coclass_list[] = { "Microsoft.FreeThreadedXMLDOM", "1.0" }, + { &CLSID_DOMFreeThreadedDocument, + "Free threaded XML DOM Document", + NULL, + "msxml3.dll", + "Both", + "Microsoft.FreeThreadedXMLDOM", + NULL + }, + { &CLSID_FreeThreadedDOMDocument, + "Free Threaded XML DOM Document", + NULL, + "msxml3.dll", + "Both", + "Microsoft.FreeThreadedXMLDOM.1.0", + "1.0" + }, + { &CLSID_XMLHTTPRequest, "XML HTTP Request", NULL,