System.IO.Pipes.AnonymousPipeServerStream Class

Exposes a stream around an anonymous pipe, which supports both synchronous and asynchronous read and write operations.

See Also: AnonymousPipeServerStream Members


[System.MonoTODO("Anonymous pipes are not working even on win32, due to some access authorization issue")]
public sealed class AnonymousPipeServerStream : PipeStream


Anonymous pipes help provide safe and secure interprocess communication between child and parent processes. The System.IO.Pipes.AnonymousPipeServerStream class enables a parent process to send or receive information from a child process.

Anonymous pipes are unnamed, one-way pipes that typically transfer data between parent and child processes. Anonymous pipes are always local; they cannot be used over a network. A System.IO.Pipes.PipeDirection value of PipeDirection.InOut is not supported because anonymous pipes are defined to be one-way.

Anonymous pipes do not support PipeTransmissionMode.Message read modes.

The client side of an anonymous pipe must be created from a pipe handle provided by the server side by calling the AnonymousPipeServerStream.GetClientHandleAsString method. The string is then passed as a parameter when creating the client process. From the client process, it is then passed to the System.IO.Pipes.AnonymousPipeClientStream constructor as the pipeHandleAsString parameter.

The System.IO.Pipes.AnonymousPipeServerStream object must dispose the client handle using the AnonymousPipeServerStream.DisposeLocalCopyOfClientHandle method in order to be notified when the client exits.


For winxppro and win2kserver, a maximum of 10 pipes can simultaneously connect over the network.


Namespace: System.IO.Pipes
Assembly: System.Core (in System.Core.dll)
Assembly Versions: