在ATL中写DLL使用GDI+ Gdiplus时遇到的问题!

Fanjj 2004-02-27 02:16:38
大家知道在VC6中用GDI+ Gdiplus时要初始化GDI+的环境,
我在DllMain中初始化时正常,但在施放时出现问题,
DLL不能退出,出现死机状。
不知是什么原因,请各位高手解惑,有什么方法解决?


extern "C"
BOOL WINAPI DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID /*lpReserved*/)
{
if(dwReason == DLL_PROCESS_ATTACH)
{
_Module.Init(ObjectMap, hInstance, &LIBID_COMSMAPELib);

GdiplusStartupInput gdiplusStartupInput;
GdiplusStartup(& gdiplusToken,& gdiplusStartupInput, NULL);

DisableThreadLibraryCalls(hInstance);
}else if (dwReason == DLL_PROCESS_DETACH)
{
//如果加上下面一句,DLL不能退出,出现死机状。
GdiplusShutdown(gdiplusToken);

_Module.Term();
}
return TRUE; // ok
}

...全文
128 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧