私は、メモリマップされたファイルを使用して、Windows(C++)の複数のプロセス間でデータを共有するDLLを持っています。相互にデータを読み書きするプロセスは、ウィンドウハンドルをDLLで登録します。そのうちの1人が共有にデータを入れると、他の人に通知されます。どのプロセスでも、DLLを介してデータを読み書きできます。複数のプロセスからのshared-mem DLLへの同時アクセス
通知が完了するまで、プロセスが共有メモリに書き込むのを防ぎ、複数のプロセスが同時に書き込みをしないようにしたいと思っています。「グローバルミューテックス」が必要ですが、そんなことはありますか?
ありがとうございました。
VirtualLock()はメモリがページアウトされないようにします。他のスレッドがそのスレッドにアクセスすることを妨げません。 – jilles