IMFTransform::D eleteInputStream 方法 (mftransform.h)

從此媒體基礎轉換中移除輸入資料流程, (MFT) 。

語法

HRESULT DeleteInputStream(
  [in] DWORD dwStreamID
);

參數

[in] dwStreamID

要移除之輸入資料流程的識別碼。

傳回值

方法會傳回 HRESULT。 可能的值包括 (但不限於) 下表中的這些值。

傳回碼 描述
S_OK
此方法已成功。
E_NOTIMPL
轉換具有固定數目的輸入資料流程。
MF_E_INVALIDREQUEST
資料流程不是可移動的,或轉換目前具有可支援的輸入資料流程數目下限。
MF_E_INVALIDSTREAMNUMBER
不正確資料流程識別碼。
MF_E_TRANSFORM_INPUT_REMAINING
轉換具有指定資料流程的未處理輸入緩衝區。

備註

如果轉換具有固定數目的輸入資料流程,方法會 傳回E_NOTIMPL

MFT 可能支援此方法,但不允許移除特定輸入資料流程。 如果可以移除輸入資料流程, IMFTransform::GetInputStreamInfo 方法會傳回該資料流程 的MFT_INPUT_STREAM_REMOVABLE 旗標。 否則,無法移除資料流程,而且方法會 傳回MF_E_INVALIDREQUEST。 如果 MFT 目前有所需的輸入資料流程數目下限,方法也會失敗。 若要尋找資料流程數目下限,請呼叫 IMFTransform::GetStreamLimits

如果轉換仍然有該資料流程的未處理輸入,方法可能會成功,或可能會傳回 MF_E_TRANSFORM_INPUT_REMAINING。 如果方法成功,MFT 將會在移除資料流程之後繼續處理剩餘的輸入。 如果方法傳回 MF_E_TRANSFORM_INPUT_REMAINING,您必須先清除輸入緩衝區,才能移除資料流程。 若要清除輸入緩衝區,請呼叫IMFTransform::P rocessOutput,或使用MFT_MESSAGE_COMMAND_FLUSH呼叫IMFTransform::P rocessMessage來排清 MFT。 然後再次呼叫 DeleteInputStream 。 呼叫 DeleteInputStream 時,MFT 絕對不應該捨棄輸入緩衝區。

如果在包含 mftransform.h 之前定義 MFT_UNIQUE_METHOD_NAMES ,此方法會重新命名 為 MFTDeleteInputStream。 請參閱 建立混合式 DMO/MFT 物件

需求

   
最低支援的用戶端 Windows Vista [傳統型應用程式 |UWP 應用程式]
最低支援的伺服器 Windows Server 2008 [傳統型應用程式 |UWP 應用程式]
目標平台 Windows
標頭 mftransform.h
程式庫 Mfuuid.lib

另請參閱

IMFTransform

媒體基礎轉換