Win32 API 日本語リファレンス
ホームMedia.KernelStreaming › IKsClockPropertySet

IKsClockPropertySet

COM
IID5c5cbd84-e755-11d0-ac18-00a0c9223196継承元IUnknown自前メソッド開始 vtbl3

メソッド 10

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

vtbl 3 HRESULT KsGetTime(LONGLONG* Time)
TimeLONGLONG*outストリーム時刻を 100ns 単位で受け取る LONGLONG ポインタ。
vtbl 4 HRESULT KsSetTime(LONGLONG Time)
TimeLONGLONGin設定するストリーム時刻を 100ns 単位で指定する。
vtbl 5 HRESULT KsGetPhysicalTime(LONGLONG* Time)
TimeLONGLONG*out物理(ハードウェア)時刻を 100ns 単位で受け取る LONGLONG ポインタ。
vtbl 6 HRESULT KsSetPhysicalTime(LONGLONG Time)
TimeLONGLONGin設定する物理時刻を 100ns 単位で指定する。
vtbl 7 HRESULT KsGetCorrelatedTime(KSCORRELATED_TIME* CorrelatedTime)
CorrelatedTimeKSCORRELATED_TIME*outストリーム時刻とシステム時刻の相関を受け取る KSCORRELATED_TIME 構造体ポインタ。
vtbl 8 HRESULT KsSetCorrelatedTime(KSCORRELATED_TIME* CorrelatedTime)
CorrelatedTimeKSCORRELATED_TIME*in設定するストリーム時刻とシステム時刻の相関を表す KSCORRELATED_TIME 構造体ポインタ。
vtbl 9 HRESULT KsGetCorrelatedPhysicalTime(KSCORRELATED_TIME* CorrelatedTime)
CorrelatedTimeKSCORRELATED_TIME*out物理時刻とシステム時刻の相関を受け取る KSCORRELATED_TIME 構造体ポインタ。
vtbl 10 HRESULT KsSetCorrelatedPhysicalTime(KSCORRELATED_TIME* CorrelatedTime)
CorrelatedTimeKSCORRELATED_TIME*in設定する物理時刻とシステム時刻の相関を表す KSCORRELATED_TIME 構造体ポインタ。
vtbl 11 HRESULT KsGetResolution(KSRESOLUTION* Resolution)
ResolutionKSRESOLUTION*outクロックの時間分解能(粒度・誤差)を受け取る KSRESOLUTION 構造体ポインタ。
vtbl 12 HRESULT KsGetState(KSSTATE* State)
StateKSSTATE*outクロックの現在の動作状態を受け取る KSSTATE 列挙値ポインタ。

HSP用 COM定義

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

出力引数:
#define global IID_IKsClockPropertySet "{5C5CBD84-E755-11D0-AC18-00A0C9223196}"
#usecom global IKsClockPropertySet IID_IKsClockPropertySet "{}"
#comfunc global IKsClockPropertySet_KsGetTime                    3 var
#comfunc global IKsClockPropertySet_KsSetTime                    4 int64
#comfunc global IKsClockPropertySet_KsGetPhysicalTime            5 var
#comfunc global IKsClockPropertySet_KsSetPhysicalTime            6 int64
#comfunc global IKsClockPropertySet_KsGetCorrelatedTime          7 var
#comfunc global IKsClockPropertySet_KsSetCorrelatedTime          8 var
#comfunc global IKsClockPropertySet_KsGetCorrelatedPhysicalTime  9 var
#comfunc global IKsClockPropertySet_KsSetCorrelatedPhysicalTime  10 var
#comfunc global IKsClockPropertySet_KsGetResolution              11 var
#comfunc global IKsClockPropertySet_KsGetState                   12 var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。