Win32 API 日本語リファレンス
ホームMedia.Audio.DirectSound › IDirectSound3DListener

IDirectSound3DListener

COM
IID279afa84-4981-11ce-a521-0020af0be560継承元IUnknown自前メソッド開始 vtbl3

メソッド 15

vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。

vtbl 3 HRESULT GetAllParameters(DS3DLISTENER* pListener)
pListenerDS3DLISTENER*outリスナーの全3Dパラメータを受け取るDS3DLISTENER構造体へのポインタ。dwSizeを事前設定する。
vtbl 4 HRESULT GetDistanceFactor(FLOAT* pflDistanceFactor)
pflDistanceFactorFLOAT*out現在の距離係数(1単位あたりのメートル数)を受け取るポインタ。
vtbl 5 HRESULT GetDopplerFactor(FLOAT* pflDopplerFactor)
pflDopplerFactorFLOAT*out現在のドップラー効果係数を受け取るポインタ。
vtbl 6 HRESULT GetOrientation(D3DVECTOR* pvOrientFront, D3DVECTOR* pvOrientTop)
pvOrientFrontD3DVECTOR*outリスナーの前方ベクトルを受け取るD3DVECTORへのポインタ。
pvOrientTopD3DVECTOR*outリスナーの上方ベクトルを受け取るD3DVECTORへのポインタ。
vtbl 7 HRESULT GetPosition(D3DVECTOR* pvPosition)
pvPositionD3DVECTOR*outリスナーの現在位置ベクトルを受け取るD3DVECTORへのポインタ。
vtbl 8 HRESULT GetRolloffFactor(FLOAT* pflRolloffFactor)
pflRolloffFactorFLOAT*out現在のロールオフ係数(距離減衰の強さ)を受け取るポインタ。
vtbl 9 HRESULT GetVelocity(D3DVECTOR* pvVelocity)
pvVelocityD3DVECTOR*outリスナーの現在速度ベクトルを受け取るD3DVECTORへのポインタ。
vtbl 10 HRESULT SetAllParameters(DS3DLISTENER* pcListener, DWORD dwApply)
pcListenerDS3DLISTENER*in設定するリスナーの全3DパラメータをまとめたDS3DLISTENER構造体へのポインタ。
dwApplyDWORDin変更を即時適用(DS3D_IMMEDIATE)するか遅延(DS3D_DEFERRED)するかを指定する。
vtbl 11 HRESULT SetDistanceFactor(FLOAT flDistanceFactor, DWORD dwApply)
flDistanceFactorFLOATin設定する距離係数(1単位あたりのメートル数)。
dwApplyDWORDin即時/遅延適用の指定(DS3D_IMMEDIATE/DEFERRED)。
vtbl 12 HRESULT SetDopplerFactor(FLOAT flDopplerFactor, DWORD dwApply)
flDopplerFactorFLOATin設定するドップラー効果係数(0で無効、1で標準)。
dwApplyDWORDin即時/遅延適用の指定(DS3D_IMMEDIATE/DEFERRED)。
vtbl 13 HRESULT SetOrientation(FLOAT xFront, FLOAT yFront, FLOAT zFront, FLOAT xTop, FLOAT yTop, FLOAT zTop, DWORD dwApply)
xFrontFLOATin前方ベクトルのX成分。
yFrontFLOATin前方ベクトルのY成分。
zFrontFLOATin前方ベクトルのZ成分。
xTopFLOATin上方ベクトルのX成分。
yTopFLOATin上方ベクトルのY成分。
zTopFLOATin上方ベクトルのZ成分。
dwApplyDWORDin即時/遅延適用の指定(DS3D_IMMEDIATE/DEFERRED)。
vtbl 14 HRESULT SetPosition(FLOAT x, FLOAT y, FLOAT z, DWORD dwApply)
xFLOATinリスナー位置のX座標。
yFLOATinリスナー位置のY座標。
zFLOATinリスナー位置のZ座標。
dwApplyDWORDin即時/遅延適用の指定(DS3D_IMMEDIATE/DEFERRED)。
vtbl 15 HRESULT SetRolloffFactor(FLOAT flRolloffFactor, DWORD dwApply)
flRolloffFactorFLOATin設定するロールオフ係数(距離による減衰の強さ)。
dwApplyDWORDin即時/遅延適用の指定(DS3D_IMMEDIATE/DEFERRED)。
vtbl 16 HRESULT SetVelocity(FLOAT x, FLOAT y, FLOAT z, DWORD dwApply)
xFLOATinリスナー速度ベクトルのX成分。
yFLOATinリスナー速度ベクトルのY成分。
zFLOATinリスナー速度ベクトルのZ成分。
dwApplyDWORDin即時/遅延適用の指定(DS3D_IMMEDIATE/DEFERRED)。
vtbl 17 HRESULT CommitDeferredSettings()

HSP用 COM定義

#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"

出力引数:
#define global IID_IDirectSound3DListener "{279AFA84-4981-11CE-A521-0020AF0BE560}"
#usecom global IDirectSound3DListener IID_IDirectSound3DListener "{}"
#comfunc global IDirectSound3DListener_GetAllParameters        3 var
#comfunc global IDirectSound3DListener_GetDistanceFactor       4 var
#comfunc global IDirectSound3DListener_GetDopplerFactor        5 var
#comfunc global IDirectSound3DListener_GetOrientation          6 var,var
#comfunc global IDirectSound3DListener_GetPosition             7 var
#comfunc global IDirectSound3DListener_GetRolloffFactor        8 var
#comfunc global IDirectSound3DListener_GetVelocity             9 var
#comfunc global IDirectSound3DListener_SetAllParameters        10 var,int
#comfunc global IDirectSound3DListener_SetDistanceFactor       11 float,int
#comfunc global IDirectSound3DListener_SetDopplerFactor        12 float,int
#comfunc global IDirectSound3DListener_SetOrientation          13 float,float,float,float,float,float,int
#comfunc global IDirectSound3DListener_SetPosition             14 float,float,float,int
#comfunc global IDirectSound3DListener_SetRolloffFactor        15 float,int
#comfunc global IDirectSound3DListener_SetVelocity             16 float,float,float,int
#comfunc global IDirectSound3DListener_CommitDeferredSettings  17
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。