Treiber mit C++ schreiben
-
Hi Leute,
ich schreibe schon seit einiger Zeit an einem Projekt für die Schule. Mein Programm (natürlich in C++ geschrieben) soll mittels einer Fotodiode, die sich dreht, messen, von wo am meisten Licht kommt und dann einen Motor (auf dem ein Solar-Panel befestigt ist) dementsprechend drehen. Das klappt ja schon ganz gut und ich kann auch schon die LPT-Schnittstelle ansprechen.Ich frage mich jetzt jedoch, wie man dafür einen Treiber (für WinXP) schreiben kann, der, wie mein Programm, auf bestimmte Sachen reagiert etc.
Da ich mich mit Treiber-Programmierung leider nicht auskenne, wären Anfänger-Tutorials natürlich nicht schlecht.Vielen Dank im Voraus,
Mit freundlichen Grüßen, Sebastian.
-
Ich weiss zwar nicht ganz wofür Du einen Treiber brauchst aber bitte:
Hier das benötigte: DDK (WDF)
http://www.microsoft.com/whdc/driver/wdf/KMDF_pkg.mspx
-
Danke, ich werd's mir mal ansehen. Der Grund, warum ich vorhabe einen Treiber zu schreiben, ist, dass das Tool eh nur im Hintergrund läuft und sowohl nichts ausgibt, als auch keine Eingaben erhält.
-
Refox schrieb:
Der Grund, warum ich vorhabe einen Treiber zu schreiben, ist, dass das Tool eh nur im Hintergrund läuft und sowohl nichts ausgibt, als auch keine Eingaben erhält.
Zusätzlichen Aufwand zu betreiben, nur um Features nicht benutzen zu können, die man nicht benutzen würde, weil man sie nicht braucht, ist ein schwachsinniger Grund.
Oder lässt du dir jeden Abend die Gliedmaßen amputieren und morgens wieder annähen? Während du schläfst, brauchst du die ja nicht.
-
Refox schrieb:
Danke, ich werd's mir mal ansehen. Der Grund, warum ich vorhabe einen Treiber zu schreiben, ist, dass das Tool eh nur im Hintergrund läuft und sowohl nichts ausgibt, als auch keine Eingaben erhält.
dann nimmt man doch einen dienst?!
-
Ich kann mich nur anschliessen. Mach ein Service ("Dienst"). Ist *wesentlich* einfacher als einen Treiber zu schrieben - ich "weiss" das weil ich beides schon gemacht habe
Die einfachste Möglichkeit zu einem Service zu kommen ist im übrigen einen COM-Server mit ATL und attributed C++ zu schrieben, dann bist du aber auf MSVC festgenagelt. Ist aber auch nicht SO wahnsinnig Schwer ein Service "mit Hand" zu schreiben - die Service Control Funktionen sind teilweise etwas seltsam, aber nicht ganz so schwer zu durchschauen.
-
Beginner's introductory guide to writing, installing, starting, stopping NT services
http://www.codeproject.com/system/serviceskeleton.asp