ImfDeviceTransform::GetStreamIDs, méthode (mftransform.h)

La méthode GetStreamIDs obtient les identificateurs de flux pour les flux d’entrée et de sortie sur cette transformation Media Foundation (MFT).

Syntaxe

HRESULT GetStreamIDs(
  [in]  DWORD dwInputIDArraySize,
  [out] DWORD *pdwInputStreamIds,
  [out] DWORD dwOutputIDArraySize,
        DWORD *pdwOutputStreamIds
);

Paramètres

[in] dwInputIDArraySize

Nombre d’éléments dans pdwInputStreamIDs

[out] pdwInputStreamIds

Pointeur vers un tableau alloué par l’appelant. La méthode remplit le tableau avec les identificateurs de flux d’entrée. La taille du tableau doit être au moins égale au nombre de flux d’entrée. Pour obtenir le nombre de flux d’entrée, appelez IMFDeviceTransform::GetStreamCount.

Si l’appelant transmet un tableau supérieur au nombre de flux d’entrée, le MFT ne doit pas écrire de valeurs dans les entrées de tableau supplémentaires.

[out] dwOutputIDArraySize

Nombre d’éléments dans pdwOutputStreamIDs.

pdwOutputStreamIds

Pointeur vers un tableau alloué par l’appelant. La méthode remplit le tableau avec les identificateurs de flux de sortie. La taille du tableau doit être au moins égale au nombre de flux de sortie. Pour obtenir le nombre de flux de sortie, appelez IMFDeviceTransform::GetStreamCount.

Valeur retournée

Cette méthode retourne un code HRESULT. Les valeurs possibles incluent, mais sans s’y limiter, les valeurs indiquées dans le tableau suivant.

Code de retour Description
S_OK
La transition de l’état du flux a réussi.
E_POINTER
Pointeur non valide passé.
MF_E_BUFFERTOOSMALL
La mémoire tampon entrante n’a pas assez d’espace pour remplir les ID de flux.

Notes

Les identificateurs de flux sont nécessaires, car certains MFT peuvent ajouter ou supprimer des flux, de sorte que l’index d’un flux peut ne pas être unique. Par conséquent, les méthodes IMFDeviceTransform qui fonctionnent sur des flux acceptent des identificateurs de flux.

Tous les identificateurs de flux d’entrée doivent être uniques dans un MFT, et tous les identificateurs de flux de sortie doivent être uniques. Toutefois, un flux d’entrée et un flux de sortie peuvent partager le même identificateur. I

Si le client ajoute un flux d’entrée, le client attribue l’identificateur, de sorte que MFT doit autoriser les identificateurs arbitraires, tant qu’ils sont uniques. Si la MFT crée un flux de sortie, la MFT affecte l’identificateur.

Par convention, si un MFT a exactement un flux d’entrée fixe et un seul flux de sortie fixe, il doit affecter l’identificateur 0 aux deux flux.

Configuration requise

   
Client minimal pris en charge Windows 10 version 1703
Plateforme cible Windows
En-tête mftransform.h

Voir aussi

IMFDeviceTransform