C# PInvoke aus strings Erklärung

In C# und PInvoke, wie gebe ich einen string-Puffer, so dass die C-DLL füllt und zurückgibt? Was werden die PInvoke-Erklärung?

Der C-Funktionsdeklaration ist

int GetData(char* data, int buflength);

In C#, ich habe erklärt es als

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

Ist es richtig? Ich bin vorbei an der StringBuilder-variable wie diese

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

Ich würde gerne wissen, ist es richtig oder nicht?

Dank

  • Es ist richtig, wenn es funktioniert. Es gibt keinen offensichtlichen Grund, warum es nicht funktionieren sollte.
InformationsquelleAutor akif | 2010-01-03
Schreibe einen Kommentar