Microsoft DirectX 8.0 |
Microsoft® DirectShow® 編集サービス (DES) のタイムライン オブジェクトにエフェクトを追加するためのメソッド、およびオブジェクトのエフェクトを操作するメソッドを提供する。自分に適用できるエフェクトを持つオブジェクトは、すべてこのインターフェイスを実装している。これには、ソース、トラック、および合成が含まれる。
このインターフェイスを実装しているオブジェクトは、エフェクトをいくつでも持つことができる。各オブジェクトごとに、レンダリング エンジンは優先順位に従って、優先順位 0 から順にエフェクトを適用する。
要件
Qedit.h が必要である。
vtable 順のメソッド
IUnknown メソッド 説明 QueryInterface サポートされているインターフェイスへのポインタを取得する。 AddRef 参照カウントをインクリメントする。 Release 参照カウントをデクリメントする。 IAMTimelineEffectable メソッド 説明 EffectInsBefore 指定された優先順位のオブジェクトにエフェクトを挿入する。 EffectSwapPriorities 2 つのエフェクトの優先順位レベルを入れ替える。 EffectGetCount このオブジェクトに適用されるエフェクトの数を取得する。 GetEffect 指定された優先順位レベルのエフェクトを取得する。
IAMTimelineEffectable インターフェイス
このオブジェクトに適用されるエフェクトの数を取得する。
構文
HRESULT EffectGetCount( long *pCount );
パラメータ
- pCount
- エフェクトの数を受け取る変数へのポインタ。
戻り値
成功した場合は、S_OK を返す。それ以外の場合は、E_POINTER を返す。
IAMTimelineEffectable インターフェイス
指定された優先順位のオブジェクトにエフェクトを挿入する。
構文
HRESULT EffectInsBefore( IAMTimelineObj *pFX, long Priority );
パラメータ
- pFX
- エフェクトの IAMTimelineObj インターフェイスへのポインタ。
- Priority
- エフェクトを挿入する優先順位レベル。エフェクトを優先順位リストの最後に挿入する場合は、値として -1 を使用する。
戻り値
成功した場合は、S_OK を返す。オブジェクトがエフェクトでなかった場合は、E_NOTIMPL を返す。それ以外の場合は、エラーの発生を示す別の HRESULT 値を返す。
注意
エフェクトの開始タイムと終了タイムは、必要に応じて、オブジェクトの時間範囲の境界内に収められる。
指定された優先順位レベルのエフェクトが既に存在する場合、優先順位リストのその位置以下のエフェクトがすべて 1 レベルずつ繰り下げられ、新しいエフェクトの場所が確保される。
IAMTimelineEffectable インターフェイス
2 つのエフェクトの優先順位レベルを入れ替える。
このメソッドは、指定された 2 つの優先順位レベルを持つそれぞれのエフェクトの優先順位を入れ替える。このメソッドが復帰したとき、最初に指定された優先順位にあったエフェクトの優先順位は、2 番目に指定された優先順位レベルになり、2 番目に指定された優先順位にあったエフェクトの優先順位は、最初に指定された優先順位レベルになっている。
構文
HRESULT EffectSwapPriorities( long PriorityA, long PriorityB );
パラメータ
- PriorityA
- エフェクトを入れ替える最初の優先順位レベル。
- PriorityB
- エフェクトを入れ替える 2 番目の優先順位レベル。
戻り値
成功した場合は S_OK、それ以外の場合は E_INVALIDARG を返す。
IAMTimelineEffectable インターフェイス
指定された優先順位レベルのエフェクトを取得する。
構文
HRESULT GetEffect( IAMTimelineObj **ppFx, long Which );
パラメータ
- ppFX
- [out] エフェクトの IAMTimelineObj インターフェイスを受け取るポインタのアドレス。
- Which
- 取得するエフェクトの優先順位レベル。
戻り値
HRESULT 値を返す。可能な値は次のとおりである。
S_FALSE 指定された優先順位レベルのエフェクトはない。 S_OK 成功。 E_POINTER NULL ポインタ引数。
注意
メソッドが S_OK を返した場合、返される IAMTimelineObj インターフェイスは未処理の参照カウントを持つ。使い終わった場合は、インターフェイスを必ず解放すること。