Uso del modello di evento Media Foundation

I metodi asincroni supportati dalle API estese client Windows Media DRM usano lo stesso modello di evento usato da Media Foundation SDK. Ogni oggetto che supporta metodi asincroni implementa l'interfaccia IWMDRMEventGenerator , che può essere usata per recuperare un evento al termine di un'operazione asincrona.

L'interfaccia IWMDRMEventGenerator eredita dall'interfaccia IMFMediaEventGenerator , documentata nella documentazione di Media Foundation SDK.

Il codice di esempio nell'esempio di individualizzazione DRM usa il metodo IMFMediaEventGenerator::GetEvent per recuperare gli eventi dalla coda una alla volta. L'uso di GetEvent è più semplice dell'uso di IMFMediaEventGenerator::BeginGetEvent e FMMediaEventGenerator::EndGetEvent con un callback, che semplifica la comprensione degli esempi di codice. Se si usa GetEvent nel codice o si implementa FMAsyncCallback e si usa BeginGetEvent e EndGetEvent, la logica per gestire l'evento dopo che è stata ricevuta è la stessa.

Diversi metodi asincroni generano eventi che contengono riferimenti agli oggetti che possono essere usati per ottenere informazioni di stato più dettagliate. In questi casi, l'evento generato ha un puntatore IUnknown come valore, che può essere eseguito una query per recuperare l'interfaccia di stato. Nell'elenco seguente vengono riepilogate le relazioni tra chiamate asincrone, eventi generati e altre interfacce.

Esempio di individualizzazione DRM

Introduzione

Documentazione di Media Foundation SDK