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