次の方法で共有


IDirectInputDevice8::Acquire

入力デバイスへのアクセスを獲得します。

HRESULT 
Acquire(
);

パラメータ

なし。

戻り値

このメソッドが正常に実行されると戻り値は DI_OK になり、デバイスが既に獲得済みの場合は S_FALSE になります。メソッドが失敗した場合、戻り値は次のいずれかのエラー値です。DIERR_INVALIDPARAM、DIERR_NOTINITIALIZED、DIERR_OTHERAPPHASPRIO

解説 

デバイスを獲得するには、その前に IDirectInputDevice8::SetDataFormat メソッドまたは IDirectInputDevice8::SetActionMap メソッドを使用して、データ フォーマットを設定する必要があります。データ フォーマットが設定されていない場合、IDirectInputDevice8 インターフェイス は DIERR_INVALIDPARAM を返します。

デバイスに対して IDirectInputDevice8::GetDeviceState メソッドまたは IDirectInputDevice8::GetDeviceData メソッドを呼び出す前に、デバイスを獲得する必要があります。

デバイスの獲得にリファレンス カウントは使用しません。したがって、アプリケーションが IDirectInputDevice8 インターフェイス メソッドを 2 回呼び出した後、IDirectInputDevice8 インターフェイス メソッドを 1 回呼び出した場合、デバイスは獲得されません。

IDirectInputDevice8::BuildActionMap が正常に実行されても、アクションがマップされていない場合、IDirectInputDevice8::SetActionMap の後続の呼び出しからは DI_OK が返されますが、IDirectInputDevice8 インターフェイス の呼び出しは失敗して DIERR_INVALIDPARAM が返されます。

要件

ヘッダー: Dinput.h 宣言