IMFTransform::D eleteInputStream 方法 (mftransform.h)
從此媒體基礎轉換中移除輸入資料流程, (MFT) 。
語法
HRESULT DeleteInputStream(
[in] DWORD dwStreamID
);
參數
[in] dwStreamID
要移除之輸入資料流程的識別碼。
傳回值
方法會傳回 HRESULT。 可能的值包括 (但不限於) 下表中的這些值。
傳回碼 | 描述 |
---|---|
|
此方法已成功。 |
|
轉換具有固定數目的輸入資料流程。 |
|
資料流程不是可移動的,或轉換目前具有可支援的輸入資料流程數目下限。 |
|
不正確資料流程識別碼。 |
|
轉換具有指定資料流程的未處理輸入緩衝區。 |
備註
如果轉換具有固定數目的輸入資料流程,方法會 傳回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 |