Преобразование объявления процедуры Clarion в C # DLLImport

Как я могу преобразовать это объявление процедуры Clarion в C #? Это'часть сторонней библиотеки DLL, написанной на C, которая неу меня много документации. Я перечислил прототип для метода в Clarion, который работает правильно. В C # яя не уверен, какой тип использовать для замены*CString, Я старалсяchar[] как @DanielC предложил, но это не такт работа. Я также обнаружил, что Кларионlong 32-битный (спасибо @ shf301).

Clarion:

SendRequest Procedure(*CString xData,Long DataLen,Long xTimeout),Byte,Virtual

C # (что ямы пробовали, что нет работа):

[DllImport("3RD_PARTY_API.dll")]
private static extern long SendRequest(ref string xData, int DataLen, int xTimeout);

Когда я звонюSendRequest метод в C # я получаю стандартPInvokeStackImbalance был обнаружен ошибка от VS2010. Я думаю это'S проблема типов параметров, а не что-то вродеCharSet или жеEntryPoint вОбъявление DllImport, Я'м действительно застрял на том, как конвертировать*CString к действительному типу C #.

Ответы на вопрос(4)

Ваш ответ на вопрос