Microsoft DirectX 8.0

IAMTimelineEffectable インターフェイス

Microsoft® DirectShow® 編集サービス (DES) のタイムライン オブジェクトにエフェクトを追加するためのメソッド、およびオブジェクトのエフェクトを操作するメソッドを提供する。自分に適用できるエフェクトを持つオブジェクトは、すべてこのインターフェイスを実装している。これには、ソース、トラック、および合成が含まれる。

このインターフェイスを実装しているオブジェクトは、エフェクトをいくつでも持つことができる。各オブジェクトごとに、レンダリング エンジンは優先順位に従って、優先順位 0 から順にエフェクトを適用する。

要件

Qedit.h が必要である。

vtable 順のメソッド

IUnknown メソッド説明
QueryInterfaceサポートされているインターフェイスへのポインタを取得する。
AddRef参照カウントをインクリメントする。
Release参照カウントをデクリメントする。
IAMTimelineEffectable メソッド説明
EffectInsBefore指定された優先順位のオブジェクトにエフェクトを挿入する。
EffectSwapPriorities2 つのエフェクトの優先順位レベルを入れ替える。
EffectGetCountこのオブジェクトに適用されるエフェクトの数を取得する。
GetEffect指定された優先順位レベルのエフェクトを取得する。

IAMTimelineEffectable::EffectGetCount

IAMTimelineEffectable インターフェイス

このオブジェクトに適用されるエフェクトの数を取得する。

構文

HRESULT EffectGetCount(
    long *pCount
);

パラメータ

pCount
エフェクトの数を受け取る変数へのポインタ。

戻り値

成功した場合は、S_OK を返す。それ以外の場合は、E_POINTER を返す。

IAMTimelineEffectable::EffectInsBefore

IAMTimelineEffectable インターフェイス

指定された優先順位のオブジェクトにエフェクトを挿入する。

構文

HRESULT EffectInsBefore(
    IAMTimelineObj *pFX,
    long Priority
);

パラメータ

pFX
エフェクトの IAMTimelineObj インターフェイスへのポインタ。
Priority
エフェクトを挿入する優先順位レベル。エフェクトを優先順位リストの最後に挿入する場合は、値として -1 を使用する。

戻り値

成功した場合は、S_OK を返す。オブジェクトがエフェクトでなかった場合は、E_NOTIMPL を返す。それ以外の場合は、エラーの発生を示す別の HRESULT 値を返す。

注意

エフェクトの開始タイムと終了タイムは、必要に応じて、オブジェクトの時間範囲の境界内に収められる。

指定された優先順位レベルのエフェクトが既に存在する場合、優先順位リストのその位置以下のエフェクトがすべて 1 レベルずつ繰り下げられ、新しいエフェクトの場所が確保される。

IAMTimelineEffectable::EffectSwapPriorities

IAMTimelineEffectable インターフェイス

2 つのエフェクトの優先順位レベルを入れ替える。

このメソッドは、指定された 2 つの優先順位レベルを持つそれぞれのエフェクトの優先順位を入れ替える。このメソッドが復帰したとき、最初に指定された優先順位にあったエフェクトの優先順位は、2 番目に指定された優先順位レベルになり、2 番目に指定された優先順位にあったエフェクトの優先順位は、最初に指定された優先順位レベルになっている。

構文

HRESULT EffectSwapPriorities(
    long PriorityA,
    long PriorityB
);

パラメータ

PriorityA
エフェクトを入れ替える最初の優先順位レベル。
PriorityB
エフェクトを入れ替える 2 番目の優先順位レベル。

戻り値

成功した場合は S_OK、それ以外の場合は E_INVALIDARG を返す。

IAMTimelineEffectable::GetEffect

IAMTimelineEffectable インターフェイス

指定された優先順位レベルのエフェクトを取得する。

構文

HRESULT GetEffect(
    IAMTimelineObj **ppFx,
    long Which
);

パラメータ

ppFX
[out] エフェクトの IAMTimelineObj インターフェイスを受け取るポインタのアドレス。
Which
取得するエフェクトの優先順位レベル。

戻り値

HRESULT 値を返す。可能な値は次のとおりである。

S_FALSE指定された優先順位レベルのエフェクトはない。
S_OK成功。
E_POINTERNULL ポインタ引数。

注意

メソッドが S_OK を返した場合、返される IAMTimelineObj インターフェイスは未処理の参照カウントを持つ。使い終わった場合は、インターフェイスを必ず解放すること。