这是根据”Dr. GUI and ATL” 的文章自己做的例子程序,主要是在原有接口上继续新的接口,这样在保留原接口的基础上可以扩展新的功能.
功能介绍:
1.创建Calculate组件,添加IFun接口(注重:本例我们在Attributes中我们选择Apartment,Custom,Yes).在IFun接口中添加函数Add实现两数相加的功能(参数为[in] long n1, [in] long n2, [out, retval] long *pVal).代码如下:
STDMETHODIMP CCalCulate::Add(long n1, long n2, long *pVal)
{
// TODO: Add your implementation code here
*pVal = n1 + n2;
return S_OK;
}
2.添加IFun2接口,继续IFun接口.步骤如下:
(1)修改.idl文件:
在
interface IFun : IUnknown
{
[helpstring("method Add")] HRESULT Add([in] long n1, [in] long n2, [out, retval] long *pVal);