IDirectInput8::CreateDevice
特定のグローバル一意識別子 (GUID) に基づいてデバイスのインスタンスを作成し、初期化します。IDirectInputDevice8 インターフェイス インターフェイスを取得します。
HRESULT
CreateDevice(
REFGUID rguid,
LPDIRECTINPUTDEVICE * lplpDirectInputDevice,
LPUNKNOWN pUnkOuter
);
パラメータ
- rguid
目的の入力デバイスの GUID を参照します (「解説」を参照)。GUID は IDirectInput8::EnumDevices メソッドを使用して取得するか、次に示す定義済み GUID のいずれかを指定できます。次の GUID 値が有効であるためには、アプリケーションのソース ファイルの先頭で他のどのプリプロセッサー ディレクティブよりも前に INITGUID を定義するか、または Dxguid.lib にリンクする必要があります。- GUID_SysKeyboard
デフォルトのシステム キーボード。 - GUID_SysMouse
デフォルトのシステム マウス。
- GUID_SysKeyboard
- lplpDirectInputDevice
正常に実行された場合に IDirectInputDevice8 インターフェイス インターフェイス ポインターを受け取る変数のアドレス。 - pUnkOuter
COM 集約に使用する制御オブジェクトの IUnknown インターフェイスのアドレス、または NULL (インターフェイスを集約しない場合)。呼び出し側アプリケーションのほとんどは NULL を渡します。
戻り値
メソッドが正常に実行された場合、戻り値は DI_OK です。失敗した場合は、次の戻り値のいずれかを返します。DIERR_DEVICENOTREG、DIERR_INVALIDPARAM、DIERR_NOINTERFACE、DIERR_NOTINITIALIZED、DIERR_OUTOFMEMORY
解説
pUnkOuter = NULL を指定してこのメソッドを呼び出すと、CoCreateInstance (&CLSID_DirectInputDevice, NULL, CLSCTX_INPROC_SERVER, riid, lplpDirectInputDevice) によってオブジェクトを作成し、Initialize を使用して初期化した場合と同じ結果になります。
pUnkOuter != NULL を指定してこのメソッドを呼び出すと、 CoCreateInstance (&CLSID_DirectInputDevice, punkOuter, CLSCTX_INPROC_SERVER, &IID_IUnknown, lplpDirectInputDevice) によってオブジェクトを作成した場合と同じ結果になります。集約オブジェクトは手動で初期化する必要があります。
要件
ヘッダー: Dinput.h 宣言