2.1.4.1.4 CreatePipe


Description

Creates an anonymous pipe, and returns handles to the read and write ends of the pipe.

Syntax

BOOL CreatePipe( HANDLE * hReadPipe, HANDLE * hWritePipe, PSECURITY_ATTRIBUTES lpPipeAttributes, DWORD nSize )

Parameters

hReadPipe
[output] A pointer to a variable that receives the read handle for the pipe.
hWritePipe
[output] A pointer to a variable that receives the write handle for the pipe.
lpPipeAttributes
[input] A pointer to a SECURITY_ATTRIBUTES structure that determines whether the returned handle can be inherited by child processes. If lpPipeAttributes is NULL, the handle cannot be inherited.
nSize
[input] The size of the buffer for the pipe, in bytes. The size is only a suggestion; the system uses the value to calculate an appropriate buffering mechanism. If this parameter is zero, the system uses the default buffer size.


Return

If the function succeeds, the return value is nonzero.

If the function fails, the return value is zero. To get extended error information, call GetLastError.

Examples

Remark

CreatePipe creates the pipe, assigning the specified pipe size to the storage buffer. CreatePipe also creates handles that the process uses to read from and write to the buffer in subsequent calls to the ReadFile and WriteFile functions.

To read from the pipe, a process uses the read handle in a call to the ReadFile function. ReadFile returns when one of the following is true: a write operation completes on the write end of the pipe, the number of bytes requested has been read, or an error occurs.


See Also

Header to Include

origin.h

Reference