Compartir a través de


Comunicación entre procesos entre aplicaciones de 32 y 64 bits

Las técnicas siguientes se pueden usar para la comunicación entre aplicaciones de 32 y 64 bits:

  • Las versiones de 64 bits de Windows usan identificadores de 32 bits para la interoperabilidad. Al compartir un identificador entre aplicaciones de 32 y 64 bits, solo los 32 bits inferiores son significativos, por lo que es seguro truncar el controlador (al pasarlo de 64 bits a 32 bits) o extender el identificador (al pasarlo de 32 bits a 64 bits). Los identificadores que se pueden compartir incluyen identificadores para objetos de usuario como ventanas (HWND), identificadores de objetos GDI, como lápices y pinceles (HBRUSH y HPEN), y identificadores para objetos con nombre como exclusiones mutuas, semáforos y identificadores de archivo.
  • Se pueden usar llamadas a procedimientos remotos (RPC).
  • Los servidores locales COM se pueden usar si se registran archivos DLL de proxy/código auxiliar de 32 y 64 bits para todas las interfaces usadas.
  • La memoria compartida se puede usar si los tipos dependientes del puntero se convierten correctamente (o se evitan).
  • Las funciones CreateProcess y ShellExecute pueden iniciar procesos de 32 y 64 bits desde procesos de 32 o 64 bits con ciertas limitaciones.

No se puede iniciar un archivo ejecutable de 64 bits ubicado en %windir%\System32 desde un proceso de 32 bits, porque el redirector del sistema de archivos redirige la ruta de acceso. No deshabilite el redireccionamiento para lograr esto; use %windir%\Sysnative en su lugar. Para obtener más información, vea Redirector del sistema de archivos.