Мне нужно вызвать C ++ API из C #. Я был в состоянии вызвать API, но параметры char [], похоже, неправильно сортируются.
Вот подпись C ++:
Create2ptModel(double modelPowers[2],
double modelDacs[2],
int pclRange[2],
double targetPowers[32],
double *dacAdjustFactor,
unsigned short powerRampFactors[32],
BOOL bPCLDacAdjusted[32],
char calibrationModel[32],
char errMsg[1024])
и вот как я пытаюсь вызвать его из C #
[DllImport("AlgorithmsLib.dll", EntryPoint = "_Create2ptModel@36",
ExactSpelling = true, CallingConvention = CallingConvention.StdCall,
CharSet = CharSet.Auto)]
private static extern AlgorithmStatus Create2ptModel(
double[] modelPowers,
double[] modelDacs,
int[] pclRange,
double[] targetPowers,
ref double dacAdjustFactor,
ushort[] powerRampFactors,
bool[] bPCLDacAdjusted,
/**/char[] calibrationModel,
char[] errMsg/**/);
Есть идеи о том, как я могу сделать это правильно?
Заранее спасибо!