Uso di tipi di esclusione reciproca personalizzati
[La funzionalità associata a questa pagina, Windows Media Format 11 SDK, è una funzionalità legacy. È stata sostituita da Lettore di origine e Writer sink. Lettore di origine e Writer sink sono stati ottimizzati per Windows 10 e Windows 11. Microsoft consiglia vivamente che il nuovo codice usi Lettore di origine e Writer sink anziché Windows Media Format 11 SDK, quando possibile. Microsoft suggerisce che il codice esistente che usa le API legacy venga riscritto per usare le nuove API, se possibile.
È possibile usare oggetti di esclusione reciproca in un profilo per soddisfare le esigenze degli scenari personalizzati. Passando il valore GUID CLSID_WMMUTEX_Unknown a IWMMutualExclusion::SetType, si informa l'oggetto di esclusione reciproca che si usa uno scenario personalizzato.
È necessario controllare manualmente la selezione del flusso quando si legge un file con un valore di esclusione reciproca personalizzato. L'oggetto reader userà il primo flusso aggiunto all'esclusione reciproca come impostazione predefinita.
Seguire questa procedura per creare un oggetto di esclusione reciproca personalizzato e aggiungerlo a un profilo:
Creare un gestore profili chiamando la funzione WMCreateProfileManager .
Iniziare con un profilo esistente o crearne uno completamente nuovo.
- Se si usa un profilo esistente, chiamare uno dei metodi di carico dell'interfaccia IWMProfileManager . Passare quindi al passaggio 4.
- Se si crea un profilo completamente nuovo, chiamare IWMProfileManager::CreateEmptyProfile.
Aggiungere flussi al nuovo profilo chiamando IWMProfile::CreateNewStream. Configurare i flussi in base alle esigenze usando i metodi di IWMStreamConfig. È anche possibile chiamare QueryInterface per accedere ad altre interfacce nell'oggetto di configurazione del flusso.
CreateNewStream crea solo un oggetto di configurazione del flusso e non influisce sul profilo. Dopo aver configurato correttamente un flusso, è necessario chiamare IWMProfile::AddStream per aggiungere il flusso al profilo.
Creare un oggetto di esclusione reciproca chiamando IWMProfile::CreateNewMutualExclusion.
Aggiungere i flussi desiderati all'oggetto di esclusione reciproca chiamando IWMStreamList::AddStream (disponibile direttamente da IWMMutualExclusion, che eredita da IWMStreamList).
Impostare il tipo di esclusione reciproca su personalizzato chiamando IWMMutualExclusion::SetType. Passare il CLSID_WMMUTEX_Unknown come GUID di tipo.
Aggiungere l'oggetto di esclusione reciproca configurato al profilo chiamando IWMProfile::AddMutualExclusion.
Argomenti correlati