IMFTransform::D eleteInputStream 方法 (mftransform.h)
从此媒体基础转换中删除输入流 (MFT) 。
语法
HRESULT DeleteInputStream(
[in] DWORD dwStreamID
);
parameters
[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 |
Library | Mfuuid.lib |