traduzione driver standard 64/32 bit in Windows
Domanda
La domanda è fondamentalmente un follow-up a questa discussione: Utilizzando un driver a 64 bit in un programma di 32 bit . Finestre
Come ho imparato quando ho un driver a 64 bit, che viene utilizzata su un insieme di 64 bit DLL non posso avere un processo a 32 bit chiama le DLL. Ora usiamo una certa comunicazione divertente interpocess per risolvere questo.
Cosa c'è di poco chiaro è come un automatico 64 <-> traduzione 32 bit accade quando si utilizza un "dispositivo standard" come una scheda grafica. Qualsiasi applicazione a 32 bit in Windows a 64 bit del sistema operativo dovrebbe essere in grado di utilizzare un driver della stampante o disegnare qualcosa con GDI utilizzando alcune DLL di Windows. Somehwere Microsoft deve fare una traduzione dal 32 bit per il driver hardware a 64 bit per la scheda grafica o una stampante. So che WoW64 fa per Registro di sistema e file di sistema di accesso, ma lo fa anche si traducono in driver standard?
La domanda specifica è se avessimo un driver WDM a 64 bit per l'hardware, potrebbe questo essere facilmente utilizzato da un'applicazione a 32 bit, con Windows fare la traduzione 64 <->? 32
Soluzione
"dispositivi di serie" sono considerati "standard" perché Windows si assume la responsabilità per loro. Nel caso di 64 bit di Windows, che significa che ci sono entrambi 64 bit e 32 bit DLL. Le DLL a 32 bit sono speciali, e possono parlare con il kernel a 64 bit (inclusi i driver in quel kernel). In generale, i 32 bit DLL non parlano a 64 bit DLL, in quanto non v'è alcun processo di 64 bit in cui quest'ultimo DLL possono essere caricati.