C ++调用返回类对象的C#函数

时间:2018-07-23 16:38:00

标签: c# c++ regasm

我在C#中有一个课程

public class RequestInfo
{
    public string barcode { get; set; }
    public string title { get; set; }
    public string name { get; set; }
}

我正在从C ++调用C#函数

TResult.RequestInfo RequestInfo();

我使用REGASM注册了C#,该文件创建了一个TLB文件,并在C ++编译时得到了TLH文件。

在生成的TLH文件中,

C ++中的RequestInfo如下所示:

struct __declspec(uuid("e2e15930-fd1a-31de-a166-bf330e327677"))
/* dual interface */ _RequestInfo;

和TLH文件中的C#函数如下:

  virtual HRESULT __stdcall RequestInfo (
    /*[out,retval]*/ struct _RequestInfo * * pRetVal ) = 0;

我从C ++调用C#函数,如下所示:

_RequestInfo *info;
pICS->RequestInfo(&info);

该函数被调用,没有错误产生;但是:

  1. 我不知道我是否正确定义了 info 变量
  2. 我不知道如何使用C#函数填充的数据读取 info 变量。

请帮助!

0 个答案:

没有答案