Anonymous Pipes

An anonymous pipe, also called an unnamed pipe, enables related processes to transfer information back and forth as if they were reading from and writing to a file. Typically, anonymous pipes are used for redirecting the standard input and output (I/O) of a child process so that it can exchange data with its parent process.

To use an anonymous pipe, the parent process typically creates the pipe and then allows its read and write handles to be inherited by a child process. The parent process writes data to the pipe; the child process can read the data from the other end of the pipe. Likewise, the child process can write data to the pipe and the parent process can read the data from its end of the pipe. A parent process can also create two or more child processes that inherit the read and write handles to an anonymous pipe. Those child processes can use that pipe to communicate with each other directly, without going through the parent process.

Anonymous pipes cannot be used over a network, nor can they be used between unrelated processes.

For more information about anonymous pipes, see "Interprocess Communication" in the "Windows Base Services" section of the Microsoft Platform SDK.