IDirectInputDevice8::Initialize メソッド
IDirectInputDevice8::Initialize メソッド
DirectInputDevice オブジェクトを初期化する。IDirectInput8::CreateDevice メソッドは、デバイスの作成した後に自動的にデバイスを初期化するので、通常、アプリケーションはこのメソッドを呼び出す必要はない。
構文
HRESULT Initialize(
HINSTANCE hinst,
DWORD dwVersion,
REFGUID rguid
);
パラメータ
hinst
DirectInputDevice オブジェクトを作成するアプリケーションまたは DLL のインスタンス ハンドル。Microsoft® DirectInput® は、この値を使って、アプリケーションまたは DLL が認定されているかどうかを判断すると共に、下位互換性のために必要な動作を確立する。DLL が親のアプリケーションのハンドルを渡すとエラーとなる。たとえば、Web ページに埋め込まれていて DirectInput を使う Microsoft ActiveX® コントロールは、Web ブラウザのハンドルではなく、それ自身のインスタンスのハンドルを渡さなければならない。これにより、DirectInput がそのコントロールを認識し、必要と思われる特別な動作をすべて有効にすることが確実になる。
dwVersion
アプリケーションの設計対象である DirectInput のバージョン番号。この値は通常、DIRECTINPUT_VERSION である。以前のバージョン番号を渡すと、DirectInput はそのバージョンをエミュレートする。rguid
C++ の場合、インターフェイスを関連付けるデバイスのインスタンスを識別するグローバル一意識別子 (GUID) に対する参照値。C の場合、この GUID のアドレス。IDirectInput8::EnumDevices メソッドを使うと、システムがどのインスタンス GUID をサポートしているかを確認できる。
戻り値
成功した場合は、DI_OK を返す。S_FALSE を返す場合は、rGUID を介して渡されたインスタンス GUID を持つデバイスは初期化済みである。
失敗した場合は、次のいずれかのエラー値を返す。
DIERR_ACQUIRED | 操作は、デバイスが取得状態の間は実行できない。 |
DIERR_DEVICENOTREG | デバイスまたはデバイス インスタンスが DirectInput に登録されていない。この値は、標準のコンポーネント オブジェクト モデル (COM) 戻り値である REGDB_E_CLASSNOTREG に等しい。 |
注意
このメソッドが失敗する場合は、基になるオブジェクトは不定の状態にあるものと見なして、使用前に再初期化しなければならない。