次の方法で共有


MFCreateSinkWriterFromURL 関数 (mfreadwrite.h)

URL またはバイト ストリームからシンク ライターを作成します。

構文

HRESULT MFCreateSinkWriterFromURL(
  [in]  LPCWSTR       pwszOutputURL,
  [in]  IMFByteStream *pByteStream,
  [in]  IMFAttributes *pAttributes,
  [out] IMFSinkWriter **ppSinkWriter
);

パラメーター

[in] pwszOutputURL

出力ファイルの URL を含む null で終わる文字列。 このパラメーターは、NULL でもかまいません。

[in] pByteStream

バイト ストリームの IMFByteStream インターフェイスへのポインター。 このパラメーターは、NULL でもかまいません。

このパラメーターが有効なポインターの場合、シンク ライターは指定されたバイト ストリームに書き込みます。 (バイト ストリームは書き込み可能である必要があります)。それ以外の場合、 pByteStreamNULL の場合、シンク ライターは pwszOutputURL という名前の新しいファイルを作成します。

[in] pAttributes

IMFAttributes インターフェイスへのポインター。 このパラメーターを使用して、シンク ライターを構成できます。 詳細については、「 シンク ライター属性」を参照してください。 このパラメーターは、NULL でもかまいません。

[out] ppSinkWriter

IMFSinkWriter インターフェイスへのポインターを受け取ります。 呼び出し元はインターフェイスを解放する必要があります。

戻り値

この関数は、これらの値のいずれかを返すことができます。

リターン コード 説明
S_OK
正常終了しました。
MF_E_NOT_FOUND
指定した URL が見つかりませんでした。

注釈

この関数を呼び出す前に 、CoInitialize(Ex)MFStartup を 呼び出します。

この関数の最初の 3 つのパラメーターは NULL にすることができます。ただし、特定の組み合わせのみが有効です。

説明 pwszOutputURL pByteStream pAttributes
URL を指定しないバイト ストリームを指定します。 NULL NULL 以外 必須 ( NULL にすることはできません)。
バイト ストリームを使用しない URL を指定します。 NULL 以外 NULL 省略可能 ( NULL でもかまいません)。
URL とバイト ストリームの両方を指定します。 NULL 以外 NULL 以外 省略可能 ( NULL でもかまいません)。
 

最初のケースでは pAttributes パラメーターが必要であり、他の場合は省略可能です。

  • ケース 1: URL のないバイト ストリームを指定します。 pAttributes パラメーターは、MF_TRANSCODE_CONTAINERTYPE属性を含む属性ストアを指す必要があります。 シンク ライターは、MF_TRANSCODE_CONTAINERTYPE属性を使用して、書き込むファイル コンテナーの種類 (ASF や MP4 など) を決定します。
  • ケース 2: バイト ストリームのない URL を指定します。 シンク ライターは 、pwszOutputURL という名前の新しいファイルを作成します。 pAttributesMF_TRANSCODE_CONTAINERTYPE 属性を持つ属性ストアが指定されている場合、シンク ライターはその属性を使用してファイル コンテナーの種類を決定します。 それ以外の場合、MF_TRANSCODE_CONTAINERTYPE属性が存在しない場合、または pAttributesNULL の場合、シンク ライターはファイル名拡張子を使用してコンテナーの種類を選択します。たとえば、ASF ファイルの ".asf" などです。
  • ケース 3: URL とバイト ストリームの両方を指定します。 シンク ライターはバイト ストリームに書き込みます。 pwszOutputURL で提供される URL は情報のみです。シンク ライターは新しいファイルを作成しません。 pAttributesMF_TRANSCODE_CONTAINERTYPE 属性を持つ属性ストアが指定されている場合、シンク ライターはその属性を使用してファイル コンテナーの種類を決定します。 それ以外の場合、シンク ライターはファイル名拡張子を使用してコンテナーの種類を選択します。 この場合、MF_TRANSCODE_CONTAINERTYPE属性は URL ファイル名拡張子をオーバーライドします。
この関数は、Windows Vista のプラットフォーム更新プログラムの補足がインストールされている場合に Windows Vista で使用できます。

要件

要件
サポートされている最小のクライアント Windows Vista 用 Windows 7、Windows Vista およびプラットフォーム更新プログラムの補足 [デスクトップ アプリ |UWP アプリ]
サポートされている最小のサーバー Windows Server 2008 R2 [デスクトップ アプリ |UWP アプリ]
対象プラットフォーム Windows
ヘッダー mfreadwrite.h
Library Mfreadwrite.lib
[DLL] Mfreadwrite.dll

こちらもご覧ください

メディア ファンデーション機能