Question

J'essaie d'obtenir une réponse définitive concernant le comportement de COM sur une machine x64. Windows utilise-t-il la convention d'appel x64 normale lors de la distribution d'appels aux interfaces COM sur des ordinateurs x64 (en supposant que la mise en œuvre COM est de 64 bits)? Plus précisément, je génère dynamiquement mes entrées vtbl pour pointer sur un bloc d’assemblage chargé dynamiquement au cours de l’exécution. Cet assemblage doit savoir comment obtenir correctement les paramètres de quiconque l’appelle. Par conséquent, j'aimerais savoir si COM configure l'appel de mon assemblage à l'aide de la convention d'appel standard x64 (à peu près fastcall).

Était-ce utile?

La solution

La convention d’appel COM est celle que définissent les macros STDMETHOD / STDMETHODIMP (et leurs variantes). Sur IA-32, il s'agit de stdcall pour la plupart d'entre eux; Je ne sais pas ce qui est utilisé sur x86-64 (seul le compilateur croisé mingw 32 bits est installé).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top