管理メモリファイルを使用して、c#からC++に整数の配列を渡そうとしています。テキストは簡単に使えるようになっていましたが、私はC++環境の深いところから離れていて、整数の配列に対してこれを調整する方法がわかりません。 C#の側でint []を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);
私が代わりに整数の配列を処理するために、これを変更するだろうか?ありがとう!
はあなたが私たちに 'pView2'定義のコードを表示することができますか? 'MemoryMappedFile'を使用していない理由は何ですか? – user7116
なぜメモリマップファイルを使用していますか? –
@sixletter、私はそれを追加しました。私はメモリマップファイルを使用しています。これは、アプリケーション間で情報を共有するために非常に高速です。 –