- PR -

C#で名前付きパイプを

投稿者投稿内容
まつとうや
常連さん
会議室デビュー日: 2004/09/04
投稿数: 42
投稿日時: 2004-09-16 16:26
C#のクラスで名前付きパイプをスレッド単位で作成したり
したいんですが、実現可能なのでしょうか。
Processクラスあたりを調べているんですが、具体的に分かりません。
C#で名前付きパイプを使うとしたらWIN32APIをC#からコールするしかないんでしょうか。宜しくお願いします。



渋木宏明(ひどり)
ぬし
会議室デビュー日: 2004/01/14
投稿数: 1155
お住まい・勤務地: 東京
投稿日時: 2004-09-16 18:02
引用:

C#で名前付きパイプを使うとしたらWIN32APIをC#からコールするしかないんでしょうか。



です。

_________________
// 渋木宏明 (Hiroaki SHIBUKI)
// http://hidori.jp/
// Microsoft MVP for Visual C#
//
// @IT会議室 RSS 配信中: http://hidori.jp/rss/atmarkIT/
まつとうや
常連さん
会議室デビュー日: 2004/09/04
投稿数: 42
投稿日時: 2004-09-16 18:05
そうなんですか、VBではできるようだったんですが、そこまで便利じゃないんですね。教えていただいてありがとうございました。
まつとうや
常連さん
会議室デビュー日: 2004/09/04
投稿数: 42
投稿日時: 2004-09-16 19:21
引き続きすみません。

CreateNamedPipe
などのWIN32API関数をC#内で使用するようにするには何のオブジェクトを
読み込めばいいのでしょうか。

using System;
using System.Windows;
using System.Data;

この辺を試してみたのですが、だめみたいなのです。
http://www.microsoft.com/japan/msdn/net/general/win32map.asp
ここによるとパイプ関係の関数は.NETになってみたいなので
WIN32APIコールしかないようなのですが、C#からのWIN32APIコールが
検索したり調べてみていまだ分かりません。
引き続き調べますが、識者の方がいらっしゃいましたらお願いいたします。
まつとうや
常連さん
会議室デビュー日: 2004/09/04
投稿数: 42
投稿日時: 2004-09-16 20:04
自己レスです。

[DllImport("kernel32.dll")]
private extern static uint CreateNamedPipe(
);

DLL宣言で読み込み、コンパイルを通すことまでできました。
渋木宏明(ひどり)
ぬし
会議室デビュー日: 2004/01/14
投稿数: 1155
お住まい・勤務地: 東京
投稿日時: 2004-09-16 23:03
引用:

VBではできるようだったんですが、



「VBではできる」の情報源は何でしょう?
C# も VB.NET も同じランタイムを共有しているので、片方ができることがもう一方でできない、という例はあまり無いはずです。

_________________
// 渋木宏明 (Hiroaki SHIBUKI)
// http://hidori.jp/
// Microsoft MVP for Visual C#
//
// @IT会議室 RSS 配信中: http://hidori.jp/rss/atmarkIT/
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2004-09-17 06:26
引用:

渋木宏明(ひどり)さんの書き込み (2004-09-16 23:03) より:
引用:

VBではできるようだったんですが、



「VBではできる」の情報源は何でしょう?


 .NETではなく、VB6では?
渋木宏明(ひどり)
ぬし
会議室デビュー日: 2004/01/14
投稿数: 1155
お住まい・勤務地: 東京
投稿日時: 2004-09-17 09:39
引用:

 .NETではなく、VB6では?



VB6 に名前付きパイプのをサポートするコントロールなんて付属してましたっけ?
結局 API を呼び出すか、サードパーティ製のコントロールを使うしかなかったような。

_________________
// 渋木宏明 (Hiroaki SHIBUKI)
// http://hidori.jp/
// Microsoft MVP for Visual C#
//
// @IT会議室 RSS 配信中: http://hidori.jp/rss/atmarkIT/

スキルアップ/キャリアアップ(JOB@IT)