2009-06-24 15 views
13

qualcuno ha un articolo come fare questo?come posso creare un driver usando Visual Studio?

+0

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

+0

[Come configurare Visual Studio 2008 per i driver di compilazione] (http://www.codeproject.com/KB/winsdk/vs2008_and_drivers.aspx) –

+0

@Bill the Lizard: come è questo offtopic? Questo non è quello di trovare uno strumento o una libreria, questo è un problema che gli scrittori di autotrasportatori hanno affrontato per oltre un decennio prima che la ricostruzione del driver della MS reintegrata in VS e VisualDDK avvenisse. Davvero non riesco a capire le ** motivazioni ** indicate nella chiusura. Voglio dire anche lo "spam" sarebbe stata una scelta più logica qui. – 0xC0000022L

risposta

0

In VS creare un progetto makefile. Aggiungi i tuoi sorgenti, intestazioni, makefile e sourcefile. Aprire progetto proprietà-> Configurazione proprietà-> NMake-> Crea riga di comando e scrivere:

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

Ora è possibile costruire da VS. Il vantaggio del progetto makefile: vi fornisce il maggior numero di configurazioni di cui hai bisogno (w2k, WXP, WNET, WLH ed ecc) e si può costruire dalla riga di comando DDK.

P.S. fre wnet - è un esempio di configurazione, utilizzare ciò che è necessario per il vostro progetto. È bene avere entrambe le configurazioni fre e chk. WINDDK - variabile di ambiente con un percorso verso la radice DDK.

1

Se si desidera utilizzare DDK build e WDK utilizzare ddkbuild.bat, è abbastanza buono (penso che la maggior parte funzioni ancora) che si dovrebbe avere intenzione di andare. In alternativa, controllare ddkbuild.cmd da OSR.

7

Scaricare e installare VisualDDK e sarete in grado di creare progetti di driver e driver di debug direttamente da Visual Studio.

1

creare un progetto makefile e utilizzare il seguente come il comando build:

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

(ovviamente modificare le argomentazioni per setenv per soddisfare)

+0

Mi sembra un programma di culto del carico. Dovresti aver spiegato i parametri e quali sono disponibili. – 0xC0000022L

+0

mi ha fatto ridacchiare; "setenv /?" ti dirò i parametri. Le specifiche dipenderanno da quello che stai cercando di fare e questo non è indicato nella domanda .... è una domanda setta cargo forse ... – jolyon

+0

il percorso di base del WDK, la configurazione di build, il SO di destinazione e il le bandiere sono quindi "troppo specifiche", immagino? – 0xC0000022L

1

Per costruire il mio autista ho usato VisualDDK in Visual Studio 2008. All'inizio inizio il debug usando il mio computer e la macchina virtualBox ma quando lancio il processo di debug in Visual Studio, la mia macchina virtuale non mi mostra l'indirizzo IP esterno (normalmente dovrebbe mostrarmi 192.168.1.102 e 10.0.1.15 in DDKLauncherMonitor ma mostrami solo 10.0.1.15).

ho smesso di usare la macchina virtuale e decido di usare vero e proprio computer. Nel secondo computer ho lanciato DDKLauncherMonitor. E avvio il debug dal mio primo computer. Ho ricevuto il pacchetto Udp nella mia seconda macchina e anche il driver.sys. Ma quando ho provato a caricare il driver da Visual Studio (primo computer) non funziona nulla. Inoltre, nella seconda macchina mi viene indicato "Windows richiede driver con firma digitale".

C'è lo stesso che incontra questo tipo di problema e lui/lei può aiutare.

10

Poiché non hai fornito una versione esatta di Visual Studio, lascia che ti dia le opzioni di cui sono a conoscenza.

di Visual Studio 2012, 2013 e 2015

rispettive versioni contemporanee DDK/WDK: WDKs 8, 8.1 e 10 (al momento della scrittura).

Con WDK per Windows 8, il team WDK di Microsoft offre finalmente la piena integrazione con Visual Studio direttamente da Microsoft.

Tuttavia, mentre Visual Studio 2017 esiste in versione minore 15.4 già nel momento di questo aggiornamento, il WDK ancora richiede Visual Studio 2015.

Visual Studio 2002 attraverso 2.010

rispettive versioni contemporanee DDK/WDK: DDK per Windows XP/Server 2003, WDKs per Windows Vista e Windows 7 con i rispettivi livelli di service pack e le rispettive versioni del server.

Tali versioni erano non ufficialmente supportate da Microsoft per creare driver. L'unica scelta peggiore per compilare un driver sarebbe una toolchain completa di terze parti (diversa dal compilatore C di Intel, sanzionata da MS, IIRC).

È stata considerata una forma pessima utilizzare i compilatori di Visual Studio in quel periodo e Microsoft ha consigliato esplicitamente di non utilizzarlo. Tuttavia, anche C++ in modalità kernel era una volta disapprovato e ora MS fornisce framework C++ per la modalità kernel. I tempi che stanno cambiando '...;)

In ogni caso, esistono soluzioni alternative sotto forma di ddkbuild.bat e ddkbuild.cmd che utilizzano la toolchain DDK, ma consentono effettivamente di integrare l'invocazione risultante dal progetto "make" in Visual Studio . DDKWizard è una procedura guidata per la creazione di progetti per entrambi gli script. DDKWizard fa non supporta Visual Studio 2010! I collegamenti ai due script forniscono una buona documentazione e DDKWizard viene fornito con una documentazione decente.

A mia conoscenza ddkbuild.cmd è originariamente basato su ddkbuild.bat e la versione di HollisTech può anche tracciare il suo retaggio su quella versione da OSR.

VisualDDK combinato con VirtualKD emerso entro il summenzionato, ma è da considerarsi un , più sofisticata soluzione di gran lunga superiore. Ma il tuo chilometraggio può variare. In entrambi i casi l'integrazione in Visual Studio è molto più completa nella seconda soluzione.

Visual Studio 6

rispettive versioni contemporanee DDK/WDK: DDK per Windows NT 4 e Windows 2000.

Prima di Windows XP DDK (ora si chiama DDK WDK) il compilatore non era incluso nel DDK, quindi dovevi installare il toolchain del compilatore. Questo sarebbe il caso per NT 4.0 e Windows 2000.

Problemi correlati