第121章でdll内の変数(メモリ)を 複数のアプリケーションで共有する方法があると書きました。 この1つの方法がメモリマップト・ファイルという手法です。 ファイルの内容をプロセスのアドレス空間にコピーすることを 「ファイルマッピング」などといいます。また、他のプロセスが 自分のアドレス空間に自分と同じ内容のファイルマッピング・オブジェクトを 持つこともできます。(要するにプロセス間でデータを共有できるという ことです) 今回はメモリマップト・ファイルをdllではなく普通の(?) プログラムで解説します。 まず、必要な関数から解説します。 HANDLE CreateFileMapping( HANDLE hFile, // ファイルマッピングオブジェクトを作成する元のファイルハンドル LPSECURITY_ATTRIBUTES lpFileMappingAttributes, // セキュ
プロセス間データ共有 ビジネスアプリケーションのレベルになると、単純なツールプログラムとは異なり 自社の他のツールなどと強力に連帯した、高度なサービスを実現しなければなりません おそらく、そのようなプログラムの最大の壁となるのは「プロセス空間」の壁です スレッドと異なり、プロセスは全てが独自のメモリ領域を保有しています プロセスは、他のプロセスのメモリ領域にアクセスしてはなりません しかし、あなたが作成した複数のプログラムが協調するのは悪いことではありません むしろ、良質なサービスをユーザーに提供するためには必要なことです そこで、Windows は単一のファイルを複数のプロセスで共有するために ファイルマッピングという、記憶領域を共有するオブジェクトを提供しています 概念は簡単で、プロセスの同期で使われた、ミューテックスやセマフォオブジェクトと同じです ファイルマッピングオブジェクトに記
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く