PInvoke を使用して DLL を呼び出しています。DLL の関数は、コードページ 437 の C 文字列を返します。
.Net マーシャリングで文字列を Unicode に変換する方法はありますか、または DllImport() と MarshalAs() に与える必要があるパラメーターと、Unicode で出力を取得するために使用する変換関数を誰かが提案できますか?
参考までに、これは私が現在使用している DllImport です。
[DllImport("name.dll", CharSet=CharSet.Unicode) ]
internal static extern int GetSweepParam(
int param_num,
[Out,MarshalAs(UnmanagedType.LPStr)]StringBuilder param_name,
[Out,MarshalAs(UnmanagedType.LPStr)]StringBuilder param_units,
double[] values,
[MarshalAs(UnmanagedType.LPStr)]StringBuilder error_string
);