Home | Info | Community | Development | myReactOS | Contact Us
Definition at line 142 of file factory.c.
{ IClassFactory *cf = NULL; TRACE("%s %s %p\n", debugstr_guid(rclsid), debugstr_guid(iid), ppv ); if( IsEqualCLSID( rclsid, &CLSID_DOMDocument ) || /* Version indep. v 2.x */ IsEqualCLSID( rclsid, &CLSID_DOMDocument2 ) || /* Version indep. v 3.0 */ IsEqualCLSID( rclsid, &CLSID_DOMDocument30 )|| /* Version dep. v 3.0 */ IsEqualCLSID( rclsid, &CLSID_DOMDocument40 )) /* Version dep. v 4.0 */ { cf = (IClassFactory*) &domdoccf.lpVtbl; } else if( IsEqualCLSID( rclsid, &CLSID_XMLSchemaCache ) || IsEqualCLSID( rclsid, &CLSID_XMLSchemaCache30 ) ) { cf = (IClassFactory*) &schemacf.lpVtbl; } else if( IsEqualCLSID( rclsid, &CLSID_XMLDocument ) ) { cf = (IClassFactory*) &xmldoccf.lpVtbl; } else if( IsEqualCLSID( rclsid, &CLSID_DOMFreeThreadedDocument ) || /* Version indep. v 2.x */ IsEqualCLSID( rclsid, &CLSID_FreeThreadedDOMDocument ) || IsEqualCLSID( rclsid, &CLSID_FreeThreadedDOMDocument30 )) { cf = (IClassFactory*) &domdoccf.lpVtbl; } else if( IsEqualCLSID( rclsid, &CLSID_SAXXMLReader) || IsEqualCLSID( rclsid, &CLSID_SAXXMLReader30 ) || IsEqualCLSID( rclsid, &CLSID_SAXXMLReader40 )) { cf = (IClassFactory*) &saxreadcf.lpVtbl; } else if( IsEqualCLSID( rclsid, &CLSID_XMLHTTPRequest)) { cf = (IClassFactory*) &httpreqcf.lpVtbl; } if ( !cf ) return CLASS_E_CLASSNOTAVAILABLE; return IClassFactory_QueryInterface( cf, iid, ppv ); }