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);
Я хотел бы знать, это правильно или нет?
Спасибо