Serialización de interfaz

A menos que sepa más allá de toda duda de que la interfaz nunca se usará en los límites de apartamento, subproceso o proceso, debe decidir cómo proporcionar compatibilidad de serialización para las interfaces. Hay tres maneras de proporcionar compatibilidad con serialización:

  • Escriba su propio código proxy/código auxiliar que llame al canal COM, que a su vez llama a las bibliotecas en tiempo de ejecución rpc. Teóricamente, es posible hacerlo, pero en la práctica es casi imposible hacer sin una cantidad significativa de esfuerzo.
  • Describa las interfaces en un archivo de lenguaje de definición de interfaz (IDL) y use el compilador MIDL para generar un archivo DLL de proxy o código auxiliar. Este método proporciona el mejor rendimiento y la mayor flexibilidad en términos de tipos de datos aceptables. Con códigos auxiliares de proxy generados por MIDL, puede controlar no solo la administración de memoria, sino incluso la serialización y desacoplado de tipos de datos complejos en distintas plataformas.
  • Use MIDL para generar una biblioteca de tipos que el sistema usa para proporcionar compatibilidad con serialización en tiempo de ejecución. Esta es la manera más fácil de implementar la compatibilidad con serialización. Todo lo que tiene que hacer es generar una biblioteca de tipos y registrarla. Las interfaces deben ser compatibles con la automatización (oleautomation o dual), lo que aplica algunas restricciones a los tipos de datos que puede usar como parámetros de método. Sin embargo, en la mayoría de los casos, la ventaja de tener las interfaces accesibles para los programas escritos en otros lenguajes, como Microsoft Visual Basic y Java, supera las limitaciones de los tipos de datos.

Comunicación entre objetos