Ich habe diese struct
in C++:Interop zwischen C++ und C#
struct TEXTMSGSTR
{
HWND Sender;
wchar_t Text[255];
//wchar_t *Text;
};
und in C#:
public struct TEXTMSGSTR
{
public IntPtr Sender;
public ? Text;
}
die ich als Teil einer COPYDATASTRUCT
Nachricht an verwalteten Code von nicht verwalteten schicke. Was wäre der korrekte Aufbau des struct
auf der C# -Seite, da C# wchar_t
nicht hat? Ich habe versucht String usw. aber natürlich erscheinen Fehler!
Kann jemand mir ein paar Ideen, wie dies auch Marschall, wie ich dieses Zeug bin neu ?:
TEXTMSGSTR tx = (TEXTMSGSTR)Marshal.PtrToStructure(cds.lpData, typeof(TEXTMSGSTR));
Welche Fehler Sie erhalten, wenn Sie Zeichenfolge verwenden? – scottm
Sie sollten überprüfen http://StackOverflow.com/Questions/188299/Marshal-C-Struct-array-into-c Alle Ihre Antworten sind da. :) – Randolpho
Wenn Sie nur gerade Zeichenfolge ohne den Marshalling-Teil verwenden, erhalten Sie eine Speicherbeschädigung. – flavour404