Freigeben über


IMFDeviceTransform::GetStreamIDs-Methode (mftransform.h)

Die GetStreamIDs-Methode ruft die Streambezeichner für die Eingabe- und Ausgabestreams für diese Media Foundation-Transformation (MFT) ab.

Syntax

HRESULT GetStreamIDs(
  [in]  DWORD dwInputIDArraySize,
  [out] DWORD *pdwInputStreamIds,
  [out] DWORD dwOutputIDArraySize,
        DWORD *pdwOutputStreamIds
);

Parameter

[in] dwInputIDArraySize

Die Anzahl der Elemente in pdwInputStreamIDs

[out] pdwInputStreamIds

Ein Zeiger auf ein vom Aufrufer zugeordnetes Array. Die -Methode füllt das Array mit den Eingabestrombezeichnern. Die Arraygröße muss mindestens der Anzahl der Eingabeströme entsprechen. Um die Anzahl der Eingabestreams abzurufen, rufen Sie IMFDeviceTransform::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.

[out] dwOutputIDArraySize

Die Anzahl der Elemente in pdwOutputStreamIDs.

pdwOutputStreamIds

Ein Zeiger auf ein vom Aufrufer zugeordnetes Array. Die -Methode füllt das Array mit den Ausgabedatenstrombezeichnern. Die Arraygröße muss mindestens der Anzahl der Ausgabestreams entsprechen. Um die Anzahl der Ausgabestreams abzurufen, rufen Sie IMFDeviceTransform::GetStreamCount auf.

Rückgabewert

Die Methode gibt ein HRESULT zurück. Mögliche Werte sind u. a. Werte, die in der folgenden Tabelle angegeben sind.

Rückgabecode BESCHREIBUNG
S_OK
Der Übergang des Streamzustands war erfolgreich.
E_POINTER
Ungültiger Zeiger übergeben.
MF_E_BUFFERTOOSMALL
Der einströmende Puffer verfügt nicht über genügend Speicherplatz, um die Stream-IDs auszufüllen.

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 IMFDeviceTransform-Methoden , die für Datenströme arbeiten, Streambezeichner an.

Alle Eingabedatenstrombezeichner müssen innerhalb eines MFT eindeutig sein, und alle Ausgabedatenstrombezeichner müssen eindeutig sein. Ein Eingabedatenstrom und ein Ausgabedatenstrom können jedoch denselben Bezeichner verwenden. I

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 genau einen festen Eingabedatenstrom und einen festen Ausgabedatenstrom aufweist, sollte er beiden Streams den Bezeichner 0 zuweisen.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows 10, Version 1703
Zielplattform Windows
Kopfzeile mftransform.h

Weitere Informationen

IMFDeviceTransform