windows callback kernel driver usermode

¿Cómo llamar a modo de usuario desde el kernel de Windows?



callback driver (1)

Me gustaría llamar a mi aplicación desde mi controlador cuando ocurre un evento interesante en el kernel de Windows. Necesito poder pasar al menos 4 bytes de datos al modo de usuario. ¿Cómo lograr esto? Estos eventos pueden ocurrir bastante, pero no muy a menudo, por lo que no quiero construir un sistema de cola y usar IOCTL.

Estaba pensando en algo como cargar el controlador, la aplicación de modo de usuario registra su devolución de llamada usando IOCTL y kernel sigue llamando a esa devolución de llamada cuando suceden los eventos y finalmente el cliente del modo de usuario anula el registro de la devolución de llamada y no se envían más datos al modo de usuario. es posible?

Soy nuevo en la programación del kernel, así que después de un día de google decidí preguntar aquí. Me di cuenta de que no hay mucha discusión sobre el kernel y los controladores. Y aún menos documentos adecuados.