Método IMFTransform::GetStreamIDs (mftransform.h)
Obtiene los identificadores de flujo de las secuencias de entrada y salida de esta transformación de Media Foundation (MFT).
Sintaxis
HRESULT GetStreamIDs(
[in] DWORD dwInputIDArraySize,
[out] DWORD *pdwInputIDs,
[in] DWORD dwOutputIDArraySize,
[out] DWORD *pdwOutputIDs
);
Parámetros
[in] dwInputIDArraySize
Número de elementos de la matriz pdwInputIDs .
[out] pdwInputIDs
Puntero a una matriz asignada por el autor de la llamada. El método rellena la matriz con los identificadores de flujo de entrada. El tamaño de la matriz debe ser al menos igual al número de flujos de entrada. Para obtener el número de flujos de entrada, llame a IMFTransform::GetStreamCount.
Si el autor de la llamada pasa una matriz que es mayor que el número de flujos de entrada, MFT no debe escribir valores en las entradas de matriz adicionales.
[in] dwOutputIDArraySize
Número de elementos de la matriz pdwOutputIDs .
[out] pdwOutputIDs
Puntero a una matriz asignada por el autor de la llamada. El método rellena la matriz con los identificadores del flujo de salida. El tamaño de la matriz debe ser al menos igual al número de flujos de salida. Para obtener el número de flujos de salida, llame a GetStreamCount.
Si el autor de la llamada pasa una matriz que es mayor que el número de secuencias de salida, MFT no debe escribir valores en las entradas de matriz adicionales.
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. |
|
Sin implementar. Vea la sección Comentarios. |
|
Una o ambas matrices son demasiado pequeñas. |
Comentarios
Los identificadores de flujo son necesarios porque algunas MFT pueden agregar o quitar secuencias, por lo que es posible que el índice de una secuencia no sea único. Por lo tanto, los métodos IMFTransform que operan en secuencias toman identificadores de flujo.
Este método puede devolver E_NOTIMPL si se cumplen las dos condiciones siguientes:
- La transformación tiene un número fijo de secuencias.
- Los flujos se numeran consecutivamente de 0 a n – 1, donde n es el número de flujos de entrada o flujos de salida. En otras palabras, el primer flujo de entrada es 0, el segundo es 1, etc. y el primer flujo de salida es 0, el segundo es 1, etc.
- MFT puede agregar o quitar flujos de salida.
- El MFT permite al cliente agregar o quitar flujos de entrada.
- Los identificadores de flujo no son consecutivos.
Si el cliente agrega un flujo de entrada, el cliente asigna el identificador, por lo que MFT debe permitir identificadores arbitrarios, siempre y cuando sean únicos. Si el MFT crea un flujo de salida, MFT asigna el identificador.
Por convención, si una MFT tiene exactamente un flujo de entrada fijo y un flujo de salida fijo, debe asignar el identificador 0 a ambos flujos.
Si MFT_UNIQUE_METHOD_NAMES se define antes de incluir mftransform.h, se cambia el nombre de este método a MFTGetStreamIDs. Consulte Creación de objetos DMO/MFT híbridos.
Requisitos
Cliente mínimo compatible | Windows Vista [aplicaciones de escritorio | aplicaciones para UWP] |
Servidor mínimo compatible | Windows Server 2008 [aplicaciones de escritorio | aplicaciones para UWP] |
Plataforma de destino | Windows |
Encabezado | mftransform.h |
Library | Mfuuid.lib |