Platform SDK: DirectX

IDirectInputEffect::Initialize

IDirectInputEffect::Initialize メソッドは、DirectInputEffect オブジェクトを初期化する。

HRESULT Initialize(
  HINSTANCE hinst,  
  DWORD dwVersion,  
  REFGUID rguid     
);

パラメータ

hinst
DirectInputEffect オブジェクトを作成するアプリケーションまたは DLL のインスタンス ハンドル。DirectInput は、この値を使用して、アプリケーションまたは DLL が、オブジェクト作成の資格を認められているかどうかを判断し、下位互換性のために取るべき特別な動作を確定する。DLL が親のアプリケーションのハンドルを渡すと、エラーとなる。
dwVersion
アプリケーションの設計対象である DirectInput のバージョン番号。この値は通常、DIRECTINPUT_VERSION である。以前のバージョン番号を渡すと、DirectInput がそのバージョンをエミュレートすることになる。詳細については、「前のバージョンの DirectInput の設計」を参照すること。
rguid
インターフェイスが関連付けられているエフェクトの識別子。IDirectInputDevice7::EnumEffects メソッドを使用して、デバイスがどのエフェクト GUID をサポートしているかを確認できる。

戻り値

成功すれば DI_OK を返す。

失敗すれば DIERR_DEVICENOTREG を返す。

注意

このメソッドが失敗する場合、基底のオブジェクトは不定の状態にあるものとみなされるので、初期化し直してからでないと以降の使用はできない。

IDirectInputDevice7::CreateEffect メソッドは、エフェクトを作成後、自動的に初期化する。アプリケーションは、通常、Initialize メソッドを呼び出す必要はない。

C++ では、rguid パラメータは参照値として渡さなければならない。C では参照値として渡すことができないので、アドレスとして渡さなければならない。次は、C++ での呼び出し例である。

lpeff->Initialize(g_hinstDll, DIRECTINPUT_VERSION, GUID_Effect);

次は、C での同じ呼び出し例である。

lpeff->lpVtbl->Initialize(lpeff, g_hinstDll, 
                          DIRECTINPUT_VERSION, &GUID_Effect);

動作環境

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