Microsoft DirectX 8.0 (C++)

DirectInput8Create

DirectInput® オブジェクトを作成し、IDirectInput8 またはそれ以降のインターフェイスを返す。

HRESULT WINAPI DirectInput8Create(
  HINSTANCE hinst, 
  DWORD dwVersion, 
  REFIID riidltf,
  LPVOID* ppvOut,  
  LPUNKNOWN punkOuter
);

パラメータ

hinst
DirectInput オブジェクトを作成するアプリケーションまたは DLL のインスタンス ハンドル。DirectInput は、この値を使用して、アプリケーションまたは DLL が、オブジェクト作成の資格を認められているかどうかを判断し、下位互換性のために取るべき特別な動作を確定する。

DLL が親のアプリケーションのハンドルを渡すと、エラーとなる。たとえば、Web ページに埋め込まれていて DirectInput を使用する ActiveX® コントロールは、Web ブラウザのハンドルではなく、それ自身のインスタンスのハンドルを渡さなければならない。これにより、DirectInput がそのコントロールを認識し、必要と思われる特別な動作をすべて有効にすることが確実になる。

dwVersion
アプリケーションの設計対象である DirectInput のバージョン番号。この値は通常、DIRECTINPUT_VERSION である。Dinput.h ファイルをインクルードする前にアプリケーションが DIRECTINPUT_VERSION を定義する場合、その値は 0x0700 以上でなければならない。以前のバージョンでは DirectInputCreateEx を使用する。これは Dinput.lib に定義されている。
riidltf
目的のインターフェイスの一意な識別子。DirectX 8.0 では、この値は IID_IDirectInput8A または IID_IDirectInput8W である。IID_IDirectInput8 定義を渡すことにより、コンパイル時に UNICODE が定義されている場合は Unicode バージョン、定義されていない場合は ANSI バージョンのインターフェイスが選択される。
ppvOut
コールの成功時にインターフェイス ポインタを受け取る変数へのポインタのアドレス。
punkOuter
COM 集成体に対する制御オブジェクトの IUnknown インターフェイスのアドレスへのポインタ。インターフェイスが集成されていない場合には NULL。普通、呼び出し側は NULL を渡す。集成が要求された場合、*ppvOut に返されるオブジェクトは、COM 集成体が要求するように、IUnknown へのポインタである。

戻り値

成功した場合は、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 を使用。