PipePair with valid handles on success, or invalid handles on failure.createPipe
Create an anonymous pipe pair with overlapped I/O support.
Creates a unidirectional pipe where data written to the write end can be read from the read end. Both ends support overlapped I/O for integration with IOCP.
Caller owns both handles and is responsible for closing them via closePipe() or adopting them into Pipe wrappers.
Returns
A