2010-06-22 7 views
5

Me gustaría llamar a mi aplicación desde el 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.¿Cómo llamar a modo de usuario desde el kernel de Windows?

Estaba pensando en algo así como el conductor se carga, la aplicación en modo de usuario registra su devolución de llamada usando IOCTL y el núcleo sigue llamando que devolución de llamada cuando los eventos ocurren y, finalmente, el cliente de modo de usuario cancela el registro de la devolución de llamada y no hay más datos enviar a un usuario modo. es posible?

Soy nuevo en la programación 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.

Respuesta

4

Microsoft publicó un documento sobre esto (en formato MS Word, por supuesto), titulado User-Mode Interactions: Guidelines for Kernel-Mode Drivers.

Gracias a Google, aquí está en HTML.

+0

Las notificaciones Plug and Play son el tipo de cosas que estoy buscando. Siempre y cuando no haya daño al enviar esos eventos constantemente. Con ellos puedo enviar mi propio mensaje y registrar mi aplicación de modo de usuario como receptor. –

Cuestiones relacionadas