d3dpp.Windowed = false时CreateOffscreenPlainSurface处发生0xC0000005: 读取位置 0x00000000
时间:2011-09-20
来源:互联网
在win32中提取图片并播放,在运行时总是在g_pd3dDevice->CreateOffscreenPlainSurface(gImageWidth*2, gImageHeight,D3DFMT_A8R8G8B8, D3DPOOL_DEFAULT, &gImageSrc, NULL)处发生 0xC0000005: 读取位置 0x00000000 时发生访问冲突。
当我把d3dpp.Windowed = false改为d3dpp.Windowed = true时可以正常播放。哪位高手可以告诉我为什么吗?
我的代码
D3DPRESENT_PARAMETERS d3dpp;
ZeroMemory(&d3dpp, sizeof(d3dpp));
d3dpp.Windowed = false;
d3dpp.SwapEffect = D3DSWAPEFFECT_DISCARD;
d3dpp.hDeviceWindow = hWnd;
d3dpp.BackBufferFormat =D3DFMT_A8R8G8B8;
d3dpp.BackBufferWidth = 1600;
d3dpp.BackBufferHeight = 1200;
d3dpp.EnableAutoDepthStencil = TRUE;
d3dpp.AutoDepthStencilFormat = D3DFMT_D16;
d3dpp.PresentationInterval = D3DPRESENT_INTERVAL_ONE;
d3dpp.BackBufferCount = 1;
d3dpp.Flags=0;
d3dpp.FullScreen_RefreshRateInHz=D3DPRESENT_RATE_DEFAULT;
g_pD3D->CreateDevice( D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL,hWnd,vp, &d3dpp,&g_pd3dDevice);
//create offscreenplainsurface and load the stereo image "TestPic.bmp" ( width is gImageWidth*2 and height is gImageHeight )
g_pD3D->Release();
g_pd3dDevice->CreateOffscreenPlainSurface(gImageWidth*2, gImageHeight,D3DFMT_A8R8G8B8, D3DPOOL_DEFAULT, &gImageSrc, NULL);
D3DXLoadSurfaceFromFile(gImageSrc, NULL, NULL,L"E:/猪猪.bmp", NULL, D3DX_FILTER_NONE, 0, NULL);
当我把d3dpp.Windowed = false改为d3dpp.Windowed = true时可以正常播放。哪位高手可以告诉我为什么吗?
我的代码
D3DPRESENT_PARAMETERS d3dpp;
ZeroMemory(&d3dpp, sizeof(d3dpp));
d3dpp.Windowed = false;
d3dpp.SwapEffect = D3DSWAPEFFECT_DISCARD;
d3dpp.hDeviceWindow = hWnd;
d3dpp.BackBufferFormat =D3DFMT_A8R8G8B8;
d3dpp.BackBufferWidth = 1600;
d3dpp.BackBufferHeight = 1200;
d3dpp.EnableAutoDepthStencil = TRUE;
d3dpp.AutoDepthStencilFormat = D3DFMT_D16;
d3dpp.PresentationInterval = D3DPRESENT_INTERVAL_ONE;
d3dpp.BackBufferCount = 1;
d3dpp.Flags=0;
d3dpp.FullScreen_RefreshRateInHz=D3DPRESENT_RATE_DEFAULT;
g_pD3D->CreateDevice( D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL,hWnd,vp, &d3dpp,&g_pd3dDevice);
//create offscreenplainsurface and load the stereo image "TestPic.bmp" ( width is gImageWidth*2 and height is gImageHeight )
g_pD3D->Release();
g_pd3dDevice->CreateOffscreenPlainSurface(gImageWidth*2, gImageHeight,D3DFMT_A8R8G8B8, D3DPOOL_DEFAULT, &gImageSrc, NULL);
D3DXLoadSurfaceFromFile(gImageSrc, NULL, NULL,L"E:/猪猪.bmp", NULL, D3DX_FILTER_NONE, 0, NULL);
作者: fffrabbit 发布时间: 2011-09-20
没人回答吗?自己顶一下
作者: fffrabbit 发布时间: 2011-09-21
谁知道的告诉我一声么
作者: fffrabbit 发布时间: 2011-09-21
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28