C # P вызывать объявление строк

В C # PInvoke, как передать строковый буфер, чтобы C DLL заполняла его и возвращала? Какой будет декларация PInvoke?

Объявление функции C

int GetData(char* data, int buflength);

В C # я объявил это как

[DllImport(DllName)]
static extern Int32 GetData([MarshalAs(UnmanagedType.LPStr)]StringBuilder receiveddata, Int32 buflen);

Это правильно? Я'м, передавая переменную StringBuilder, как это

int bufferLength = 32;
StringBuilder data = new StringBuilder(bufferLength);
int result = GetData(data, bufferLength);

Я хотел бы знать, это правильно или нет?

Спасибо

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

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