2009-06-24 8 views
13

¿alguien tiene un artículo sobre cómo hacer esto?¿cómo puedo construir un controlador usando Visual Studio?

+0

mira en http://stackoverflow.com/questions/18981595/how-to-configure-visual-studio-2008-for-compiling-drivers/18996448#18996448 –

+0

[Cómo configurar Visual Studio 2008 para la compilación de controladores] (http://www.codeproject.com/KB/winsdk/vs2008_and_drivers.aspx) –

+0

@Bill the Lizard: ¿cómo es esto offtopic? Esto no es para encontrar una herramienta o biblioteca, este es un problema de la vida real que los escritores han enfrentado durante más de una década antes de que MS se reintegrara al desarrollo de controladores en VS y VisualDDK. Realmente no puedo entender el ** razonamiento ** señalado en el cierre. Quiero decir que incluso el "spam" hubiera sido una opción más lógica aquí. – 0xC0000022L

Respuesta

0

En VS crea un proyecto de archivo MAKE. Agregue sus fuentes, encabezados, archivo MAKE y archivo fuente. proyecto abierto propiedades-> Configuración propiedades-> NMake-> Construir línea de comandos y escribir:

call $(WINDDK)\bin\setenv.bat $(WINDDK) fre wnet 
cd /d $(ProjectDir) 
build.exe -I 

Ahora se puede construir a partir de VS. La ventaja del proyecto de archivo MAKE: te proporciona tantas configuraciones como necesites (w2k, wxp, wnet, wlh, etc.) y puedes construir desde la línea de comandos DDK.

P.S. fre wnet - es una configuración de muestra, use lo que se requiere para su proyecto. Es bueno tener las configuraciones fre y chk. WINDDK - variable de entorno con una ruta a la raíz DDK.

1

Si desea utilizar DDK build y WDK usa ddkbuild.bat, es bastante bueno (creo que la mayoría funciona) que debería tenerlo funcionando. Alternativamente echa un vistazo a ddkbuild.cmd de OSR.

7

Descargue e instale VisualDDK y podrá crear proyectos de controladores y eliminar errores de los controladores directamente desde Visual Studio.

1

crear un proyecto de archivo MAKE y utilizar los siguientes como el comando de construcción:

pushd . 
call C:\WinDDK\7600.16385.1\bin\setenv.bat C:\WinDDK\7600.16385.1\ chk x86 WXP no_oacr 
popd 
build -cgwiz 

(obviamente tweak los argumentos a setenv para que se adapte)

+0

Parece una programación de culto de carga para mí. Deberías haber explicado los parámetros y cuáles están disponibles. – 0xC0000022L

+0

me hizo reírme de eso; "setenv /?" te dirá los parámetros. Los detalles dependerán de lo que intente hacer y eso no está especificado en la pregunta ... es una cuestión de culto a la carga, tal vez .... – jolyon

+0

la ruta base de WDK, la configuración de compilación, el sistema operativo objetivo y el Las banderas son, por lo tanto, "demasiado específicas", supongo. – 0xC0000022L

1

Para construir mi conductor i utilizado VisualDDK en Visual Studio 2008. Al principio empiezo a depurar usando mi computadora y la máquina virtualBox, pero cuando inicié el proceso de depuración en Visual Studio, mi máquina virtual no me mostró la dirección IP externa (normalmente debería mostrarme 192.168.1.102 y 10.0.1.15 en DDKLauncherMonitor pero muéstrame solo 10.0.1.15).

Dejé de usar la máquina virtual y decido usar una computadora real. En la segunda computadora lancé DDKLauncherMonitor. Y comienzo a depurar desde mi primera computadora. Recibí el paquete Udp en mi segunda máquina y también el driver.sys. Pero cuando intenté cargar el controlador desde Visual Studio (First computer), nada funciona. Además de esto, en la segunda máquina dime "Windows requiere un controlador firmado digitalmente".

Hay uno que conoce este tipo de problema y él/ella puede ayudarlo.

10

Dado que no proporcionó una versión exacta de Visual Studio, permítame darle las opciones que conozco.

Visual Studio 2012, 2013 y 2015

respectivas versiones contemporáneas DDK/WDK: WDKs 8, 8.1 y 10 (a partir de este escrito).

Con el WDK para Windows 8, el equipo de WDK en Microsoft finalmente ofrece una integración completa con Visual Studio nuevamente directamente desde Microsoft.

Sin embargo, mientras que Visual Studio 2017 existe en la versión menor 15.4 Ya en el momento de esta actualización, el WDK todavía requiere Visual Studio 2015.

Visual Studio 2002 hasta 2010

respectivas versiones contemporáneas DDK/WDK: DDK para Windows XP/Server 2003, WDKs para Windows Vista y Windows 7 con sus respectivos niveles de paquete de servicio y las respectivas versiones de servidor.

Esas versiones eran no oficialmente compatibles con Microsoft para compilar controladores. La única opción peor para compilar un controlador sería una cadena de herramientas de terceros completa (que no sea el compilador de Intel C que fue sancionado por MS, IIRC).

Se consideró de muy mala forma utilizar los compiladores de Visual Studio durante ese período y Microsoft recomendó explícitamente que no lo hiciera. Sin embargo, C++ en modo kernel también fue mal visto una vez y ahora MS proporciona marcos C++ para el modo kernel. Los tiempos están cambiando ...;)

De todos modos, existen soluciones temporales en forma de ddkbuild.bat y ddkbuild.cmd que utilizan la cadena de herramientas DDK, pero que permiten integrar efectivamente la invocación resultante de su proyecto "make" dentro de Visual Studio . DDKWizard es un asistente de creación de proyectos para ambos scripts. DDKWizard hace no compatible con Visual Studio 2010! Los enlaces a los dos guiones proporcionan una buena documentación y DDKWizard también viene con una documentación decente.

Que yo sepa ddkbuild.cmd se basa originalmente en ddkbuild.bat y la versión HollisTech también puede rastrear su herencia a esa versión de OSR.

VisualDDK combinado con VirtualKD surgieron más tarde que el mencionado anteriormente, pero se ha de considerar una solución muy superior, más sofisticado. Pero tu kilometraje puede variar. En cualquier caso, la integración en Visual Studio es mucho más completa en la última solución.

Visual Studio 6

respectivas versiones contemporáneas DDK/WDK: DDK de Windows NT 4 y Windows 2000.

Antes del DDK de Windows XP (DDK ahora se llama WDK) el compilador no era incluido en el DDK, por lo que tenía que tener instalada la cadena de herramientas del compilador. Este sería el caso para NT 4.0 y Windows 2000.

Cuestiones relacionadas