Schreiben von Treibern in C #
Habe ich früher geschrieben in C/C++, aber momentan, muss ich es konvertieren in C#.
Kann mir jemand sagen, der code/Weg, Wie man Treiber schreiben in C#?
Eigentlich derzeit habe ich einige Probleme mit meinem alten Anwendung in C++ geschrieben und wir schreiben unsere Fahrer der LPT1,COM, Drucker und andere USB-Treiber in C#.
InformationsquelleAutor der Frage Gaurav Aroraa | 2009-06-15
Du musst angemeldet sein, um einen Kommentar abzugeben.
Einfach können Sie nicht. C# erzeugt intermediate-Sprache, die interpretiert wird, indem eine virtuelle Maschine (.NET). All diese Sachen läuft im user-Modus und WDM-Treiber laufen im kernel-Modus.
Es ist ein DDK-aber es wird nicht unterstützt, in VStudio entweder (aber Sie können ein makefile-Projekt für die Zusammenstellung allerdings).
Treiber-Entwicklung ist Komplex, fehleranfällig blauen Bildschirm und erfordert ein gutes Verständnis von C , kernel-Strukturen und mem-manipulation. Keine dieser Fähigkeiten sind erforderlich für C# - und .NET daher gibt es eine lange und schmerzhafte training Weg.
InformationsquelleAutor der Antwort No hay Problema
Tatsächlich, Sie können schreiben, ein paar Treiber in C#, wenn Sie UMDF, denn es läuft im usermode (siehe Erste Schritte mit UMDF). Aber meine Empfehlung ist die Verwendung von C/C++.
InformationsquelleAutor der Antwort Sergey Podobry
Können Sie nicht schreiben, kernel-Modus-Treiber in C# (die Laufzeitumgebung führt die im Benutzer-Modus Sie können daher nicht in ring0). Diese SO Q/A enthält einige links, die Sie vielleicht nützlich finden:
C# - Treiber-Entwicklung?
InformationsquelleAutor der Antwort Robert Horvick
Es ist nicht klar von Ihrer Beschreibung, ob Sie beabsichtigen, zum entwickeln von Windows-Gerätetreiber oder interagieren mit der hardware über bestehende device-Treiber.
Zum Beispiel, um die Interaktion mit angeschlossenen Geräten an Ihrer seriellen port, die Sie nicht brauchen, um schreiben Sie Ihre eigenen Treiber und in der Tat, können Sie darauf zugreifen, durch .NET
SerialPort
Klasse.Sogar USB-Geräte zugegriffen werden kann vom user-space (und letztlich managed code) durch frameworks wie libusb-win32 -, WinUSB etc.
InformationsquelleAutor der Antwort Ilya
Können Sie nicht Treiber schreiben in C#; Treiber müssen laufen mit erhöhten rechten sprechen zu können, um hardware, die verwalteten code nicht ausgeführt werden kann, in der entsprechenden Umgebung.
InformationsquelleAutor der Antwort Paul Sonier