IDirect3DDevice9オブジェクトの生成のリトライ

HRESULT hr;
hr = lpd3d->CreateDevice(
    D3DADAPTER_DEFAULT,
    D3DDEVTYPE_HAL,     // ハードウェア処理
    hWnd,
    D3DCREATE_HARDWARE_VERTEXPROCESSING  // HW頂点処理
    &d3dpp,
    &lpD3ddev
);
その1 初期化なんて怖くないぜ!

これでデバイスの作成ができます。

ただ、色々なサイトを見てるとCreateDeviceに失敗したら別のパターンでCreateDeviceを何度か呼んでみてデバイスが作成されるまで粘る処理をやってますね。

基本的には第二引数と第四引数の指定を変更しながら粘るようです。

何回目 第二引数 第四引数
1回目 D3DDEVTYPE_HAL D3DCREATE_HARDWARE_VERTEXPROCESSING
2回目 D3DDEVTYPE_HAL D3DCREATE_SOFTWARE_VERTEXPROCESSING
3回目 D3DDEVTYPE_REF D3DCREATE_HARDWARE_VERTEXPROCESSING
4回目 D3DDEVTYPE_REF D3DCREATE_SOFTWARE_VERTEXPROCESSING


4回試してみても無理なら動かないということでもう諦めるしかないようですね。