Microsoft DirectX 8.0 (C++)

IDirectInputDevice8::CreateEffect

エフェクトの GUID によって識別されるエフェクトのインスタンスを作成、初期化する。

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

パラメータ

rguid
C++ の場合、作成するエフェクトを識別する GUID に対する参照値。C の場合、この GUID のアドレス。これは事前定義されたエフェクト GUID でも、あるいは IDirectInputDevice8::EnumEffects から得られる GUID でもよい。

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

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

戻り値

成功した場合は、DI_OK を返す。

失敗した場合は、次のいずれかのエラー値を返す。

DIERR_DEVICEFULL
DIERR_DEVICENOTREG
DIERR_INVALIDPARAM
DIERR_NOTINITIALIZED

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

動作環境

  Windows NT/2000 : Windows 2000 以降に対する再配布可能ファイルとして提供。
  Windows 95/98 : Windows 95 以降に対する再配布可能ファイルとして提供。
  ヘッダー : dinput.h で宣言。