次の方法で共有


ステップ 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 :ジョイスティックからのデータの取得」に進むこと。