Méthode IMFTransform::GetStreamIDs (mftransform.h)
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 *pdwInputIDs,
[in] DWORD dwOutputIDArraySize,
[out] DWORD *pdwOutputIDs
);
Paramètres
[in] dwInputIDArraySize
Nombre d’éléments dans le tableau pdwInputIDs .
[out] pdwInputIDs
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 IMFTransform::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.
[in] dwOutputIDArraySize
Nombre d’éléments dans le tableau pdwOutputIDs .
[out] pdwOutputIDs
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 GetStreamCount.
Si l’appelant transmet un tableau supérieur au nombre de flux de sortie, le MFT ne doit pas écrire de valeurs dans les entrées de tableau supplémentaires.
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 |
|
Non implémenté. Consultez la section Notes. |
|
L’un des tableaux ou les deux est trop petit. |
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 IMFTransform qui fonctionnent sur les flux acceptent des identificateurs de flux.
Cette méthode peut retourner E_NOTIMPL si les deux conditions suivantes sont remplies :
- La transformation a un nombre fixe de flux.
- Les flux sont numérotés consécutivement de 0 à n – 1, où n est le nombre de flux d’entrée ou de flux de sortie. En d’autres termes, le premier flux d’entrée est 0, le second est 1, et ainsi de suite; et le premier flux de sortie est 0, le second est 1, et ainsi de suite.
- Le MFT peut ajouter ou supprimer des flux de sortie.
- Le MFT permet au client d’ajouter ou de supprimer des flux d’entrée.
- Les identificateurs de flux ne sont pas consécutifs.
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.
Si MFT_UNIQUE_METHOD_NAMES est défini avant d’inclure mftransform.h, cette méthode est renommée MFTGetStreamIDs. Consultez Création d’objets DMO/MFT hybrides.
Spécifications
Client minimal pris en charge | Windows Vista [applications de bureau | applications UWP] |
Serveur minimal pris en charge | Windows Server 2008 [applications de bureau | applications UWP] |
Plateforme cible | Windows |
En-tête | mftransform.h |
Bibliothèque | Mfuuid.lib |