позвать IUnknown::Release?
FinalReleaseComObject ?
Marshal.ReleaseComObject кажись проканало
Marshal.Release
Оно хочет указатель
Это умри намертво. В цикле пока не ноль
Ну а ты хочешь объект получается?
Да, у меня в руках ссылка на IUnknown.
Подожди. У тебя ссылка или объект RCW?
У меня ITfThreadMgr, managed reference. Под ней там RCW, кажется.
А зачем? Оно само позовет (при диспозе или в финализаторе)
При каком диспозе
(это не точно но) там наверно над ком обектом создается нет-врапер, и когда он все, оно (где-то там впотрохах) само вызовет Release настоящему ком обекту. Вроде враперы для оле аутомайшн офиса так работали
Я живу по таким принципам. Если сам позвал CoCreateInstance — сам зовёшь Release. Если сам позвал конструктор — то ничего не зовёшь, ждёшь пока оно сомо.
Ну если сам создал и пойнтер, то да. Но вроде ж нет умеет както нативно с комом интеропиться..
Обсуждают сегодня