Pregunta

La pregunta es, básicamente, un seguimiento a este tema: El uso de un controlador de 64 bits en un programa de 32 bits . Ventanas

Como ya he aprendido que cuando tengo un controlador de 64 bits, que se utiliza más de un conjunto de 64 bits DLL que no puedo tener un proceso de 32 bits llamando a las DLL. Ahora utilizamos algún tipo de comunicación divertido interpocess para solucionar este.

Lo que no está claro es cómo un sistema automático 64 <-> traducción de 32 bits que sucede cuando se utiliza un "dispositivo estándar" como una tarjeta gráfica. Cualquier aplicación de 32 bits en un sistema operativo Windows de 64 bits debe ser capaz de utilizar un controlador de impresora o dibujar algo con GDI mediante el uso de algunos archivos DLL de Windows. Somehwere Microsoft tiene que hacer una traducción de 32 bits para el controlador de hardware de 64 bits para la tarjeta gráfica o una impresora. Sé que WoW64 lo hace por sistema de registro y archivo de acceso pero también se traduce a controladores estándar?

La pregunta concreta es si tuviéramos un controlador WDM 64 bits para el hardware, esto podría ser utilizado fácilmente por una aplicación de 32 bits, con Windows haciendo la traducción 64 <->? 32

¿Fue útil?

Solución

"dispositivos estándar" se consideran "normal", ya que Windows sí asume la responsabilidad de ellos. En el caso de 64-bits de Windows, que significa que hay dos 64 bits y 32 bits DLL. Las DLL de 32 bits son especiales, y pueden hablar con el kernel de 64 bits (incluyendo los conductores en ese kernel). En general, los 32 bits de DLL no hablan a 64 bits DLL, ya que no hay proceso de 64 bits en la que éste DLL se podrían cargar.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top