它比这里的其他答案所建议的自动得多。所有样板代码都是由 Visual Studio 为您编写的。
您很幸运拥有 .idl,我认为这是迄今为止最方便的。
您可以将 .idl 文件的内容粘贴到 ATL COM 项目的现有 .idl 文件中,这样您就可以访问其中的声明。例如,可以将类似这样的内容粘贴到 IDL 文件中:
[
object,
uuid(ecaac0b8-08e6-45e8-a075-c6349bc2d0ac),
dual,
nonextensible,
helpstring("IJim Interface"),
pointer_default(unique)
]
interface IJim : IDispatch
{
[id(1), helpstring("method SpliceMainbrace")] HRESULT SpliceMainbrace(BSTR* avast);
};
然后在班级视图中,右键单击您的班级并选择Add | Implement Interface
.
请注意,在此对话框中,您实际上可以浏览 .tlb 文件,但我认为最好为这些内容提供纯文本源,以进行版本控制等。
Pick IJim
从列表中,按>
按钮将其添加到要实施的列表中。按Finish.
Visual Studio 会将其添加到您的类中(以及一堆其他废话以使其正常工作):
// IJim Methods
public:
STDMETHOD(SpliceMainbrace)(BSTR * avast)
{
// Add your function implementation here.
return E_NOTIMPL;
}