Маршал "char *" в C#
Попробуйте
[DllImport("your.dll", CharSet = CharSet.Ansi)]
string GetDir(StringBuilder path);
строка автоматически marshaling маршалируется в строку с marshal завершающим нулем, а с помощью .net-framework свойства CharSet вы сообщаете .net-framework Marshaller, что он должен pinvoke использовать ANSI, а не Unicode. Примечание. Используйте marshal строку (или System.String) для marshaling const char*, но StringBuilder dotnet для char*.
Вы также можете marshalling попробовать MarshalAs, как dotnet в this example.
.net
pinvoke
marshalling
Маршал "char *" в C#
Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookie, нажмите здесь.