IMFTransform::D eleteInputStream-Methode (mftransform.h)
Entfernt einen Eingabedatenstrom aus dieser Media Foundation-Transformation (MFT).
Syntax
HRESULT DeleteInputStream(
[in] DWORD dwStreamID
);
Parameter
[in] dwStreamID
Bezeichner des zu entfernenden Eingabedatenstroms.
Rückgabewert
Die Methode gibt ein HRESULT zurück. Mögliches Werte (aber nicht die Einzigen) sind die in der folgenden Tabelle.
Rückgabecode | BESCHREIBUNG |
---|---|
|
Die Methode wurde erfolgreich ausgeführt. |
|
Die Transformation verfügt über eine feste Anzahl von Eingabedatenströmen. |
|
Der Stream kann nicht entfernt werden, oder die Transformation verfügt derzeit über die mindeste Anzahl von Eingabedatenströmen, die sie unterstützen kann. |
|
Ungültiger Streambezeichner. |
|
Die Transformation verfügt über nicht verarbeitete Eingabepuffer für den angegebenen Stream. |
Hinweise
Wenn die Transformation eine feste Anzahl von Eingabedatenströmen aufweist, gibt die Methode E_NOTIMPL zurück.
Ein MFT unterstützt möglicherweise diese Methode, lässt aber das Entfernen bestimmter Eingabedatenströme nicht zu. Wenn ein Eingabedatenstrom entfernt werden kann, gibt die IMFTransform::GetInputStreamInfo-Methode das MFT_INPUT_STREAM_REMOVABLE-Flag für diesen Datenstrom zurück. Andernfalls kann der Stream nicht entfernt werden, und die Methode gibt MF_E_INVALIDREQUEST zurück. Die Methode schlägt auch fehl, wenn die MFT derzeit über die erforderliche Mindestanzahl von Eingabedatenströmen verfügt. Rufen Sie IMFTransform::GetStreamLimits auf, um die Mindestanzahl von Streams zu ermitteln.
Wenn die Transformation noch nicht verarbeitete Eingaben für diesen Stream enthält, kann die Methode erfolgreich sein oder MF_E_TRANSFORM_INPUT_REMAINING zurückgeben. Wenn die Methode erfolgreich ist, verarbeitet das MFT die verbleibende Eingabe nach dem Entfernen des Datenstroms weiter. Wenn die Methode MF_E_TRANSFORM_INPUT_REMAINING zurückgibt, müssen Sie die Eingabepuffer löschen, bevor Sie den Datenstrom entfernen. Um die Eingabepuffer zu löschen, rufen Sie entweder IMFTransform::P rocessOutput auf, oder rufen Sie IMFTransform::P rocessMessage mit dem MFT_MESSAGE_COMMAND_FLUSH auf, um das MFT zu leeren. Rufen Sie dann deleteInputStream erneut auf. Ein MFT sollte keine Eingabepuffer verwerfen, wenn DeleteInputStream aufgerufen wird.
Wenn MFT_UNIQUE_METHOD_NAMES vor dem Einschließen von mftransform.h definiert ist, wird diese Methode in MFTDeleteInputStream umbenannt. Weitere Informationen finden Sie unter Erstellen von DMO/MFT-Hybridobjekten.
Anforderungen
Unterstützte Mindestversion (Client) | Windows Vista [Desktop-Apps | UWP-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2008 [Desktop-Apps | UWP-Apps] |
Zielplattform | Windows |
Kopfzeile | mftransform.h |
Bibliothek | Mfuuid.lib |