Microsoft DirectX 8.0 (C++)

IDirectInputEffect::GetParameters

エフェクトに関する情報を取得する。

HRESULT GetParameters(
  LPDIEFFECT peff,  
  DWORD dwFlags     
);

パラメータ

peff
エフェクト情報を受け取る DIEFFECT 構造体のアドレス。dwSize メンバは、このメソッドを呼び出す前にアプリケーションによって設定しておかなければならない。
dwFlags
エフェクト情報のどの部分を取得するかを指定するフラグ。ゼロ、または次のフラグを取ることができる。
DIEP_ALLPARAMS
ほかのすべての DIEP_* フラグの組み合わせたもので、DIEFFECT 構造体の全メンバを要求することを示す。
DIEP_ALLPARAMS_DX5
DIEP_STARTDELAY フラグを除くすべての DIEP_* フラグを組み合わせたもの。
DIEP_AXES
cAxes および rgdwAxes メンバがデータを受け取る。入力パラメータとして、cAxes rgdwAxes が指すバッファのサイズ (DWORD 単位) を格納する。バッファが小さすぎると、このメソッドは DIERR_MOREDATA を返し、必要なバッファ サイズを cAxes に設定する。
DIEP_DIRECTION
cAxes および rglDirection メンバがデータを受け取る。入力パラメータとして、cAxes rglDirection が指すバッファのサイズ (DWORD 単位) を格納する。バッファが小さすぎると、GetParameters メソッドは DIERR_MOREDATA を返し、必要なバッファ サイズを cAxes に設定する。

dwFlags メンバには、座標系フラグ (DIEFF_CARTESIAN、DIEFF_POLAR または DIEFF_SPHERICAL) のうち少なくとも 1 つが設定されていなければならない。Microsoft® DirectInput® は、指定された 1 つの座標系で表したエフェクトの方向を返す。その際、必要があれば座標系間で変換を行う。終了時に、dwFlags メンバには 1 つの座標系フラグが設定され、DirectInput が使用する座標系を指示する。特別に、3 つの座標系フラグすべてを渡すと、それらの座標を設定したのとまったく同じ形式で座標が取得される。

DIEP_DURATION
dwDuration メンバがデータを受け取る。
DIEP_ENVELOPE
lpEnvelope メンバは、データを受け取る DIENVELOPE 構造体を指す。エフェクトに関係するエンベロープがないときは、lpEnvelope メンバは NULL に設定される。
DIEP_GAIN
dwGain メンバがデータを受け取る。
DIEP_SAMPLEPERIOD
dwSamplePeriod メンバがデータを受け取る。
DIEP_STARTDELAY
dwStartDelay メンバがデータを受け取る。
DIEP_TRIGGERBUTTON
dwTriggerButton メンバがデータを受け取る。
DIEP_TRIGGERREPEATINTERVAL
dwTriggerRepeatInterval メンバがデータを受け取る。
DIEP_TYPESPECIFICPARAMS
lpvTypeSpecificParams メンバは、cbTypeSpecificParams メンバによりサイズが指定されるバッファを指す。リターン時、このバッファには、エフェクトに関係するタイプ固有データが格納され、cbTypeSpecificParams メンバには、コピーされたバイト数が格納される。アプリケーションで用意されたバッファが小さすぎてタイプ固有データすべてを格納できない場合、このメソッドは DIERR_MOREDATA を返し、必要とされるバッファ サイズのバイト数が cbTypeSpecificParams メンバに設定される。

戻り値

成功した場合は、DI_OK を返す。

失敗した場合は、次のいずれかのエラー値を返す。

DIERR_INVALIDPARAM
DIERR_MOREDATA
DIERR_NOTINITIALIZED

注意

DIERR_INVALIDPARAM エラーを発生する一般的なエラーには、DIEFFECT 構造体の dwSize メンバの未設定、無効なフラグの指定、エフェクト情報の受け取り準備上での DIEFFECT 構造体のメンバの不適正な設定、などがある。たとえば、情報が dwTriggerButton メンバに取得されるべきときは、DirectInput がボタンを記述する方法を識別できるように、dwFlags メンバには、DIEFF_OBJECTIDS または DIEFF_OBJECTOFFSETS のどちらか一方を設定しなければならない。

動作環境

  Windows NT/2000 : Windows 2000 以降に対する再配布可能ファイルとして提供。
  Windows 95/98 : Windows 95 以降に対する再配布可能ファイルとして提供。
  ヘッダー : dinput.h で宣言。