Metodo IMFASFSplitter::GetSelectedStreams (wmcontainer.h)
Ottiene un elenco di flussi attualmente selezionati.
Sintassi
HRESULT GetSelectedStreams(
[out] WORD *pwStreamNumbers,
[in, out] WORD *pwNumStreams
);
Parametri
[out] pwStreamNumbers
Indirizzo di una matrice di WORD. Questa matrice riceve i numeri di flusso dei flussi selezionati. Questo parametro può essere NULL.
[in, out] pwNumStreams
In input, punta a una variabile contenente il numero di elementi nella matrice pwStreamNumbers . Impostare la variabile su zero se pwStreamNumbers è NULL.
Nell'output riceve il numero di elementi copiati in pwStreamNumbers. Ogni elemento è l'identificatore di un flusso selezionato.
Valore restituito
Il metodo restituisce un HRESULT. I valori possibili includono, ma non sono limitati a, quelli indicati nella tabella seguente.
Codice restituito | Descrizione |
---|---|
|
Il metodo è riuscito. |
|
Argomento non valido. |
|
La matrice pwStreamNumbers è inferiore al numero di flussi selezionati. Vedere la sezione Osservazioni. |
Commenti
Per ottenere il numero di flussi selezionati, impostare pwStreamNumbers su NULL. Il metodo restituirà MF_E_BUFFERTOSMALL ma imposterà anche il valore di *pwNumStreams
uguale al numero di flussi selezionati. Allocare quindi una matrice di tale dimensione e chiamare di nuovo il metodo, passando la matrice nel parametro pwStreamNumbers .
Il codice seguente illustra questi passaggi:
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;
}
In alternativa, è possibile allocare una matrice uguale al numero totale di flussi e passarlo a pwStreamNumbers.
Prima di chiamare questo metodo, inizializzare *pwNumStreams
il numero di elementi in pwStreamNumbers. Se pwStreamNumbers è NULL, impostare *pwNumStreams
su zero.
Per impostazione predefinita, nessun flusso viene selezionato dal splitter. Selezionare i flussi chiamando il metodo IMFASFSplitter::SelectStreams .
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows Vista [solo app desktop] |
Server minimo supportato | Windows Server 2008 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | wmcontainer.h |
Libreria | Mfuuid.lib |