【问题标题】:Calling COM wrapped c# dll from unmanaged c++: how to pass a 'string' and retrieve an updated value从非托管 c++ 调用 COM 包装的 c# dll:如何传递“字符串”并检索更新的值
【发布时间】:2010-09-23 15:44:42
【问题描述】:

我使用 COM 互操作从我的 VC6 MFC DLL 调用 c# dll 中的函数,这工作正常。
我想调用一个函数来检索字符串值。
如何在非托管 C++ 中声明“字符串”?
'string' 应该如何出现在 c# 代码中?
目前 dll 中的 c# 函数采用 ref 字符串参数,并且我的 c# 测试应用程序工作正常,但是我从非托管 c++ 调用中传递了什么?

希望这是有道理的。 欢迎任何帮助,谢谢。

【问题讨论】:

    标签: interop unmanaged managed visual-c++-6


    【解决方案1】:

    问题解决了。

    我在 VC6 代码中创建了一个 BSTR 变量:
    BSTR 键 = SysAllocString(NULL);
    我调用我的 C# 程序集:
    演示者->GetObject(&key);
    我的 C# 函数是:
    void GetObject(引用字符串键);

    :)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-02-09
      • 1970-01-01
      • 1970-01-01
      • 2011-10-30
      • 1970-01-01
      • 2015-02-22
      • 2011-05-26
      相关资源
      最近更新 更多