some questions (required for my dmusic work)
John K. Hohm
jhohm at acm.org
Mon Aug 18 17:57:26 CDT 2003
> 2. I still can't figure how to implement interface that consist of two
> interfaces (I have IDirectMusicLoaderStream which should consist of
> IStream and IDirectMusicGetLoader). Can someone send me detailed
> instructions how to do it? (I can't find any examples)
I think what you want to do is implement two interfaces in one object, which is
a bit different than putting two interfaces in one interface (every interface
has IUnknown in it).
For an example, see the implementation of the StdComponentCategoriesMgr in
dlls/comcat, which might be slightly unusual because there is just one static
instance rather than potentially many dynamically created instances. The
implementation is broken down like this:
comcat_private.h
declaration of ComCatMgrImpl struct with three Vtbl pointers
manager.c
implementation of IUnknown, used by other interface impls too, and
static ComCatMgrImpl instance, would normally be alloc'd and init'd
information.c
implementation of ICatInformation, partially forwards to IUnknown
register.c
implementation of ICatRegister, partially forwards to IUnknown
There are probably other examples, but that is one I'm familiar with.
More information about the wine-devel
mailing list