次の方法で共有


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 宣言