Frage zu Interfaces



  • Hallo Leute,

    ich habe eine Frage zu den Interfaces.
    In einer IDL Datei habe ich ein <<Interface_1>> definiert abgeleitet von IUnknown.
    Dort habe ich ebenfalls ein <<Interface_2>> definiert abgeleitet von <<Interface_1>>.

    In einer Klasse Implementiere ich das <<Interface_2>>.

    Nun habe ich zwei COM dlls welche ich nach der Instanzierung über SetSite einen IUnknown pointer der Klasse übergebe.

    COM Dll 1 holt sich über:
    CComQIPtr<Interface_2, &IID_Interface_2> ipSite(pUnkSite) das Interface.
    Das funktioniert auch.

    COM Dll 2 soll sich über:
    CComQIPtr<Interface_1, &IID_Interface_1> ipSite(pUnkSite) das Interface holen.
    Das funtioniert nicht. Gibt immer null.

    Ich will aber nicht das <<Interface_1>> in der Klasse implementieren, da es ja die gleichen funktionen enthält wie <<Interface_2>>.

    Ich hoffe ihr könnnt mir helfen.


Anmelden zum Antworten