カスタム相互除外型の使用
[このページに関連付けられている機能である Windows Media Format 11 SDK は、従来の機能です。 ソース リーダーとシンク ライターに置き換わりました。 ソース リーダーとシンク ライターは、Windows 10とWindows 11用に最適化されています。 Microsoft では、可能であれば、新しいコードで Windows Media Format 11 SDK ではなくソース リーダーとシンク ライターを使用することを強くお勧めします。 Microsoft は、レガシ API を使用する既存のコードを、可能であれば新しい API を使用するように書き換えるよう提案しています。]
プロファイルで相互除外オブジェクトを使用して、カスタム シナリオのニーズを満たすことができます。 CLSID_WMMUTEX_UNKNOWN GUID 値を IWMMutualExclusion::SetType に渡すことで、カスタム シナリオを使用していることを相互排他オブジェクトに通知します。
カスタム相互除外値を持つファイルを読み取る場合は、ストリームの選択を手動で制御する必要があります。 リーダー オブジェクトは、相互除外に追加した最初のストリームを既定値として使用します。
カスタム相互除外オブジェクトを作成し、プロファイルに追加するには、次の手順に従います。
WMCreateProfileManager 関数を呼び出してプロファイル マネージャーを作成します。
既存のプロファイルから開始するか、まったく新しいプロファイルを作成します。
- 既存のプロファイルを使用している場合は、 IWMProfileManager インターフェイスのいずれかの load メソッドを呼び出します。 次に、手順 4 に進みます。
- まったく新しいプロファイルを作成する場合は、 IWMProfileManager::CreateEmptyProfile を呼び出します。
IWMProfile::CreateNewStream を呼び出して、新しいプロファイルにストリームを追加します。 IWMStreamConfig のメソッドを使用して、必要に応じてストリームを構成します。 QueryInterface を呼び出して、ストリーム構成オブジェクト内の他のインターフェイスにアクセスすることもできます。
CreateNewStream はストリーム構成オブジェクトのみを作成し、プロファイルには影響しません。 ストリームが正しく構成されたら、 IWMProfile::AddStream を呼び出してストリームをプロファイルに追加する必要があります。
IWMProfile::CreateNewMutualExclusion を呼び出して、相互除外オブジェクトを作成します。
IWMStreamList::AddStream (IWMStreamList から継承する IWMMutualExclusion から直接使用できます) を呼び出して、目的のストリームを相互除外オブジェクトに追加します。
IWMMutualExclusion::SetType を呼び出して、相互除外の種類を custom に設定します。 CLSID_WMMUTEX_Unknownを GUID 型として渡します。
IWMProfile::AddMutualExclusion を呼び出して、構成された相互除外オブジェクトをプロファイルに追加します。
関連トピック