Uso de eventos con llamadas asincrónicas
[La característica asociada a esta página, WINDOWS Media Format 11 SDK, es una característica heredada. Se ha reemplazado por lector de origen y escritor receptor. Lector de origen y escritor receptor se han optimizado para Windows 10 y Windows 11. Microsoft recomienda encarecidamente que el nuevo código use lector fuente y escritor receptor en lugar del SDK de Windows Media Format 11, siempre que sea posible. Microsoft sugiere que el código existente que usa las API heredadas se reescriba para usar las nuevas API si es posible.
Con frecuencia, al usar métodos a los que se llama de forma asincrónica, querrá detener el procesamiento posterior de la aplicación hasta que el método complete el procesamiento. Puede implementar cualquier técnica que desee para controlar esta situación. En esta sección se describe el uso de un evento para esperar llamadas asincrónicas en el subproceso que realiza la llamada. Esta técnica se usa con frecuencia con el SDK de Windows Media Format y se muestra en algunas de las aplicaciones de ejemplo.
En la lista siguiente se resume el uso de eventos para esperar llamadas asincrónicas.
- Cree un evento para usarlo con la aplicación mediante una llamada a la función CreateEvent del SDK de plataforma.
- Al implementar las devoluciones de llamada adecuadas para la aplicación, intercepte los mensajes para los que debe esperar. En la lógica de control de mensajes de los mensajes deseados, indique el evento llamando a la función SetEvent del SDK de plataforma.
- Después de realizar llamadas a eventos asincrónicos en la aplicación, espere a que el evento se indique mediante una llamada a la función WaitForSingleObject del SDK de plataforma. Si va a diseñar una aplicación de Windows, debe crear un bucle para buscar mensajes de Windows e incluir una llamada a WaitForSingleObject en el bucle con un breve tiempo de espera.
Temas relacionados