ソース リゾルバー フラグ

ソース リゾルバーの動作を定義します。 これらのフラグは、スキーム ハンドラーとバイト ストリーム ハンドラーでも使用されます。

定数/値 説明
MF_RESOLUTION_MEDIASOURCE
0x00000001
メディア ソースの作成を試みます。
MF_RESOLUTION_BYTESTREAM
0x00000002
バイト ストリームの作成を試みます。
MF_RESOLUTION_CONTENT_DOES_NOT_HAVE_TO_MATCH_EXTENSION_OR_MIME_TYPE
0x00000010
MIME の種類またはファイル名拡張子に登録されているバイト ストリーム ハンドラーを使用してソース解決が失敗した場合、ソース リゾルバーは、登録されているすべてのバイト ストリーム ハンドラーを列挙します。
バイト ストリーム ハンドラーは、ファイル名拡張子または MIME の種類によって登録されます。 最初に、ソース リゾルバーは、ファイル名拡張子または MIME の種類に一致するハンドラーの使用を試みます。 これが失敗した場合、既定ではソース解決全体が失敗し、ソース リゾルバーはエラー コードをアプリケーションに返します。 ただし、このフラグを指定した場合、ソース リゾルバーは、登録されているすべてのバイト ストリーム ハンドラーを列挙し続けます。 一致しないハンドラーがメディア ソースを正常に作成する可能性があります。
このフラグをMF_RESOLUTION_KEEP_BYTE_STREAM_ALIVE_ON_FAILフラグと組み合わせることはできません。 詳細については、「解説」を参照してください。
MF_RESOLUTION_KEEP_BYTE_STREAM_ALIVE_ON_FAIL
0x00000020
ソース解決が失敗した場合、ソース リゾルバーはバイト ストリームを閉じません。 既定では、ソース リゾルバーはエラー時にバイト ストリームを閉じます。
このフラグが使用され、ソース解決が失敗した場合、呼び出し元はメソッドを再度呼び出し、MF_RESOLUTION_CONTENT_DOES_NOT_HAVE_TO_MATCH_EXTENSION_OR_MIME_TYPE フラグを設定する必要があります。
このフラグをMF_RESOLUTION_CONTENT_DOES_NOT_HAVE_TO_MATCH_EXTENSION_OR_MIME_TYPEフラグと組み合わせることはできません。 詳細については、「解説」を参照してください。
MF_RESOLUTION_READ
0x00010000
ソースへの読み取りアクセスを要求します。
MF_RESOLUTION_WRITE
0x00020000
ソースへの書き込みアクセスを要求します。
MF_RESOLUTION_DISABLE_LOCAL_PLUGINS
0x00000040
ソース リゾルバーでは、ローカルに登録されたスキームまたはバイトストリーム ハンドラー プラグインは使用されません。
Windows 8が必要です。

注釈

アプリケーションは、 IMFSourceResolver インターフェイスを使用するときにこれらのフラグを設定します。 ソース リゾルバーは、 IMFByteStreamHandler::BeginCreateObject メソッドと IMFSchemeHandler::BeginCreateObject メソッドに同じフラグを渡します。

MF_RESOLUTION_MEDIASOURCEフラグまたはMF_RESOLUTION_BYTESTREAM フラグのいずれかを指定する必要があります。 残りのフラグはすべて省略可能です。

MF_RESOLUTION_KEEP_BYTE_STREAM_ALIVE_ON_FAIL フラグは、次のシナリオで定義されます。

  1. アプリケーションは、ネットワーク経由でソースを開こうとします。 アプリケーションは、MF_RESOLUTION_KEEP_BYTE_STREAM_ALIVE_ON_FAIL フラグを設定します。

  2. ソースの URL に間違ったファイル名拡張子が含まれています。 ファイル名拡張子が間違っているため、既定のバイト ストリーム ハンドラーはメディア ソースを作成できません。 アプリケーションは MF_RESOLUTION_KEEP_BYTE_STREAM_ALIVE_ON_FAIL フラグを設定するため、ソース リゾルバーはバイト ストリームをキャッシュします。

  3. ソース リゾルバーは、エラー コードをアプリケーションに返します。

  4. クライアントがソースをもう一度開き、今度は MF_RESOLUTION_CONTENT_DOES_NOT_HAVE_TO_MATCH_EXTENSION_OR_MIME_TYPE フラグを設定します。 このフラグにより、ソース リゾルバーは、既定のハンドラーだけでなく、登録されているすべてのハンドラーを試します。 バイト ストリームがキャッシュされているため、ソース リゾルバーはバイト ストリームを再度開く必要はありません。

要件

要件
サポートされている最小のクライアント
Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー
Windows Server 2008 [デスクトップ アプリのみ]
Header
Mfidl.h

こちらもご覧ください

Media Foundation 定数

IMFByteStreamHandler

IMFSchemeHandler

IMFSourceResolver

ソース リゾルバー