次の方法で共有


ICaptureGraphBuilder::SetOutputFileName メソッド (strmif.h)

[このページに関連付けられている機能 DirectShow は、従来の機能です。 MediaPlayerIMFMediaEngine、および Media Foundation のオーディオ/ビデオ キャプチャに置き換わりました。 これらの機能は、Windows 10とWindows 11用に最適化されています。 新しいコードでは、可能であれば、DirectShow ではなく Media Foundation で MediaPlayerIMFMediaEngineAudio/Video Capture を使用することを強くお勧めします。 Microsoft は、従来の API を使用する既存のコードを、可能であれば新しい API を使用するように書き直すよう提案しています。]

メモICaptureGraphBuilder インターフェイスは非推奨です。 代わりに ICaptureGraphBuilder2 を使用してください。
 
フィルター グラフのレンダリング セクションを作成します。これにより、指定したファイル名のディスクにビットが保存されます。

構文

HRESULT SetOutputFileName(
  [in]  const GUID      *pType,
  [in]  LPCOLESTR       lpstrFile,
  [out] IBaseFilter     **ppf,
  [out] IFileSinkFilter **ppSink
);

パラメーター

[in] pType

メディア サブタイプを表す GUID へのポインター。 &MEDIASUBTYPE_Aviである必要があります。

[in] lpstrFile

出力ファイル名を含むワイド文字列へのポインター。

[out] ppf

マルチプレクサー フィルターを表す IBaseFilter インターフェイスへのポインターのアドレス。 このメソッドは 、IBaseFilter インターフェイスの参照カウントをインクリメントするため、フィルターの使用が完了したら、このパラメーターの Release メソッドを使用して参照カウントをデクリメントする必要があります。

[out] ppSink

ファイル ライターを表す IFileSinkFilter インターフェイスへのポインターのアドレス。 このメソッドは、IFileSinkFilter インターフェイスの参照カウントをインクリメントするため、フィルターを使用して完了したときに Release を使用して参照カウントをデクリメントする必要があります。

戻り値

HRESULT 値を返します。 使用可能な値は次のとおりです。

リターン コード 説明
E_FAIL
失敗しました。
E_INVALIDARG
引数が無効です。 Audio-Video インターリーブ (AVI) は、サポートされている唯一の出力形式です。
E_OUTOFMEMORY
メモリが不足しています。
E_POINTER
NULL ポインター引数。
E_UNEXPECTED
Unexpected error occurred. (予期しないエラーが発生しました。)
NOERROR
正常終了しました。
S_OK
AVI マルチプレクサー フィルターのインスタンスが正常に作成されました。

注釈

このメソッドは、マルチプレクサーとファイル ライターをフィルター グラフに挿入し、 IFileSinkFilter::SetFileName を呼び出して出力ファイル名を設定します。

RenderStream の呼び出しでは、このメソッドによって返される ppf パラメーターを pfRenderer パラメーターとして使用できます。

SetFileName の呼び出しで、このメソッドの pSink パラメーターを使用して、 によって設定されたICaptureGraphBuilder::SetOutputFileNameファイル名を変更できます。

要件

要件
サポートされている最小のクライアント Reference:_Dshowh
対象プラットフォーム Windows
ヘッダー strmif.h
[DLL] Quartz.dll

こちらもご覧ください

エラーコードと成功コード

ICaptureGraphBuilder インターフェイス