As explained earlier in the chapter, pipes allow two processes to communicate with each other. A pipe is a memory buffer where the system preserves data between the time one process writes it and another process reads it. The API commands ask you to think of the buffer as a pipe, or conduit, through which information flows from one place to another. A pipe has two ends. A one-way pipe allows writing only at one end and reading only at the other; all the information flows from one process to the other. A two-way pipe allows both processes to read and write, so the information flows both ways at once. When you create a pipe, you also decide whether it will be anonymous or named. Anonymous pipes are simpler, and the only type supported by Windows 98, so we’ll start with them.