Это моя структура c ++ (использовать многобайтовый набор символов)
typedef struct hookCONFIG {
int threadId;
HWND destination;
const char** gameApps;
const char** profilePaths;
} HOOKCONFIG;
И .Net struct
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Auto)]
public struct HOOKCONFIG {
public int threadId;
public IntPtr destination;
// MarshalAs?
public string[] gameApps;
// MarshalAs?
public string[] profilePaths;
}
У меня возникла проблема: как мне упорядочить строковый массив?
Когда я обращаюсь к переменной структуры "profilePaths" в C ++, я получаю сообщение об ошибке, подобное этому:
Произошло необработанное исключение типа «System.AccessViolationException» в App.exe
Дополнительная информация: Попытка чтения или записи в защищенную память. Это часто
признак того, что другая память повреждена.
MessageBox(0, cfg.profilePaths[0], "Title", MB_OK); // error ... Orz