我有一个dll(使用C++和MFC构建),当我尝试注册时
regsvr32 myDll.dll
提示没有显示错误,也没有显示dll已经注册,但在任务管理器上,进程">regsvr32.exe*32"get">卡住"(该进程不消耗任何CPU,不会死亡,只是停留在那里,直到我杀死他)。
该问题是在我在代码中添加CreateTimerQueue后开始的,仅在Windows Server 2003上发生。
根据文档,此功能在WindowsServer2003上被接受。
我的dll是用32位编译的,我在sysWOW64中使用regsvr32,但也尝试在system32中使用。
提前感谢!
看起来其他人在DllMain
中也遇到过与CreateTimerQueue
的死锁-请参阅此。因此,请重新编写代码,使该函数不会从DllMain
调用。