名前付きパイプ
名前付きパイプは、パイプ サーバーと 1 つ以上のパイプ クライアント間の通信用の名前付き一方向または二重パイプです。 名前付きパイプのすべてのインスタンスは同じパイプ名を共有しますが、各インスタンスには独自のバッファーとハンドルがあり、クライアント/サーバー通信用に個別の導管が提供されます。 インスタンスを使用すると、複数のパイプ クライアントで同じ名前付きパイプを同時に使用できます。
どのプロセスでも、セキュリティ チェックの対象となる名前付きパイプにアクセスできるため、名前付きパイプは、関連するプロセスまたは無関係なプロセス間の簡単な形式の通信になります。
どのプロセスもサーバーとクライアントの両方として機能し、ピアツーピア通信を可能にします。 ここで使用するパイプ サーバーという用語は、名前付きパイプを作成するプロセスを指し、パイプ クライアントという用語は、名前付きパイプのインスタンスに接続するプロセスを指します。 名前付きパイプをインスタンス化するためのサーバー側関数は 、CreateNamedPipe です。 接続を受け入れるためのサーバー側関数は ConnectNamedPipe です。 クライアント プロセスは、 CreateFile または CallNamedPipe 関数を使用して名前付きパイプに接続します。
名前付きパイプを使用すると、同じコンピューター上のプロセス間、またはネットワーク経由で異なるコンピューター上のプロセス間の通信を提供できます。 サーバー サービスが実行されている場合は、すべての名前付きパイプにリモートでアクセスできます。 名前付きパイプをローカルでのみ使用する場合は、NT AUTHORITY\NETWORK へのアクセスを拒否するか、ローカル RPC に切り替えます。
詳細については、次のトピックを参照してください。
- パイプ名
- 名前付きパイプの開きモード
- 名前付きパイプの種類、読み取り、待機モード
- 名前付きパイプ インスタンス
- 名前付きパイプ操作
- 同期入力と重複入力と出力
- 名前付きパイプのセキュリティとアクセス権
- 名前付きパイプ クライアントの偽装
- パイプの使用