2012年1月10日火曜日

IDirect3D9::GetAdapterCount

Direct3DCreate9()でIDirect3D9オブジェクトを生成したので,そのオブジェクトを使ったコードを書いていってみよう.他のオブジェクトを必要とせずに書けるのはどこまでだろう.

とりあえず,今回はGetAdapterCount().その名の通りアダプタの数を取得する.アダプタというのは,出力先と考えれば良いっぽい.

#include <sdkddkver.h>

#define WIN32_LEAN_AND_MEAN
#include <Windows.h>

#include <tchar.h>
#include <sstream>
typedef std::basic_ostringstream<TCHAR> tostringstream;

#include <d3d9.h>

int APIENTRY _tWinMain(HINSTANCE, HINSTANCE, LPTSTR, int)
{
    // IDirect3D9オブジェクトの生成
    LPDIRECT3D9 pD3D = Direct3DCreate9(D3D_SDK_VERSION);

    // エラーチェック
    if(pD3D == NULL){
        MessageBox(
            NULL,
            TEXT("IDirect3D9のオブジェクトを生成できませんでした."),
            TEXT("失敗"),
            MB_OK
        );
        return -1;
    }

    // GetAdapterCount()の結果を文字列に
    tostringstream msg;
    msg << "GetAdapterCount() == " << pD3D->>GetAdapterCount();

    MessageBox(
        NULL,
        msg.str().c_str(),
        TEXT("結果"),
        MB_OK
    );
    
    // 後始末
    pD3D->Release();

    return 0;
}

複数ディスプレイがある場合に,どのディスプレイに出力するか選べるとかに使うんだろうか? 実は使い道が分かっていない.

0 件のコメント:

コメントを投稿