All Manuals > LispWorks® User Guide and Reference Manual > 48 Miscellaneous WIN32 symbols

connect-to-named-pipe Function


Opens a stream connection to a named pipe.




connect-to-named-pipe name &key host errorp direction => stream, keyword, condition

A string.
A string or nil.
A boolean.
One of the keywords :io, :input and :output.
A stream or nil.
A keyword or nil.
An error condition or nil.

The function connect-to-named-pipe opens a connection to a named pipe and returns a stream connected to it that can be used like any other stream.

name is the pipe name. It can contain any character except #\\ (according to the MSDN). For successful connection another process must have already created a pipe with that name, with the right input/output direction and permissions for the caller of connect-to-named-pipe, and tried to connect to it but has not succeeded yet. In LispWorks this is done by open-named-pipe-stream. The Windows function is ConnectNamedPipe.

host, if non-nil, specifies a host on which the named pipe was created. host nil means the current machine.

direction specifies the direction of input/output. It needs be allowed by the pipe (in inverse, that is if connect-to-named-pipe gets direction :input then the pipe must have been opened for output, for example by calling open-named-pipe-stream with direction :output or :io). The default value of direction is :io.

errorp specifies what to do in case of failure. If it is non-nil (the default), an error is signaled. If it is nil, then connect-to-named-pipe returns stream nil, keyword is a descriptive keyword, and condition is an error condition. keyword can be one of:


There is no named pipe with this name.

There is at least one named pipe with this name, but all are already connected.

There is already a named pipe with this name, but it denies access. That may be either because the permissions of the named pipe do not allow the connection, or because other security features of the host system block the connection.

An unknown error.

On success connect-to-named-pipe returns a stream and the other two returned values are both nil.

See also


LispWorks® User Guide and Reference Manual - 01 Dec 2021 19:31:08