Я знаю, что когда вы создаете и выпускаете класс CComPtr, ссылка увеличивается и уменьшается. Когда ссылка достигает 0, интеллектуальный COM-указатель разрушается.
Я не очень уверен, как COM работает в отношении параллелизма. Если я сброслю / отпущу свой CComPtr, содержащий последнюю ссылку, могу ли я полностью гарантировать, что в следующем lo c деструктор был полностью выполнен?
Я хочу знать, уменьшается ли ссылка и вызов деструктора произойдет в том же потоке, что и сброс последнего указателя com. Я слышал, что обычно это какой-то поток COM, который действительно заботится об этом. Если это так, есть ли способ синхронизировать уничтожение COM с вашим основным рабочим потоком?