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

IAMMediaStream

COM
IIDbebe595d-9a6f-11d0-8fde-00c04fd9189d継承元IMediaStream自前メソッド開始 vtbl9

メソッド 5

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

vtbl 9 HRESULT Initialize(IUnknown* pSourceObject, DWORD dwFlags, GUID* PurposeId, STREAM_TYPE StreamType)
pSourceObjectIUnknown*inストリームのソースオブジェクトをIUnknown*で指定する入力。NULL可。
dwFlagsDWORDin初期化動作を制御するフラグ入力。
PurposeIdGUID*inストリームの用途を示すGUIDへのポインタ入力。
StreamTypeSTREAM_TYPEinストリーム種別を示すSTREAM_TYPE入力。
vtbl 10 HRESULT SetState(FILTER_STATE State)
StateFILTER_STATEin設定するフィルタ状態(停止/一時停止/実行)を示すFILTER_STATE入力。
vtbl 11 HRESULT JoinAMMultiMediaStream(IAMMultiMediaStream* pAMMultiMediaStream)
pAMMultiMediaStreamIAMMultiMediaStream*in参加先の親IAMMultiMediaStreamへのポインタ入力。
vtbl 12 HRESULT JoinFilter(IMediaStreamFilter* pMediaStreamFilter)
pMediaStreamFilterIMediaStreamFilter*in参加先のIMediaStreamFilterへのポインタ入力。
vtbl 13 HRESULT JoinFilterGraph(IFilterGraph* pFilterGraph)
pFilterGraphIFilterGraph*in参加先のIFilterGraphへのポインタ入力。

HSP用 COM定義

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

出力引数:
#define global IID_IAMMediaStream "{BEBE595D-9A6F-11D0-8FDE-00C04FD9189D}"
#usecom global IAMMediaStream IID_IAMMediaStream "{}"
#comfunc global IAMMediaStream_Initialize              9 sptr,int,var,int
#comfunc global IAMMediaStream_SetState                10 int
#comfunc global IAMMediaStream_JoinAMMultiMediaStream  11 sptr
#comfunc global IAMMediaStream_JoinFilter              12 sptr
#comfunc global IAMMediaStream_JoinFilterGraph         13 sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。