ステップ 5 :ジョイスティックへのアクセス権の取得
ステップ 5 :ジョイスティックへのアクセス権の取得
ジョイスティックの動作を設定したら、アプリケーションは IDirectInputDevice8::Acquire メソッドを呼び出して、デバイスに対するアクセス権を取得できる。アプリケーションは、デバイスからデータを取得する前に、デバイスを取得しなければならない。IDirectInputDevice8::Acquire メソッドはパラメータをとらない。
Joystick サンプルは、アプリケーションがアクティブになると、メッセージ ループで最初の取得を実行する。このループは、アプリケーションがフォーカスを失った後に再取得するたびに、デバイスを自動的に再取得する。また、ジョイスティックへのアクセス権が失われた場合や、アプリケーションが入力データを取得しようとして DIERR_INPUTLOST エラーが返された場合にも、取得が実行される。これを、次のサンプル コードに示す。
hr = g_pJoystick->Poll();
if (FAILED(hr))
{
hr = g_pJoystick->Acquire();
while(hr == DIERR_INPUTLOST)
hr = g_pJoystick->Acquire();
return S_OK;
}
ジョイスティックへのアクセス権を取得できたら、「ステップ 6 :ジョイスティックからのデータの取得」に進むこと。