> So don't we need a second function too, that given an index, > returns the metadata for a plugin in the dll? You could do that, or you could keep an index of CLSIDs (and the DLLs to load them) elsewhere. In Windows/COM, these live in registry under HKEY_CLASSES_ROOT\CLSID. When you CoCreate an object, the OS finds it's DLL via a registry lookup, loads the DLL, then calls DllGetClassObject to get a factory. I think we would omit the registry part and put the CLSIDs in meta-data. ---------------------------------------------------------------------- Generalized Music Plugin Interface (GMPI) public discussion list Participation in this list is contingent upon your abiding by the following rules: Please stay on topic. You are responsible for your own words. Please respect your fellow subscribers. Please do not redistribute anyone else's words without their permission. Archive: //www.freelists.org/archives/gmpi Email gmpi-request@xxxxxxxxxxxxx w/ subject "unsubscribe" to unsubscribe