Pregunta

Estoy tratando de obtener una respuesta definitiva sobre el comportamiento de COM en una máquina x64. ¿Windows usa la convención de llamadas x64 normal cuando envía llamadas a interfaces COM en máquinas x64 (suponiendo que la implementación de COM es de 64 bits)? Específicamente, genero dinámicamente mis entradas vtbl para apuntar a un fragmento de ensamblaje que se carga dinámicamente durante el tiempo de ejecución. Este conjunto debe saber cómo obtener los parámetros correctamente de quien lo esté llamando. Por lo tanto, me gustaría saber si COM configura la llamada a mi ensamblaje utilizando la convención estándar de llamadas x64 (prácticamente llamada rápida).

¿Fue útil?

Solución

La convención de llamada COM es lo que sea que las macros STDMETHOD / STDMETHODIMP (y sus variantes) definan como sea. En IA-32, es stdcall para la mayoría de ellos; No sé qué se usa en x86-64 (solo tengo instalado el compilador cruzado Mingw de 32 bits).

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