Przekształć deklarację procedury Clarion na C # DLLImport

Jak mogę przekonwertować deklarację procedury Clarion na C #? Jest to część 3rd Party DLL napisana w C, która nie ma zbyt wielu dokumentów. Wymieniłem prototyp metody w Clarion, która działa poprawnie. W języku C # nie jestem pewien, jakiego typu użyć do zastąpienia*CString. próbowałemchar[] jak sugerował @ DanielC, ale to nie zadziałało. Odkryłem również, że Clarionlong jest 32-bitowy (thanks @ shf301).

Ostry:

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

C # (co próbowałem, co nie działa):

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

Kiedy zadzwonię doSendRequest metoda w C # Dostaję standardWykryto nierównowagę PInvokeStack błąd z VS2010. Myślę, że to kwestia typów parametrów, a nie czegoś takiegoCharSet lubEntryPoint wDeklaracja DllImport. Jestem naprawdę po prostu przekonany, jak się przekonwertować*CString do poprawnego typu C #.

questionAnswers(4)

yourAnswerToTheQuestion