为什么我的程序运行到这里lpddsback->Blt(&dest_rect,temp, &source_rect, DDBLT_WAIT, NULL);
就出现game.exe 中的 0x00411bbf 处未处理的异常: 0xC0000005: 读取位置 0x00000000 时发生访问冲突有人知道没有

解决方案 »

  1.   

    发现后缓冲没有建立 不知道为什么memset(&ddsd,0,sizeof(ddsd));
    ddsd.dwFlags=DDSD_CAPS|DDSD_BACKBUFFERCOUNT;
    ddsd.dwBackBufferCount=1;
    ddsd.ddsCaps.dwCaps=DDSCAPS_PRIMARYSURFACE|DDSCAPS_COMPLEX|DDSCAPS_FLIP;
    if(FAILED(lpdd->CreateSurface(&ddsd,&lpddsprimary,NULL))){return 0;};
    ddsd.ddsCaps.dwCaps=DDSCAPS_BACKBUFFER;
    if(FAILED(lpddsprimary->GetAttachedSurface(&ddsd.ddsCaps,&lpddsback))){return 0;};这样建立有错么
      

  2.   

    lpdd->CreateSurface(&ddsd,&lpddsprimary,NULL)
    ls指的是这个吗?为什么不可以啊?