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 でもかまいません。
このパラメーターが有効なポインターの場合、シンク ライターは指定されたバイト ストリームに書き込みます。 (バイト ストリームは書き込み可能である必要があります)。それ以外の場合、 pByteStream が NULL の場合、シンク ライターは pwszOutputURL という名前の新しいファイルを作成します。
[in] pAttributes
IMFAttributes インターフェイスへのポインター。 このパラメーターを使用して、シンク ライターを構成できます。 詳細については、「 シンク ライター属性」を参照してください。 このパラメーターは、NULL でもかまいません。
[out] ppSinkWriter
IMFSinkWriter インターフェイスへのポインターを受け取ります。 呼び出し元はインターフェイスを解放する必要があります。
戻り値
この関数は、これらの値のいずれかを返すことができます。
リターン コード | 説明 |
---|---|
|
正常終了しました。 |
|
指定した 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 という名前の新しいファイルを作成します。 pAttributes で MF_TRANSCODE_CONTAINERTYPE 属性を持つ属性ストアが指定されている場合、シンク ライターはその属性を使用してファイル コンテナーの種類を決定します。 それ以外の場合、MF_TRANSCODE_CONTAINERTYPE属性が存在しない場合、または pAttributes が NULL の場合、シンク ライターはファイル名拡張子を使用してコンテナーの種類を選択します。たとえば、ASF ファイルの ".asf" などです。
- ケース 3: URL とバイト ストリームの両方を指定します。 シンク ライターはバイト ストリームに書き込みます。 pwszOutputURL で提供される URL は情報のみです。シンク ライターは新しいファイルを作成しません。 pAttributes で MF_TRANSCODE_CONTAINERTYPE 属性を持つ属性ストアが指定されている場合、シンク ライターはその属性を使用してファイル コンテナーの種類を決定します。 それ以外の場合、シンク ライターはファイル名拡張子を使用してコンテナーの種類を選択します。 この場合、MF_TRANSCODE_CONTAINERTYPE属性は URL ファイル名拡張子をオーバーライドします。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista 用 Windows 7、Windows Vista およびプラットフォーム更新プログラムの補足 [デスクトップ アプリ |UWP アプリ] |
サポートされている最小のサーバー | Windows Server 2008 R2 [デスクトップ アプリ |UWP アプリ] |
対象プラットフォーム | Windows |
ヘッダー | mfreadwrite.h |
Library | Mfreadwrite.lib |
[DLL] | Mfreadwrite.dll |