Platform SDK: DirectX

IDirectInputDevice7::SendForceFeedbackCommand

IDirectInputDevice7::SendForceFeedbackCommand メソッドは、デバイスのフォース フィードバック システムにコマンドを送信する。

HRESULT SendForceFeedbackCommand(
  DWORD dwFlags  
);

パラメータ

dwFlags
目的の状態変化を示す単一の値。次のいずれか 1 つの値を取ることができる。
DISFFC_CONTINUE
中断されたすべてのアクティブなエフェクトの再生を継続する。デバイスが中断状態にないときにこのコマンドを送信すると、エラーになる。
DISFFC_PAUSE
すべてのアクティブ エフェクトの再生を中断する。このコマンドはエフェクトのクロックも停止するので、再開すると、エフェクトは継続時間を満了するまで再生が続行される。

デバイスが中断状態にある間は、新しいエフェクトを開始したり、既存のエフェクトを変更したりすることはできない。そのような操作を行うと、これ以降の DISFFC_CONTINUE コマンドが正常に機能しなくなることがある。

中断を破棄してすべてのエフェクトを停止するには、DISFFC_STOPALL または DISFCC_RESET コマンドを使用する。

DISFFC_RESET
デバイスのフォース フィードバック システムを始動状態にする。すべてのエフェクトはデバイスから削除され、有効でなくなる。これらのエフェクトを再び使用するには、再生成しなければならない。デバイスのアクチュエータは無効である。
DISFFC_SETACTUATORSOFF
デバイスのフォース フィードバック アクチュエータを無効にする。アクチュエータがオフの間も、エフェクトは引き続き再生されるが、デバイスはそれを無視する。音楽再生デバイスにたとえると、エフェクトは一時停止 (ポーズ) ではなく、消音 (ミュート) された状態である。
DISFFC_SETACTUATORSON
デバイスのフォース フィードバック アクチュエータを有効にする。
DISFFC_STOPALL
すべてのアクティブなエフェクトの再生を停止する。アクティブなエフェクトはすべてリセットされるが、デバイスには保存されており、引き続き有効である。デバイスが中断されている場合、その状態は失われる。

このコマンドは、再生中のエフェクトごとに IDirectInputEffect::Stop メソッドを呼び出すことに等しい。

戻り値

成功すれば DI_OK を返す。

失敗すれば次のエラー値のいずれかを返す。

DIERR_INPUTLOST
DIERR_INVALIDPARAM
DIERR_NOTEXCLUSIVEACQUIRED
DIERR_NOTINITIALIZED
DIERR_UNSUPPORTED

注意

このメソッドを成功させるには、デバイスを排他協調レベルで取得しなければならない。

動作環境

  Windows NT/2000 :Windows 2000 が必要。
  Windows 95/98 : Windows 95 以降が必要。Windows 95 用に再配布可能な形で使用可能。
  ヘッダー : dinput.h で宣言。
  インポート ライブラリ : dinput.lib を使用。