Microsoft DirectX 8.0 (C++)

ステップ 5 : ジョイスティックへのアクセス権の取得

ジョイスティックの動作を設定したら、アプリケーションは、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 : ジョイスティックからのデータの取得」に進む。