algunas preguntas sobre drivers en windows

Iniciado por MRx86, 29 Mayo 2017, 04:23 AM

0 Miembros y 2 Visitantes están viendo este tema.

MRx86

hola amigos... no se casi nada sobre la programacion de drivers en windows, solo conozco sus tipos y por encimita lo que dice la msdn. pero ya llevo tiempo con estas preguntas y como es de esperarse con el tema de la programacion de drivers en internet, googleando no encontre nada... las preguntas son las siguientes:

¿Los drivers pueden utilizar la API de Win32 (LoadLibrary, CreateFile...)?
¿Cual es la manera en la que se ejecutan? creo que vi por algun lado que se cargan y ejecutan gracias a un "evento" (una llamada a una funcion o algo asi) por parte de un programa, pero (si no es ninguna molesta claro) podrian explicarme el funcionamiento de este "evento"?

gracias..
"Tengo una pregunta que a veces me tortura: ¿Estoy loco
yo, o los locos son los demas?"
- Albert Einstein


BloodSharp

Cita de: MRx86 en 29 Mayo 2017, 04:23 AM¿Los drivers pueden utilizar la API de Win32 (LoadLibrary, CreateFile...)?
No, pero de maneras complicadas se pueden hacer ejecutar esas funciones en procesos activos... Las que sí están disponibles son las que por lo general están exportadas en ntdll.dll (en realidad estas son wrappers de las rutinas en el kernel) y otras específicas para manejar los drivers...

Cita de: MRx86 en 29 Mayo 2017, 04:23 AM¿Cual es la manera en la que se ejecutan? creo que vi por algun lado que se cargan y ejecutan gracias a un "evento" (una llamada a una funcion o algo asi) por parte de un programa, pero (si no es ninguna molesta claro) podrian explicarme el funcionamiento de este "evento"?

Se crea un "service manager" con algunas APIs y este carga,inicia,detiene y descarga el driver en el kernel...

Recomendaciónes:
1. Cuando vayas a programar drivers, escribelos y pruebalos dentro de una máquina virtual...
2. Considera que los errores menores suelen ser pantallazos azules y los peores destruir el hardware...
3. Nunca copies y pegues el código que encuentres por ahí en internet sin haberlo razonado primero y entendido el funcionamiento... por las razones anteriores


B#



MRx86

Cita de: BloodSharp en 29 Mayo 2017, 05:09 AM
Recomendaciónes:
1. Cuando vayas a programar drivers, escribelos y pruebalos dentro de una máquina virtual...
2. Considera que los errores menores suelen ser pantallazos azules y los peores destruir el hardware...
3. Nunca copies y pegues el código que encuentres por ahí en internet sin haberlo razonado primero y entendido el funcionamiento... por las razones anteriores

gracias!, lo tomare en cuenta
"Tengo una pregunta que a veces me tortura: ¿Estoy loco
yo, o los locos son los demas?"
- Albert Einstein

Randomize

CitarNunca copies y pegues el código que encuentres por ahí en internet sin haberlo razonado primero y entendido el funcionamiento


¿Dónde podríamos poner ésto por el foro que se viera?


Así como en letras de neón durante el registro del usuario... Jejejeje  :xD