Frage

Die Frage ist im Grunde ein folgen auf diesen Thread nach oben: Unter Verwendung eines 64-Bit-Treiber in einem 32-Bit-Programm . Windows-

Wie ich lernte, als ich habe einen 64-Bit-Treiber, der über einen Satz von 64-Bit-DLLs verwendet wird, kann ich nicht einen 32-Bit-Prozess die DLLs aufrufen haben. Wir haben jetzt einige lustige interpocess Kommunikation verwenden, um dies zu umgehen.

Was unklar ist, ist wie eine automatische 64 <-> 32-Bit-Übersetzung geschieht, wenn ein „Standardgerät“ wie eine Grafikkarte verwendet wird. Jede 32-Bit-Anwendung unter Windows 64-Bit-Betriebssystem sollte in der Lage sein, einen Druckertreiber zu verwenden oder mit einig Windows-DLLs etwas mit GDI ziehen. Somehwere Microsoft hat eine Übersetzung von 32 Bit auf die für die Grafikkarte oder den Druckertreiber 64-Bit-Hardware zu machen. Ich weiß, dass WoW64 das tut für Registry und Dateisystemzugriff, sondern macht es auch für Standardtreiber übersetzen?

Die spezifische Frage ist, ob wir einen 64-Bit-WDM-Treiber für die Hardware hatten, diese leicht durch eine 32-Bit-Anwendung verwendet werden, mit Windows-Übersetzung tut 64 <->? 32

War es hilfreich?

Lösung

„Standardgeräte“ werden als „Standard“, da Windows selbst die Verantwortung für sie übernimmt. Im Fall von 64-Bit-Windows das bedeutet, es gibt sowohl 64-Bit und 32-Bit-DLLs. Die 32-Bit-DLLs sind speziell und können auf die 64-Bits-Kernel (in diesem Kern einschließlich Treibern) sprechen. Im Allgemeinen ist die 32-Bit-DLLs reden nicht mit 64-Bit-DLLs, da es keine Verfahren 64 Bits, in denen die letztere DLLs geladen werden kann.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top