rv = compMgr->CreateInstance( clsId, nsnull, kImportModuleIID, (void **) &module);
rv = compMgr->CreateInstance( clsId, nsnull, NS_GET_IID(nsIImportModule), (void **) &module);
nsresult nsImportService::LoadModuleInfo( const char *pClsId, const char *pSupports){	if (!pClsId || !pSupports)		return( NS_OK);	if (m_pModules == nsnull)		m_pModules = new nsImportModuleList();			// load the component and get all of the info we need from it....	// then call AddModule	nsresult	rv;   	NS_WITH_SERVICE( nsIComponentManager, compMgr, kComponentManagerCID, &rv);	if (NS_FAILED(rv)) return rv;		nsCID				clsId;	clsId.Parse( pClsId);	nsIImportModule *	module;	rv = compMgr->CreateInstance( clsId, nsnull, kImportModuleIID, (void **) &module);	if (NS_FAILED(rv)) return rv;		nsString	theTitle;		nsString	theDescription;	PRUnichar *	pName;	rv = module->GetName( &pName);	if (NS_SUCCEEDED( rv)) {		theTitle = pName;		delete [] pName;	}	else		theTitle = "Unknown";			rv = module->GetDescription( &pName);	if (NS_SUCCEEDED( rv)) {		theDescription = pName;		delete [] pName;	}	else		theDescription = "Unknown description";		// call the module to get the info we need	m_pModules->AddModule( clsId, pSupports, theTitle.GetUnicode(), theDescription.GetUnicode());		module->Release();		return NS_OK;}