ホーム › Media.Audio.DirectSound › IDirectSoundFXI3DL2Reverb
IDirectSoundFXI3DL2Reverb
COMメソッド 6
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 3 HRESULT SetAllParameters(DSFXI3DL2Reverb* pcDsFxI3DL2Reverb)
| pcDsFxI3DL2Reverb | DSFXI3DL2Reverb* | in | 設定するI3DL2リバーブのパラメータ群を格納したDSFXI3DL2Reverb構造体へのポインタ。室内残響特性を指定する。 |
vtbl 4 HRESULT GetAllParameters(DSFXI3DL2Reverb* pDsFxI3DL2Reverb)
| pDsFxI3DL2Reverb | DSFXI3DL2Reverb* | out | 現在のI3DL2リバーブ設定を受け取るDSFXI3DL2Reverb構造体へのポインタ。呼び出し側が領域を用意する。 |
| dwPreset | DWORD | in | 適用するリバーブのプリセット番号。DSFX_I3DL2_ENVIRONMENT_PRESET_* 定数のいずれかを指定する。 |
| pdwPreset | DWORD* | out | 現在設定されているリバーブのプリセット番号を受け取るDWORDへのポインタ。 |
| lQuality | INT | in | リバーブ処理の品質レベル。0〜3の範囲で指定し、値が大きいほど高品質かつ高負荷となる。 |
| plQuality | INT* | out | 現在のリバーブ品質レベルを受け取るINTへのポインタ。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_IDirectSoundFXI3DL2Reverb "{4B166A6A-0D66-43F3-80E3-EE6280DEE1A4}" #usecom global IDirectSoundFXI3DL2Reverb IID_IDirectSoundFXI3DL2Reverb "{}" #comfunc global IDirectSoundFXI3DL2Reverb_SetAllParameters 3 var #comfunc global IDirectSoundFXI3DL2Reverb_GetAllParameters 4 var #comfunc global IDirectSoundFXI3DL2Reverb_SetPreset 5 int #comfunc global IDirectSoundFXI3DL2Reverb_GetPreset 6 var #comfunc global IDirectSoundFXI3DL2Reverb_SetQuality 7 int #comfunc global IDirectSoundFXI3DL2Reverb_GetQuality 8 var ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。#define global IID_IDirectSoundFXI3DL2Reverb "{4B166A6A-0D66-43F3-80E3-EE6280DEE1A4}" #usecom global IDirectSoundFXI3DL2Reverb IID_IDirectSoundFXI3DL2Reverb "{}" #comfunc global IDirectSoundFXI3DL2Reverb_SetAllParameters 3 sptr #comfunc global IDirectSoundFXI3DL2Reverb_GetAllParameters 4 sptr #comfunc global IDirectSoundFXI3DL2Reverb_SetPreset 5 int #comfunc global IDirectSoundFXI3DL2Reverb_GetPreset 6 sptr #comfunc global IDirectSoundFXI3DL2Reverb_SetQuality 7 int #comfunc global IDirectSoundFXI3DL2Reverb_GetQuality 8 sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。