次の方法で共有


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 に等しい。

注意

このメソッドが失敗する場合は、基になるオブジェクトは不定の状態にあるものと見なして、使用前に再初期化しなければならない。