画瓢' 2022-03-14 15:39 采纳率: 100%
浏览 34
已结题

C#通过com组件调用C++函数的具体问题

系统前台为C#语言编写,后台为C++语言编写。问题发生在:尝试通过已有com组件(构建者编写的)前台调用后台函数获得相关数据时,不知如何调用(传参,返回值,写入文档)。

后台函数:

CString Get_Teststr(CString path)
{
  return ...;
}

com组件:

STDMETHOD CFrame_Api::Get_Teststr(BSTR path, BSTR* Teststr)
{
  *Teststr = Get_Teststr(path).AllocSysString();
//此处不知如何返回或者直接写入本地txt文件中
  return S_OK;
} 

前台调用:

public string TestStrPath = "D://TestStr.txt";
public string testStr;

//前台如何获得返回值,疑惑主要在于数据类型不同,多次尝试得到的数据均为空
  • 写回答

2条回答 默认 最新

  • CSDN专家-link 2022-03-14 16:05
    关注

    建议不要用CString作为后台函数,改用BSTR作为参数

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 4月15日
  • 已采纳回答 4月7日
  • 创建了问题 3月14日

悬赏问题

  • ¥15 Qt4代码实现下面的界面
  • ¥15 prism提示我reinstall prism 如何解决
  • ¥15 asp.core 权限控制怎么做,需要控制到每个方法
  • ¥20 while循环中OLED显示中断中的数据不正确
  • ¥15 这个视频里的stm32f4代码是怎么写的
  • ¥15 JNA调用DLL报堆栈溢出错误(0xC00000FD)
  • ¥15 请教SGeMs软件的使用
  • ¥15 自己用vb.net编写了一个dll文件,如何只给授权的用户使用这个dll文件进行打包编译,未授权用户不能进行打包编译操作?
  • ¥50 深度学习运行代码直接中断
  • ¥20 需要完整的共散射点成像代码