Méthode IMFMediaSession::SetTopology (mfidl.h)
Définit une topologie sur la session multimédia.
Syntaxe
HRESULT SetTopology(
[in] DWORD dwSetTopologyFlags,
[in] IMFTopology *pTopology
);
Paramètres
[in] dwSetTopologyFlags
OR au niveau du bit de zéro ou plusieurs indicateurs de l’énumération MFSESSION_SETTOPOLOGY_FLAGS.
[in] pTopology
Pointeur vers l’interface IMFTopology de l’objet de topologie.
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 |
|
L’opération ne peut pas être effectuée dans l’état actuel de la session multimédia. |
|
La session multimédia a été arrêtée. |
|
La topologie a des valeurs non valides pour un ou plusieurs des attributs suivants : |
|
Le contenu protégé ne peut pas être lu lors du débogage. |
Notes
Si pTopology est une topologie complète, définissez l’indicateur MFSESSION_SETTOPOLOGY_NORESOLUTION dans le paramètre dwSetTopologyFlags . Sinon, la topologie est supposée être une topologie partielle. La session multimédia utilise le chargeur de topologie pour résoudre une topologie partielle en une topologie complète.
Si la session multimédia est actuellement suspendue ou arrêtée, la méthode SetTopology n’entre pas en vigueur avant l’appel suivant à IMFMediaSession::Start.
Si la session multimédia est en cours d’exécution ou lors de l’appel suivant à Start, la méthode SetTopology effectue les opérations suivantes :
- Si l’indicateur MFSESSION_SETTOPOLOGY_IMMEDIATE est défini dans dwSetTopologyFlags, la session multimédia met immédiatement fin à la présentation actuelle, efface toutes les topologies en attente et utilise pTopology pour démarrer une nouvelle présentation.
- Sinon, la session multimédia met en file d’attente pTopology et démarre la nouvelle présentation une fois la présentation actuelle terminée. S’il n’y a pas de présentation actuelle, la nouvelle présentation démarre immédiatement.
- À partir de Windows 7, vous pouvez également spécifier l’indicateur MFSESSION_SETTOPOLOGY_CLEAR_CURRENT pour effacer la topologie actuelle, mais laisser toutes les autres topologies en attente dans la file d’attente.
Spécifications
Client minimal pris en charge | Windows Vista [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2008 [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | mfidl.h |
Bibliothèque | Mfuuid.lib |