私は非常に新しいメモリマッピングファイルです。私は何かを少し失っています。メモリマップファイル - ファイルではなく構造をマップしますか?
ファイルがある場合、MMapsを使用してファイルを読み込んで、さまざまなプロセスから一度にアクセスすることができます。
私の状況では、プロセスAに接続されたDLLを作成していますが、そのDLLにプロセスAが準備したcSurfaceへのポインタが与えられています。そのCサーフェスのデータをプロセスBと共有する必要があります。空のMMapを呼び出してプロセスAのサーフェスをコピーする必要はなく、プロセスBで再度コピーする必要はありません。
私のサーフェスをファイルのようにマッピングすることができます。そのため、MMapは既に作成されているときにサーフェスデータを指しています(SomeTextFile.txtをロードしたときのように)。
私の計画では、Proc Aのサーフェスへのポインタを受け取り、そのサーフェスのメモリを指定の名前で共有するように指示し、Mutexesを使ってアクセスを調整します。煩雑なコピーをすることなく、同じ物理コピーを作成できます。
これは可能ですか?
ちょっと私のポストを少し明確にすると思った。 'char buffer [SUPER_MASSIVE]'という膨大なバッファと 'hSuperMassiveFile'という膨大なファイルがあるとします。私は 'CreateFileMapping(hSuperMassiveFile、...)'を実行してSuperMassiveFileを共有することができましたが、私のバッファでも同じことをしたいと思います。 'CreateFileMapping((HANDLE)buffer、...)'を実行し、空のマップを要求せずに自分のバッファを共有し、それに 'CopyMemory()'を追加する方法がありますか? –