IMFASFSplitter::GetSelectedStreams-Methode (wmcontainer.h)
Ruft eine Liste der aktuell ausgewählten Streams ab.
Syntax
HRESULT GetSelectedStreams(
[out] WORD *pwStreamNumbers,
[in, out] WORD *pwNumStreams
);
Parameter
[out] pwStreamNumbers
Die Adresse eines Arrays von WORDs. Dieses Array empfängt die Datenstromnummern der ausgewählten Streams. Dieser Parameter kann NULL sein.
[in, out] pwNumStreams
Zeigt bei der Eingabe auf eine Variable, die die Anzahl der Elemente im pwStreamNumbers-Array enthält. Legen Sie die Variable auf null fest, wenn pwStreamNumbersNULL ist.
Empfängt bei der Ausgabe die Anzahl der Elemente, die in pwStreamNumbers kopiert wurden. Jedes Element ist der Bezeichner eines ausgewählten Datenstroms.
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. |
|
Ungültiges Argument. |
|
Das pwStreamNumbers-Array ist kleiner als die Anzahl der ausgewählten Streams. Siehe Hinweise. |
Hinweise
Legen Sie pwStreamNumbers auf NULL fest, um die Anzahl der ausgewählten Streams abzurufen. Die -Methode gibt MF_E_BUFFERTOSMALL zurück, legt aber auch den Wert von *pwNumStreams
gleich der Anzahl der ausgewählten Datenströme fest. Ordnen Sie dann ein Array dieser Größe zu, und rufen Sie die -Methode erneut auf, und übergeben Sie das Array im pwStreamNumbers-Parameter .
Diese Schritte sind im folgenden Code dargestellt:
HRESULT DisplaySelectedStreams(IMFASFSplitter *pSplitter)
{
WORD count = 0;
HRESULT hr = pSplitter->GetSelectedStreams(NULL, &count);
if (hr == MF_E_BUFFERTOOSMALL)
{
WORD *pStreamIds = new (std::nothrow) WORD[count];
if (pStreamIds)
{
hr = pSplitter->GetSelectedStreams(pStreamIds, &count);
if (SUCCEEDED(hr))
{
for (WORD i = 0; i < count; i++)
{
printf("Selected stream ID: %d\n", pStreamIds[i]);
}
}
delete [] pStreamIds;
}
else
{
hr = E_OUTOFMEMORY;
}
}
return hr;
}
Alternativ können Sie ein Array zuordnen, das der Gesamtzahl der Streams entspricht, und dieses an pwStreamNumbers übergeben.
Initialisieren *pwNumStreams
Sie vor dem Aufrufen dieser Methode die Anzahl der Elemente in pwStreamNumbers. Wenn pwStreamNumbersNULL ist, legen Sie auf Null fest *pwNumStreams
.
Standardmäßig werden keine Streams vom Splitter ausgewählt. Wählen Sie Streams aus, indem Sie die IMFASFSplitter::SelectStreams-Methode aufrufen.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows Vista [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2008 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | wmcontainer.h |
Bibliothek | Mfuuid.lib |