关于COM组件QueryInterface返回E_NOINTERFACE的问题 [问题点数:40分]

Bbs1
本版专家分:0
结帖率 54.55%
Bbs3
本版专家分:830
Bbs1
本版专家分:0
Bbs5
本版专家分:2304
Bbs1
本版专家分:0
Bbs3
本版专家分:830
Bbs1
本版专家分:0
Bbs3
本版专家分:830
对 IID 为“{00020970-0000-0000-C000-000000000046}”的接口的 COM 组件调用 QueryInterface 因以下错误而失败: 加载类型库/DLL 时出错
网上有很多答文,大部分都是因为Office多版本引起的dll调用不明确<em>问题</em>。此类通过删除注册表对应的office版本一般都能解决。 本人遇到的<em>问题</em>,是office2003 没有装在C盘,这也是我因为我向来不喜欢把东西装在C盘引起的。结果注册表搞了一大通,连路径都能记清楚了,还是没解决。后来想着是不是win Server 2016 服务器版本原因,是什么地方还需要进行设置,结果网上根本没有这与服务...
virtualbox 获取COM失败的方法
Failed to instantiate CLSID_VirtualBox w/ IVirtualBox, but CLSID_VirtualBox w/ IUnknown works. PSDispatch looks fine. Weird. <em>返回</em> 代码: E_NOINTERFACE (0x80004002) <em>组件</em>: VirtualBoxClientWrap 界面: IVirtual
COM多线程原理和应用
前言 COM多线程一直是个不容易弄清的<em>问题</em>,我也被困扰了很久,特别是COM在线程方面的术语总是不能统一。本文是为了将我所学所用得做一个总结,本文不保证一定正确,但是会随着时间的推移逐渐完善改正。 套间: 套间的定义:       我个人认为>中<em>关于</em>套间的定义是错误的,应采用>中的定义。>中----- 套间(Apartment),一个由用户界面线程(套间线程)和一个消息循环
JS和C#访问遇到QueryInterface调用出错
在原来的WinForm里,我们只要在窗体类的头部添加属性[System.Runtime.InteropServices.ComVisibleAttribute(true)],然后 webBrowser1.ObjectForScripting = this;这样设置完后,页面上的JS就能访问窗体类的方法了,但是添加WeifenLuo.WinFormsUI.Docking.DockContent作为窗...
QueryInterface 实现及使用的完整的例子
下面我们将把前面所提到过和各代码段组合起来,以构成一个说明QueryInterface 实现及使用的完整例子。总的来说可以将这些代码分成三部分。第一部分是接口IX、 IY 和 IZ 的定义部分。接口 IUnknown 的定义在 Win32 SDK 的头文件 1 见UNKNWN . H 中。第二部分是<em>组件</em>的实现。类 CA 实现了一个支持 IX 和 IY 接口的<em>组件</em>。QueryInterface的实现
C#与excel互操作 C#与excel互操作的错误无法将类型为“Microsoft.Office.Interop.Excel.ApplicationClass”的 COM 对象强制 如果您使用的电脑
C#与excel互操作的错误无法将类型为“Microsoft.Office.Interop.Excel.ApplicationClass”的 COM 对象强制 如果您使用的电脑要操作的是office2003而之前使用过office2007使用此方法可解决您的<em>问题</em> 无法将类型为“Microsoft.Office.Interop.Excel.ApplicationClass”的 COM 对象强制转
C#WPF无法将类型为“System.__ComObject”的 COM 对象强制转换为接口类型“System.Speech.Internal.SapiInterop.ISpDataKey”。解决办法
无法将类型为“System.__ComObject”的 COM 对象强制转换为接口类型“System.Speech.Internal.SapiInterop.ISpDataKey”。此操作失败的原因是对 IID 为“{14056581-E16C-11D2-BB90-00C04F8EE6C0}”的接口的 COM <em>组件</em>调用 QueryInterface 因以下错误而失败: 不支持此接口 (异常来自 HRESULT:0x80004002 (E_NOINTERFACE))。 解决办法
(转)无法将类型为“Excel.ApplicationClass”的 COM 对象强制转换为接口类型“Excel._Application”
无法将类型为“Microsoft.Office.Interop.Word.ApplicationClass”的 COM 对象强制转换为接口类型“Microsoft.Office.Interop.Word._Application”。此操作失败的原因是对 IID 为“{00020970-0000-0000-C000-000000000046}”的接口的 COM <em>组件</em>调用 QueryInterface
COM组件的AddRef和Release()方法使用
AddRef和Release实现的是一种名为引用计数的内存管理技术,这种技术是使<em>组件</em>能够自己将自己删除的最简单同时也是效率最高的方法。COM<em>组件</em>将维护一个称作是引用计数的数值。当客户虫<em>组件</em>取得一个接口时,此数值增1,当客户使用完某个接口后,此数值将减1。当此数值为0时,<em>组件</em>即可将自己从内存中删除。   为正确的使用引用计数,需要了解一下三条规则:   (1)在<em>返回</em>之前调用AddRef。对于哪些
c#中的接口查询(QueryInterface)
接口查询(QueryInterface)        一个类可以有多个接口,声明了接口变量并且指向一个对象的时候,这个变量只能使用该接口内的方法和属性,而不能访问其他接口中的方法和属性。但接口查询很方便的让我们在一个类中的不同接口间进行切换。 using System; namespace ConsoleApp1 { interface IEat { ...
C++程序员之路深入探讨QueryInterface
QueryInterface的本质初探 本文写给COM的初学者! QueryInterface接口对COM的重要性不言而喻,该接口的实现有个规则——由QueryInterface<em>返回</em>的IUnknow接口指针必须相同,我的疑问是微软是如何使用C++实现这一COM规则的呢?请读者注意,我只探讨微软使用C++实现的COM,而不是其他公司使用其他语言实现的COM<em>组件</em>,当然无论什么公司使用十分语
COM组件的QueryInterface问题
[code=C/C++]rn#include rnusing namespace std;rnrn#include "../MyCOMServer/MyCOMServer.h"rn#include "../MyCOMServer/MyCOMServer_i.c"rnrnint main()rnrn HRESULT hr;rn IUnknown *pUnknown=NULL;rn IInterface1 *pInterface1=NULL;rn IInterface2 *pInterface2=NULL;rnrn //COM库的初始化rn hr=CoInitialize(NULL);rn if (!SUCCEEDED(hr))rn rn coutMul(10,10,&num2); //两个数相乘rn cout<Release();rn rnrn CoUninitialize();rn return 0;rnrn[/code]rn在VC6.0中通过ATL创建了一个COM<em>组件</em>,<em>组件</em>中有两个接口(通过insert new ATL Object以相同方式加入)rn<em>问题</em>:rn1、为什么第一次查询(查询接口1)成功,调用函数成功;而第二次查询失败(查询接口2)???rn2、通过IUnknown指针不是可以遍历到所有的接口吗?为什么上述程序能找到接口1而找不到接口2?rn3、在什么情况下调用Release()函数???
获取VirtualBox COM对象失败
一、<em>问题</em> 1、将Genymotion和VirtualBox安装好之后,并且已经下载完了virtual device;  2、但是在运行虚拟机的时候却弹出了错误提示:虚拟机电脑控制台——严重错误。  如图:  错误信息: 获取VirtualBox COM对象失败  应用程序将被中断  明细(D)  Failed to instantiate CLSID_VirtualBox w/ IVirtu...
VirtualBox遇到错误:创建 COM 对象失败. 应用程序将被中断. 被召者 RC:REGDB_E_CLASSNOTREG (0x80040154)
今天打算装一个VM vare的虚拟机可装完后,原来在电脑里安装的VirtualBox显示错误: 创建 COM 对象失败.  应用程序将被中断.    被召者 RC:REGDB_E_CLASSNOTREG (0x80040154) 令我很是惆怅,所以带着<em>问题</em>去百度,百度告诉我: I solved this problem installing microsoft .NET framework
COM技术内幕
COM技术内幕-微软<em>组件</em>对象 中文版 Dale Rogerson 第一章<em>组件</em> 第二章 接口 第三章QueryInterface 第四章 引用计数 第五章 动态链接 第六章 <em>关于</em>HRESULT GUID 注册表及其他细节
AE 组件二次开发 :关于地图控件上ICommand
private void 全图ToolStripMenuItem_Click(object sender, EventArgs e) { ICommand pCommand = new ControlsMapFullExtentCommandClass(); pCommand.OnCreate(this.axMapControl1.O
使用Atl 创建Com对象需要注意的问题
今天我使用Atl创建了一个名为MyCalcObj的Com对象,然后在源代码(还是ATL工程)的某个地方我实例化了一个Com对象 CMyCalcObj obj; 编译报错: 1>f:\bho\mymathsvc\mymathsvc\mymathsvc.cpp(20) : error C2259: “CMyCalcObj”: 不能实例化抽象类 1>        由于下列成员: 1>
HaiGrang.Package.OpcNetApiChs.NET OPC客户端开发工具包 V4.2版(For Vs2005.Net)
HaiGrang.Package.OpcNetApiChs.NET OPC客户端开发工具包 V4.2版(For Vs2005.Net) OPC (用于过程控制的OLE)是一个工业标准,管理这个标准国际组织是OPC基金会,OPC基金会现有会员已超过220家。遍布全球,包括世界上所有主要的自动化控制系统、仪器仪表及过程控制系统的公司。 基于微软的OLE (现在的Active X)、COM(部件对象模型)和DCOM(分布式部件对象模型)技术。OPC包括一整套接口、属性和方法的标准集,用于过程控制和制造业自动化系统。 ActiveX/COM技术定义各种不同的软件部件如何交互使用和分享数据。不论过程中采用什么软件或设备,OPC为多种多样的过程控制设备之间进行通信提供了公用的接口。 客户端开发工具包为用户提供了一个强大的OPC客户端库,能够大幅度地提高开发效率,节约开发成本,显著地提高软件质量。 1、功能强大,可编辑性强。 2、国际开放平台,可以在Visual Basic.NET、Visual C++.NET、IE、等多种容器当中使用。 3、更少运行库支持,更方便用户使用。 4、开发、运行完全免费,真正实现工程系统运行零成本。 标准版:(免费下载) 包括标准版<em>组件</em>、全中文联机帮助、Visual C#.NET开发例程、演示程序等。 这些<em>组件</em>进行工程系统的二次开发,<em>组件</em>的拷贝(*.DLL)可以被任意分发。
7.MFC实现简单的COM
使用MFC实现简单的COM,演示了整个COM构成,注释清晰,穿插讲了MFC实现COM的原理,对照本文和代码可以弄懂整个MFC COM实现方法。
为何针对IMarkupServices的QueryInterface总是返回E_NOINTERFACE?
代码如下,编译没<em>问题</em>:rn HRESULT hr;rn hr = CoInitializeEx(NULL,COINIT_MULTITHREADED); rn IHTMLDocument2 *pDoc = NULL; rn hr = CoCreateInstance(CLSID_HTMLDocument,NULL,CLSCTX_INPROC_SERVER,IID_IHTMLDocument2,(LPVOID *) &pDoc); rn if (pDoc) rn rn IPersistStreamInit *pPersist = NULL; rn hr = pDoc->QueryInterface(IID_IPersistStreamInit,(LPVOID *) &pPersist); rn if (pPersist) rn rn IMarkupServices *pMS = NULL; rn rn pPersist->InitNew();rn pPersist->Release(); rn rn hr = pDoc->QueryInterface(IID_IMarkupServices,(LPVOID *) &pMS); rn if (pMS)rn rn // Do works.rn rn rn rn pDoc->Release(); rn rn rn CoUninitialize(); rnrn如上代码,pDoc->QueryInterface(IID_IMarkupServices, (LPVOID *) &pMS)总是<em>返回</em>E_NOINTERFACE。rn开发环境:rnWindows XP SP3, IE7, VS2005 Professional.
COM技术内幕 及源码
InsideCOM COM 技术内幕 第一章: <em>组件</em> 第二章: 接口 第三章: QueryInterface函数 第四章: 引用计数 ... 第十三章:一个完整的例子
解决 无法将类型为“Excel._Application的QueryInterface”的 COM 对象强制转换为接口类型
ASP.NET中用C#调用EXCEL进行导出时,有时会出现接口Excel._Application的QueryInterface失败的提示。 这通常是office<em>组件</em>安装注册的<em>问题</em>,而非程序本身
VirtualBox启动的时候遇到的问题
错误代码: Failed to instantiate CLSID_VirtualBox w/ IVirtualBox, but CLSID_VirtualBox w/ IUnknown works. PSDispatch looks fine. Weird. <em>返回</em>代码: E_NOINTERFACE (0x80004002)  <em>组件</em>: VirtualBoxClientWrap  界面
无法将类型为“*Class”的 COM 对象强制转换为接口类型 失败原因.
在用.net2.0调用COM的某方法时报:System.InvalidCastException: 无法将类型为“*Class”的 COM 对象强制转换为接口类型“I*”。此操作失败的原因是对 IID 为“{BBB9E30B-B4EB-4560-B5A7-1B59B33EF6BF}”的接口的 COM <em>组件</em>调用 QueryInterface 因以下错误而失败: 不支持此接口 (异常来自 HRES
接口 IID 表
接口 IID 表 GUID 接口 _GUID_1dd18d46_740a_450b_b24a_f0edf70fbd92 IRtlAppIdAuthority _GUID_31257d4b_3df7_46f9_86c5_1c76711e334e IRtlBlobProvider _GUID_a5b48e44_162c_11d9_b198_00e0816a6477 IRtl
网站COM组件调用失败解决办法
网站需要对Office文件进行操作,在VS运行的时候一切正常,但是发布到IIS上,一直报错:COM<em>组件</em>调用失败 解决方法: 在配置节中加上一行 &amp;lt;identity impersonate=&quot;true&quot; userName=&quot;administrator&quot; password=&quot;密码&quot;/&amp;gt; <em>问题</em>原因 网站的权限不足以调用COM<em>组件</em>。 ...
com技术内幕
<em>com</em>技术内幕电子书,主要内容有:<em>组件</em>,接口,queryInterface函数,引用计数,动态链接等
COM技术内幕-微软组件对象模型.pdf
学习<em>com</em>的必读书籍。含书签。目录:<em>组件</em>、接口、<em>queryinterface</em>函数、引用计数、动态链接。
COM接口指针的传递
COM接口继承时,如果要对接口指针进行传递,必须使用QueryInterface()来进行。 基接口:[ object, uuid(F20D4233-DD50-4B19-9C9A-DDCDDDA12BC6), dual, nonextensible, helpstring("IP
com入门小例子!理解com中的QueryInterface
// testdll继承.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include "String.h" typedef char* String1; class IMyUnknown {  public :  static int IID_IUnknown; public:  virtual int       Quer
被召者 RC: E_NOINTERFACE (0x80004002) 无法运行virtualBox的完善解决办法
http://hi.baidu.<em>com</em>/netee/item/d96c6ab574dae5d284dd79ee virtualBox虽然升级到了4.3.0,但是是存在很多<em>问题</em>,比如1、无法很好的在WIN7上运行的<em>问题</em>。2、安装程序后引起WIN7系统的UDP广播协议工作出现<em>问题</em>,致使搞开发的工程师在调试网络UDP的广播相关程序时出现无法正常通信的<em>问题</em>。 Vir
C# 操作excel 常见问题解决方案
1、C#与excel互操作的错误无法将类型为“Microsoft.Office.Interop.Excel.ApplicationClass”的 COM 对象强制 如果您使用的电脑要操作的是office2003而之前使用过office2007使用此方法可解决您的<em>问题</em> 无法将类型为“Microsoft.Office.Interop.Excel.ApplicationClass”的 COM 对象强
win7下安装virtual box后启动报错
win7下安装virtual box后启动, 报错, 如下 Failed to instantiate CLSID_VirtualBox w/ IVirtualBox, but CLSID_VirtualBox w/ IUnknown works. PSDispatch looks fine. Weird.   <em>返回</em>代码: E_NOINTERFACE (0x80004002
无法将类型为“System.__ComObject”的 COM 对象强制转换为类类型“mshtml.HTMLInputElementClass
环境: VS2008+Win7 64bit 代码: public string Execute(WebBrowser browser, HtmlElement btn) { bool loadFinished = false; int counterTimeOut = 500; string
如何在COM组件接口方法中返回一个字符串给js?
如何在COM<em>组件</em>接口方法中<em>返回</em>一个字符串给js?   2011-05-02 18:54:55|  分类: 默认分类 |  标签: |字号大中小 订阅 COM<em>组件</em>通过   BSTR*     数据类型将一个字符串从接口方法内部<em>返回</em>给外部js的,如下接口方法:   HRESULT GetFilePath([out,retval] BSTR* bstrFilePath);
模仿COM架构+源码
一:区分组建与对象      <em>组件</em>(Component)是系统中一种物理的、可代替的部件、它封装了实现并提供了一系列可用的接口。一个<em>组件</em>代表一个系统中实现的物理部分,包括软件代码(源代码,二进制代码,可执行代码)或者一些类似内容,如脚本或者命令文件。简而言之,<em>组件</em>就是对象,是对数据和方法的简单封装。     对象(Object)是指现实世界中客观存在的事物。     <em>组件</em>基于对象,同时又是对象的一...
检索 COM 类工厂中 CLSID 为 {000209FF-0000-0000-C000-000000000046} 的组件失败,原因是出现以下错误: 80070005 拒绝访问。
我在实现Word导出功能时使用了Office2007,在公司的电脑上运行没<em>问题</em>。由于需要向客户演示所以我要在本地搭一套环境,于是出现了“检索 COM 类工厂中 CLSID 为 {000209FF-0000-0000-C000-000000000046} 的<em>组件</em>失败,原因是出现以下错误: 80070005 拒绝访问。”
VirtualBox 启动时提示“获取 VirtualBox COM 对象失败”的解决
VirtualBox 启动时提示“获取 VirtualBox COM 对象失败”的解决 昨天给电脑打了一堆补丁和更新,今天启动 VirtualBox 的时候提示 “获取 VirtualBox COM 对象失败”,好在百度到了 CSDN 上的一篇文章解决了这个<em>问题</em>,有惊无险,有惊无险! 提示 “获取 VirtualBox COM 对象失败” 的错误详情: 获取 VirtualBox COM ...
COM组件编程中的金典问题
COM<em>组件</em>编程中的金典<em>问题</em> COM<em>组件</em>编程中的金典<em>问题</em> COM<em>组件</em>编程中的金典<em>问题</em> COM<em>组件</em>编程中的金典<em>问题</em>
Essential+COMEssential+COM
<em>com</em><em>组件</em>编程,<em>关于</em>COM<em>组件</em>的方方面面,对开发者很有用<em>com</em><em>组件</em>编程,<em>关于</em>COM<em>组件</em>的方方面面,对开发者很有用<em>com</em><em>组件</em>编程,<em>关于</em>COM<em>组件</em>的方方面面,对开发者很有用
关于com的QueryInterface
我是初学COM,我看<em>组件</em>的QueryInterface函数的时候有个疑问:rn一个COM<em>组件</em>CMath,含有一个接口,IID为IID_ISimpleMath。QueryInterface的定义为:rn[code=C/C++]rnSTDMETHODIMP CMath::QueryInterface(REFIID riid, void **ppv)rnrn if(riid == IID_ISimpleMath)rn *ppv = static_cast(this);rn else if(riid == IID_IUnknown)rn *ppv = static_cast(this);rn elsern rn *ppv = 0;rn return E_NOINTERFACE;rn rn reinterpret_cast(*ppv)->AddRef();rn return S_OK;rnrnrn[/code]rnrn从上面的代码中可以看出,我通过CoCreateInstance得到一个<em>组件</em>后,每次用IID_ISimpleMath查询的接口指针都是this static_cast的,得到的接口地址应该一样才对,但是为什么,我第一次查询后不释放,第二次再查询,地址就不一样了呢??rn如:rn [code=C/C++]rn ISimpleMath *pSimpleMath1 = NULL;rn ISimpleMath *pSimpleMath2 = NULL;rn pMath->QueryInterface(IID_ISimpleMath,(void **)&pSimpleMath1);rn pMath->QueryInterface(IID_ISimpleMath,(void **)&pSimpleMath2);rnrn //pSimpleMath1和pSimpleMath2的值不一样!rnrn[/code]rnrn假如:rnrn[code=C/C++]rn ISimpleMath *pSimpleMath1 = NULL;rn ISimpleMath *pSimpleMath2 = NULL;rn pMath->QueryInterface(IID_ISimpleMath,(void **)&pSimpleMath1);rn ISimpleMath *pSimpleMath_temp = pSimpleMath1;rn pSimpleMath1->Release();rn pMath->QueryInterface(IID_ISimpleMath,(void **)&pSimpleMath2);rnrn //pSimpleMath2和pSimpleMath_temp的值是一样的!rn[/code]rnrn请问下,假如在一个程序中,我分别用这两种方式得到接口,然后对COM进行操作,结果是不是一样的??谢谢!!rnrn
组件的调用返回了错误 HRESULT E_FAIL"的解决方法">"对COM 组件的调用返回了错误 HRESULT E_FAIL"的解决方法
有时调用<em>com</em><em>组件</em>时,会<em>返回</em>“HRESULT E_FAIL”错误,这时有可能的错误原因除了代码有错外,另一个原因还可能是我们没有正常配置d<em>com</em>的属性。如果是后者,我们可以按如下的方法来解决错误:   1)确保“Distributed Transaction Coordinator”服务是开启的。   2) 在运行中录入“d<em>com</em>cnfg",打开<em>组件</em>服务字符串,选择<em>组件</em>服务-计算
本地用户组错误: 库没有注册
由于我在自己的电脑上多建了一个用户,而且给这个新建的用户赋予了 administrator权限。最开始没注意,过段时间我登录系统后,想删除用户在查询用户时发现此错误。把以下的内容保存成  *.reg 文件后,双击执行完毕。再次查看用户就可以了。 Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\TypeLib\{97
com组件学习进阶三本书
COM 技术内幕,COM原理及应用,深入解析COM 很好的技术书籍!初学者三本依次看成高手。
com组件方面的书籍
<em>com</em>本质论(此书很类似另外一本讲c的书,《c标准和实现》,讲解深入了编译的层次,我喜欢) 深入解析ATL 潘爱民 COM技术原理 完全剖析COM+基本架构 COM 技术内幕-微软<em>组件</em>对象模型 COM与COM+从入门到精通 <em>com</em>+编程指南 COM+<em>组件</em>服务技术内幕(CHM) <em>com</em><em>组件</em>设计和应用 ATL模板库参考手册
php开启com组件注意事项
网上已经有很多教程了,我也遇到过这个<em>问题</em>,但是有一个很重要的点其他文章里提到了,但说法不准确。    很多文章说PHP VERSION5.4.5  不需要在PHP.ini中配置extension=php_<em>com</em>_dotnet.dll。这是官方说法,但是我遇到过PHP 5.3.28不配置就不能调用<em>com</em><em>组件</em>,具体原因我没去找。 我想说的是,如果你们按照其他文章配置好后,还是不能调用CO
VirtualBox COM获取对象失败
错误详情 1. 先来看看错误详情 获取 VirtualBox COM 对象失败.应用程序将被中断.Failed to instantiate CLSID_VirtualBox w/ IVirtualBox, CLSID_VirtualBox w/ IUnknown works.PSDispatch looks broken by some installer featuri
解决:对COM组件的调用返回了错误HRESULT E_FAIL
第一部分 调用SHDOCVW(web浏览器) COM<em>组件</em>的时候,<em>返回</em>了错误 HRESULT E_FAIL。总结如下: 1. 在控制面板-管理工具-服务 中,开启Distributed Transaction Coordinator 服务 。 2. 打开控制面板-管理工具-<em>组件</em>服务-选择计算机-我的电脑-右击 属性-选择MSDTC--
获取virtualbox COM对象失败的处理办法
华为eNSP安装<em>问题</em>解决,获取virtualbox COM对象失败的处理办法,
virtualbox提示严重错误,“创建COM对象失败,应用程序将被中断!”怎么解决?
解决办法: 操作步骤:   1、打开开始菜单——点击运行---输入“D:\program files\oracle\virtualbox\vboxsvc.exe /reregserver”然后按回车。(D是软件安装的目录,如果目录不一样需要改成自己的安装目录)   2、然后打开开始菜单——点击运行——输入“ regsvr32 D:\program files\or
sqlserver 2008 r2数据导入问题:报错“对COM组件的调用返回了错误HRESULT E_FAIL”
搜索出的解决方案是启动和配置DTC服务,确保“Distributed Transaction Coordinator”服务是开启的且允许操作权限,大费周章的一顿操作之后还是不解决<em>问题</em>。最后发现是微软对文件大小做了限制,后续搜索发现确实如此。 SQL server 2008打开脚本文件超过80M就报错了。 解决方法是用sqlcmd方法执行sql语句。在cmd窗口输入下面命令: sqlcmd -...
COM组件,字符串数组的传递
前阵子做作业,需要用到COM。在ATL下开发简单的COM<em>组件</em>很简单,唯一的难点在于复杂参数的传递。比如说字符串数组,需要学习SAFFARRAY,bstr以及VARIANT的用法。     下面贴出代码,展示一个字符串数组如何传递。     在COM<em>组件</em>的方法里面: STDMETHODIMP CwordCountService::analyzeTheWordFile(BSTR file
对COM组件的调用返回了错误HRESULT_FAIL
DONET中引用第三方控件时发生错误"对COM<em>组件</em>的调用<em>返回</em>了错误HRESULT_FAIL" 原因是项目中没有CONFIG,添加一个web.config就OK了
解决安装不同版本office后造成的PIA COM组件调用失败
Error loading type library/DLL. (Exception from HRESULT: 0x80029C4A (TYPE_E_CANTLOADLIBRARY))
C#在调用office的PowerPoint时出现 对 COM 组件的调用返回了错误 HRESULT E_FAIL。解决办法。
测试代码时,出现未处理 System.Runtime.InteropServices.COMException   Message="对 COM <em>组件</em>的调用<em>返回</em>了错误 HRESULT E_FAIL。"   Source="Microsoft.Office.Interop.PowerPoint"   ErrorCode=-2147467259   StackTrace:       在 Microsoft.Office.Interop.PowerPoint.Presentations.Open(String
COM连接点事件event
COM 中的典型方案是让客户端对象实例化服务器对象,然后调用这些对象。然而,没有一种特殊机制的话,这些服务器对象将很难转向并回调到客户端对象。COM 连接点便提供了这种特殊机制,实现了服务器和客户端之间的双向通信。使用连接点,服务器能够在服务器上发生某些事件时调用客户端。 有了连接点,服务器可通过定义一个接口来指定它能够引发的事件。服务器上引发事件时,要采取操作的客户端会向服务器
上传word文档并读取word调用com组件遇到的问题
开始写上传文档并读取的的时候是调用<em>com</em><em>组件</em>,中间遇到了很多坑,总结一下//传文档所在路径 <em>返回</em>文档内容 public string Doc2Text(string docFileName) { //实例化COM Microsoft.Office.Interop.Word.ApplicationClass wordApp = new Microsoft.Office.Interop.Word
使用COM组件实现对Excel文件的操控
1 使用COM<em>组件</em>操控Excel的优势和缺点优势:提供了完整的Excel操控能力。可以方便的进行复杂操作。提供了对Excel文件的底层操作,工作效率高。和VBA方式相比可以脱离特定的Excel文件进行使用。缺点:代码复杂不易理解。在操作中需要处理大量的数据类型。2.使用方法 Visual Studio 2005中默认提供了封装好的Microsoft Office 200
用 SQL Server 2008 R2 打开 .sql 文件时提示“对COM组件的调用返回了错误HRESULT E_FAIL”
解决办法:1 开始-管理工具-服务 中,开启Distributed Transaction Coordinator 服务。如果Distributed Transaction Coordinator 服务 无法开启解决办法:1,Distributed Transaction Coordinator服务依存于 Remote Procedure Call(RPC)和 Security Acc
在C#中使用C++的DLL,并且在DLL中包含有opencv的代码,通过“障眼法”操作
最近,老师在做项目,要我实现上述标题需求。 第一步:
COM 组件的调用返回了错误 HRESULT E_FAIL
本人在开发C#+AE程序时,要到  COM <em>组件</em>的调用<em>返回</em>了错误 HRESULT E_FAIL错误,在网上找了很多解决方案也解决不了<em>问题</em>。不过感觉应该是licence的<em>问题</em>,因为我打开要素类的时候,都是可以成功的没有<em>问题</em>。但是我做TabulateArea分析时才遇到上述错误。 确定思路后开始研究licence的配置<em>问题</em>,发现自己的配置如下: (1)program.cs    
QueryInterface的IDD是IID_IDirectSoundBuffer8时候会返回E_NOINTERFACE是怎么回事?
hr=mybuf->QueryInterface(IID_IDirectSoundBuffer8,(LPVOID*)&ds8buffer);我装的DX9是2009年出的那最新版本,DX的帮助文档是写支持IID_IDirectSoundBuffer8的,结果用的时候就不让你用,会不存在该对象。如果我改用IID_IDirectSoundBuffer的话就会<em>返回</em>S_OK了。要怎么解决这<em>问题</em>?
推荐几款COM组件开发的入门书籍
推荐几本个人读过的比较不错的COM<em>组件</em>相关的书籍,按我的阅读感受排名如下: 1,《Visual C++实践与提高-COM和COM+篇》         这本书我放在第一位,倒不是它有多么出色,但我却认为它是最适合新手的。它的内容基本都是抄袭下面潘爱民那本《COM原理与应用》的,但我推荐它有两点原因,首先,基本照搬潘那本书的原理性的东西,但加入了许多实例,比前者纯理论的书要易读些,对于新手更容
关于C#操作PPT时遇到的“对COM组件的调用返回了错误HRESULT E_FAIL”错误的解决方法
最近在做一套和图书有关的项目,其中有一个功能为用户上传的各类文档(doc、docx、ppt、pptx、pdf等类型)统一转换为PDF类型。word格式的转为PDF就不用说了,推荐一个第三方DLL:Aspose.Words.dll. Aspose这套DLL专门用来对付Office的,想必不少人都用过,很方便,例如word转pdf: 搞定。 以上是题外话。 很可惜Aspose我没找到操作p
组件的调用返回了错误 HRESULT E_FAIL"的解决方法 ">"对COM 组件的调用返回了错误 HRESULT E_FAIL"的解决方法
  有时调用<em>com</em><em>组件</em>时,会<em>返回</em>“HRESULT E_FAIL”错误,这时有可能的错误原因除了代码有错外,另一个原因还可能是我们没有正常配置d<em>com</em>的属性。如果是后者,我们可以按如下的方法来解决错误:  1)确保“Distributed Transaction Coordinator”服务是开启的。  2) 在运行中录入“d<em>com</em>cnfg",打开<em>组件</em>服务字符串,选择<em>组件</em>服务-计算机-
Arcengin调用GP工具“对COM组件的调用返回了错误 HRESULTE_FAIL”解决方法
最近在项目里面有几处要用到调用GP工具,之前没咋用过,后来用的时候发现了很多的<em>问题</em>,现在记下来留给以后使用或者有<em>问题</em>的朋友可以看看。一般调用GP工具都是这个错误 "对 COM <em>组件</em>的调用<em>返回</em>了错误 HRESULT E_FAIL", 出现这个错误主要的原因大致可以概括为以下: 1.参数缺少或者参数类型不正确,这是最容易解决的,改变正确的参数类型即可: 解决方法:一般我们在调用GP时都
对 COM 组件的调用返回了错误 HRESULT E_FAIL。
win7系统,用c#调用Interop.SHDocVw.dll时,报了个对“ COM <em>组件</em>的调用<em>返回</em>了错误 HRESULT E_FAIL”的错误。网上有人说要开启dtc服务,然后去<em>组件</em>服务里
Delphi COM编程技术一(COM编程基础知识)
在当今Windows世界中随处可见。随时涌现出来的大把大把的新技术都以COM为基础。各种文档中也充斥着诸如COM对象、接口、服务器之类的术语。 一、COM编程基础知识介绍: 1、COM的定义         所谓COM(Componet Object Model)即<em>组件</em>对象模型,是一种说明如何建立可动态互变<em>组件</em>的规范,此规范提供了为保证能够互操作,客户和<em>组件</em>应遵循的一些二进制和网
对COM组件的调用返回了错误HRESULT E_FAIL
用 SQL Server 2008 R2 打开 .sql 文件时提示 “对COM<em>组件</em>的调用<em>返回</em>了错误HRESULT E_FAIL” 解决办法: 1 开始-管理工具-服务 中,开启Distributed Transaction Coordinator 服务。 如果Distributed Transaction Coordinator 服务 无法开启 解决办法: 1
CoSetProxyBlanket返回E_NOINTERFACE?
CoCreateInstanceEx调用成功,接着调用CoSetProxyBlanket:rn[code=C/C++]hr = CoSetProxyBlanket(mq[0].pItf, RPC_C_AUTHN_WINNT, RPC_C_AUTHZ_NONE, NULL,RPC_C_AUTHN_LEVEL_DEFAULT, RPC_C_IMP_LEVEL_IMPERSONATE,&m_co, EOAC_NONE);[/code]rn如何解决?
AE+C#把数据写入GDB数据库里出现 “对COM组件的调用返回了错误 HRESULTE_FAIL”
public void CreateFeatureClass_Terrain_Info(IFeatureWorkspace IFW) { IFeatureClass tempFeatureClass = IFW.OpenFeatureClass(StringDBName_Terrain_Info); //设置名称 (写入数据库的数据) ...
COM组件和ActiveX个人总结-14.07.01
个人对COM<em>组件</em>和ActiveX开发的一些总结
.NET程序连接OPC Server时出错 对 COM 组件的调用返回了错误 HRESULT E_FAIL
最近在给鹿华系统做升级,为了实时性和稳定性,程序直接从DCS取数,程序是.NET开发的,调用OPC的DLL是OPCDAAuto.dll 系统装的是Windows Server 2003 R2,配置好DCOM,初次尝试成功连接OPCServer,程序10秒取数一次,在运行30小时后就再也连不上OPCServer了 错误如下 对 COM <em>组件</em>的调用<em>返回</em>了错误 HRESULT E_FAIL
对COM组件的调用返回了错误 HRESULT E_FAIL
背景: 用C#的Aspose.word控件,向word的书签中插入图片时,需要设置图片文字环绕:嵌于文字下方。 要实现这一功能时加入如下代码时报出的错误: 就是这个ConvertToShape()出了错。 解决方法: 经过多次尝试,找各种别的控件,还有修改笔记本设置之后都行不通。 最后发现有可能是我加入图片后,他没有识别出来才报的错,于是我在插入图片后先进行了保存工作,然后再调用这个代码,发...
最近在ArcGIS Engine开发中关于调用gp工具过程出现COM 组件的调用返回了错误 HRESULT E_FAIL 错误的解决方法 和 学习oracle中遇到的一些问题总结
首先说下AE开发中<em>关于</em>gp这一块的东西,gp是一个很方便的工具,利用gp可以在daima
关于IE插件开发(一)——COM组件开发加法
DLL+ ActiveX控件+WEB页面调用例子
AE调用GP工具“对COM组件的调用返回了错误 HRESULTE_FAIL”解决
首先说下AE开发中<em>关于</em>gp这一块的东西,gp是一个很方便的工具,利用gp可以在代码中实现ArcMap工具箱中的大部分内容,<em>关于</em>gp工具的使用我就不说了,这些大部分都可以在网上找到,我要说的是gp使用过程中遇到的<em>问题</em>:一般gp的报错为 对 COM <em>组件</em>的调用<em>返回</em>了错误 HRESULT E_FAIL。如下图遇到这样的<em>问题</em>的可能原因目前我所知道有三个:1、参数缺少或者参数类型不正确,这是最容易解决的,改
vs运行时报错:无法将COM对象强制转换成接口
运行时警告:警告 1 未能确定 COM 引用“ExcelClientPkgLib”的依赖项。加载类型库/DLL 时出错。 (异常来自 HRESULT:0x80029C4A (TYPE_E_CANTLOADLIBRARY)) 异常原因:wps注册表和office冲突。 解决办法:重新安装wps,然后用自带的卸载程序卸载(注意:“保留配置信息方便下次是使用”我直接把这个勾给去掉了),注册表清理
COM组件VC6.0调试方法
一.打开<em>组件</em>服务,找到你要调试的<em>组件</em>   二.打开<em>组件</em>的属性     三.将调试器路径中的字符串拷贝出来 我的是: &quot;C:\Windows\system32\vsjitdebugger.exe&quot; C:\Windows\SysWOW64\dllhost.exe /ProcessID:{B78F1068-03D7-4584-B07F-752D4BE5DFF8}   四.  打开...
所有com结构体大全
enum tagTYPEFLAGS { TYPEFLAG_FAPPOBJECT = 1, TYPEFLAG_FCANCREATE = 2, TYPEFLAG_FLICENSED = 4, TYPEFLAG_FPREDECLID = 8, TYPEFLAG_FHIDDEN = 16, TYPEFLAG_FCONTROL = 32, TYPEFLAG_FDUAL = 64, TYPEF...
基于COM组件方式读取Excel文件内容(C#版)
新建Win32 Console Application (C#),添加COM引用Microsoft Office Rxcel 15.0 Object Library (Offic)
COM组件设计与应用(十二)——错误与异常处理
一、前言   程序设计中,错误处理必不可少,而且通常要占用很大的篇幅。本回书着落在 COM 中的错误(异常)的处理方法。   在<em>组件</em>程序中,如果遇到错误,一般有两个方式进行处理。   二、简单<em>返回</em>   对于比较简单的错误,直接<em>返回</em>表示错误原因的 HRESULT。比如下面几个就是常见的错误值:    E_INVALIDARG 0x80070057 参数错误 E_
DLL Hell的产生和如何有效的避免
Dll Hell究竟是何物 DLL HELL字面意思是DLL"地狱",是由于DLL<em>组件</em>升级引起的程序不能运行的情况。共享模块常常被编译为Dll文件。Dll共享的方式虽然很不错,但是它自身存在致命的缺陷。由于Dll模块可以被重用,这样多个程序可能使用一个Dll模块 ,如果这个Dll模块升级了,就很有可能出现其中某个程序无法和新的Dll模块很好的兼容起来,导致程序不能运行的情况,这种情况
Arcgis 学习--COM 组件的调用返回了错误 HRESULT E_FAIL
Arcgis 学习--COM <em>组件</em>的调用<em>返回</em>了错误 HRESULT E_FAIL
geoprocessor(GP)工具提示“对 COM 组件的调用返回了错误 HRESULT E_FAIL”的几种情况
以gp工具中的merge工具进行示例分析: 1、当参数input所表示的要素类型不一致的时候会出现“对 COM <em>组件</em>的调用<em>返回</em>了错误 HRESULT E_FAIL”提示。 2、当参数output所表示的要素已存在,且gp工具的overwrite属性设置为false的时候也会出现此提示,可以将overwrite 属性设置为true,这样就可以重写output而不会出现此<em>问题</em>。 3、input
解决:对COM 组件的调用返回了错误 HRESULT E_FAIL
第一部分   调用SHDOCVW(web浏览器) COM<em>组件</em>的时候,<em>返回</em>了错误 HRESULT E_FAIL。总结如下:   1. 在控制面板-管理工具-服务 中,开启Distributed Transaction Coordinator 服务。   2. 打开控制面板-管理工具-<em>组件</em>服务-选择计算机-我的电脑-右击属性-选择MSD
解决IIS对COM组件的访问异常
在C#操作word或者Excel,我们可能会用到微软内置的COM<em>组件</em>,会出现很多<em>问题</em>。 如:在本地调试导出Excel没有<em>问题</em>,发布到IIS就有<em>问题</em>了,检测到的异常: 我们会发现在iis上运行的程序,没有打开word的进程。 因为你vs是管理员权限,而iis没有权限。 所以这要提高iis的权限。 启动IIS,应用程序池-“选定的应用程序池”-高级设置-进程模拟-标识: 选择自
组件调用提示E_NOINTERFACE的问题
我刚学COM,遇到个<em>问题</em>,试了几天也没搞明白,希望那位高手指点下,不胜感激!rnrn待使用的<em>组件</em>只提供一个库文件OpenSTAADUI.tlbrnrn在VB中通过下面的调用没有<em>问题</em>。rn Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Clickrn rn Dim objOpenSTAAD As Objectrn rn 'Get the application objectrn objOpenSTAAD = GetObject(, "StaadPro.OpenSTAAD")rnrn 'Open the filern Dim strFileName As Stringrn strFileName = "C:\\Pro01.std"rn objOpenSTAAD.OpenSTAADFile(strFileName)rnrn End Sub rnrn在VC中尝试几种以下几种调用方法都提示E_NOINTERFACE错误,为什么?rn#import "C:\\SPro2007\\OpenSTAAD\\OpenSTAADUI.tlb" no_namespacernrn //。。。。方法1。。。。。。。rn CoInitialize(NULL);rn rn IOpenSTAADUIPtr m_ui = NULL;rnrn HRESULT hr = m_ui.GetActiveObject(__uuidof(OpenSTAAD));// hr为E_NOINTERFACErnrn CoUninitialize();rnrn//。。。。方法2。。。。。。。rn CoInitialize(NULL);rn rn CLSID clsid;rn CLSIDFromProgID(L"StaadPro.OpenSTAAD", &clsid);rnrn IUnknown *pUnk = NULL;rn IDispatch *pDisp = NULL;rn IOpenSTAADUI *pOSUI = NULL;rn rn hr = GetActiveObject(clsid, NULL, (IUnknown**)&pUnk);rnrn if(SUCCEEDED(hr)) rn rn hr = pUnk->QueryInterface(IID_IDispatch, (void **)&pDisp);// hr为S_OK,没<em>问题</em>rn rnrn if(SUCCEEDED(hr)) rn rn hr = pDisp->QueryInterface(__uuidof(IOpenSTAADUI);,(void **)&pOSUI);hr为E_NOINTERFACErn rn CoUninitialize();rnrn其中导入tlb文件生成的tlh文件关键部分如下所示rnstruct __declspec(uuid("eda9fa7f-efc9-4264-9513-39cf6e72604d"))rn/* LIBID */ __OpenSTAADUI;rnenum StrengthType;rnstruct __declspec(uuid("3f5b8055-31c6-446e-8bed-fee43e09d4cc"))rn/* dispinterface */ IOpenSTAADUI;rnstruct /* coclass */ OpenSTAAD;rnstruct __declspec(uuid("c052fed9-a2d6-42e3-a271-2c6fb8461711"))rn/* dispinterface */ IOSGeometryUI;rnstruct /* coclass */ OSGeometryUI;rnrn//rn// Smart pointer typedef declarationsrn//rnrn_COM_SMARTPTR_TYPEDEF(IOpenSTAADUI, __uuidof(IOpenSTAADUI));rn_COM_SMARTPTR_TYPEDEF(IOSGeometryUI, __uuidof(IOSGeometryUI));rnrnrn rn
”创建 VirtualBoxClient COM 对象失败. 应用程序将被中断“的解决方案
”创建 VirtualBoxClient COM 对象失败. 应用程序将被中断“的解决方案
Delphi 编写COM+组件的知识和样例
一、COM<em>组件</em>的基础知识介绍: 1、什么是COM          COM是微软定的一种<em>组件</em>编写的规范,目的是为了实现<em>组件</em>的重用,不管你是用C、DELPHI、VB什么语言写的,只要遵守这种规范就是COM<em>组件</em>,就能相互之间调用。那这个规范是什么呢,最简单的,就是按规定使用接口,微软定了个IUnkown接口,只要实现了这个接口的类,就可以称为COM<em>组件</em>。在此基础上可以加上自己的接口,实现特
想通过Hook Com IFileOperation中的复制,剪切函数,实现在WIN7系统下
这是我Hook Com IFileOperation口的DLL代码://IFileOPHook.h#ifndef _H_IFILEOP_HOOK#define _H_IFILEOP_HOOK#ifdef __cplusplusextern &quot;C&quot;{#endif#include &amp;lt;windows.h&amp;gt;typedef WCHAR WPATH[MAX_PATH];enum OPTYPE{UN...
SunSongCOM
COM<em>组件</em>COM<em>组件</em>COM<em>组件</em>COM<em>组件</em>COM<em>组件</em>COM<em>组件</em>COM<em>组件</em>COM<em>组件</em>COM<em>组件</em>COM<em>组件</em>COM<em>组件</em>COM<em>组件</em>COM<em>组件</em>COM<em>组件</em>COM<em>组件</em>
jquery/js实现一个网页同时调用多个倒计时(最新的)
jquery/js实现一个网页同时调用多个倒计时(最新的) 最近需要网页添加多个倒计时. 查阅网络,基本上都是千遍一律的不好用. 自己按需写了个.希望对大家有用. 有用请赞一个哦! //js //js2 var plugJs={     stamp:0,     tid:1,     stampnow:Date.parse(new Date())/1000,//统一开始时间戳     ...
上兴远控12月28日免杀2010版下载
2010版 2009年 12月28日免杀 上兴远控 相关下载链接:[url=//download.csdn.net/download/ml25968/1959389?utm_source=bbsseo]//download.csdn.net/download/ml25968/1959389?utm_source=bbsseo[/url]
程序员面试宝典(孙文达著)下载
作为刚毕业的学生和正在找工作的程序员,当你应聘一份程序设计、软件开发方面的工作时,招聘方总会安排一次笔试以考查你的程序设计能力。我们写作这本书的目的就是希望能帮助大家顺利地通过这类面试。   程序设计面试,时间大约是一小时,试题范围包括计算机知识、程序设计、逻辑分析等。与传统的面试不同,程序设计面试题以程序设计题、IQ智力题及各种与计算机相关的技术性问题为主。我们收集了大量知名企业技术类笔试中的常见试题,深入浅出地对试题的解答思路进行了分析和指导,不仅能帮助求职者快速复习有关知识,也对如何给面试官留下一个良好而深刻的印象进行了指导。希望能把在技术面试中取得的宝贵经验毫无保留地传授给读者,以便使 相关下载链接:[url=//download.csdn.net/download/realyea/2300026?utm_source=bbsseo]//download.csdn.net/download/realyea/2300026?utm_source=bbsseo[/url]
windows2003IIS_setup.rar下载
IIS6完整安装包含iisadmin.mfl,asp.mfl,adsutil.vbs等 相关下载链接:[url=//download.csdn.net/download/ding123315/2419318?utm_source=bbsseo]//download.csdn.net/download/ding123315/2419318?utm_source=bbsseo[/url]
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 关于大数据培训 关于云计算
我们是很有底线的