如何从C ++中调用C#函数(字符串作为out参数)

时间:2015-11-04 09:13:09

标签: c# c++ .net winapi com

我正在一个项目中工作,我有一个本机(c ++)应用程序和一个COM DLL(c#.Net)。 我的要求是,从我的本机应用程序中我想在COM DLL中调用一个函数,该函数返回string(out参数)。

Bellow是代码

C#COM代码......

[ComVisible(true)]
public interface IUserDetais
{
    bool GetUserConfigData(out string configData);
}

[
ComVisible(true),
ClassInterface(ClassInterfaceType.None),
GuidAttribute("GUID"),
]
public class AppUserDetais : IUserDetais
{
    public bool GetUserConfigData(out string configData)
    {
        configData = "Some JSON content.";
        reurn true;
    }
}

C ++代码

void GetUserInfo(IUserDetais* pUserInfo)
{
    // TODO, How to call the function. what should be the signature in C#(the out string length can vary and how to delete the memory allocated).
    //pUserInfo->GetUserConfigData();
}

任何人都可以告诉我如何在C ++代码中调用GetUserConfigData。

更新

C ++不是.Net代码。它是C ++ win32或本机代码。

0 个答案:

没有答案