Microsoft DirectX 8.0 (Visual Basic)

DirectInputDevice8.SetProperty

デバイスの動作を定義するプロパティを設定する。

object.SetProperty( _ 
  guid As String, _ 
  propertyInfo As Any)

指定項目

object
DirectInputDevice8 オブジェクトを指定する。
guid
設定対象のプロパティの識別子。入力デバイスには次のプロパティ値が定義されており、文字列として渡すことができる。
DIPROP_AUTOCENTER
デバイス オブジェクトが自動センタリングを行うかどうかを指定する。この設定値は、個別のオブジェクトではなくデバイス全体に適用されるので、割り当てられた DIPROPLONG 型の lHow メンバは DIPH_DEVICE でなければならない。

lData メンバは、次の CONST_DINPUT 列挙のいずれか 1 つの値でなければならない。

DIPROPAUTOCENTER_OFF:ユーザーがデバイスを離しても、自動的にセンタリングを行わない。フォース フィードバックを使用するアプリケーションは、エフェクトの再生前に自動センタリングを無効にする必要がある。

DIPROPAUTOCENTER_ON:ユーザーがデバイスを離すと、自動的にセンタリングを行う。

自動センタリング機能をサポートしていないデバイスもある。

DIPROP_AXISMODE
軸モードを設定する。設定値 (CONST_DINPUT 列挙の DIPROPAXISMODE_ABS または DIPROPAXISMODE_REL) は、割り当てられた DIPROPLONG 型の lData メンバに指定しなければならない。

この設定値はデバイス全体に適用されるので、割り当てられた DIPROPLONG 型の lHow メンバは DIPH_DEVICE でなければならない

DIPROP_BUFFERSIZE
入力バッファ サイズを設定する。「注意」を参照すること。

この設定値はデバイス全体に適用されるので、割り当てられた DIPROPLONG 型の lHow メンバは DIPH_DEVICE でなければならない

DIPROP_CALIBRATIONMODE
Microsoft® DirectInput® が取得するデータが、キャリブレーション済みかキャリブレーション前かをアプリケーションが指定できるようにする。デフォルトでは、DirectInput はキャリブレーション済みデータを取得する。

デバイス全体に対してキャリブレーション モードを設定することは、それぞれの軸に対してキャリブレーション モードを設定することと同じ意味を持つ。

DIPROPLONG 型の lData メンバは次のいずれか 1 つの値を取ることができる。

DIPROPCALIBRATIONMODE_COOKED:DirectInput は、キャリブレーション情報の適用後のデータを返す。これがデフォルト モードである。

DIPROPCALIBRATIONMODE_RAW:DirectInput は、キャリブレーション前の未加工データを返す。このモードは通常、コントロール パネル型のアプリケーションでのみ使用される。

デバイスを未加工モードに設定すると、デッド ゾーン、飽和値、および範囲の設定が無視される。

DIPROP_DEADZONE
0 〜 10,000 の範囲でジョイスティックのデッド ゾーンの値を設定する。ここで、0 はデッド ゾーンが存在しないこと、5,000 はデッド ゾーンが軸を中心とした物理範囲の 50 パーセントにまで広がっていること、および 10,000 は軸の物理範囲の全体が無効であることをそれぞれ示す。軸がデッド ゾーン内にあると、軸の範囲の中心にあるものと報告される。

この設定は、デバイス全体または 1 つの特定の軸のどちらかに適用できる。

DIPROP_RANGE
オブジェクトが報告可能な値の範囲を設定する。最小値および最大値は、割り当てられた DIPROPRANGE 型の lMin メンバと lMax メンバから取得される。

一部のデバイスでは、これは読み取り専用プロパティである。

範囲の大小を逆にはできない。lMax は、lMin より大きくなければならない。

DIPROP_SATURATION
0 〜 10,000 の範囲でジョイスティックの飽和ゾーンの値を設定する。飽和レベルとは、軸が極限位置にあると見なされるポイントのことである。たとえば、飽和レベルが 9,500 に設定されている場合、軸の中心 (デッド ゾーン) から軸の端までの物理的距離の 95% の位置が軸の極限位置となる。

この設定は、デバイス全体または 1 つの特定の軸のどちらかに適用できる。

propertyInfo
単一の値を取るプロパティのデータを格納する DIPROPLONG 型。または、1 組の値を取るプロパティのデータを格納する DIPROPRANGE 型。

エラー コード

失敗した場合はエラーが発生し、Err.Number に次のいずれかのエラー コードが設定される。

DIERR_INVALIDPARAM
DIERR_OBJECTNOTFOUND
DIERR_UNSUPPORTED

注意

バッファ サイズは、DirectInputDevice8.GetDeviceData メソッドの前回と今回の呼び出しの間で、バッファがデータを失うことなく保持できるデータの量を決定する。この値にゼロを設定して、アプリケーションがデバイスからバッファリング データを読み込まないように指定することもできる。DIPROPLONG 型の lData メンバ中のバッファ サイズが大きすぎてデバイスがサポートできない場合は、サポート可能な最大バッファ サイズが設定される。要求したバッファ サイズが設定されたかどうかを確認するには、バッファ サイズ プロパティを取得して、設定しようとした値とその結果を比較する。

参照

DirectInputDevice8.GetProperty