サイズ 30 の空の文字列配列を C++ DLL に渡す C# アプリケーションを作成しています。この文字列配列を DLL に入力し、C# アプリケーションに返す必要があります。
私のコードでは、DLL からの関数呼び出しの最後にメモリの破損が見られます。
私のC++ DLLコードは次のとおりです。
SAMPLEDLL_API BOOL InitExecution (wchar_t **paszStrings, int count)
{
for (int i = 0 ; i < count; i++)
{
mbstowcs(*(paszStrings + i), "Good",4);
//*(paszStrings + i) = "Good";
}
return TRUE;
}
私のC#コードは
string[] names = new[] { "Britto", "Regis" };
if (Wrapper1.InitExecution(ref names, names.Length) == 1)
MessageBox.Show("Passed");
[DllImport("MFCLibrary1.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern UInt32 InitExecution(ref string[] Names, int count);