Driver básico que no me carga

Iniciado por paulagarcum, 17 Diciembre 2012, 22:53 PM

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

paulagarcum

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);

}

paulagarcum

Se me olvidaba:

Lo estoy intentando cargar en WINDOWS 7 x64.


x64core

Seguro, tu lo dijiste:

Cita de: paulagarcum en 17 Diciembre 2012, 23:02 PM
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.

paulagarcum

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.

x64core

Cita de: 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?
Sí, al menos de forma normal.

Cita de: paulagarcum en 17 Diciembre 2012, 23:52 PM
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.
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
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.