Microsoft DirectX 8.0 |
IFileSinkFilter インターフェイスは、メディア ストリームをファイルに書き込むフィルタに実装される。たとえば、ビデオ キャプチャ用フィルタ グラフのファイル シンク フィルタでは、ビデオ圧縮フィルタの出力をファイルに書き込む。通常、このフィルタ グラフを実行するアプリケーションでは、ユーザーが出力先のファイル名を入力できる必要がある。このインターフェイスを使用すると、その情報をやり取りできる。
Microsoft® ActiveMovie® 1.0 との後方互換性を保つ必要がない場合は、このインターフェイスではなく IFileSinkFilter2 を使用してもよい。
出力ファイル名を受け取る必要があるフィルタでは、アプリケーションからファイル名を設定するため、このインターフェイスを公開しなければならない。現在、このインターフェイスを実装する基底クラスはない。
ファイル シンク フィルタの出力先ファイル名を設定する必要があるアプリケーションでは、このインターフェイスを使用してファイル名を取得および設定すること。
vtable 順のメソッド
IUnknown メソッド 説明 QueryInterface サポートされているインターフェイスへのポインタを取得する。 AddRef 参照カウントをインクリメントする。 Release 参照カウントをデクリメントする。 IFileSinkFilter メソッド 説明 SetFileName メディア サンプルの出力先ファイル名を設定する。 GetCurFile メディア サンプルが書き込まれる現在のファイル (シンク ファイル) の名前を取得する。
メディア サンプルが書き込まれる現在のファイル (シンク ファイル) の名前を取得する。
構文
HRESULT GetCurFile( LPOLESTR *ppszFileName, AM_MEDIA_TYPE *pmt );
パラメータ
- ppszFileName
- [out] メディア サンプルの出力先ファイル名へのポインタのアドレス。
- pmt
- [out] ファイルに書き込まれるメディア サンプルのタイプへのポインタ。
戻り値
実装に応じた HRESULT 値を返す。HRESULT は、次の標準的な定数の 1 つか、または一覧に示されていないその他の値となる。
E_FAIL 失敗。 E_POINTER Null ポインタ引数。 E_INVALIDARG 無効な引数。 E_NOTIMPL メソッドがサポートされていない。 S_OK または NOERROR 成功。 ファイル名が割り当てられなかった場合、このメソッドは E_FAIL を返す。
メディア サンプルの出力先ファイル名を設定する。
構文
HRESULT SetFileName( LPCOLESTR pszFileName, const AM_MEDIA_TYPE *pmt );
パラメータ
- pszFileName
- [in] メディア サンプルの出力先ファイル名へのポインタ。
- pmt
- [in] ファイルに書き込むメディア サンプルのタイプと、シンク フィルタの入力ピンのメディア タイプへのポインタ。
戻り値
実装に応じた HRESULT 値を返す。HRESULT は、次の標準的な定数の 1 つか、または一覧に示されていないその他の値となる。
E_FAIL 失敗。 E_POINTER Null ポインタ引数。 E_INVALIDARG 無効な引数。 E_NOTIMPL メソッドがサポートされていない。 S_OK または NOERROR 成功。
注意
pszFileName パラメータのファイルが存在しない場合には、そのファイルが作成される。既存ファイルの場合、シンク フィルタはファイルを先に破棄ぜすにオーバーライドする。