ホーム › Media.MediaFoundation › IMFTimedTextCueList
IMFTimedTextCueList
COMメソッド 7
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 3 DWORD GetLength()
vtbl 4 HRESULT GetCueByIndex(DWORD index, IMFTimedTextCue** cue)
| index | DWORD | in | 取得対象キューを示す0始まりのインデックス。 |
| cue | IMFTimedTextCue** | out | 取得したキューオブジェクトIMFTimedTextCueを受け取る格納先。 |
vtbl 5 HRESULT GetCueById(DWORD id, IMFTimedTextCue** cue)
| id | DWORD | in | 取得対象キューを識別するID。 |
| cue | IMFTimedTextCue** | out | 取得したキューオブジェクトIMFTimedTextCueを受け取る格納先。 |
vtbl 6 HRESULT GetCueByOriginalId(LPWSTR originalId, IMFTimedTextCue** cue)
| originalId | LPWSTR | in | ソース文書由来の元キューIDを示す文字列。 |
| cue | IMFTimedTextCue** | out | 取得したキューオブジェクトIMFTimedTextCueを受け取る格納先。 |
vtbl 7 HRESULT AddTextCue(DOUBLE start, DOUBLE duration, LPWSTR text, IMFTimedTextCue** cue)
| start | DOUBLE | in | キューの開始時刻(秒)。 |
| duration | DOUBLE | in | キューの表示継続時間(秒)。 |
| text | LPWSTR | in | キューとして表示するテキスト文字列。 |
| cue | IMFTimedTextCue** | outoptional | 追加されたキューオブジェクトIMFTimedTextCueを受け取る格納先。 |
vtbl 8 HRESULT AddDataCue(DOUBLE start, DOUBLE duration, BYTE* data, DWORD dataSize, IMFTimedTextCue** cue)
| start | DOUBLE | in | キューの開始時刻(秒)。 |
| duration | DOUBLE | in | キューの表示継続時間(秒)。 |
| data | BYTE* | in | キューに格納するバイナリデータの先頭を指すBYTEポインタ。 |
| dataSize | DWORD | in | バイナリデータのバイト数。 |
| cue | IMFTimedTextCue** | outoptional | 追加されたキューオブジェクトIMFTimedTextCueを受け取る格納先。 |
vtbl 9 HRESULT RemoveCue(IMFTimedTextCue* cue)
| cue | IMFTimedTextCue* | in | リストから削除する対象キューIMFTimedTextCue。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_IMFTimedTextCueList "{AD128745-211B-40A0-9981-FE65F166D0FD}" #usecom global IMFTimedTextCueList IID_IMFTimedTextCueList "{}" #comfunc global IMFTimedTextCueList_GetLength 3 #comfunc global IMFTimedTextCueList_GetCueByIndex 4 int,sptr #comfunc global IMFTimedTextCueList_GetCueById 5 int,sptr #comfunc global IMFTimedTextCueList_GetCueByOriginalId 6 wstr,sptr #comfunc global IMFTimedTextCueList_AddTextCue 7 double,double,wstr,sptr #comfunc global IMFTimedTextCueList_AddDataCue 8 double,double,var,int,sptr #comfunc global IMFTimedTextCueList_RemoveCue 9 sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_IMFTimedTextCueList "{AD128745-211B-40A0-9981-FE65F166D0FD}" #usecom global IMFTimedTextCueList IID_IMFTimedTextCueList "{}" #comfunc global IMFTimedTextCueList_GetLength 3 #comfunc global IMFTimedTextCueList_GetCueByIndex 4 int,sptr #comfunc global IMFTimedTextCueList_GetCueById 5 int,sptr #comfunc global IMFTimedTextCueList_GetCueByOriginalId 6 wstr,sptr #comfunc global IMFTimedTextCueList_AddTextCue 7 double,double,wstr,sptr #comfunc global IMFTimedTextCueList_AddDataCue 8 double,double,sptr,int,sptr #comfunc global IMFTimedTextCueList_RemoveCue 9 sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。