• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >vc/mfc > 第一次用ATL写一个exe的COM客户端CoCreateInstance出错了,死活不知道怎么错了,请帮忙看看。

第一次用ATL写一个exe的COM客户端CoCreateInstance出错了,死活不知道怎么错了,请帮忙看看。

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-04

佚名通过本文主要向大家介绍了第一次用ATL写一个exe的COM客户端CoCreateInstance出错了,死活不知道怎么错了,请帮忙看看。等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 第一次用ATL 写一个exe的COM 客户端CoCreateInstance 出错了,死活不知道怎么错了,请帮忙看看。
描述:

服务端:通过ATL构建的exe程序
只有一个接口
// ATL_HELLO.cpp : Implementation of CATL_HELLO
#include "stdafx.h"
#include "A.h"
#include "ATL_HELLO.h"
/////////////////////////////////////////////////////////////////////////////
// CATL_HELLO
STDMETHODIMP CATL_HELLO::Hello()
{
// TODO: Add your implementation code here
MessageBox(NULL, "HELLO EXE COM", NULL, IDOK);
return S_OK;
}
客户端:
#include <iostream>
#include "A.h"
//这段是拷贝A_i.c中间的
const IID IID_IATL_HELLO = {0x7CC5622B,0x5374,0x4BBA,{0x81,0x67,0x9D,0x4B,0x21,0x32,0x4A,0xD8}};
const IID LIBID_ALib = {0xE22F6F1B,0x3C81,0x4C8B,{0x95,0xD2,0x5C,0xA0,0x0E,0xA5,0x34,0x83}};
const CLSID CLSID_ATL_HELLO = {0xA3C70FAA,0xA507,0x4C85,{0x93,0x39,0x56,0xF2,0x60,0xC7,0xBF,0x38}};
void main()
{
    // TODO: Add your control notification handler code here
    HRESULT        hr;
    IATL_HELLO     *pI = NULL;
    // Now we will intilize COM
    hr = CoInitialize(0);
    if(SUCCEEDED(hr))
    {
        hr = CoCreateInstance( CLSID_ATL_HELLO, NULL, CLSCTX_LOCAL_SERVER, IID_IATL_HELLO, (void**) &pI);
        if(SUCCEEDED(hr))
        {
            pI->Hello();
            pI->Release(); 
        }
        else
        {
std::cout << "CoCreateInstance Failed." <<std::endl;
        }
    }
    // Uninitialize COM
    CoUninitialize();
}
hr的返回值是--2147467262好像也看不出什么。


解决方案1:

没有找到指定的接口。
你有没有将这个接口正确地导出?
如果是用ATL向导做的,应该不会有这个问题的呀


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 第一次用ATL写一个exe的COM客户端CoCreateInstance出错了,死活不知道怎么错了,请帮忙看看。

相关文章

  • 2017-06-04 关于VC编写的OCX对word操作过程中的模板的问题
  • 2017-06-04 如何在网页中调activex
  • 2017-06-04 有谁知道“ProfessionalATLCOMProgramming”这本书?
  • 2017-06-04 在VC60中使用COM失败
  • 2017-06-04 ocx如何简单实现数据的显示
  • 2017-06-04 MODBUS协议中的CRC校验码
  • 2017-06-05 接着问:连接问题
  • 2017-06-05 webbrowser里边点击按钮怎么操作
  • 2017-06-05 线程里的断言错误怎么解决??
  • 2017-06-05 狂送500分:MFCAPP中用SHELLEXECUTE或WINEXEC打开DOS窗口后,无法关闭,请大侠指点

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • shell扩展编程添加系统右键菜单
    • 透明控件问题
    • 谁能给个用com做的插件的例子
    • COM控件debugregistration注册失败dbgdelcpp
    • 问个调用COM组件的问题
    • 如何编程替换exedll文件中的资源?
    • 求代码要多少分我都给
    • 高分请教控件问题,十万火急!!!
    • 请问熟悉OLE2和ACTIVEX的高手
    • 请教大家可否详细介绍DLL知识并给出例子以及标准格式?给分

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有