Interfaces duales

La automatización OLE permite que un objeto exponga un conjunto de métodos de dos maneras: a través de la interfaz IDispatch y mediante el enlace de VTable OLE directo. La mayoría de las herramientas disponibles actualmente usan IDispatch y ofrece compatibilidad con el enlace en tiempo de ejecución a propiedades y métodos.

El enlace de VTable ofrece un rendimiento mucho mayor porque se llama directamente a este método en lugar de a través de IDispatch::Invoke. IDispatch ofrece compatibilidad enlazada en tiempo de ejecución, donde el enlace de VTable directo ofrece una mejora significativa del rendimiento; ambas técnicas son valiosas e importantes en diferentes escenarios. Al etiquetar una interfaz como [dual] en la biblioteca de tipos, se puede usar una interfaz de automatización OLE a través de IDispatch o se puede enlazar directamente. Por lo tanto, los contenedores pueden elegir la técnica más adecuada. La compatibilidad con interfaces duales se recomienda encarecidamente para los controles y contenedores.