przeglądając nasz kod znalazłem ciekawą definicję w jednym z plików .idl:Czy ma sens w oznaczaniu interfejsu pochodnego IUnknown jako podwójnego w IDL?
[
object,
uuid(uuidhere),
dual,
nonextensible,
oleautomation,
hidden
]
interface IOurInterface : IUnknown {
//methods here
};
Jak interfejs pochodzą bezpośrednio od IUnknown
może być podwójny interfejs? Czy coś się zepsuje, jeśli usunę atrybut dual
?
Ach tak, zgadza się. Ponieważ miałeś już "oleautomation", pomyślałem, że to było ukryte ... Nie znałem jednak dokładnej specyfikacji, więc dziękuję za kontynuację! –
Nadal uważam, że powinieneś upewnić się, że obiekt nie odpowiada obecnie na QI dla 'IDispatch' zanim go usuniesz. –
Tak, całkowicie zgadzam się z odpowiedzią QI z IDispatch. – sharptooth