COM 组件编程--VC知识库读杨老师文章笔记

数据类型:

1〉HRESULT

   

S_OK 0x00000000 成功
S_FALSE 0x00000001 函数成功执行完成,但返回时出现错误
E_INVALIDARG 0x80070057 参数有错误
E_OUTOFMEMORY 0x8007000E 内存申请错误
E_UNEXPECTED 0x8000FFFF 未知的异常
E_NOTIMPL 0x80004001 未实现功能
E_FAIL 0x80004005 没有详细说明的错误。一般需要取得 Rich Error 错误信息(注1)
E_POINTER 0x80004003 无效的指针
E_HANDLE 0x80070006 无效的句柄
E_ABORT 0x80004004 终止操作
E_ACCESSDENIED 0x80070005 访问被拒绝
E_NOINTERFACE 0x80004002 不支持接口

 

 

2> 创建ATL项目

    . 新建一个ATL项目,名称simple.应用程序设置服务器类型选择dll方式.其余多选选项全部非选(取消顶部"属性"多选框的勾选)

    . 点击菜单: 项目-> 添加类; 选择 ATL简单对象

    . 弹出的向导中: 简称为 Fun,其余自动完成;"选项"选项卡中接口选择 自定义,自动化兼容不选.完成

    . 查看类试图, 在IFun上点击右键, 选择: 添加->添加方法。

    . 弹出的向导中,返回类型定死为HRESULT,表明函数执行状态结果, 函数功能结果由参数返回,输入的

         参数在参数属性中选择in,输出的选择out, 返回结果的返回retval, retval类型只能有一个,并被放在最后

         默认的out/retval是灰色,当你有参数类型是指针时才可用。

         完成添加,到Fun.cpp中编辑函数

                  添加行: *ret = n1 + n2;

 

3> 调用此COM

 

 

你可能感兴趣的:(编程,服务器,dll,n2,fun)