And*_*hko 3 directx direct3d direct3d9
可能是什么原因?
来自DLL_PROCESS_ATTACH上的DllMain()我正在调用IDirect3D9 :: CreateDevice()并且它挂起
代码很简单,就像:
BOOL APIENTRY DllMain( HMODULE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
if (ul_reason_for_call = DLL_PROCESS_ATTACH) {
IDirect3D9* d3d = Direct3DCreate9(D3D_SDK_VERSION);
D3DPRESENT_PARAMETERS pp = {};
pp.BackBufferWidth = 1;
pp.BackBufferHeight = 1;
pp.BackBufferFormat = D3DFMT_X8R8G8B8;
pp.BackBufferCount = 1;
pp.SwapEffect = D3DSWAPEFFECT_DISCARD;
pp.Windowed = TRUE;
IDirect3DDevice9* device = NULL;
HRESULT hr = d3d->CreateDevice(
D3DADAPTER_DEFAULT,
D3DDEVTYPE_HAL,
GetDesktopWindow(),
D3DCREATE_HARDWARE_VERTEXPROCESSING,
&pp,
&device);
device->Release();
d3d->Release();
}
return TRUE;
}
Run Code Online (Sandbox Code Playgroud)
GetDesktopWindow()用于简单,我试图创建自己的窗口并使用它,结果相同
| 归档时间: |
|
| 查看次数: |
1129 次 |
| 最近记录: |