.NET Compact Framework(C#)で「Cstring」のタイプをマーシャリングするにはどうすればよいですか?
DLLname:Test_Cstring.dll(OSはWinCE 5.0)、ソースコード:
extern "C" __declspec(dllexport) int GetStringLen(CString str)
{
return str.GetLength();
}
これを.NETCompactFramework(C#)でマーシャリングします。次に例を示します。
[DllImport("Test_Cstring.dll", EntryPoint = "GetStringLen", SetLastError = true)]
public extern static int GetStringLen(string s);
private void Test_Cstring()
{
int len=-1;
len=GetStringLen("abcd");
MessageBox.Show("Length:"+len.ToString()); //result is -1,so PInvoke is unsuccessful!
}
.NET CFの「GetStringLen」のメソッドは失敗します!このタイプの「Cstring」をマーシャリングするにはどうすればよいですか?それについてのどんな情報でも非常にありがたいです!