次のコード行があります。
public static string getTrack1(string track1, int len)
{
IntPtr track1Ptr = UnsafeNativeMethods.Decrypt(track1, len);
Byte[] track1b = new Byte[200];
Marshal.Copy(track1Ptr, track1b, 0, track1b.Length);
return track1b.ToString();
}
復号化メソッドの減速は次のとおりです。
internal static class UnsafeNativeMethods
{
[DllImport(_dllLocation, CallingConvention = CallingConvention.Cdecl)]
public static extern IntPtr Decrypt(string track1, int dataLen);
}
unsigned char*
コードから戻ってきましたが、visual c++
コードからdllを呼び出すと、値ではなくc#
常に「System.Byte[]
」が返されます。私はここで何か間違ったことをしていmarshal
ますか?
ここで私を助けてください