连接点调用后程序崩溃,输出中线程退出代码为0xc0000417
WPF程序调用我的CLI库,CLI库会调用COM接口。接口被调用后,会触发一个连接点。接口是在WPF的UI线程中调用的。
在CLI中我启动了一个线程用于Advise连接点,线程开始处调用了CoInitializeEx(NULL, COINIT_MULTITHREADED)。现在的问题是,该连接点的部分函数调用成功,但是有的函数会导致异常,使得程序崩溃。这个函数即使直接返回S_OK,也会导致程序退出。这是怎么回事呢?
COM是使用ATL编写的,定义了_ATL_FREE_THREADED