2008-10-29 46 views
7

我正在試圖獲得有關COM在x64機器上的行爲方式的確定答案。在調用x64機器上的COM接口調用時,Windows是否使用正常的x64調用約定(假設COM實現爲64位)?具體來說,我動態生成我的vtbl條目,指向運行時動態加載的程序集塊。這個程序集需要知道如何正確地從任何人調用它的參數。因此,我想知道COM是否使用標準的x64調用約定來建立對我的程序集的調用(幾乎是fastcall)。x64上的COM調用約定

回答

3

COM調用約定是無論STDMETHOD/STDMETHODIMP宏(及其變體)如何定義它。在IA-32上,大部分都是stdcall;我不知道在x86-64上使用了什麼(我只安裝了32位mingw交叉編譯器)。

+0

爲amd64編譯時stdmethod解析爲無。所以我會假設x64上的COM調用約定是正常的x64調用約定,即使窗口調度該調用? – Zach 2008-10-30 01:00:36