我正在使用包含具有此签名的方法的 C++ dll:
int GetEnumerationString(int type, int value, const char** s ); /* ALLOCATES */
如标题注释中所述,该方法分配指针。我在 C# 中尝试了以下签名:
[DllImport("thedll.dll", EntryPoint="GetEnumerationString")]
private static extern int GetEnumerationString(int type, int value, ref string s );
但是当我运行我的程序时,我得到一个AccessViolationException
.
该方法的正确签名是什么?