Microsoft DirectX 8.0 (C++) |
ジョイスティックの動作を設定したら、アプリケーションは、IDirectInputDevice8::Acquire メソッドを呼び出して、デバイスに対するアクセス権を取得できる。アプリケーションは、デバイスからデータを取得する前に、デバイスを取得しなければならない。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 : ジョイスティックからのデータの取得」に進む。