Pregunta

Estoy tratando de construir un piloto muy simple. Su único objetivo será dar de alta "PsSetCreateProcessNotifyRoutine" y en las devoluciones de llamada recibida de núcleo, notificar a mi aplicación Win32 sobre el que se inician y se haya detenido proccesses.

Yo sólo sabía cómo construir un conductor tan simple con "DriverEntry" y "DriverUnload" y compilar con DDK. Pero no sé cómo implementar efectivamente la comunicación. Sé que se puede hacer con IOCTL. Pero más allá de que yo estoy en la oscuridad. No puedo encontrar ejemplo sencillo de cómo hacerlo en Delphi. Sólo sé que se puede hacer.

Así que lo que busco es un poco simple y comprensible tutorial sobre cómo hacerlo mejor o evento un programa Delphi ejemplo, con acompaniying código del controlador. Tal vez incluso hay otras formas de comunicación.

Cualquier ayuda appriciated.

¿Fue útil?

Solución

No importa si en Delphi o no. Usted tiene que utilizar la función de DeviceIoControl. Lea el artículo en MSDN al respecto.

En resumen, usted tendrá que elegir algún códigos IOCTL del conjunto disponible. Posteriormente, se llama DeviceIoControl con uno de estos códigos y pasar algunos datos, y en el controlador que maneja esa petición y devuelve otra cosa.

También puede manejar IOCTLS estándar, como los generados por llamar a ReadFile o WriteFile en modo de usuario.

No busca de un "tutorial de cómo hacer eso en Delphi", sólo tiene que buscar algún tutorial. Son todos lo mismo, sin importar el idioma, es pura Win32 / material API nativa. He aquí una por ejemplo, simplemente buscado en Google a cabo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top