On 05.03.2021 16:12, Rémi Bernon wrote:
On 3/5/21 2:51 PM, Jacek Caban wrote:
It's missing IID_IAgileObject interface now and it generally just duplicates installed_voices_static_QueryInterface. The usual practice is to have one QueryInterface implementation per object and forward other calls. Same for AddRef and Release (at least in case where we have actual ref counting).
Note static objects don't need ref counting at all, because you don't have the destructor anyway. If there is a reason to have reference counting, then patch 3 is missing AddRef call.
From basic tests it looks like it's supposed to be actually refcounted on Windows, and destructed if released too many times. I'm not sure if it's worth implementing such behavior?
In my opinion, it's not interesting to follow Windows in such cases (but I wouldn't mind it, as long as COM rules are followed).
Jacek