• 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 > 简单问题,急~~~~网页中怎么取得接口方法中参数的接口指针~~~~~~~~~~内附代码

简单问题,急~~~~网页中怎么取得接口方法中参数的接口指针~~~~~~~~~~内附代码

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

佚名通过本文主要向大家介绍了简单问题,急~~~~网页中怎么取得接口方法中参数的接口指针~~~~~~~~~~内附代码等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 简单问题,急~~~~ 网页中怎么取得接口方法中参数的接口指针 ~~~~~~~~~~内附代码
描述:

idl 中
[id(5), helpstring("method GetIF")] HRESULT GetIF([in]BSTR bstr,[out,retval]IDispatch* *pi);
服务端实现:
STDMETHODIMP CMyObject::GetIF(BSTR bstr, IDispatch **pi)
{
HRESULT hr = QueryInterface(IID_IRead,(void**)pi);
          if(SUCCEEDED(hr))
            return S_OK;
else
return S_FALSE;
}
interface IRead : IDispatch
{
... ...
}
在网页中怎么去调用呢?
我的服务中显示我调用 QueryInterface() 返回 S_FALSE ;
是因为我没有去实现 QueryInterface() 吗? 这个函数要我自己去实现吗?


解决方案1:

直接注册以后,可以得到一个id
然后用id.GetIF()就可以了,不过你的参数要是variant类型的。至于怎么得到这个id你可以参考很多的网页都有。

解决方案2:

要想调用这个函数,有两点要注意:
  第一:你必须使用VBScript来调用,而不是JavaScript,因为JavaScript是传值调用,而不是引用调用,也就是说你只能通过VBScript调用才能获取参数的返回值
  第二:最好将你的第二个参数的类型换成VARIANT类型,而在此处,应该这样去申明你的函数
STDMETHODIMP CMyObject::GetIF(BSTR bstr, VARIANT & vaDisp)
只要注意了以上两点,一般来说,你从脚本调用接口应该是没有问题的了


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

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

  • 问个简单问题,谢谢帮助!
  • 这个简单的问题怎么解决呀
  • 简单问题:继承一个COM接口的时候怎样调用父类中的函数?
  • 一个简单问题,以前认为搞懂了,现在却再次糊涂了!关于CoGetClassObject和DllGetClassObject和类厂
  • 简单问题,解决马上给分!
  • 下面的简单问题谁能回答一下?
  • 简单问题,请问几个类的关系
  • 关于MFCActiveX中的简单问题。
  • 关于IObjectSafety的简单问题(ATL)
  • 关于线程的简单问题,如何在一个用户线程里更新主线程的视图formview的文本控件的值?

相关文章

  • 2017-06-05 用VC60写了个串口通信用DLL,放在PB65里调用的时,有时候会出现问题,不知道怎么解决
  • 2017-06-04 王卫星进来看看
  • 2017-06-04 _bstr_t怎样转换成char和CString?
  • 2017-06-05 在一个线程体里面怎样得到对话框里的一个组件对象???
  • 2017-06-04 特别奇怪的问题
  • 2017-06-05 关于线程互斥的问题
  • 2017-06-05 菜鸟问题;;调用简单的dll出现下列错误
  • 2017-06-05 急!!!!在线等待。。。。。请教怎么杀掉任务管理器里面的进程a(名字为xxxexe)
  • 2017-06-04 热泪求助:工作重压下,请大家帮一把。急!急!急!
  • 2017-06-04 哪儿有InsideATL这本书的源码?

文章分类

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

最近更新的内容

    • 是高手的进来看看!
    • 请问各位如何得到一个进程的ID?
    • ComboBox重绘时,那个上面的高度怎么设置
    • 求清晰的《vc技术内幕(第四版)》中文版
    • mfc用ado方式连接sqlserver2008出错?
    • 如何在Services中读写文件?
    • WindowsNT的Win32SDK随盘附带的程序---pstatexe
    • NTGraph
    • 编写COM进程内服务程序时,是不是不能将对话框中的控件如CListCtrl映射一个成一个Control变量,因为我这样做报error了
    • vb调用vc写的dll为啥进程会自动结束?

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

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