Condividi tramite


Uso di eventi con chiamate asincrone

[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 Fonte e Scrittore di Sink sono stati ottimizzati per Windows 10 e Windows 11. Microsoft consiglia vivamente di utilizzare, quando possibile, il lettore sorgente e lo scrittore di destinazione invece del Windows Media Format 11 SDK. Microsoft suggerisce che il codice esistente che usa le API legacy venga riscritto per usare le nuove API, se possibile.

Spesso, quando si usano metodi chiamati in modo asincrono, è consigliabile interrompere l'elaborazione dell'applicazione fino al completamento dell'elaborazione del metodo. Puoi implementare qualsiasi tecnica tu preferisca per gestire questa situazione. Questa sezione descrive l'uso di un evento per attendere le chiamate asincrone nel thread chiamante. Questa tecnica viene spesso usata con Windows Media Format SDK ed è illustrata in alcune delle applicazioni di esempio.

L'elenco seguente riepiloga l'uso degli eventi per attendere le chiamate asincrone.

  1. Creare un evento da usare con l'applicazione chiamando la funzione CreateEvent dell'SDK della piattaforma.
  2. Quando si implementano i callback appropriati per l'applicazione, intercettare i messaggi per i quali è necessario attendere. Nella logica di gestione dei messaggi per i messaggi desiderati, segnalare l'evento chiamando la funzione SetEvent del Platform SDK.
  3. Dopo che le chiamate agli eventi asincroni vengono effettuate nell'applicazione, attendere che l'evento segnali chiamando la funzione WaitForSingleObject dell'SDK della piattaforma. Se si progetta un'applicazione Windows, è necessario creare un ciclo per verificare la presenza di messaggi di Windows e includere una chiamata a WaitForSingleObject nel ciclo con un breve tempo di attesa.

Utilizzo dei Metodi di Callback