以下の内容はhttps://blog.systemjp.net/entry/20120409/p1より取得しました。


アプリケーション間でメモリマップドファイルを利用してメモリ共有

ヘタにSOCKETとかで通信するより速いという噂。

CreateFileMapping()で ハンドルに INVALID_HANDLE_VALUE を指定するとファイルすら作らない共有ができる


データ送出の流れ

  • CreateFileMappingで、メモリマップドファイルを作成する。
  • MapViewOfFileで、メモリマップドファイルをアドレス空間にマップする。
  • データを書き込む。
  • UnmapViewOfFileで、メモリマップドファイルを解放する。
  • 受信も終わり不要になったら、CloseHandleで、ハンドルを解放する。

データ受取の流れ

  • OpenFileMappingで、名前付きのファイルマッピングオブジェクトを開く。
  • MapViewOfFileで、メモリマップドファイルをアドレス空間にマップする。
  • データを読み込む。
  • UnmapViewOfFileで、メモリマップドファイルを解放する。
  • 受信も終わり不要になったら、CloseHandleで、ハンドルを解放する。


ミューテックス(CreateMutex)で読み書き同時によるデータ破損にも対応しよう

ネタ元




以上の内容はhttps://blog.systemjp.net/entry/20120409/p1より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14