Aracılığıyla paylaş


Özel Karşılıklı Dışlama Türlerini Kullanma

[Windows Media Format 11 SDK bu sayfayla ilişkilendirilmiş özellik eski bir özelliktir. Kaynak Okuyucu ve Havuz Yazıcısıtarafından değiştirildi. Kaynak Okuyucu ve Havuz Yazıcısı Windows 10 ve Windows 11 için iyileştirilmiştir. Microsoft, yeni kodun mümkün olduğunda Windows Media Format 11 SDKyerine Kaynak Okuyucu ve Çıkış Yazıcı kullanmasını kesinlikle önerir. Microsoft, mümkünse yeni API'leri kullanmak için eski API'leri kullanan mevcut kodun yeniden yazılmasını önerir.]

Özel senaryoların gereksinimlerini karşılamak için bir profilde karşılıklı dışlama nesneleri kullanabilirsiniz. CLSID_WMMUTEX_UNKNOWN GUID değerini IWMMutualExclusion::SetTypegeçirerek, özel bir senaryo kullandığınızı karşılıklı dışlama nesnesine bildirirsiniz.

Özel karşılıklı dışlama değerine sahip bir dosyayı okurken akış seçimini el ile denetlemeniz gerekir. Okuyucu nesnesi, varsayılan olarak karşılıklı dışlamaya eklediğiniz ilk akışı kullanır.

Özel bir karşılıklı dışlama nesnesi oluşturmak ve bunu bir profile eklemek için aşağıdaki adımları kullanın:

  1. WMCreateProfileManager işlevini çağırarak bir profil yöneticisi oluşturun.

  2. Mevcut bir profille başlayın veya tamamen yeni bir profil oluşturun.

  3. IWMProfile::CreateNewStreamçağrısını yaparak yeni profile akış ekleyin. IWMStreamConfigyöntemlerini kullanarak akışları gerektiği gibi yapılandırın. Ayrıca QueryInterface çağırarak akış yapılandırma nesnesindeki diğer arabirimlere de erişebilirsiniz.

    CreateNewStream yalnızca bir akış yapılandırma nesnesi oluşturur ve profili etkilemez. Bir akış düzgün yapılandırıldıktan sonra, akışı profile eklemek için IWMProfile::AddStreamçağırmanız gerekir.

  4. IWMProfile::CreateNewMutualExclusionçağırarak karşılıklı dışlama nesnesi oluşturun.

  5. Istenilen akışları, doğrudan IWMMutualExclusionöğesinden (bu öğe IWMStreamListöğesinden devralınır) IWMStreamList::AddStream çağrısını yaparak, karşılıklı dışlama nesnesine ekleyin.

  6. IWMMutualExclusion::SetTypeçağırarak karşılıklı dışlama türünü özel olarak ayarlayın. CLSID_WMMUTEX_Unknown'ı tür GUID olarak geçirin.

  7. IWMProfile::AddMutualExclusionçağırarak yapılandırılmış karşılıklı dışlama nesnesini profile ekleyin.

IWMMutualExclusion Arabirimi

IWMProfile Arayüzü

IWMProfileManager Arabirimi

IWMStreamConfig Arabirimi

IWMStreamList Arabirimi

Karşılıklı Dışlama Kullanarak

WMCreateProfileManager