Я пытаюсь передать массив целых чисел из c # в c ++ через файл управляемой памяти. Работать с текстом было достаточно просто, но я не в себе в среде c ++ и не уверен, как настроить это для массива целых чисел.
На стороне c # я передаю:
pView = LS.Core.Platforms.Windows.Win32.MapViewOfFile(
hMapFile, // Handle of the map object
LS.Core.Platforms.Windows.Win32.FileMapAccess.FILE_MAP_ALL_ACCESS, // Read and write access
0, // High-order DWORD of file offset
ViewOffset, // Low-order DWORD of file offset
ViewSize // Byte# to map to the view
);
byte[] bMessage2 = Encoding.Unicode.GetBytes(Message2 + '\0');
Marshal.Copy(bMessage2, 0, pView2, bMessage2.Length);
Здесь pView2 - указатель на файл отображения памяти.
На стороне c ++ я звоню:
LPCWSTR pBuf;
pBuf = (LPCWSTR) MapViewOfFile(hMapFile, // handle to map object
FILE_MAP_ALL_ACCESS, // read/write permission
0,
0,
BUF_SIZE);
Как бы я изменил это, чтобы вместо этого обрабатывать массив целых чисел? Спасибо!