我正在创建D3D光标,所以首先我制作了Surface&质地。 这样做,我遇到了GetSurfaceLevel()函数的错误。
0x5B494B11处的未处理异常 0xC0000005:访问冲突读取位置0x00000000。
代码:
D3DXCreateTextureFromFile( g_D3dDevice, L"cursor1.bmp", &g_cursortex );
g_cursortex->GetSurfaceLevel( 0, &g_surfcursor );
g_D3dDevice->SetCursorProperties( 0, 0, g_surfcursor );
g_D3dDevice->ShowCursor( TRUE );
我该怎么办?
答案 0 :(得分:2)
Unhandled exception at 0x5B494B11 0xC0000005: Access violation reading location 0x00000000.
这种错误是由取消引用NULL指针引起的,检查是否已成功创建纹理。在调用g_cursortex->GetSurfaceLevel( 0, &g_surfcursor );
HRESULT hr = D3DXCreateTextureFromFile( g_D3dDevice, L"cursor1.bmp", &g_cursortex );
if (SUCCEEDED(hr))
{
g_cursortex->GetSurfaceLevel( 0, &g_surfcursor );
g_D3dDevice->SetCursorProperties( 0, 0, g_surfcursor );
}