Partager via


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
S_OK
MF_E_INVALIDREQUEST
L’opération ne peut pas être effectuée dans l’état actuel de la session multimédia.
MF_E_SHUTDOWN
La session multimédia a été arrêtée.
MF_E_TOPO_INVALID_TIME_ATTRIBUTES
La topologie a des valeurs non valides pour un ou plusieurs des attributs suivants :
NS_E_DRM_DEBUGGING_NOT_ALLOWED
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.
Cette méthode est asynchrone. Si la méthode retourne S_OK, media session envoie un événement MESessionTopologySet une fois l’opération terminée. Si la session multimédia est actuellement suspendue pour s’arrêter, la session multimédia n’envoie pas l’événement MESessionTopologySet avant l’appel suivant à IMFMediaSession::Start

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

Voir aussi

IMFMediaSession