[高分求助] C# 调用一个COM接口报出异常的问题

piaoxin piaoxin 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
原来那个帖子沉了,重发一下。

使用c#调用COM的一个接口,抛出异常

未处理的“System.AccessViolationException”类型的异常出现在 SDKTestClientSampleCodeCSharp.exe 中。
其他信息: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.

1. 这个COM接口在C++ 中的格式为
virtual HRESULT __stdcall StartConversationEx (
/*[in]*/ struct CALL_INFO callInfo,
/*[in]*/ enum CALL_MEDIA_TYPE eCallMediaType,
/*[out]*/ long * pConversationId ) = 0;

CALL_INFO的定义如下:
CALL_INFO
{
enum ADDRESS_TYPE addressType;
BSTR bstrValue;
};


2. 在C#工程中添加引用后,元数据中的格式为
void StartConversationEx(CALL_INFO callInfo, CALL_MEDIA_TYPE eCallMediaType, out int pConversationId);

采用下面代码调用:
CALL_INFO callInfo;
callInfo.addressType = ADDRESS_TYPE.ADDRESS_URI;
callInfo.bstrValue = m_strTelnos;

m_phone.StartConversationEx(callInfo, CucRtxExeProviderLib.CALL_MEDIA_TYPE.CALL_MEDIA_VIDEO,
out m_ConversationId);


大侠帮看看是我C#使用的有问题吗,求指教
...全文

相关推荐

C#_COM组件注册与调用

安装了VS(我用的vs2012 64位) gacutil.exe路径 C:\Program Files (x86)\Microsoft SDKs\Windows\v8.0A\bin\NETFX 4.0 Tools regasm.exe路径 C:\Windows\Microsoft.NET\Framework64\v4.0.30319 单独建立一个文件夹放入dll,tlb文件 将以上路径配置到电脑环境变量PATH即可在管理员权限下的控制台输入一下命令 1、cd /d dll路径 然后回车,显示dll所在文件夹路径 2、gacutil /i dll文件名.dll 然后回车,显示将dll添加进程序集成功 3、regasm dll文件名.dll /tlb:dll文件名.tlb 然后回车,显示注册成功

我是主厨

C#与MATLAB函数交互:COM接口实现指南

在现代软件开发中,不同编程语言之间的协作已经变得不可或缺。特别是在科学计算、数据分析以及工程领域,C#作为一种强大的通用编程语言,与MATLAB这一专业数学计算平台的交互日益频繁。本章节旨在对C#与MATLAB跨语言通信进行概览,探究它们之间的交互方式,并为后续章节的深入学习打下基础。C#与MATLAB的跨语言通信通常涉及以下几点:通信机制:了解C#与MATLAB之间进行交互的主要机制,包括但不限于COM技术、Web服务等。应用场景。

李大锤同学

金税接口调用实例

金税接口调用实例,c#开发,Interop.TaxCardX.dll

编程的尾巴

C#调用COM组件方法总结

整理的C#调用COM组件方法总结,总结的网上介绍的不少方法,可以参考着看一下

STDONG0815

c#中调用com组件

实现在c#中调用com组件

xanthe_123
评论 7
收藏 已收藏
分享
返回顶部
piaoxin
C# 111,129 成员 642,540 内容