Share via


IMFTransform::D eleteInputStream メソッド (mftransform.h)

この Media Foundation 変換 (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
Library Mfuuid.lib

関連項目

IMFTransform

Media Foundation Transforms