描述:
大家知道在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
}