Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Treiber - Programmierung (https://www.delphipraxis.net/53051-treiber-programmierung.html)

mumu 9. Sep 2005 09:49


Treiber - Programmierung
 
Hallo!

ich wollte jetzt ein bisschen einsteigen in die Treiber-Programmierung. Nur leider habe ich schon große Probleme überhaupt mal ein Projekt zum laufen zu bekommen.

Ich habe das DDK (Driver Development Kit, C:\WINDDK\2600.1106) sowie das Visual Studio .NET 2003 auf meinem Rechner installiert. Ich würde jetzt gern das mitgelieferte Passthru Beispiel mal ausprobieren (C:\WINDDK\2600.1106\src\network\ndis\passthru). Problem ist jedoch, dass hier keine Solution mitgeliefert wird und ich jetzt nicht weiß, wie ich das Projekt anlegen soll, welche Dateien hinzufügen, welche Parameter ich einstellen muss, usw... Gerne würde ich auch, wenn es möglich ist, den treiber direkt mit Visual Studio 2003 debuggen.

echt genial wäre, wenn jemand mir erklären würde, wie man bei soetwas vorgeht und welche einstellungen getätigt werden müssen.

vielen dank schonmal

RavenIV 9. Sep 2005 09:53

Re: Treiber - Programmierung
 
da wir hier in einem Delphi-Forum sind, könnte es möglich sein, dass dir keiner mit Visual Studio weiterhelfen kann.
es gibt doch bestimmt auch foren zu Visual Studio, versuch doch dort mal dein glück...

Robert Marquardt 9. Sep 2005 09:55

Re: Treiber - Programmierung
 
Reingefallen. Treiber werden auf der Kommandozeile mit Build uebersetzt.
Genaugenommen brauchst du Visual Studio ueberhaupt nicht, da das DDK mit Compiler kommt.
Es ist aber trotzdem sehr angenehm die Beispielprogramme damit zu uebersetzen.

mumu 9. Sep 2005 10:03

Re: Treiber - Programmierung
 
jo ich weiß, das mit build hab ich schon rausgefunden, nur möchte ich es lieber komfortabel mit dem visual studio compilieren, das müsste ja auch gehen, braucht man blos die richtigen projekteinstellungen

Olli 9. Sep 2005 10:06

Re: Treiber - Programmierung
 
Zitat:

Zitat von Robert Marquardt
da das DDK mit Compiler kommt.

... aber erst seit dem XP-DDK. Ansonsten hat Robert recht. Du kannst VC dennoch benutzen um etwas zu übersetzen, allerdings muß man seine Projekte dann immer sehr stark ummodeln damit sie auch den Treiber kompilieren. Ich würde dir einfach BUILD empfehlen. Der ruft den eigentlichen Compiler auf und sorgt dafür, daß alle Dateien übersetzt werden.

Aber es gibt da etwas anderes, was dir noch nicht bewußt zu sein scheint.
Zitat:

Zitat von mumu
Gerne würde ich auch, wenn es möglich ist, den treiber direkt mit Visual Studio 2003 debuggen.

:shock: ... dein VS läuft aber im Usermode und der Beispieltreiber im Kernelmode.
Unabhängig davon brauchst du noch einen Checked Build von Windows (mindestens der Kernel muß checked sein um überhaupt Ausgaben zu bekommen) und WinDbg von MS.

mumu 9. Sep 2005 12:15

Re: Treiber - Programmierung
 
oki, erstmal vielen dank für die antworten.

Zitat:

Du kannst VC dennoch benutzen um etwas zu übersetzen, allerdings muß man seine Projekte dann immer sehr stark ummodeln damit sie auch den Treiber kompilieren.
und wie mach ich das? hast du vielleicht ne webseite, die das erklärt.

Zitat:

... dein VS läuft aber im Usermode und der Beispieltreiber im Kernelmode.
das heißt, mit VS kann ich nicht debuggen?
WinDbg hab ich mir schonmal angeschaut. habs nicht hinbekommen :-( Der wollte immer Symbole?!
Woher bekomme ich ein Checked Build von Windows?

Olli 9. Sep 2005 12:23

Re: Treiber - Programmierung
 
Zitat:

Zitat von mumu
und wie mach ich das? hast du vielleicht ne webseite, die das erklärt.

Ich habe das früher immer gemacht, als es noch kein XP DDK gab. Muß ich mal gucken, ob ich so ein Projekt noch irgendwo finde.

Zitat:

Zitat von mumu
das heißt, mit VS kann ich nicht debuggen?

Bingo!

Zitat:

Zitat von mumu
WinDbg hab ich mir schonmal angeschaut. habs nicht hinbekommen :-( Der wollte immer Symbole?!

Die bekommst du a.) von der MS-Seite und b.) vom Compiler (speziell für deinen Treiber) - das ist die PDB-Datei, welche erzeugt wird.

Zitat:

Zitat von mumu
Woher bekomme ich ein Checked Build von Windows?

MSDN-Abo. Kostenlos garnicht.

Robert Marquardt 9. Sep 2005 12:23

Re: Treiber - Programmierung
 
Wie sollst du mit VS als Usermode-Programm einen Kerneltreiber debuggen koennen?
Die Checked Builds von Windows sind schlicht Windowsversionen die mit Debuginfos uebersetzt wurden.
Die Symbole sind das was sonst im MAP-File steht.
Checked Builds gibt es als Teil des MSDN-Abos. Wer ernsthaft Treiber entwickeln will kommt eigentlich an einem MSDN Abo auch nicht vorbei.

mumu 12. Sep 2005 00:48

Re: Treiber - Programmierung
 
Zitat:

Ich habe das früher immer gemacht, als es noch kein XP DDK gab. Muß ich mal gucken, ob ich so ein Projekt noch irgendwo finde.
und Olli hast du was gefunden?

Zitat:

Checked Builds gibt es als Teil des MSDN-Abos. Wer ernsthaft Treiber entwickeln will kommt eigentlich an einem MSDN Abo auch nicht vorbei.
ja, also ich hab ein MSDN Abo von der Uni aus, da hab ich mir jetzt mal das Checked Build heruntergeladen.


also ich möchte gern nen NAT (network address translation) Treiber programmieren. wie geh ich da am besten vor? welches treiber-projekt aus dem ddk kann ich da am besten als grundlage nehmen? ist da der passthru geeignet?

Olli 12. Sep 2005 08:19

Re: Treiber - Programmierung
 
Zitat:

Zitat von mumu
Zitat:

Ich habe das früher immer gemacht, als es noch kein XP DDK gab. Muß ich mal gucken, ob ich so ein Projekt noch irgendwo finde.
und Olli hast du was gefunden?

Noch nicht. Ich befürchte, daß die alle auf irgendwelchen CDs liegen. Und ich habe aktuell nicht genug Zeit alle CDs zu durchsuchen.

Zitat:

Zitat von mumu
also ich möchte gern nen NAT (network address translation) Treiber programmieren. wie geh ich da am besten vor? welches treiber-projekt aus dem ddk kann ich da am besten als grundlage nehmen? ist da der passthru geeignet?

Also IMO müßte NAT noch eine Schicht tiefer ansetzen als NDIS. Eine Idee von mir wäre, daß du den TDI-Treiber von Bei Google suchentdi_fw verwenden könntest. Im Grunde ist NAT ja ein die eine Richtung ein Multiplexer und verwaltet interne IPs und externe IP zusammen mit Hardwareadressen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:39 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz