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

IStreamBufferRecComp

COM
IID9e259a9b-8815-42ae-b09f-221970b154fd継承元IUnknown自前メソッド開始 vtbl3

メソッド 6

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

vtbl 3 HRESULT Initialize(LPWSTR pszTargetFilename, LPWSTR pszSBRecProfileRef)
pszTargetFilenameLPWSTRin合成結果を書き出す出力ファイルのフルパスを示すワイド文字列。
pszSBRecProfileRefLPWSTRin参照する録画プロファイルのパスを示すワイド文字列。互換性判定に用いる。
vtbl 4 HRESULT Append(LPWSTR pszSBRecording)
pszSBRecordingLPWSTRin出力に連結する元の録画ファイルのパスを示すワイド文字列。
vtbl 5 HRESULT AppendEx(LPWSTR pszSBRecording, LONGLONG rtStart, LONGLONG rtStop)
pszSBRecordingLPWSTRin連結対象の録画ファイルのパスを示すワイド文字列。
rtStartLONGLONGin連結する区間の開始時刻を100ナノ秒単位で指定する。
rtStopLONGLONGin連結する区間の終了時刻を100ナノ秒単位で指定する。
vtbl 6 HRESULT GetCurrentLength(DWORD* pcSeconds)
pcSecondsDWORD*out現在の合成済みコンテンツの長さを秒単位で受け取るポインタ。
vtbl 7 HRESULT Close()
vtbl 8 HRESULT Cancel()

HSP用 COM定義

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

出力引数:
#define global IID_IStreamBufferRecComp "{9E259A9B-8815-42AE-B09F-221970B154FD}"
#usecom global IStreamBufferRecComp IID_IStreamBufferRecComp "{}"
#comfunc global IStreamBufferRecComp_Initialize        3 wstr,wstr
#comfunc global IStreamBufferRecComp_Append            4 wstr
#comfunc global IStreamBufferRecComp_AppendEx          5 wstr,int64,int64
#comfunc global IStreamBufferRecComp_GetCurrentLength  6 var
#comfunc global IStreamBufferRecComp_Close             7
#comfunc global IStreamBufferRecComp_Cancel            8
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。