On 16. 06. 2009 12:33, Francois Gouget wrote:
So all the code in dlls/dmime/tool.c was unused because nothing was calling DMUSIC_CreateDirectMusicTool8Impl(). Apparently the intent was to call it from a class factory so I looked around and came up with the following patch that implements a class factory for DirectMusicTool8. However I have never implemented a class factory before and don't know much about them.
So does this patch make sense?
Does the fact that we have an IID_IDirectMusicTool8 instead of a CLSID_XXX hint at something I'm missing?
How come this was not done when the file was first added?
That said IDirectMusicTool8Impl looks like one big stub. So if it makes more sense to remove it entirely I can do that too.
The honest answer would be that because back in the day when I was working on it, I didn't fully understand how COM works, particularly the difference between class object and interface. As a result, there's bunch of .c files containing stubbed code for interfaces as if they were class objects, when they really aren't. And as such, they should be removed...
Regards, Rok