Microsoft DirectX 8.0

RenderEngine オブジェクト

タイムラインからフィルタ グラフを構築することにより、Microsoft® DirectShow 編集サービス (DES) プロジェクトをレンダリングする。

DES では、タイムラインをレンダリングする 2 つのオブジェクトが提供されている。

アプリケーションでフィルタ グラフを作成してレンダリング エンジンに渡すこともできるが、通常の状況では、レンダリング エンジンにフィルタ グラフを作成させる。グラフの作成は、2 段階の処理で行われる。まず、ConnectFrontEnd メソッドを呼び出してフロント エンドを構築する。次に、フロント エンドの出力ピンを目的のレンダリング フィルタに接続する。

メソッド

CommitVisual Basic ではサポートされていない。
ConnectFrontEnd現在のタイムラインからフィルタ グラフのフロント エンドを構築する。
DecommitVisual Basic ではサポートされていない。
DoSmartRecompressionVisual Basic ではサポートされていない。
GetCapsVisual Basic ではサポートされていない。
GetFilterGraphレンダリング エンジンが構築したフィルタ グラフ (ある場合) を取得する。
GetGroupOutputPin指定されたグループの出力ピンを取得する。
GetTimelineObjectレンダリング エンジンが現在使用しているタイムラインを取得する。
GetVendorStringベンダー文字列を取得する。
RenderOutputPinsフィルタ グラフのプレビュー部分を作成する。
SetDynamicReconnectLevelレンダリング時の動的再接続のレベルを設定する。
SetFilterGraph使用するレンダリング エンジン用のフィルタ グラフを指定する。
SetInterestRangeVisual Basic ではサポートされていない。
SetInterestRange2Visual Basic ではサポートされていない。
SetRenderRangeVisual Basic ではサポートされていない。
SetRenderRange2タイムライン上の、レンダリングされる時間の範囲を設定する。
SetSourceConnectCallbackVisual Basic ではサポートされていない。
SetSourceNameValidationレンダリング エンジンがファイル名を検証する方法を指定する。
SetTimelineObject使用するレンダリング エンジン用のタイムラインを設定する。
ScrapItレンダリング エンジンのフィルタ グラフおよび関連付けられているすべてのオブジェクトを破棄する。
UseInSmartRecompressionGraphVisual Basic ではサポートされていない。

Commit メソッド (RenderEngine オブジェクト)

RenderEngine オブジェクト

Visual Basic ではサポートされていない。

構文

object.Commit()

ConnectFrontEnd (RenderEngine オブジェクト)

RenderEngine オブジェクト

現在のタイムラインからフィルタ グラフのフロント エンドを構築する。

構文

object.ConnectFrontEnd()

パラメータ

object
結果が RenderEngine オブジェクトになるオブジェクト式。

エラー コード

メソッドでの処理が失敗するとエラーが発生し、Err.Number には次のいずれかの値が設定される場合がある。

E_INVALIDARGこのレンダリング エンジンにはタイムラインが設定されていない。
E_MUST_INIT_RENDERERレンダリング エンジンが初期化に失敗した。
E_RENDER_ENGINE_IS_BROKENプロジェクトが正しくレンダリングされなかったため、処理が失敗した。
E_UNEXPECTED予期しないエラー。
VFW_E_INVALIDMEDIATYPE無効なメディア タイプ。

注意

このメソッドは、フィルタ グラフのレンダリング部分を構築しない。アプリケーションでは、フロント エンドの出力ピンを目的のレンダリング フィルタに接続しなければならない。

RenderEngine オブジェクトを使っている場合は、フロント エンド上の出力ピンは非圧縮データを生成する。SmartRenderEngine オブジェクトを使っている場合は、出力ピンは圧縮データを出力する。

フィルタ グラフを構築した後でタイムラインを変更した場合は、ConnectFrontEnd をもう一度呼び出してフロント エンドを再構築しなければならない。このメソッドは、可能であればグラフのレンダリング部分を維持する。ただし、グループを追加または削除した場合、またはグループの順序を変更した場合は、ConnectFrontEnd はレンダリング部分を削除するため、アプリケーションでレンダリング部分を再構築しなければならない。

Decommit (RenderEngine オブジェクト)

RenderEngine オブジェクト

Visual Basic ではサポートされていない。

構文

object.Decommit()

DoSmartRecompression (RenderEngine オブジェクト)

RenderEngine オブジェクト

Visual Basic ではサポートされていない。

構文

object.DoSmartRecompression()

GetCaps (RenderEngine オブジェクト)

RenderEngine オブジェクト

Visual Basic ではサポートされていない。

構文

object.GetCaps(
Index As Long,
pReturn As Long
)

GetFilterGraph (RenderEngine オブジェクト)

RenderEngine オブジェクト

レンダリング エンジンが構築したフィルタ グラフ (ある場合) を取得する。

構文

object.GetFilterGraph(
ppFG As IGraphBuilder
)

パラメータ

object
結果が RenderEngine オブジェクトになるオブジェクト式。
ppFG
フィルタ グラフを受け取る FilgraphManager オブジェクト。

エラー コード

メソッドでの処理が失敗するとエラーが発生し、Err.Number には次の値が設定される場合がある。

E_MUST_INIT_RENDERERレンダリング エンジンが初期化に失敗した。

GetGroupOutputPin (RenderEngine オブジェクト)

RenderEngine オブジェクト

指定されたグループの出力ピンを取得する。

構文

object.GetGroupOutputPin(
Group As Long,
ppRenderPin As IPin
)

パラメータ

object
結果が RenderEngine オブジェクトになるオブジェクト式。
Group
グループを指定する、ゼロから始まるインデックス。
ppRenderPin
出力ピンを受け取る IPin オブジェクト。

エラー コード

メソッドでの処理が失敗するとエラーが発生し、Err.Number には次のいずれかの値が設定される場合がある。

E_INVALIDARG無効な引数。
E_MUST_INIT_RENDERERレンダリング エンジンが初期化に失敗した。
E_RENDER_ENGINE_IS_BROKENプロジェクトが正しくレンダリングされなかったため、処理が失敗した。
E_UNEXPECTED予期しないエラー。

注意

このメソッドを呼び出す前に、ConnectFrontEnd を呼び出してグラフのフロント エンドを構築する。各グループは単一のメディア ストリームを表し、フロント エンドには対応する出力ピンがある。

このメソッドを使用して、ファイル書き込みグラフのレンダリング部分を作成できる。出力ピンをマルチプレクサ フィルタおよびファイル ライタ フィルタに接続する。詳細については、「プロジェクトのレンダリング」を参照すること。

プレビューの場合は、このメソッドを呼び出す必要はない。単純に、ConnectFrontEnd の後に RenderOutputPins を呼び出せばよい。

GetTimelineObject (RenderEngine オブジェクト)

RenderEngine オブジェクト

レンダリング エンジンが現在使用しているタイムラインを取得する。

構文

object.GetTimelineObject(
ppTimeline As AMTimeline
)

パラメータ

object
結果が RenderEngine オブジェクトになるオブジェクト式。
ppTimeline
タイムラインを受け取る AMTimeline オブジェクト。

エラー コード

メソッドでの処理が失敗するとエラーが発生し、Err.Number には次の値が設定される場合がある。

E_MUST_INIT_RENDERERレンダリング エンジンが初期化に失敗した。

GetVendorString (RenderEngine オブジェクト)

RenderEngine オブジェクト

ベンダー文字列を取得する。

構文

object.GetVendorString() As String

パラメータ

object
結果が RenderEngine オブジェクトになるオブジェクト式。

戻り値

ベンダー名を含む文字列を返す。

エラー コード

メソッドでの処理が失敗すると、エラーが発生する。

RenderOutputPins (RenderEngine オブジェクト)

RenderEngine オブジェクト

フィルタ グラフのプレビュー部分を作成する。

構文

object.RenderOutputPins()

パラメータ

object
結果が RenderEngine オブジェクトになるオブジェクト式。

エラー コード

メソッドでの処理が失敗するとエラーが発生し、Err.Number には次のいずれかの値が設定される場合がある。

E_INVALIDARG無効な引数。
E_RENDER_ENGINE_IS_BROKEN プロジェクトが正しくレンダリングされなかったため、処理が失敗した。
E_UNEXPECTED予期しないエラー。

注意

このメソッドを呼び出す前に、ConnectFrontEnd を呼び出してグラフのフロント エンドを構築する。プレビュー以外の処理を行う場合は、このメソッドを呼び出してはならない。代わりに、GetGroupOutputPin を呼び出して出力ピンへのポインタを取得する。

ScrapIt (RenderEngine オブジェクト)

RenderEngine オブジェクト

レンダリング エンジンのフィルタ グラフおよび関連付けられているすべてのオブジェクトを破棄する。

構文

object.ScrapIt()

パラメータ

object
結果が RenderEngine オブジェクトになるオブジェクト式。

エラー コード

メソッドでの処理が失敗するとエラーが発生し、Err.Number には次の値が設定される場合がある。

E_MUST_INIT_RENDERERレンダリング エンジンが初期化に失敗した。

SetDynamicReconnectLevel (RenderEngine オブジェクト)

RenderEngine オブジェクト

レンダリング時の動的再接続のレベルを設定する。

構文

object.SetDynamicReconnectLevel(
Level As Long
)

パラメータ

object
結果が RenderEngine オブジェクトになるオブジェクト式。
Level
0 個以上の動的再接続フラグのビットごとの組み合わせ。 動的再接続のレベルを指定する。

エラー コード

メソッドでの処理が失敗するとエラーが発生し、Err.Number には次の値が設定される場合がある。

E_NOTIMPL実装されていない。

注意

デフォルトでは、RenderEngine オブジェクトはプロジェクトをレンダリングする前にすべてのソースをロードする。このため、起動時間が長くなることがある。動的再接続を使用すると、ソースは必要なときにのみロードされる。これによって起動時間は短くなるが、スムースな再生が妨げられることがある。一般に、プロジェクトで使用するソース クリップが多いほど、動的再接続を使用するメリットは大きい。

SmartRenderEngine オブジェクトは、このメソッドを実装していない。

SetFilterGraph (RenderEngine オブジェクト)

RenderEngine オブジェクト

使用するレンダリング エンジン用のフィルタ グラフを指定する。

構文

object.SetFilterGraph(
pFG As IGraphBuilder
)

パラメータ

object
結果が RenderEngine オブジェクトになるオブジェクト式。
pFG
フィルタ グラフを指定する FilgraphManager オブジェクト。

エラー コード

メソッドでの処理が失敗するとエラーが発生し、Err.Number には次のいずれかの値が設定される場合がある。

E_INVALIDARG無効な引数。
E_MUST_INIT_RENDERERレンダリング エンジンが初期化に失敗した。

注意

ほとんどのアプリケーションではこのメソッドを呼び出す必要はない。より一般的な方法は、ConnectFrontEnd メソッドを呼び出すことにより、レンダリング エンジンにグラフを構築させることである。

レンダリング エンジンに既にフィルタ グラフがある場合、このメソッドは失敗する。

レンダリング エンジンが作成したフィルタ グラフを取得し、それをパラメータとして別のレンダリング エンジンでこのメソッドを呼び出してはならない。それを行うと、予測できない結果になる。

SetInterestRange (RenderEngine オブジェクト)

RenderEngine オブジェクト

Visual Basic ではサポートされていない。

構文

object.SetInterestRange(
Start As <Unsupported variant type>,
Stop As <Unsupported variant type>
)

SetInterestRange2 (RenderEngine オブジェクト)

RenderEngine オブジェクト

Visual Basic ではサポートされていない。

構文

object.SetInterestRange2(
double Start As Double,
double Stop As Double
)

SetRenderRange (RenderEngine オブジェクト)

RenderEngine オブジェクト

Visual Basic ではサポートされていない。

構文

object.SetRenderRange(
Start As <Unsupported variant type>,
Stop As <Unsupported variant type>
)

SetRenderRange2 (RenderEngine オブジェクト)

RenderEngine オブジェクト

タイムライン上の、レンダリングされる時間の範囲を設定する。指定された範囲の外にあるオブジェクトはレンダリングされず、それらに対してリソースは割り当てられない。

構文

object.SetRenderRange2(
Start As Double,
Stop As Double
)

パラメータ

object
結果が RenderEngine オブジェクトになるオブジェクト式。
Start
開始タイム (秒単位)。
Stop
終了タイム (秒単位)。

エラー コード

メソッドでの処理が失敗するとエラーが発生し、Err.Number には次の値が設定される場合がある。

E_MUST_INIT_RENDERERレンダリング エンジンが初期化に失敗した。

SetSourceConnectCallback (RenderEngine オブジェクト)

RenderEngine オブジェクト

Visual Basic ではサポートされていない。

構文

object.SetSourceConnectCallback(
pCallback As IGrfCache
)

SetSourceNameValidation (RenderEngine オブジェクト)

RenderEngine オブジェクト

レンダリング エンジンがファイル名を検証する方法を指定する。

構文

object.SetSourceNameValidation(
FilterString As String,
pOverride As MediaLocator,
Flags As Long
)

パラメータ

object
結果が RenderEngine オブジェクトになるオブジェクト式。
FilterString
Microsoft® Win32® の OPENFILENAME 構造体の lpstrFilter メンバで必要な書式に設定されたフィルタ文字列のペアを含む文字列。メディア ロケータは、[開く] ダイアログ ボックスを表示する場合に、このフィルタを使用する。
pOverride
省略可能。デフォルトの代わりに使用する MediaLocator オブジェクト。デフォルトのメディア ロケータを使用する場合は、このパラメータを NULL に設定する。詳細については、「注意」を参照すること。
Flags
MediaLocator オブジェクトの動作を指定するフラグのビットごとの組み合わせ。SFN_VALIDATEF_CHECK フラグは、必ず設定されていなければならない。SFN_VALIDATEF_IGNOREMUTED フラグは、このメソッドでは意味を持たない。

エラー コード

メソッドでの処理が失敗するとエラーが発生し、Err.Number には次の値が設定される場合がある。

E_MUST_INIT_RENDERERレンダリング エンジンが初期化に失敗した。

注意

pOverride パラメータを使用すると、MediaLocator オブジェクトの独自のカスタム実装を使用できる。

現在、このメソッドは動的にロードされたソースを検証しない。詳細については、「SetDynamicReconnectLevel」を参照すること。

SetTimelineObject (RenderEngine オブジェクト)

RenderEngine オブジェクト

使用するレンダリング エンジン用のタイムラインを設定する。

構文

object.SetTimelineObject(
pTimeline As AMTimeline
)

パラメータ

object
結果が RenderEngine オブジェクトになるオブジェクト式。
pTimeline
タイムラインを指定する AMTimeline オブジェクト。

エラー コード

メソッドでの処理が失敗するとエラーが発生し、Err.Number には次のいずれかの値が設定される場合がある。

E_MUST_INIT_RENDERERレンダリング エンジンが初期化に失敗した。
E_OUTOFMEMORYメモリ不足。

UseInSmartRecompressionGraph (RenderEngine オブジェクト)

RenderEngine オブジェクト

Visual Basic ではサポートされていない。

構文

object.UseInSmartRecompressionGraph()