3
PInvoke를 사용하여 DLL을 호출합니다. DLL 함수는 코드 페이지 437에서 C 문자열을 반환합니다.C#을 사용하여 PInvoke 문자열 마샬링에 대한 코드 페이지 지정
.Net 마샬링을 사용하여 문자열을 유니 코드로 변환 할 수 있습니까? 아니면 누군가가 DllImport() 및 MarshalAs()에 제공해야하는 매개 변수를 제안 할 수 있습니다. 변환 기능을 사용하여 유니 코드에서 출력을 얻으려면?
[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
);