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

来源:互联网 发布:linux shell 等待输入 编辑:程序博客网 时间:2024/05/01 16:59

数据类型:

1〉HRESULT

   S_OK0x00000000成功S_FALSE0x00000001函数成功执行完成,但返回时出现错误E_INVALIDARG0x80070057参数有错误E_OUTOFMEMORY0x8007000E内存申请错误E_UNEXPECTED0x8000FFFF未知的异常E_NOTIMPL0x80004001未实现功能E_FAIL0x80004005没有详细说明的错误。一般需要取得 Rich Error 错误信息(注1)E_POINTER0x80004003无效的指针E_HANDLE0x80070006无效的句柄E_ABORT0x80004004终止操作E_ACCESSDENIED0x80070005访问被拒绝E_NOINTERFACE0x80004002不支持接口

 

 

2> 创建ATL项目

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

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

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

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

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

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

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

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

                  添加行: *ret = n1 + n2;

 

3> 调用此COM

 

 

原创粉丝点击