Método IMFASFSplitter::GetSelectedStreams (wmcontainer.h)
Obtiene una lista de secuencias seleccionadas actualmente.
Sintaxis
HRESULT GetSelectedStreams(
[out] WORD *pwStreamNumbers,
[in, out] WORD *pwNumStreams
);
Parámetros
[out] pwStreamNumbers
Dirección de una matriz de WORD. Esta matriz recibe los números de secuencia de las secuencias seleccionadas. Este parámetro puede ser NULL.
[in, out] pwNumStreams
En la entrada, apunta a una variable que contiene el número de elementos de la matriz pwStreamNumbers . Establezca la variable en cero si pwStreamNumbers es NULL.
En la salida, recibe el número de elementos que se copiaron en pwStreamNumbers. Cada elemento es el identificador de una secuencia seleccionada.
Valor devuelto
El método devuelve un valor HRESULT. Entre los valores posibles se incluyen los que se indican en la tabla siguiente, entre otros.
Código devuelto | Descripción |
---|---|
|
El método se ha llevado a cabo de forma correcta. |
|
Argumento no válido. |
|
La matriz pwStreamNumbers es menor que el número de secuencias seleccionadas. Vea la sección Comentarios. |
Comentarios
Para obtener el número de secuencias seleccionadas, establezca pwStreamNumbers en NULL. El método devolverá MF_E_BUFFERTOSMALL, pero también establecerá el valor de *pwNumStreams
igual al número de secuencias seleccionadas. A continuación, asigne una matriz de ese tamaño y vuelva a llamar al método, pasando la matriz en el parámetro pwStreamNumbers .
El siguiente código muestra estos pasos:
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;
}
Como alternativa, puede asignar una matriz que sea igual al número total de secuencias y pasarla a pwStreamNumbers.
Antes de llamar a este método, inicialice *pwNumStreams
el número de elementos de pwStreamNumbers. Si pwStreamNumbers es NULL, establezca en *pwNumStreams
cero.
De forma predeterminada, el divisor no selecciona ningún flujo. Seleccione secuencias llamando al método IMFASFSplitter::SelectStreams .
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows Vista [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2008 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | wmcontainer.h |
Library | Mfuuid.lib |