Platform SDK: DirectX |
IDirectInputDevice7::SetProperty メソッドは、デバイスの動作を定義するプロパティを設定する。これらのプロパティには、入力バッファ サイズや軸モードなどがある。
HRESULT SetProperty( REFGUID rguidProp, LPCDIPROPHEADER pdiph );
dwData メンバは、次のいずれか 1 つの値を取ることができる。
DIPROPAUTOCENTER_OFF:ユーザーがデバイスを離しても、自動的にセンタリングを行わない。フォース フィードバックを使用するアプリケーションは、エフェクトの再生前に自動センタリングのスプリングを無効にする必要がある。
DIPROPAUTOCENTER_ON:ユーザーがデバイスを離すと、自動的にセンタリングを行う。たとえば、このモードのジョイスティックは、自動センタリングのスプリングが有効になる。
フォース フィードバック エフェクトを使用すると、自動センタリングのスプリングに影響する場合がある。一部のデバイスでは、フォース フィードバック エフェクトを再生するときに、自動センタリング スプリングを無効にする。
自動センタリング機能をサポートしていないデバイスもある。
この設定値はデバイス全体に適用されるので、割り当てられた DIPROPDWORD 構造体の dwHow メンバは、DIPH_DEVICE でなければならない。
この設定値はデバイス全体に適用されるので、割り当てられた DIPROPDWORD 構造体の dwHow メンバは、DIPH_DEVICE でなければならない
デバイス全体に対してキャリブレーション モードを設定することは、それぞれの軸に対してキャリブレーション モードを設定することと同じ意味を持つ。
DIPROPDWORD 構造体の dwData メンバは次のいずれか 1 つの値を取ることができる。
DIPROPCALIBRATIONMODE_COOKED:DirectInput は、キャリブレーション情報の適用後のデータを返す。これがデフォルト モードである。
DIPROPCALIBRATIONMODE_RAW:DirectInput は、キャリブレーション前の未加工データを返す。このモードは通常、コントロール パネル型のアプリケーションでのみ使用される。
デバイスを未加工モードに設定すると、無効ゾーン、飽和値、および範囲の設定が無視される。
この設定は、デバイス全体または 1 つの特定の軸のどちらかに適用できる。
dwData メンバは、デバイス上に作成されたすべてのエフェクトに適用されるゲイン値を格納する。値は、0 〜 10,000 の整数である。デバイスに対するエフェクトのマグニチュードは、この値で調整される。たとえば、10,000 は、すべてのエフェクト マグニチュードをそのまま適用することを示す。9,000 は、すべてのエフェクト マグニチュードをその名目マグニチュードの 90 パーセントに圧縮することを示す。
ゲイン値の設定は、ユーザーの好みに応じて、すべてのフォース フィードバック エフェクトを一率に減少したい場合に有効である。
ほかのプロパティとは異なり、ゲインはデバイスが取得状態にある場合に設定できる。
この設定値はデバイス全体に適用されるので、割り当てられた DIPROPDWORD 構造体の dwHow メンバは、DIPH_DEVICE でなければならない
pdiph パラメータは、DIPROPSTRING 構造体の diph メンバへのポインタでなければならない。
この設定値はデバイス全体に適用されるので、割り当てられた DIPROPDWORD 構造体の dwHow メンバは、DIPH_DEVICE でなければならない
pdiph パラメータは、DIPROPSTRING 構造体の diph メンバへのポインタでなければならない。
一部のデバイスでは、これは読み取り専用プロパティである。
範囲の大小を逆にはできない。lMax は、lMin より大きな値でなければならない。
この設定は、デバイス全体または 1 つの特定の軸のどちらかに適用できる。
成功すれば DI_OK または DI_PROPNOEFFECT、
失敗すれば次のエラー値のいずれかを返す。
DIERR_INVALIDPARAM |
DIERR_NOTINITIALIZED |
DIERR_OBJECTNOTFOUND |
DIERR_UNSUPPORTED |
バッファ サイズは、IDirectInputDevice7::GetDeviceData メソッドの前回と今回の呼び出しの間で、バッファがデータを失うことなく保持できるデータの量を決定する。この値にゼロを設定して、アプリケーションがデバイスからバッファリング データを読み込まないように指定することもできる。DIPROPDWORD 構造体の dwData メンバ中のバッファ サイズが大きすぎてデバイスがサポートできない場合は、サポート可能な最大バッファ サイズが設定される。要求したバッファ サイズが設定されたかどうかを確認するには、バッファ サイズ プロパティを取得して、設定しようとした値とその結果を比較する。
Windows NT/2000 :Windows 2000 が必要。
Windows 95/98 : Windows 95 以降が必要。Windows 95 用に再配布可能な形で使用可能。
ヘッダー : dinput.h で宣言。
インポート ライブラリ : dinput.lib を使用。