windows – Image析构函数中的访问冲突

我可能会说一个非常简单的程序..

#include <windows.h>
#include <gdiplus.h>

using namespace Gdiplus;

int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE,LPSTR cmdLine,int nShow){
    // Gdiplus variables
    GdiplusstartupInput mGdiplusstartupInput;
    ULONG_PTR           mGdiplusToken;
    Gdiplusstartup(&mGdiplusToken,&mGdiplusstartupInput,NULL);

    Bitmap bitmap(L"left.bmp");


    GdiplusShutdown(mGdiplusToken);
    return 0;
}

运行此示例时,我在此函数中的GdiplusBitmap.h中获得访问冲突

inline 
Image::~Image()
{
    DllExports::GdipdisposeImage(nativeImage);
}

通过删除对Bitmap位图的调用(L“left.bmp”);一切正常..我试图在msdn上找到一个简单的例子(例如在Bitmap constructor附近的某处,但没有找到任何东西.)

我错过了什么?

解决方法

调用关闭GDI之后,您创建的Bitmap实例超出了范围.因此,当Bitmap被破坏时,它无法调用给定的GdipdisposeImage方法.

如果确保在关闭GDI之前删除位图,则错误应该消失.

相关文章

Windows2012R2备用域控搭建 前置操作 域控主域控的主dns:自...
主域控角色迁移和夺取(转载) 转载自:http://yupeizhi.blo...
Windows2012R2 NTP时间同步 Windows2012R2里没有了internet时...
Windows注册表操作基础代码 Windows下对注册表进行操作使用的...
黑客常用WinAPI函数整理之前的博客写了很多关于Windows编程的...
一个简单的Windows Socket可复用框架说起网络编程,无非是建...