Título: Driver básico que no me carga Publicado por: paulagarcum en 17 Diciembre 2012, 22:53 pm Hola a todos. Soy nueva. Resulta que he escrito el siguiente driver que como véis es el básico. Lo compilo con el WDK en el "x86 Free Build Environment" y todo bien. Me genera el SYS. Luego uso el programa InstDrv. Primero le doy a Install y bien: se instala en el registro. Pero a continuación le doy a Start y no se inicia el driver, sino que InstDrv me da el siguiente mensaje-error: "a un expected error ocurried" y como os digo el driver no se ejecuta.
¿Alguien sabe por qué puede pasar esto? Porque el driver no puede ser más fácil. Este es el driver: #include "ntddk.h" DRIVER_UNLOAD DriverUnload; VOID DriverUnload(IN PDRIVER_OBJECT DriverObject) { DbgPrint("Descargandome"); } NTSTATUS DriverEntry(IN PDRIVER_OBJECT DriverObject, IN PUNICODE_STRING RegistryPath) { (*DriverObject).DriverUnload = (PDRIVER_UNLOAD)DriverUnload; DbgPrint("Cargandome"); return(STATUS_SUCCESS); } Título: Re: Driver básico que no me carga Publicado por: paulagarcum en 17 Diciembre 2012, 23:02 pm Se me olvidaba:
Lo estoy intentando cargar en WINDOWS 7 x64. Título: Re: Driver básico que no me carga Publicado por: x64core en 17 Diciembre 2012, 23:18 pm Seguro, tu lo dijiste:
Se me olvidaba: Lo estoy intentando cargar en WINDOWS 7 x64. Compilarlo para 64-bits y conseguir tu propia firma digital o desactivar el PatchGuard. Título: Re: Driver básico que no me carga Publicado por: paulagarcum en 17 Diciembre 2012, 23:52 pm Muchas gracias. Con lo que me has dicho ya me he aclarado algo.
Y entonces deduzco que en un sistema x64 como Windows 7 x64, sólo se pueden cargar drivers de 64 bits ¿no? A diferencia de aplicaciones en ring3 que en ese mismo sistema Windows 7 x64 pueden ser de 32 o de 64 bits y ambas se ejecutan bien. ¿Es eso? Es que no tengo claras las cosas. Título: Re: Driver básico que no me carga Publicado por: x64core en 18 Diciembre 2012, 00:13 am Muchas gracias. Con lo que me has dicho ya me he aclarado algo. Sí, al menos de forma normal.Y entonces deduzco que en un sistema x64 como Windows 7 x64, sólo se pueden cargar drivers de 64 bits ¿no? A diferencia de aplicaciones en ring3 que en ese mismo sistema Windows 7 x64 pueden ser de 32 o de 64 bits y ambas se ejecutan bien. ¿Es eso? En una version de 64-bit de Windows, una aplicación es emulada y no cargada nativamente, hay unas DLLs que se encargan de emular el entorno y trasladar versiones de llamadas desde 32-bit a 64-bits y podría funcionar correctamente Es que no tengo claras las cosas. dependiendo de lo que haga tu programa, solo por si alguna vez tu programa no funcionara en una version de 64-bits, existe la posibilidad de que no funcione correctamente o tendrías que modificar para que soporte versiones de 64-bit. |