我有一个 dll,它实际上是一个注册的 com 服务,然后由另一个 .exe 进程加载。我希望当用户退出 .exe 以在为时已晚之前从我的 dll 中执行一些资源关闭步骤。我试图从我的 DLL 的 DllMain 中截获 DLLPROCESSSDETACH 或 DLLTHREADDETACH 但似乎当它到达那里时,已经为时已晚,因为我的 DLL 启动的线程(我需要执行关闭步骤)已经停止了?!当然,我不控制 .exe 代码,否则我会从那里调用一个调用来在它退出之前执行那些干净的关闭步骤。我只能处理 DLL 本身。似乎也没有调用 DllCanUnloadNow 或 DllUnregisterServer 。
有没有人可以解决这种情况?
提前感谢您的任何意见。