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

IGraphBuilder

COM
IID56a868a9-0ad4-11ce-b03a-0020af0ba770継承元IFilterGraph自前メソッド開始 vtbl11

メソッド 7

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

vtbl 11 HRESULT Connect(IPin* ppinOut, IPin* ppinIn)
ppinOutIPin*in接続元となる出力ピンを指定する。
ppinInIPin*in接続先となる入力ピンを指定する。必要に応じ中間フィルタが挿入される。
vtbl 12 HRESULT Render(IPin* ppinOut)
ppinOutIPin*inレンダリング対象となる出力ピンを指定する。下流に必要なフィルタを自動構築する。
vtbl 13 HRESULT RenderFile(LPWSTR lpcwstrFile, LPWSTR lpcwstrPlayList)
lpcwstrFileLPWSTRin再生するメディアファイルのパス(ワイド文字)。
lpcwstrPlayListLPWSTRinoptionalプレイリストのパス。現状未使用でNULLを指定する。
vtbl 14 HRESULT AddSourceFilter(LPWSTR lpcwstrFileName, LPWSTR lpcwstrFilterName, IBaseFilter** ppFilter)
lpcwstrFileNameLPWSTRinソースとして追加するファイルのパス(ワイド文字)。
lpcwstrFilterNameLPWSTRinoptionalグラフ内で付けるフィルタ名(ワイド文字)。NULL可。
ppFilterIBaseFilter**out追加されたソースフィルタを受け取る出力先。
vtbl 15 HRESULT SetLogFile(UINT_PTR hFile)
hFileUINT_PTRinアクション記録を書き込むログファイルのハンドル。0(NULL)でログ停止。
vtbl 16 HRESULT Abort()
vtbl 17 HRESULT ShouldOperationContinue()

HSP用 COM定義

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

#define global IID_IGraphBuilder "{56A868A9-0AD4-11CE-B03A-0020AF0BA770}"
#usecom global IGraphBuilder IID_IGraphBuilder "{}"
#comfunc global IGraphBuilder_Connect                  11 sptr,sptr
#comfunc global IGraphBuilder_Render                   12 sptr
#comfunc global IGraphBuilder_RenderFile               13 wstr,wstr
#comfunc global IGraphBuilder_AddSourceFilter          14 wstr,wstr,sptr
#comfunc global IGraphBuilder_SetLogFile               15 sptr
#comfunc global IGraphBuilder_Abort                    16
#comfunc global IGraphBuilder_ShouldOperationContinue  17
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。