Verwenden benutzerdefinierter gegenseitiger Ausschlusstypen
[Das dieser Seite zugeordnete Feature Windows Media Format 11 SDK ist ein Legacyfeature. Es wurde von Source Reader und Sink Writer abgelöst. Source Reader und Sink Writer wurden für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code nach Möglichkeit quellleser und Senkenschreiber anstelle des Windows Media Format 11 SDK verwendet. Microsoft schlägt vor, dass vorhandener Code, der die Legacy-APIs verwendet, so umgeschrieben wird, dass nach Möglichkeit die neuen APIs verwendet werden.]
Sie können Objekte für gegenseitigen Ausschluss in einem Profil verwenden, um die Anforderungen benutzerdefinierter Szenarien zu erfüllen. Indem Sie den GUID-Wert CLSID_WMMUTEX_Unknown an IWMMutualExclusion::SetType übergeben, informieren Sie das Objekt des gegenseitigen Ausschlusses darüber, dass Sie ein benutzerdefiniertes Szenario verwenden.
Sie müssen die Streamauswahl manuell steuern, wenn Sie eine Datei mit einem benutzerdefinierten Wert für gegenseitigen Ausschluss lesen. Das Reader-Objekt verwendet den ersten Stream, den Sie dem gegenseitigen Ausschluss hinzufügen, als Standard.
Führen Sie die folgenden Schritte aus, um ein benutzerdefiniertes Objekt für gegenseitigen Ausschluss zu erstellen und einem Profil hinzuzufügen:
Erstellen Sie einen Profil-Manager, indem Sie die Funktion WMCreateProfileManager aufrufen.
Beginnen Sie entweder mit einem vorhandenen Profil, oder erstellen Sie ein völlig neues Profil.
- Wenn Sie ein vorhandenes Profil verwenden, rufen Sie eine der Lademethoden der IWMProfileManager-Schnittstelle auf. Fahren Sie dann mit Schritt 4 fort.
- Wenn Sie ein völlig neues Profil erstellen, rufen Sie IWMProfileManager::CreateEmptyProfile auf.
Fügen Sie dem neuen Profil Streams hinzu, indem Sie IWMProfile::CreateNewStream aufrufen. Konfigurieren Sie die Streams nach Bedarf mithilfe der Methoden von IWMStreamConfig. Sie können queryInterface auch aufrufen, um auf andere Schnittstellen im Streamkonfigurationsobjekt zuzugreifen.
CreateNewStream erstellt nur ein Streamkonfigurationsobjekt und wirkt sich nicht auf das Profil aus. Nachdem ein Stream ordnungsgemäß konfiguriert wurde, müssen Sie IWMProfile::AddStream aufrufen, um den Stream dem Profil hinzuzufügen.
Erstellen Sie ein Gegenseitiges Ausschlussobjekt, indem Sie IWMProfile::CreateNewMutualExclusion aufrufen.
Fügen Sie dem Objekt für gegenseitigen Ausschluss die gewünschten Datenströme hinzu, indem Sie IWMStreamList::AddStream aufrufen (direkt von IWMMutualExclusion verfügbar, die von IWMStreamList erbt).
Legen Sie den Typ des gegenseitigen Ausschlusses auf benutzerdefiniert fest, indem Sie IWMMutualExclusion::SetType aufrufen. Übergeben Sie die CLSID_WMMUTEX_Unknown als Typ-GUID.
Fügen Sie dem Profil das konfigurierte Objekt für gegenseitigen Ausschluss hinzu, indem Sie IWMProfile::AddMutualExclusion aufrufen.
Zugehörige Themen