IMFTransform::GetStreamIDs-Methode (mftransform.h)
Ruft die Streambezeichner für die Eingabe- und Ausgabestreams in dieser Media Foundation-Transformation (MFT) ab.
Syntax
HRESULT GetStreamIDs(
[in] DWORD dwInputIDArraySize,
[out] DWORD *pdwInputIDs,
[in] DWORD dwOutputIDArraySize,
[out] DWORD *pdwOutputIDs
);
Parameter
[in] dwInputIDArraySize
Anzahl der Elemente im Array pdwInputIDs .
[out] pdwInputIDs
Zeiger auf ein vom Aufrufer zugeordnetes Array. Die -Methode füllt das Array mit den Eingabedatenstrombezeichnern aus. Die Arraygröße muss mindestens gleich der Anzahl der Eingabestreams sein. Um die Anzahl der Eingabestreams abzurufen, rufen Sie IMFTransform::GetStreamCount auf.
Wenn der Aufrufer ein Array übergibt, das größer als die Anzahl der Eingabedatenströme ist, darf der MFT keine Werte in die zusätzlichen Arrayeinträge schreiben.
[in] dwOutputIDArraySize
Anzahl der Elemente im PdwOutputIDs-Array .
[out] pdwOutputIDs
Zeiger auf ein vom Aufrufer zugeordnetes Array. Die -Methode füllt das Array mit den Ausgabedatenstrombezeichnern aus. Die Arraygröße muss mindestens gleich der Anzahl der Ausgabestreams sein. Rufen Sie GetStreamCount auf, um die Anzahl der Ausgabestreams abzurufen.
Wenn der Aufrufer ein Array übergibt, das größer als die Anzahl der Ausgabestreams ist, darf der MFT keine Werte in die zusätzlichen Arrayeinträge schreiben.
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. |
|
Nicht implementiert. Siehe Hinweise. |
|
Eines oder beide Arrays sind zu klein. |
Hinweise
Streambezeichner sind erforderlich, da einige MFTs Streams hinzufügen oder entfernen können, sodass der Index eines Datenstroms möglicherweise nicht eindeutig ist. Daher nehmen IMFTransform-Methoden , die mit Streams arbeiten, Streambezeichner an.
Diese Methode kann E_NOTIMPL zurückgeben, wenn beide der folgenden Bedingungen zutreffen:
- Die Transformation verfügt über eine feste Anzahl von Streams.
- Die Datenströme werden nacheinander von 0 bis n – 1 nummeriert, wobei n die Anzahl der Eingabe- oder Ausgabestreams ist. Mit anderen Worten, der erste Eingabedatenstrom ist 0, der zweite ist 1 usw. und der erste Ausgabedatenstrom ist 0, der zweite ist 1 usw.
- Der MFT kann Ausgabestreams hinzufügen oder entfernen.
- Mit MFT kann der Client Eingabestreams hinzufügen oder entfernen.
- Die Streambezeichner sind nicht aufeinander folgend.
Wenn der Client einen Eingabedatenstrom hinzufügt, weist der Client den Bezeichner zu, sodass der MFT beliebige Bezeichner zulassen muss, solange sie eindeutig sind. Wenn der MFT einen Ausgabedatenstrom erstellt, weist der MFT den Bezeichner zu.
Wenn ein MFT über genau einen festen Eingabedatenstrom und einen festen Ausgabedatenstrom verfügt, sollte er gemäß der Konvention beiden Streams den Bezeichner 0 zuweisen.
Wenn MFT_UNIQUE_METHOD_NAMES vor dem Einschließen von mftransform.h definiert ist, wird diese Methode in MFTGetStreamIDs 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 |