Méthode IMFASFSplitter ::GetSelectedStreams (wmcontainer.h)
Obtient la liste des flux actuellement sélectionnés.
Syntaxe
HRESULT GetSelectedStreams(
[out] WORD *pwStreamNumbers,
[in, out] WORD *pwNumStreams
);
Paramètres
[out] pwStreamNumbers
Adresse d’un tableau de WORD. Ce tableau reçoit les numéros de flux des flux sélectionnés. Ce paramètre peut être NULL.
[in, out] pwNumStreams
En entrée, pointe vers une variable qui contient le nombre d’éléments dans le tableau pwStreamNumbers . Définissez la variable sur zéro si pwStreamNumbers a la valeur NULL.
À la sortie, reçoit le nombre d’éléments qui ont été copiés dans pwStreamNumbers. Chaque élément est l’identificateur d’un flux sélectionné.
Valeur retournée
Cette méthode retourne un code HRESULT. Les valeurs possibles sont notamment celles figurant dans le tableau suivant.
Code de retour | Description |
---|---|
|
S_OK |
|
Argument non valide. |
|
Le tableau pwStreamNumbers est inférieur au nombre de flux sélectionnés. Consultez la section Notes. |
Remarques
Pour obtenir le nombre de flux sélectionnés, définissez pwStreamNumbers surNULL. La méthode retourne MF_E_BUFFERTOSMALL , mais définit également la valeur de *pwNumStreams
égale au nombre de flux sélectionnés. Allouez ensuite un tableau de cette taille et appelez à nouveau la méthode, en passant le tableau dans le paramètre pwStreamNumbers .
Le code suivant illustre ces étapes :
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;
}
Vous pouvez également allouer un tableau égal au nombre total de flux et le transmettre à pwStreamNumbers.
Avant d’appeler cette méthode, initialisez *pwNumStreams
le nombre d’éléments dans pwStreamNumbers. Si pwStreamNumbers a la valeur NULL, définissez sur *pwNumStreams
zéro.
Par défaut, aucun flux n’est sélectionné par le séparateur. Sélectionnez des flux en appelant la méthode IMFASFSplitter ::SelectStreams .
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows Vista [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2008 [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | wmcontainer.h |
Bibliothèque | Mfuuid.lib |