Ja, dazu muss der Emulator so tun, als wäre er das Gerät. Er muss also zu Windows gehen, und sagen, "Hallo, ich bin ein Treiber, ich gehöre zu einem Systemgerät".
Ein Programm, das sowas tut, nennt man dann Systemgerätetreiber.
Weil da aber jeder kommen könnte, und Hardware prinzipiell ein wenig sensibel ist, sagt Windows, da könnt' ja jeder kommen, und sagen er is n Treiber, und Blue Screens und/oder hardwaredefekte bauen.
Und darum müssen Treiber in den Kernelmode, und dazu müssen Sie ein paar Bedingungen erfüllen, insbesondere muss direkt irgendwo in der Datei stehen, "Hallo Windows, ich bin ein Trieber, bitte hab mich lieb", und das geht mit Delphi nicht.
...das heißt, gehen tuts vom Prinzip her schon, wenn man das selber reinschreibt; aber das will keiner, und wenn aber du wirklich willst, musst du mal Olli oder Assarbad fragen (
), und die werden dir dann erstmal sagen, dazu brauchst du das
DDK, oder das WDK, und C solltest du flüssig schreiben können, und C++ auch, und dann klatschen Sie dir noch den 1000seitigen 686er-Befehlssatz in die Hand, wenn du gar keine Ruhe gibst (aber pssst, den braucht man eigentlich garnicht).
Wer also mit Delphi Treiber schreiben will, der muss es mit C schon können, und wer mit C Treiber schreiben kann, für den gibt es absolut keinen Grund, es mit Delphi zu machen.
Der Weg zum eigenen Gerätetreiber ist sehr steinig, und in der Delphi-Welt gibts es dazu leider kaum Hilfe
PS: ...gibt es in Vista nicht schon usermode treiber?