当前位置:编程学习 > C#/ASP.NET >>

C# 调用COM报出异常的问题

COM接口在C++ 中的格式为

virtual HRESULT __stdcall StartConversationEx (
        /*[in]*/ struct CALL_INFO callInfo,
        /*[in]*/ enum CALL_MEDIA_TYPE eCallMediaType,
        /*[out]*/ long * pConversationId ) = 0;

在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);

运行时报出异常,像是内存访问异常

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

void StartConversationEx(CALL_INFO callInfo, CALL_MEDIA_TYPE eCallMediaType, out int pConversationId);


可能是什么原因,怎么改正,求指教
--------------------编程问答-------------------- CALL_INFO的定义如下:

CALL_INFO
{
    enum ADDRESS_TYPE addressType;
    BSTR bstrValue;
}; --------------------编程问答-------------------- 自己顶一下。。 --------------------编程问答-------------------- 有人知道吗 ,帮忙啊
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,