Platform SDK: DirectX

IDirectInputDevice7::CreateEffect

IDirectInputDevice7::CreateEffect メソッドは、エフェクトの GUID によって識別されるエフェクトのインスタンスを作成、初期化する。

HRESULT CreateEffect(
  REFGUID rguid,                 
  LPCDIEFFECT lpeff,             
  LPDIRECTINPUTEFFECT * ppdeff,  
  LPUNKNOWN punkOuter            
);

パラメータ

rguid
作成するエフェクトの識別情報。これは事前定義されたエフェクト GUID でも、あるいは IDirectInputDevice7::EnumEffects から得られる GUID でもよい。

以下のエフェクト GUID が定義されている。

lpeff
作成されたエフェクトにパラメータを与える DIEFFECT 構造体。このパラメータは、オプションである。NULL の場合、エフェクト オブジェクトは、パラメータなしで作成される。次に、アプリケーションは、IDirectInputEffect::SetParameters メソッドを呼び出し、エフェクトをダウンロードする前にエフェクトのパラメータを設定しなければならない。
ppdeff
成功時に IDirectInputEffect インターフェイスへのポインタを受け取る変数のアドレス。
punkOuter
COM 集合化に対する制御オブジェクトの IUnknown インターフェイスのアドレス。インターフェイスが集合化されない場合、値は NULL である。普通、呼び出し側は NULL を渡す。

戻り値

成功すれば DI_OK を返す。

失敗すれば次のエラー値のいずれかを返す。

DIERR_DEVICENOTREG
DIERR_DEVICEFULL
DIERR_INVALIDPARAM
DIERR_NOTINITIALIZED

戻り値が S_OK である場合、エフェクトは作成済みで、エフェクトのパラメータは更新済みであるが、エフェクトをダウンロードする必要がなかったことを示す。エフェクトをダウンロードするには、デバイスを排他モードで取得しなければならない。

動作環境

  Windows NT/2000 :Windows 2000 が必要。
  Windows 95/98 : Windows 95 以降が必要。Windows 95 用に再配布可能な形で使用可能。
  ヘッダー : dinput.h で宣言。
  インポート ライブラリ : dinput.lib を使用。