2012-05-07 1 views
0

私は、ユーザーレベルのアプリケーションと通信するWindowsサービスを作成しています。 Windowsサービスは、ユーザーが対応するアプリケーションを起動するたびに、名前付きパイプを使用してサービスへの接続を確立するたびに、24時間365日、ユーザーのマシン上で実行されます。しかし、ここではサービスはクライアント側の名前付きパイプの作成を担当します。すべてはサーバー側ではうまく動作しますが、サービスで作成されたHandleをSCMを介してクライアントプロセスに送信する方法がわかりません。Windowsサービスからユーザーアプリケーションにパイプをハンドリングする

+1

この質問はあまり意味がありません。私が集めることができるのは、あなたがサービス(稼働中)を持っていることと、ユーザーが立ち上げるクライアントです。クライアントが起動すると、サーバーと通信するための名前付きパイプが作成されます。 これはすべて意味があります。私が理解していないのは、クライアントサイドのnamed-pipeが作成するサービスですか? –

+0

はい、それは正しいです。私は私のサービスがクライアントのための名前付きパイプを作成し、サービスとの接続を確立したいと思う。どうすればいいの? –

+0

[Named Pipe Client](http://msdn.microsoft.com/en-us/library/windows/desktop/aa365592(v = vs.85).aspx)のチュートリアルを読むと、クライアントとサーバー、名前付きパイプの側面 –

答えて

0

を呼び出すことによって、それをアクセスするためにそれを使用、ハンドルを渡すことになっていません。私が思うには、という名前のパイプの名前(おそらく2番目のプログラムのコマンドライン引数)を渡して、2番目のプログラムをそのパイプを再オープンさせることが考えられます。それがその名前の主な目的です。

+0

おや、ありがとう!私はC++開発の初心者です。このクライアントとサービスプロセスの間にセッションを確立する方法を教えてください。 –

+0

あなた自身に疑問と答えました: それともそれは実際にクライアントにより作成名前付きパイプに接続することにより、基本的なプロセスである「ユーザーは、対応するアプリケーションを起動するたびに、それが名前付きパイプを使用してサービスへの接続を確立します。」問題となっているサービスプロセスですか? –

+3

また、この回答は技術的に間違っていることを指摘する価値があります。[リンク](http://msdn.microsoft.com/en-us/library/windows/desktop/ms724251(v = vs.85).aspx)DuplicateHandleは、 IPCで使用するハンドル。 –

2

あなたが代わりにパイプに名前を付け、あなたはどのIPCメカニズムを介してHANDLEを送信することはできませんCreateFile

関連する問題