このシグネチャを持つメソッドを含む 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
.
メソッドの正しい署名は何ですか?