Microsoft DirectX 8.0 (C++) |
DirectInput® オブジェクトを作成し、IDirectInput8 またはそれ以降のインターフェイスを返す。
HRESULT WINAPI DirectInput8Create( HINSTANCE hinst, DWORD dwVersion, REFIID riidltf, LPVOID* ppvOut, LPUNKNOWN punkOuter );
DLL が親のアプリケーションのハンドルを渡すと、エラーとなる。たとえば、Web ページに埋め込まれていて DirectInput を使用する ActiveX® コントロールは、Web ブラウザのハンドルではなく、それ自身のインスタンスのハンドルを渡さなければならない。これにより、DirectInput がそのコントロールを認識し、必要と思われる特別な動作をすべて有効にすることが確実になる。
成功した場合は、DI_OK を返す。
失敗した場合は、次のエラー値のいずれかを返す。
DIERR_BETADIRECTINPUTVERSION |
DIERR_INVALIDPARAM |
DIERR_OLDDIRECTINPUTVERSION |
DIERR_OUTOFMEMORY |
この関数が作成する DirectInput オブジェクトは、Dinput8d.dll に実装される。この実装では、DirectX 8.0 より前のバージョンのインターフェイスを取得できない。以前のバージョンを使用するには、DirectInputCreate または DirectInputCreateEx で DirectInput オブジェクトを作成する。これらは Dinput.lib にある。
punkOuter = NULL を指定してこの関数を呼び出すことは、CoCreateInstance(&CLSID_DirectInput8, punkOuter, CLSCTX_INPROC_SERVER, &IID_IDirectInput8W, lplpDirectInput) を使用してオブジェクトを作成した後、IDirectInput8::Initialize で初期化することと同等である。
punkOuter != NULL を指定してこの関数を呼び出すことは、CoCreateInstance(&CLSID_DirectInput8, punkOuter, CLSCTX_INPROC_SERVER, &IID_IUnknown, lplpDirectInput) を使用してオブジェクトを作成することと同等である。集成したオブジェクトは手動で初期化しなければならない。
Windows NT/2000 : Windows 2000 以降に対する再配布可能ファイルとして提供。
Windows 95/98 : Windows 95 以降に対する再配布可能ファイルとして提供。
ヘッダー : dinput.h で宣言。
インポート ライブラリ : dinput8.lib を使用。