Platform SDK: DirectX |
IDirectInputDevice7::GetEffectInfo メソッドを使うと、GUID が判明しているエフェクトについて、そのデバイスのサポート情報を取得できる。このメソッドは、DIEFFECTINFO 構造体で返される情報と同じ情報を列挙中に取得する。詳細については、「エフェクトの列挙」を参照すること。
次のサンプル コードは、EffectGuid 変数に GUID が格納されているエフェクトに関する情報を取得し、エフェクトを停止または再起動せずにエフェクトの方向を変更できるかどうかを調べる。
DIEFFECTINFO diEffectInfo; diEffectInfo.dwSize = sizeof(DIEFFECTINFO); lpdid2->GetEffectInfo(&diEffectInfo, EffectGuid); if (diEffectInfo.dwDynamicParams & DIEP_DIRECTION) { // パラメータは動的にリセットできる。 }
DirectX for Visual Basic では、サポートされるエフェクトに関する情報は、DirectInputEnumEffects 列挙オブジェクトから取得しなければならない。「エフェクトの列挙」を参照すること。
次のサンプル コードは、最初に列挙されたエフェクトに関する情報を取得して、そのエフェクトを停止または再起動せずにエフェクトの方向を変更できるかどうかを調べる。
' diEnumEffects は初期化された DirectInputEnumEffects オブジェクトである。 Dim params As Long params = diEnumEffects.GetDynamicParams(1) If params And DIEP_DIRECTION Then Debug.Print "エフェクトの方向は動的である。" End If