- - PR -
C#でプロセス間でメモリ共有するには
1|2|3
次のページへ»
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2008-11-12 10:45
言語:VisualStdio C#
プロセス間でメモリ共有を使用したいのですが、 例えば、 プロセスA(EXE)でデータベースから取得したデータを物理メモリにSETし、 セットした値をプロセスB(EXE)でGETして、その値を利用した処理を行いたいのですが C#でコーディングする場合、SETとGETするにはどういったクラスの関数を使ったらいいのでしょうか? どなたか知っている方がいらっしましたらご教授ください。 | ||||
|
投稿日時: 2008-11-12 11:01
標準クラスには、共有メモリを扱う機能を持ったクラスはありません。 .NET 4.0 で FileMapping が追加されるそうですが、それまで待てないのであれば、自作するか、希望する機能を実装したクラスをどこかから探してくるほか無いと思います。 | ||||
|
投稿日時: 2008-11-12 12:01
.NET Frameworkだけではメモリ共有はできないですね・・・
一般的にこう言った場合プロセス間通信を用いる方が多いようですが・・・。 http://d.hatena.ne.jp/tetsuarossa/20070324/p1 | ||||
|
投稿日時: 2008-11-12 13:45
ありがとうございます。
API32を使って共有メモリのI/Oが可能とあったのですが C#で使用しても問題ないのでしょうか? すみませんが宜しくご教授ねがいます。 | ||||
|
投稿日時: 2008-11-12 14:47
間違った使い方をしない限り、問題ないです。 .NET には Windows API を呼び出す仕組み(=P/Invoke)があるくらいなので。 | ||||
|
投稿日時: 2008-11-12 15:07
回答ありがとうございます。
メモリへのデータセットする メモリからのデータ取得する 上記の処理をAPI("kernel32.dll")で行う場合、 どのような関数を使ったらいいのでしょうか? 知っている方がいらっしゃいましたら、ご教授願います。 参考url等があると助かります。 | ||||
|
投稿日時: 2008-11-12 17:15
まさしくこの通りですね。
http://dobon.net/vb/bbs/log3-31/19304.html 解説そんなに詳しくないですが、ソース見ればわかるレベルだと思います。 | ||||
|
投稿日時: 2008-11-12 19:03
参考になれば。
ttp://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=40850&forum=7 |
1|2|3
次のページへ»