IDirectInputDevice8::CreateEffect
エフェクトのグローバル一意識別子 (GUID) によって示されるエフェクトのインスタンスを作成し、初期化します。
HRESULT
CreateEffect(
REFGUID rguid,
LPCDIEFFECT lpeff,
LPDIRECTINPUTEFFECT * ppdeff,
LPUNKNOWN punkOuter
);
パラメータ
- rguid
作成されるエフェクトを示す GUID の参照 (C++) またはアドレス (C)。これには、定義済みエフェクトの GUID、または IDirectInputDevice8::EnumEffects から取得した GUID を指定できます。次の標準的なエフェクト GUID が定義されています。- GUID_ConstantForce
- GUID_RampForce
- GUID_Square
- GUID_Sine
- GUID_Triangle
- GUID_SawtoothUp
- GUID_SawtoothDown
- GUID_Spring
- GUID_Damper
- GUID_Inertia
- GUID_Friction
- GUID_CustomForce
- lpeff
作成されるエフェクトにパラメーターを与える DIEFFECT 構造体。このパラメーターは省略可能です。NULL の場合は、パラメーターのないエフェクト オブジェクトが作成されます。この場合、アプリケーションはエフェクトをダウンロードする前に IDirectInputEffect::SetParameters メソッドを呼び出して、エフェクトのパラメーターを設定する必要があります。 - ppdeff
正常に実行された場合に IDirectInputEffect インターフェイス インターフェイスへのポインターを受け取る変数のアドレス。 - punkOuter
COM 集約の制御不可。インターフェイスが集約されていない場合、この値は NULL です。呼び出し側アプリケーションのほとんどは NULL を渡します。
戻り値
メソッドが正常に実行された場合、戻り値は DI_OK です。メソッドが失敗した場合、戻り値は次のいずれかのエラー値です。DIERR_DEVICEFULL、DIERR_DEVICENOTREG、DIERR_INVALIDPARAM、DIERR_NOTINITIALIZED
解説
戻り値が S_OK ならば、エフェクトが作成され、エフェクトのパラメーターが更新されましたが、エフェクトが確実にダウンロードされたとは限りません。エフェクトをダウンロードするためには、デバイスを排他モードで獲得する必要があります。
要件
ヘッダー: Dinput.h 宣言