Verwenden benutzerdefinierter gegenseitiger Ausschlusstypen
Sie können objekte für gegenseitigen Ausschluss in einem Profil verwenden, um die Anforderungen benutzerdefinierter Szenarien zu erfüllen. Durch Übergeben des GUID-Werts CLSID _ WMMUTEX Unknown an _ IWMMutualExclusion::SetTypeinformieren Sie das Objekt für gegenseitigen Ausschluss 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 Readerobjekt verwendet den ersten Stream, den Sie dem gegenseitigen Ausschluss als Standard hinzufügen.
Führen Sie die folgenden Schritte aus, um ein benutzerdefiniertes objekt für gegenseitigen Ausschluss zu erstellen und es einem Profil hinzuzufügen:
Erstellen Sie einen Profil-Manager, indem Sie die WMCreateProfileManager-Funktion aufrufen.
Beginnen Sie entweder mit einem vorhandenen Profil, oder erstellen Sie ein völlig neues.
- 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 zu zugreifen.
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 zum Profil hinzuzufügen.
Erstellen Sie ein Objekt für gegenseitigen Ausschluss, indem Sie IWMProfile::CreateNewMutualExclusion aufrufen.
Fügen Sie dem Objekt für gegenseitigen Ausschluss die gewünschten Streams hinzu, indem Sie IWMStreamList::AddStream aufrufen (direkt über IWMMutualExclusionverfügbar, das 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 das konfigurierte Objekt für gegenseitigen Ausschluss zum Profil hinzu, indem Sie IWMProfile::AddMutualExclusion aufrufen.