Partager via


Utilisation de types d’exclusion mutuelle personnalisés

[La fonctionnalité associée à cette page, le Kit de développement logiciel (SDK) Windows Media Format 11, est une fonctionnalité héritée. Il a été remplacé par lecteur source et enregistreur récepteur. Le lecteur source et l’enregistreur récepteur ont été optimisés pour Windows 10 et Windows 11. Microsoft recommande vivement que le nouveau code utilise le lecteur source et l’enregistreur récepteur au lieu du Kit de développement logiciel (SDK) Windows Media Format 11, lorsque cela est possible. Microsoft suggère que le code existant qui utilise les API héritées soit réécrit pour utiliser les nouvelles API si possible.]

Vous pouvez utiliser des objets d’exclusion mutuelle dans un profil pour répondre aux besoins des scénarios personnalisés. En passant la valeur GUID CLSID_WMMUTEX_Unknown à IWMMutualExclusion::SetType, vous informez l’objet d’exclusion mutuelle que vous utilisez un scénario personnalisé.

Vous devez contrôler manuellement la sélection du flux lorsque vous lisez un fichier avec une valeur d’exclusion mutuelle personnalisée. L’objet lecteur utilise le premier flux que vous ajoutez à l’exclusion mutuelle comme valeur par défaut.

Utilisez les étapes suivantes pour créer un objet d’exclusion mutuelle personnalisé et l’ajouter à un profil :

  1. Créez un gestionnaire de profils en appelant la fonction WMCreateProfileManager .

  2. Commencez par un profil existant ou créez-en un entièrement nouveau.

  3. Ajoutez des flux au nouveau profil en appelant IWMProfile::CreateNewStream. Configurez les flux en fonction des besoins à l’aide des méthodes de IWMStreamConfig. Vous pouvez également appeler QueryInterface pour accéder à d’autres interfaces dans l’objet de configuration de flux.

    CreateNewStream crée uniquement un objet de configuration de flux et n’affecte pas le profil. Une fois qu’un flux est configuré correctement, vous devez appeler IWMProfile::AddStream pour ajouter le flux au profil.

  4. Créez un objet d’exclusion mutuelle en appelant IWMProfile::CreateNewMutualExclusion.

  5. Ajoutez les flux souhaités à l’objet d’exclusion mutuelle en appelant IWMStreamList::AddStream (disponible directement à partir d’IWMMutualExclusion, qui hérite d’IWMStreamList).

  6. Définissez le type d’exclusion mutuelle sur personnalisé en appelant IWMMutualExclusion::SetType. Passez le CLSID_WMMUTEX_Unknown comme GUID de type.

  7. Ajoutez l’objet d’exclusion mutuelle configuré au profil en appelant IWMProfile::AddMutualExclusion.

IWMMutualExclusion, interface

IWMProfile Interface

IWMProfileManager, interface

IWMStreamConfig Interface

IWMStreamList Interface

Utilisation de l’exclusion mutuelle

WMCreateProfileManager