Die Frage ein grundsätzlich folgen auf diesen Thread auf: Using a 64 bit driver in a 32 bit program. Windows64/32 Bit Standard-Treiber Übersetzung in Windows
Wie ich lernte, als ich ein 64-Bit-Treiber verfügen, die über einen Satz von 64-Bit-DLLs verwendet wird Ich kann keinen 32-Bit-Prozess haben, der die DLLs aufruft. Wir verwenden jetzt einige lustige Interpunk-Kommunikation, um dies zu umgehen.
Was ist unklar ist, wie eine automatische 64 < -> 32-Bit-Übersetzung passiert, wenn Sie ein "Standard-Gerät" wie eine Grafikkarte verwenden. Jede 32-Bit-Anwendung unter einem Windows 64-Bit-Betriebssystem sollte in der Lage sein, mithilfe von Windows-DLLs einen Druckertreiber zu verwenden oder etwas mit GDI zu zeichnen. Somehwere Microsoft muss eine Übersetzung von 32 Bit auf den 64-Bit-Hardware-Treiber für die Grafikkarte oder den Drucker machen. Ich weiß, dass WoW64 das für den Registry- und Dateisystemzugriff tut, aber übersetzt es auch zu Standardtreibern?
Die spezifische Frage ist, ob wir einen 64-Bit-WDM-Treiber für die Hardware hatten, könnte dies leicht durch eine 32-Bit-Anwendung verwendet werden, mit Windows-Übersetzung 64 < tun -> 32?
So könnte es funktionieren, wenn der WDM-Treiber sowohl eine 64 und 32-Bit-Schnittstelle (DLL) bietet? – asdrubael
Ein WDM-Treiber per Definition ist keine DLL. Außerdem wird ein WDM-Treiber im Kernelmodus ausgeführt, während DLLs in einem Benutzermodusprozess ausgeführt werden. Es kann Begleit-DLLs zu dem WDM-Treiber geben, aber das wird für Standardgeräte nicht erwartet. – MSalters
Ok, ich habe das Ganze getestet, indem ich einen 64-Bit-WDM-Treiber mit einer 32-Bit-Anwendung verwendet habe und es hat sofort funktioniert. – asdrubael