画瓢' 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 混合键合键合机对准标识
  • ¥100 现在不懂的是如何将当前的相机中的照片,作为纹理贴图,映射到扫描出的模型上
  • ¥15 目标跟踪,计算机视觉
  • ¥15 魔霸ROG7 pro,win11.息屏后会显示黑屏,如图,如何解决?(关键词-重新启动)
  • ¥15 有没有人知道这是哪里出了问题啊?要怎么改呀?
  • ¥200 C++表格文件处理-悬赏
  • ¥15 Windows Server2016本地登录失败
  • ¥15 复合卡卡号轨道写入芯片卡
  • ¥20 基于MATLAB的TDOA
  • ¥15 为啥输入字体突然变了