AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte DDKWizard/DDKBUILD - nur was für Faule ;)
Thema durchsuchen
Ansicht
Themen-Optionen

DDKWizard/DDKBUILD - nur was für Faule ;)

Ein Thema von Olli · begonnen am 5. Okt 2006 · letzter Beitrag vom 9. Okt 2007
Antwort Antwort
Seite 1 von 2  1 2      
Olli
Hi Leute,

Anfang dieser Woche habe ich ein neues Tool veröffentlicht. Diesmal weder Delphi noch C/C++ (na gut a bisserl C/C++ ist drin ).

Es handelt sich um einen Wizard für Visual Studio, der es ermöglichen soll einfach und schnell Projekte zu erstellen, die für DDKBUILD vorkonfiguriert sind. DDKBUILD ist ein Skript welches zuerst von Mark Roddy veröffentlicht wurde und dann von OSR verbessert wurde. Seit Januar diesen Jahres gibt es die dritte Geschmacksrichtung, welche im Grunde ein Rewrite des OSR-Skripts ist und von mir stammt, siehe hier.

Lange Rede kurzer Sinn. Wer NT/WDM-Treiber schreiben möchte, kann DDKWizard austesten und auch gern Feedback liefern. Wenn ihr es gut findet, sagt's weiter.

Download und Doku finden sich hier:
http://ddkwizard.assarbad.net/
(Die Links werden auch gültig bleiben, wenn ich mal was ändere)

Man braucht mindestens Visual Studio 2003, für alle Features 2005. Außerdem ein DDK (ab Windows XP und ansonsten den VC6 Compiler wenn man das W2K DDK hat) und DDKBUILD.

[2007-09-07]: Links für die Skripte ergänzt und Formatierung leicht geändert. Link zum Manual geändert (alter Link geht aber nach wie vor). Link zum RSS-Feed.

Viel Spaß,
 
Benutzerbild von MagicAndre1981
MagicAndre1981

 
Delphi 7 Enterprise
 
#2
  Alt 5. Okt 2006, 16:08
cooles Teil

Hatte mir früher ein VC6 Projekt selber dafür erstellt. Habs gleich mal im VS2005 installiert und es geht, nur hab ich ein Problem mit dem WDK 5728 (vom Vista-Beta-Test auf Connect). Ich kann den Treiber nicht kompilieren.

Zitat:
error RRJ0019: A Tool returned an error code from "Performing Makefile project actions"
Als Pfad beim Wizzard hab ich den richtigen Pfad zum WDK angegeben.

Aber irgendwas mach ich immer noch falsch
André
  Mit Zitat antworten Zitat
Olli
 
#3
  Alt 6. Okt 2006, 00:02
Zitat von MagicAndre1981:
cooles Teil

Hatte mir früher ein VC6 Projekt selber dafür erstellt. Habs gleich mal im VS2005 installiert und es geht, nur hab ich ein Problem mit dem WDK 5728 (vom Vista-Beta-Test auf Connect). Ich kann den Treiber nicht kompilieren.

Zitat:
error RRJ0019: A Tool returned an error code from "Performing Makefile project actions"
Als Pfad beim Wizzard hab ich den richtigen Pfad zum WDK angegeben.

Aber irgendwas mach ich immer noch falsch
Was ist denn die Ausgabe im entsprechenden Ausgabefenster? Hast du 2005 oder 2005 Express (auf letzterem ist es nicht getestet)? Die Schritte aus der PDF hast du befolgt?
  Mit Zitat antworten Zitat
Benutzerbild von MagicAndre1981
MagicAndre1981

 
Delphi 7 Enterprise
 
#4
  Alt 5. Dez 2006, 00:48
so, es gibt ein Update:

DDKWizard 1.0.2:

Zitat:
What’s new?

Three things have been changed or added:

* Option to create PREfast configurations as well.
* The Windows 2003 and Longhorn/Vista DDK are now preselected.
* There is a new project type “Empty Driver”. This allows you to create a project without creation of all the source files that DDKWizard would normally create. Perfect to create an empty project for incorporation of existing source files.
Download:

http://ddkwizard.assarbad.net/
André
  Mit Zitat antworten Zitat
Olli
 
#5
  Alt 19. Dez 2006, 02:12
Wiedermal aktualisiert:

http://blog.assarbad.net/20061216/ea...izard-updated/
  Mit Zitat antworten Zitat
Neotracer64

 
Delphi 7 Professional
 
#6
  Alt 11. Aug 2007, 18:06
Ich finde DDKWizard richtig praktisch.
Klappt auch alles wunderbar, nur habe ich ein problem.
Die Fehlersuche erweist sich als problematisch.

Ich habe zum Beispiel folgenden Fehler gemacht:
Delphi-Quellcode:
UNICODE_STRING      usName;
WCHAR KeyName;
...
RtlInitUnicodeString(&usName,KeyName);
Es muss natürlich ein Pointer zu WCHAR sein also &KeyName.
Aber davon stand weit und breit nichts im Buildlog.
Was habe ich falsch eingestellt?

Zitat:
------ Build started: Project: test2.WLH, Configuration: WLH checked (PREfast) Win32 ------
Performing Makefile project actions
OSR DDKBUILD.CMD V7.0 RC1 (2007-05-30) - OSR, Open Systems Resources, Inc.
DDKBLD: Clearing %VS_UNICODE_OUTPUT% ...
DDKBLD: WLH (checked) using the Windows Vista/Longhorn Server DDK and %WLHBASE%
DDKBLD: Directory: G:\WinDDK projects\test2\test2 + argument(s): -cZ -prefast
DDKBLD: WLHBASE: G:\WinDDK
DDKBLD: Run prefast build -Ze -cZ -e for checked version in .
path contains nonexistant c:\windows\syswow64, removing
BUILD: Compile and Link for x86
BUILD: Start time: Sat Aug 11 19:01:33 2007
BUILD: Examining g:\winddk~2\test2\test2 directory for files to compile.
g:\winddk~2\test~1\test~1
BUILD: Compiling and Linking g:\winddk~2\test2\test2 directory
Compiling resources - drvversion.rc
Compiling - test2.cpp
Compiling - test2.cpp
Linking Executable - objchk_wlh_x86\i386\test2.sys
errors in directory g:\winddk~2\test2\test2
link : error LNK1181: cannot open input file 'objchk_wlh_x86\i386\test2.obj'
BUILD: Finish time: Sat Aug 11 19:01:42 2007
BUILD: Done
5 files compiled - 1 Warning
1 executable built - 1 Error
DDKBLD: The PREfast logfile is "PREfast_defects_chk_wlh_x86.xml"!
DDKBLD: Build complete
DDKBLD: Building browse information files
Build log was saved at "file://g:\WinDDK projects\test2\test2\BuildLog.htm"
test2.WLH - 1 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
  Mit Zitat antworten Zitat
Olli
 
#7
  Alt 11. Aug 2007, 19:41
Zitat von Neotracer64:
Es muss natürlich ein Pointer zu WCHAR sein also &KeyName.
Aber davon stand weit und breit nichts im Buildlog.
Was habe ich falsch eingestellt?
Eher "WCHAR Keyname[Groesse]" oder "WCHAR* KeyName". Einfach ein "&" davor hilft nicht, weil ein WCHAR eben nur 2 Byte halten kann. Ist der Wert des WCHAR ungleich 0, sollte der Spaß schon fehlschlagen.

Zitat von Neotracer64:
Code:
------ Build started: Project: test2.WLH, Configuration: WLH checked (PREfast) Win32 ------
Performing Makefile project actions
OSR DDKBUILD.CMD V7.0 RC1 (2007-05-30) - OSR, Open Systems Resources, Inc.
DDKBLD: Clearing %VS_UNICODE_OUTPUT% ...
DDKBLD: WLH (checked) using the Windows Vista/Longhorn Server DDK and %WLHBASE%
[color=darkgreen]DDKBLD: Directory: G:\WinDDK projects\test2\test2 + argument(s): -cZ -prefast[/color]
DDKBLD: WLHBASE: G:\WinDDK
DDKBLD: Run prefast build -Ze -cZ -e for checked version in .
path contains nonexistant c:\windows\syswow64, removing
BUILD: Compile and Link for x86
BUILD: Start time: Sat Aug 11 19:01:33 2007
BUILD: Examining g:\winddk~2\test2\test2 directory for files to compile.
    g:\winddk~2\test~1\test~1 
BUILD: Compiling and Linking g:\winddk~2\test2\test2 directory
Compiling resources - drvversion.rc
Compiling - test2.cpp
Compiling - test2.cpp
Linking Executable - objchk_wlh_x86\i386\test2.sys
errors in directory g:\winddk~2\test2\test2
[color=red]link : error LNK1181: cannot open input file 'objchk_wlh_x86\i386\test2.obj'[/color]
BUILD: Finish time: Sat Aug 11 19:01:42 2007
BUILD: Done
    5 files compiled - 1 Warning
    1 executable built - 1 Error
DDKBLD: The PREfast logfile is "PREfast_defects_chk_wlh_x86.xml"!
DDKBLD: Build complete
DDKBLD: Building browse information files
Build log was saved at "file://g:\WinDDK projects\test2\test2\BuildLog.htm"
test2.WLH - 1 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
Ich sehe da "g:\winddk~2\" - wie du vielleicht festgestellt hast, hat DDKBUILD.CMD noch die Parameter korrekt übergeben (grüne Zeile), was aber nix hilft, weil einige der DDK-Tools allergisch gegen Namen mit Leerzeichen sind, weshalb (rote Zeile) die Objektdatei vom Linker nicht gefunden wird. Lösung: umbenennen in einen 8.3-Namen ohne Leerzeichen

Werde es zur DDKWizard-FAQ hinzufügen.
  Mit Zitat antworten Zitat
Neotracer64

 
Delphi 7 Professional
 
#8
  Alt 11. Aug 2007, 20:08
Ahh Danke.
Wenn ich Pfade ohne Leerzeichen benutze, werden alle Fehler korrekt angezeigt.
Das Witzige war ja: Wenn ich keinen Fehler im Source hatte, hat er alles korrekt kompiliert und gelinkt. Das hat mich etwas verwirrt.
Super tool. Ich bin auch von Natur aus faul. Das kommt sehr gelegen.
  Mit Zitat antworten Zitat
Olli
 
#9
  Alt 12. Aug 2007, 04:33
Zitat von Neotracer64:
Das Witzige war ja: Wenn ich keinen Fehler im Source hatte, hat er alles korrekt kompiliert und gelinkt. Das hat mich etwas verwirrt.
Das ist ein guter Hinweis. Genau dieses Bausteinchen hatte mir noch gefehlt. Ich hatte nämlich das Problem letztens (auch wegen Fehlern in Source der nicht von mir stammte - nämlich New Blue Pill), daher kannte ich die Lösung, aber nicht das exakte Problem (nämlich daß es nur auftritt, wenn Fehler im Source existieren).
  Mit Zitat antworten Zitat
Olli
 
#10
  Alt 7. Sep 2007, 03:37
Neotracer, dieses Problem sollte mit der Version 7.0 RC2 nunmehr komplett behoben sein. Ich habe Mark von OSR auch eine Variante für deren .BAT-Version (6.x) geschickt, da ich denke, daß es besser ist, wenn man sich komplett auf kurze Dateinamen verlegt, da die DDK/WDK-Tools da ... nunja ... etwas stur zu sein scheinen

Der Trick den ich nun benutze ist, daß ich die Pfade (BASEDIR für den DDK/WDK-Pfad) sowie das Projektverzeichnis in einen kurzen Pfadnamen umwandle (8.3-Namenskonvention). Bekanntermaßen dürfen diese Namen keine Leerzeichen enthalten, was das erste Problem entschärft - und da die langen Dateinamen das zweite Problem waren, wird auch dieses Problem gleich mit erledigt.

Einzig der NT Script-Interpreter mochte mich nicht. Der hat einen Bug, um den ich herumwerkeln mußte, damit diese Methode sauber funktioniert.

Viel Spaß und Erfolg mit der neuen Version.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:39 Uhr.
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