Método IMFDeviceTransform::GetStreamIDs (mftransform.h)
O método GetStreamIDs obtém os identificadores de fluxo para os fluxos de entrada e saída nesta MFT (Transformação do Media Foundation).
Sintaxe
HRESULT GetStreamIDs(
[in] DWORD dwInputIDArraySize,
[out] DWORD *pdwInputStreamIds,
[out] DWORD dwOutputIDArraySize,
DWORD *pdwOutputStreamIds
);
Parâmetros
[in] dwInputIDArraySize
O número de elementos em pdwInputStreamIDs
[out] pdwInputStreamIds
Um ponteiro para uma matriz alocada pelo chamador. O método preenche a matriz com os identificadores de fluxo de entrada. O tamanho da matriz deve ser pelo menos igual ao número de fluxos de entrada. Para obter o número de fluxos de entrada, chame IMFDeviceTransform::GetStreamCount.
Se o chamador passar uma matriz maior que o número de fluxos de entrada, o MFT não deverá gravar valores nas entradas de matriz extras.
[out] dwOutputIDArraySize
O número de elementos em pdwOutputStreamIDs.
pdwOutputStreamIds
Um ponteiro para uma matriz alocada pelo chamador. O método preenche a matriz com os identificadores de fluxo de saída. O tamanho da matriz deve ser pelo menos igual ao número de fluxos de saída. Para obter o número de fluxos de saída, chame IMFDeviceTransform::GetStreamCount.
Valor retornado
O método retorna um HRESULT. Os valores possíveis incluem, mas não se limitam aos valores fornecidos na tabela a seguir.
Código de retorno | Descrição |
---|---|
|
A transição do estado do fluxo foi bem-sucedida. |
|
Ponteiro inválido passado. |
|
O buffer que está chegando não tem espaço suficiente para preencher as IDs de fluxo. |
Comentários
Identificadores de fluxo são necessários porque alguns MFTs podem adicionar ou remover fluxos, portanto, o índice de um fluxo pode não ser exclusivo. Portanto, os métodos IMFDeviceTransform que operam em fluxos recebem identificadores de fluxo.
Todos os identificadores de fluxo de entrada devem ser exclusivos em um MFT e todos os identificadores de fluxo de saída devem ser exclusivos. No entanto, um fluxo de entrada e um fluxo de saída podem compartilhar o mesmo identificador. I
Se o cliente adicionar um fluxo de entrada, o cliente atribuirá o identificador, portanto, o MFT deverá permitir identificadores arbitrários, desde que sejam exclusivos. Se o MFT criar um fluxo de saída, o MFT atribuirá o identificador.
Por convenção, se um MFT tiver exatamente um fluxo de entrada fixo e um fluxo de saída fixo, ele deverá atribuir o identificador 0 a ambos os fluxos.
Requisitos
Cliente mínimo com suporte | Windows 10, versão 1703 |
Plataforma de Destino | Windows |
Cabeçalho | mftransform.h |