Соглашение о вызовах COM на x64 - PullRequest
7 голосов
/ 29 октября 2008

Я пытаюсь получить окончательный ответ относительно поведения COM на компьютере с архитектурой x64. Использует ли Windows обычное соглашение о вызовах x64 при отправке вызовов на интерфейсы COM на компьютерах x64 (при условии, что реализация COM является 64-битной)? В частности, я динамически генерирую свои записи vtbl, чтобы они указывали на фрагмент сборки, который динамически загружается во время выполнения. Эта сборка должна знать, как правильно получить параметры от того, кто ее вызывает. Таким образом, я хотел бы знать, устанавливает ли COM вызов для моей сборки, используя стандартное соглашение о вызовах x64 (в значительной степени fastcall).

1 Ответ

3 голосов
/ 30 октября 2008

Соглашение о вызовах COM - это то, что определяет макрос STDMETHOD / STDMETHODIMP (и их варианты). На IA-32 для большинства из них это stdcall; Я не знаю, что используется на x86-64 (у меня установлен только 32-битный кросс-компилятор mingw).

...