來源解析程式旗標

定義來源解析程式的行為。 配置處理常式和位元組資料流程處理常式也會使用這些旗標。

常數/值 Description
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::BeginCreateObjectIMFSchemeHandler::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 [僅限傳統型應用程式]
標頭
Mfidl.h

另請參閱

媒體基礎常數

IMFByteStreamHandler

IMFSchemeHandler

IMFSourceResolver

來源解析程式