Condividi tramite


Utilizzo del parametro context

[La funzionalità associata a questa pagina, Windows Media Format 11 SDK, è una funzionalità legacy. È stata sostituita dal lettore di origine e dal 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.

Alcuni dei callback usati da Windows Media Format SDK accettano un parametro denominato pvContext. Gli oggetti chiamante passano lungo il valore specificato nel metodo che ha avviato l'azione asincrona. Ad esempio, quando chiami IWMReader::Open, puoi passare un valore per pvContext. Quando il metodo IWMStatusCallback::OnStatus viene chiamato dall'oggetto reader per notificare all'applicazione che il file è stato aperto, passerà qualsiasi valore usato nella chiamata a Open come parametro pvContext di OnStatus. Questo parametro di contesto viene fornito per l'uso ed è possibile usarlo in qualsiasi modo.

Il parametro pvContext viene spesso usato quando più oggetti devono condividere lo stesso callback. Ad esempio, diversi oggetti usano il metodo IWMStatusCallback::OnStatus . È possibile usare pvContext per consentire ai diversi oggetti di condividere un'implementazione di OnStatus passando un valore diverso per pvContext nella chiamata originale. Nell'implementazione di OnStatus è possibile diramare la logica di gestione dei messaggi in base al valore di pvContext.

Utilizzo dei metodi di callback