Прерывается FinalRelease последнего объекта.
От: serezhin  
Дата: 27.12.08 23:44
Оценка:
Есть dll сервер на ATL. Его использует клиент на C#.
Клиент создает основной класс сервера, инициализит его hwnd какого-то своего окна и дальше пользуется методами основного класса.
Дальше я закрываю приложение-клиент, основной объект сервера начинает удалаться. Это довольно длительный процесс в FinalRelease.
Разрушение до конца не доходит.
В середине разрушения я получаю DLL_PROCESS_DETACH, при этом m_nLockCnt=2 и начинаю проходить массив вызовов CRT atexit
Breakpoint на DLL_THREAD_DETACH меняет всю картину поведения на корректную.

AtlGetVersion = 0x0900

Я newbie в ATL и COM, поэтому мог сделать глупость.
atl com interop
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.