Microsoft DirectX 8.0

IFileSinkFilter2 インターフェイス

IFileSinkFilter2 インターフェイスは、IFileSinkFilter インターフェイスから派生するものであり、Microsoft® ActiveMovie® 1.0 との後方互換性を保つ必要がない場合は、こちらのインターフェイスを使用してもよい。IFileSinkFilter 同様、メディア ストリームをファイルに書き込むフィルタでは、このインターフェイスを実装する。たとえば、ビデオ キャプチャ用フィルタ グラフのファイル シンク フィルタは、圧縮フィルタの出力をファイルに保存する。通常、このフィルタ グラフを実行するアプリケーションでは、ユーザーが保存先のファイル名を入力できなければいけない。このインターフェイスを使用すると、その情報をやり取りできる。 IFileSinkFilter2 には、既に同じ名前のファイルがある場合に既存ファイルを破棄すべきかどうかを決定するオプションが加わっている。ビデオ キャプチャの場合、ファイル容量を事前に割り当てるには非常に時間がかかるため、既に作成したファイルを破棄しないこと。デフォルトでは、元のファイルは破棄されない。それ以外の場合、新しく書き込むファイルに不要なデータを残さないため、元のファイルが破棄される。

出力ファイル名を必要とするフィルタ、または出力ファイルのオプションを設定する必要があるフィルタでは、このインターフェイスを実装しなければならない。開発するフィルタと ActiveMovie 1.0 との互換性を保つには、従来の IFileSinkFilter インターフェイスを実装する。現在、このインターフェイスを実装する基底クラスはない。

ファイル シンク フィルタの出力先ファイル名を設定する必要があるアプリケーションでは、このインターフェイスを使用して、ファイル名を取得および設定するか、またはオプションを設定しなければならない。開発するアプリケーションと ActiveMovie 1.0 との互換性を保つには、従来の IFileSinkFilter インターフェイスを使用すること。

vtable 順のメソッド

IUnknown メソッド説明
QueryInterface サポートされているインターフェイスへのポインタを取得する。
AddRef 参照カウントをインクリメントする。
Release 参照カウントをデクリメントする。
IFileSinkFilter メソッド説明
SetFileName メディア サンプルの出力先ファイル名を設定する。
GetCurFile メディア サンプルが書き込まれる現在のファイル (シンク ファイル) の名前を取得する。
IFileSinkFilter2 メソッド説明
SetMode 新規ファイルの作成時にファイル ライタがファイルを破棄するかどうかを決定する。
GetMode 新規ファイルの作成時にファイル ライタがファイルを破棄するかどうかを取得する。

IFileSinkFilter2::GetMode

IFileSinkFilter2 インターフェイス

新規ファイルの作成時にファイル ライタがファイルを破棄するかどうかを取得する。

構文

HRESULT GetMode(
    DWORD *dwFlags
);

パラメータ

dwFlags
[out] 取得されたフラグへのポインタ。現在定義されているフラグは、ファイルを破棄することを示す AM_FILE_OVERWRITE のみ。0 はファイルを破棄しないことを示す。

戻り値

インターフェイスの実装に応じた HRESULT 値を返す。

IFileSinkFilter2::SetMode

IFileSinkFilter2 インターフェイス

新規ファイルの作成時にファイル ライタがファイルを破棄するかどうかを決定する。

構文

HRESULT SetMode(
    DWORD dwFlags
);

パラメータ

dwFlags
[in] 現在定義されているフラグは、ファイルを破棄することを示す AM_FILE_OVERWRITE のみ。ファイルを破棄しないためには、dwFlags に 0 を指定する。

戻り値

インターフェイスの実装に応じた HRESULT 値を返す。