• 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 > 200分求救,不够再补:连接点和多线程问题,进来看看吧,up者有分!

200分求救,不够再补:连接点和多线程问题,进来看看吧,up者有分!

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

佚名通过本文主要向大家介绍了python 多线程执行,java多线程视频,java线程池,多线程编程,java多线程等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 200分求救,不够再补:连接点和多线程问题,进来看看吧,up者有分!
描述:

服务器端:(STA)
  用ATL实现的一个COM对象OPCGroup,支持连接点(回调接口为IOPCDataCallback)。
  该对象有一个函数Read()(客户通过接口,调用此函数),在Read()中,启用了一个线程,来启动真正的读物理设备,该函数的名为AsyncRead(),线程启动后,Read()立即返回。
  AsyncRead()执行时间较长。
  在读完后,AsyncRead()调用客户端的IOPCDataCallback::OnReadComplete()。
客户端:
   Advise()调用成功。
问题是:
       1、起初,我直接在AsyncRead()中直接使用m_vec.GetAt(nIndex)取得客户的回调接口指针,然后调用该接口(IOPCDataCallback)的OnReadComplete(),
此时出错,错误类型如下:
// MessageId: RPC_E_WRONG_THREAD
// MessageText:
//  The application called an interface that was marshalled for a different thread.
        2、然后我考虑到套间的问题,所以做了如下改动:
在主线程中(Read()),使用m_vec.GetAt(nIndex)取得客户的回调接口指针,然后调用CoMarshalInterThreadInterfaceInStream()将该指针列集到一个IStream流对象中,
         在线程AsyncRead()中调用CoGetInterfaceAndReleaseStream()从流对象中散集出客户的回调接口指针,
然后调用该接口的OnReadComplete(),此时有出错,错误类型如下:
// MessageId: RPC_E_FAULT(0x80010104L)
// MessageText:
//  RPC could not call the server or could not return the results of calling the server.
请高手指点,多谢!


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

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

  • 关于COM中多线程的问题,100分,老大们都来帮忙啊
  • 在多线程中如何使用自定义的消息
  • 如何在副线程里画屏幕
  • 帮帮帮帮忙:关于多线程
  • 多出来的线程作什么的?
  • 为何我的多线程不能通过编译呢
  • 线程高手请进来!
  • 推荐几本关于多线程的书,详细些的,可否?
  • 怎么在多线程中使用同一插槽发送和接受数据
  • 急!急!急!请问怎样访问局域网共享文件资源?和线程问题!!!

相关文章

  • 2017-06-05 关于theAppm_pConnectionGetInterfacePtr
  • 2017-06-05 如何对程序的资源进行读写?
  • 2017-06-05 看到微软的一些notifychangle之类的函数,那有没有感知windows桌面出现对话框是的消息通知呢?
  • 2017-06-04 关于对话框的问题
  • 2017-06-04 求C++中关于CArry的用法总结
  • 2017-06-05 下面的例子错在哪里?(实现Hook的DLL)
  • 2017-06-04 activex界面问题-如何显示一个工具条?
  • 2017-06-05 求助:关于页堆中‘正常页堆‘的疑问
  • 2017-06-05 freeLibrary问题
  • 2017-06-04 如何用com创建文件,并可以进行调用,最好有源码?

文章分类

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

最近更新的内容

    • 怎么用给ActiveX添加一个带参数方法怎么用VB写它的调试代码?
    • 可以让一个进程读写另一个进程中的变量吗?
    • 怎样能得到COM组件的二进制代码?用反编译器吗?
    • CAxWindow显示nowrap有问题。
    • 如何在Non-MFCdll里使用MFC类,比如CString
    • activex在IE中的快键问题?
    • 小妹不知,怎么在进程条中的只显示数字百分比
    • 请大虾在百忙之中告诉我,Com+传不定长数组的解决方案。
    • 关于MSCommm控件
    • 我用CreateProcess从一个应用中打开另一个应用,有两个参数,怎么传进去啊

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

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