Platform SDK: DirectX

ステップ 1.3 : デバイス情報を列挙する

[C++]

ここでは、Visual Basic でのアプリケーション開発について説明する。C++ については、「Direct3D 直接モードの C/C++ チュートリアル」を参照すること。

[Visual Basic]

デバイスの列挙を開始する前に、現在のディスプレイ デバイスに対する Direct3D オブジェクトを取得する必要がある。

Set g_d3d = g_dd.GetDirect3D()

ここで、Direct3D7.GetDevicesEnum メソッドを呼び出すことにより、Direct3DEnumDevices クラスへの参照を取得する。

Set g_d3dEnumDevices = g_d3d.GetDevicesEnum()
For i = 1 To g_d3dEnumDevices.GetCount()
cmbDevice.AddItem g_d3dEnumDevices.GetName(i)
Next

上記のコードでは、列挙された各デバイスを示す分かりやすい名前を、コンボ ボックス cmbDevice に入れる。Direct3DEnumDevices クラスへの参照を取得したら、列挙されたデバイスの数と、各デバイスに関する情報を返すメソッドを呼び出すことができる。

Direct3DEnumDevices.GetCount メソッドを呼び出すと、列挙されたデバイスの数が返される。最初のデバイスはインデックス 1 であり、0 ではないので注意する。

Direct3DEnumDevices.GetGuid メソッドを呼び出すと、列挙されたデバイスのグローバル ユニーク識別子 (GUID) を表す文字列が返される。

Direct3DEnumDevices.GetName および Direct3DEnumDevices.GetDescription メソッドを呼び出すと、デバイスの名前とユーザーが入力した説明を含む文字列が返される。

Direct3DEnumDevices.GetDesc メソッドを呼び出すと、デバイスの能力の記述が、D3DDEVICEDESC7 型で返される。

ディスプレイ ドライバ、ディスプレイ モード、およびデバイスを列挙したら、アプリケーションで使用するデバイスを選択することができる。これが、「ステップ 2 : 列挙されたデバイスの選択」の説明内容である。