使用C#从非托管dll获取* BSTR结果

时间:2017-02-10 08:58:40

标签: c# dll

我定义要调用的函数,如

   [DllImport("LFWAttend.dll")]      
    public static extern int FK_GetPhotoDataWithString(int nHandleIndex, int vEnrollNumber,
                [MarshalAs(UnmanagedType.BStr)]ref string fstrEnrollData);

使用 this manual.(不要担心它是中文的。我只需要定义部分)

然后我调用这个函数

    string test="";
    Module.FK_GetPhotoDataWithString(connectId, id, ref test);

在手册中,它表示该函数将在" test"中发回字符串。但是当代码运行到函数调用路径时,调试器就存在了。 我在Visual Studio中构建它并没有得到任何东西。没有错误和例外。 我也非常混淆Marchaling概念。请帮忙。

0 个答案:

没有答案