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

IAMPushSource

COM
IIDf185fe76-e64e-11d2-b76e-00c04fb6bd3d継承元IAMLatency自前メソッド開始 vtbl4

メソッド 6

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

vtbl 4 HRESULT GetPushSourceFlags(DWORD* pFlags)
pFlagsDWORD*out現在のプッシュソース動作フラグ(AM_PUSHSOURCECAPS/FLAGS)を受け取る出力ポインタ。
vtbl 5 HRESULT SetPushSourceFlags(DWORD Flags)
FlagsDWORDin設定するプッシュソース動作フラグを指定する。
vtbl 6 HRESULT SetStreamOffset(LONGLONG rtOffset)
rtOffsetLONGLONGinストリームに加えるタイムスタンプオフセット(100ナノ秒単位)を指定する。
vtbl 7 HRESULT GetStreamOffset(LONGLONG* prtOffset)
prtOffsetLONGLONG*out現在のストリームオフセット(100ナノ秒単位)を受け取る出力ポインタ。
vtbl 8 HRESULT GetMaxStreamOffset(LONGLONG* prtMaxOffset)
prtMaxOffsetLONGLONG*out設定可能な最大ストリームオフセット(100ナノ秒単位)を受け取る出力ポインタ。
vtbl 9 HRESULT SetMaxStreamOffset(LONGLONG rtMaxOffset)
rtMaxOffsetLONGLONGin設定する最大ストリームオフセット(100ナノ秒単位)を指定する。

HSP用 COM定義

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

出力引数:
#define global IID_IAMPushSource "{F185FE76-E64E-11D2-B76E-00C04FB6BD3D}"
#usecom global IAMPushSource IID_IAMPushSource "{}"
#comfunc global IAMPushSource_GetPushSourceFlags  4 var
#comfunc global IAMPushSource_SetPushSourceFlags  5 int
#comfunc global IAMPushSource_SetStreamOffset     6 int64
#comfunc global IAMPushSource_GetStreamOffset     7 var
#comfunc global IAMPushSource_GetMaxStreamOffset  8 var
#comfunc global IAMPushSource_SetMaxStreamOffset  9 int64
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。