Platform SDK: DirectX |
DirectInputCreate 関数は、IDirectInput COM インターフェイスをサポートする DirectInput オブジェクトを作成する。
HRESULT WINAPI DirectInputCreate( HINSTANCE hinst, DWORD dwVersion, LPDIRECTINPUT * lplpDirectInput, LPUNKNOWN punkOuter );
DLL が親のアプリケーションのハンドルを渡すと、エラーとなる。たとえば、Web ページに埋め込まれている DirectInput を使用する ActiveX コントロールは、Web ブラウザのハンドルではなく、それ自身のインスタンスのハンドルを渡さなければならない。これにより、DirectInput がそのコントロールを認識し、必要と思われる特別な動作をすべて有効にすることが確実になる。
成功すれば DI_OK を返す。
失敗すれば次のエラー値のいずれかを返す。
DIERR_BETADIRECTINPUTVERSION |
DIERR_INVALIDPARAM |
DIERR_OLDDIRECTINPUTVERSION |
DIERR_OUTOFMEMORY |
この関数は、DirectInputCreateEx に引き継がれている。新しい関数は、DirectInput オブジェクトの既存のインターフェイスを取得できる。新しい関数を使って、より機能の豊富な IDirectInput7 インターフェイスを取得することを推奨する。
punkOuter = NULL を指定してこの関数を呼び出すことは、CoCreateInstance(&CLSID_DirectInput, punkOuter, CLSCTX_INPROC_SERVER, &IID_IDirectInput, lplpDirectInput) を使用してオブジェクトを作成した後、Initialize で初期化することと同等である。
punkOuter != NULL を指定してこの関数を呼び出すことは、CoCreateInstance(&CLSID_DirectInput, punkOuter, CLSCTX_INPROC_SERVER, &IID_IUnknown, lplpDirectInput) を使用してオブジェクトを作成することと同等である。集合化したオブジェクトは手動で初期化しなければならない。
このサービスは、ANSI と Unicode のバージョンに分かれている。ANSI バージョンは、IDirectInputA インターフェイスをサポートするオブジェクトを作成し、Unicode バージョンは IDirectInputW インターフェイスをサポートするオブジェクトを作成する。文字セットの問題を厳密に区別するその他のシステム サービスと同様に、ヘッダー ファイル内のマクロは、DirectInputCreate を適切な文字セットにマップする。
Windows NT/2000 :Windows 2000 が必要。
Windows 95/98 : Windows 95 以降が必要。Windows 95 用に再配布可能な形で使用可能。
ヘッダー : dinput.h で宣言。
インポート ライブラリ : dinput.lib を使用。