debug : CoInitialize执行的时机
发布日期:2021-06-30 22:16:57
浏览次数:2
分类:技术文章
本文共 454 字,大约阅读时间需要 1 分钟。
BUG现象:
注入DLL使用COM接口, 被注入的程序也使用COM接口.
在注入DLL的DLL_PROCESS_ATTACH调用CoInitialize, DLL_PROCESS_DETACH中调用CoUninitialize.
导致被注入的DLL宿主程序COM接口使用不正常.
BUG原因:
MSDN中对于COM初始化函数是这样描述的:
Because there is no way to control the order in which in-process servers are loaded or unloaded,
do not call CoInitialize, CoInitializeEx, or CoUninitialize from the DllMain function.
解决方法:
在注入DLL中, 需要调用COM接口时. COM初始化 => 调用COM接口 => COM反初始化.
这个BUG, 出现在我负责的组件中, 同事帮找出原因的, 他们看文档真仔细. 很佩服.
转载地址:https://lostspeed.blog.csdn.net/article/details/7927176 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
不错!
[***.144.177.141]2024年04月18日 16时03分10秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
CodeForces - 675A Infinite Sequence(简单数论 细节)
2019-04-30
CodeForces - 1042B Vitamins (思维)
2019-04-30
ACM 2013 长沙区域赛 Collision (几何)
2019-04-30
ACM 2014 鞍山区域赛 E - Hatsune Miku (dp)
2019-04-30
反向传播&梯度下降 的直观理解程序(numpy)
2019-04-30
CodeForces - 931B World Cup (思维 模拟)
2019-04-30
ACM 2017 北京区域赛 J-Pangu and Stones(区间dp)
2019-04-30
mac || Linux 命令行下实现批量重命名
2019-04-30
java常用类 String面试题
2019-04-30
Windows10下的powershell美化教程
2019-04-30
利用ffmpeg合并音频和视频
2019-04-30
刷好老毛子系统进不了老毛子系统后台的解决办法
2019-04-30
Parallels Desktop 16 不能联网的解决办法
2019-04-30
solr修改schema文件(solr修改配置文件)
2019-04-30
select下拉框分组展示插件的使用--(select-mania插件的使用)
2019-04-30
Java Lambda表达式的应用--Stream API操作集合框架
2019-04-30
solr的使用详解
2019-04-30