Microsoft DirectX 8.0 (Visual Basic)

消失したマウス入力の確認

協調レベルに DISCL_FOREGROUND を設定した状態で、フォーカスがほかのアプリケーションに切り替わる場合 (あるいは使用中のアプリケーションのほかのメニューに切り替わる場合でも)、Microsoft® Windows® がアプリケーションにマウスを強制的に解放させることがある。このため、DirectInputDevice8.GetDeviceData または DirectInputDevice8.GetDeviceStateMouse メソッドからの戻り値 DIERR_INPUTLOST をチェックして、必要に応じてマウスを再取得する必要がある (「デバイスの取得」を参照すること)。

 :  DIERR_NOTACQUIRED エラーを受け取った場合には、マウスの再取得を試みないようにする必要がある。そうしないと、無限ループに入るおそれがある。取得は失敗し、DIERR_NOTACQUIRED エラーを受け取るという繰り返しが永遠に続く。