1 <?xml version="1.0" encoding="utf-8"?><doc>
3 <name>System.IO.Pipes</name>
6 <member name="T:System.IO.Pipes.AnonymousPipeClientStream">
7 <summary>Exposes the client side of an anonymous pipe stream, which supports both synchronous and asynchronous read and write operations.</summary>
9 <member name="M:System.IO.Pipes.AnonymousPipeClientStream.#ctor(System.String)">
10 <summary>Initializes a new instance of the <see cref="T:System.IO.Pipes.AnonymousPipeClientStream"></see> class with the specified string representation of the pipe handle.</summary>
11 <param name="pipeHandleAsString">A string that represents the pipe handle.</param>
12 <exception cref="T:System.IO.IOException"><paramref name="pipeHandleAsString">pipeHandleAsString</paramref> is not a valid pipe handle.</exception>
14 <member name="M:System.IO.Pipes.AnonymousPipeClientStream.#ctor(System.IO.Pipes.PipeDirection,Microsoft.Win32.SafeHandles.SafePipeHandle)">
15 <summary>Initializes a new instance of the <see cref="T:System.IO.Pipes.AnonymousPipeClientStream"></see> class from the specified handle.</summary>
16 <param name="direction">One of the enumeration values that determines the direction of the pipe.
17 Anonymous pipes can only be in one direction, so direction cannot be set to <see cref="F:System.IO.Pipes.PipeDirection.InOut"></see>.</param>
18 <param name="safePipeHandle">A safe handle for the pipe that this <see cref="T:System.IO.Pipes.AnonymousPipeClientStream"></see> object will encapsulate.</param>
19 <exception cref="T:System.ArgumentException"><paramref name="safePipeHandle">safePipeHandle</paramref> is not a valid handle.</exception>
20 <exception cref="T:System.ArgumentNullException"><paramref name="safePipeHandle">safePipeHandle</paramref> is null.</exception>
21 <exception cref="T:System.NotSupportedException"><paramref name="direction">direction</paramref> is set to <see cref="System.IO.Pipes.PipeDirection.InOut"></see>.</exception>
22 <exception cref="T:System.IO.IOException">An I/O error, such as a disk error, has occurred.
24 The stream has been closed.</exception>
26 <member name="M:System.IO.Pipes.AnonymousPipeClientStream.#ctor(System.IO.Pipes.PipeDirection,System.String)">
27 <summary>Initializes a new instance of the <see cref="T:System.IO.Pipes.AnonymousPipeClientStream"></see> class with the specified pipe direction and a string representation of the pipe handle.</summary>
28 <param name="direction">One of the enumeration values that determines the direction of the pipe.
29 Anonymous pipes can only be in one direction, so direction cannot be set to <see cref="F:System.IO.Pipes.PipeDirection.InOut"></see>.</param>
30 <param name="pipeHandleAsString">A string that represents the pipe handle.</param>
31 <exception cref="T:System.ArgumentException"><paramref name="pipeHandleAsString">pipeHandleAsString</paramref> is an invalid handle.</exception>
32 <exception cref="T:System.ArgumentNullException"><paramref name="pipeHandleAsString">pipeHandleAsString</paramref> is null.</exception>
33 <exception cref="T:System.NotSupportedException"><paramref name="direction">direction</paramref> is set to <see cref="System.IO.Pipes.PipeDirection.InOut"></see>.</exception>
35 <member name="M:System.IO.Pipes.AnonymousPipeClientStream.Finalize">
36 <summary>Releases unmanaged resources and performs other cleanup operations before the <see cref="T:System.IO.Pipes.AnonymousPipeClientStream"></see> instance is reclaimed by garbage collection.</summary>
38 <member name="P:System.IO.Pipes.AnonymousPipeClientStream.ReadMode">
39 <summary>Sets the reading mode for the <see cref="T:System.IO.Pipes.AnonymousPipeClientStream"></see> object.</summary>
40 <returns>The <see cref="System.IO.Pipes.PipeTransmissionMode"></see> for the <see cref="System.IO.Pipes.AnonymousPipeClientStream"></see> object.</returns>
41 <exception cref="T:System.ArgumentOutOfRangeException">The transmission mode is not valid. For anonymous pipes, only <see cref="System.IO.Pipes.PipeTransmissionMode.Byte"></see> is supported.</exception>
42 <exception cref="T:System.NotSupportedException">The transmission mode is <see cref="System.IO.Pipes.PipeTransmissionMode.Message"></see>.</exception>
43 <exception cref="T:System.IO.IOException">The connection is broken or another I/O error occurs.</exception>
44 <exception cref="T:System.ObjectDisposedException">The pipe is closed.</exception>
46 <member name="P:System.IO.Pipes.AnonymousPipeClientStream.TransmissionMode">
47 <summary>Gets the pipe transmission mode supported by the current pipe.</summary>
48 <returns>The <see cref="System.IO.Pipes.PipeTransmissionMode"></see> supported by the current pipe.</returns>
50 <member name="T:System.IO.Pipes.AnonymousPipeServerStream">
51 <summary>Exposes a stream around an anonymous pipe, which supports both synchronous and asynchronous read and write operations.</summary>
53 <member name="M:System.IO.Pipes.AnonymousPipeServerStream.#ctor">
54 <summary>Initializes a new instance of the <see cref="T:System.IO.Pipes.AnonymousPipeServerStream"></see> class.</summary>
56 <member name="M:System.IO.Pipes.AnonymousPipeServerStream.#ctor(System.IO.Pipes.PipeDirection)">
57 <summary>Initializes a new instance of the <see cref="T:System.IO.Pipes.AnonymousPipeServerStream"></see> class with the specified pipe direction.</summary>
58 <param name="direction">One of the enumeration values that determines the direction of the pipe.
59 Anonymous pipes can only be in one direction, so direction cannot be set to <see cref="F:System.IO.Pipes.PipeDirection.InOut"></see>.</param>
60 <exception cref="T:System.NotSupportedException"><paramref name="direction">direction</paramref> is set to <see cref="System.IO.Pipes.PipeDirection.InOut"></see>.</exception>
62 <member name="M:System.IO.Pipes.AnonymousPipeServerStream.#ctor(System.IO.Pipes.PipeDirection,System.IO.HandleInheritability)">
63 <summary>Initializes a new instance of the <see cref="T:System.IO.Pipes.AnonymousPipeServerStream"></see> class with the specified pipe direction and inheritability mode.</summary>
64 <param name="direction">One of the enumeration values that determines the direction of the pipe.
65 Anonymous pipes can only be in one direction, so direction cannot be set to <see cref="F:System.IO.Pipes.PipeDirection.InOut"></see>.</param>
66 <param name="inheritability">One of the enumeration values that determines whether the underlying handle can be inherited by child processes. Must be set to either <see cref="F:System.IO.HandleInheritability.None"></see> or <see cref="F:System.IO.HandleInheritability.Inheritable"></see>.</param>
67 <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="inheritability">inheritability</paramref> is not set to either <see cref="System.IO.HandleInheritability.None"></see> or <see cref="System.IO.HandleInheritability.Inheritable"></see>.</exception>
68 <exception cref="T:System.NotSupportedException"><paramref name="direction">direction</paramref> is set to <see cref="System.IO.Pipes.PipeDirection.InOut"></see>.</exception>
70 <member name="M:System.IO.Pipes.AnonymousPipeServerStream.#ctor(System.IO.Pipes.PipeDirection,Microsoft.Win32.SafeHandles.SafePipeHandle,Microsoft.Win32.SafeHandles.SafePipeHandle)">
71 <summary>Initializes a new instance of the <see cref="T:System.IO.Pipes.AnonymousPipeServerStream"></see> class from the specified pipe handles.</summary>
72 <param name="direction">One of the enumeration values that determines the direction of the pipe.
73 Anonymous pipes can only be in one direction, so direction cannot be set to <see cref="F:System.IO.Pipes.PipeDirection.InOut"></see>.</param>
74 <param name="serverSafePipeHandle">A safe handle for the pipe that this <see cref="T:System.IO.Pipes.AnonymousPipeServerStream"></see> object will encapsulate.</param>
75 <param name="clientSafePipeHandle">A safe handle for the <see cref="T:System.IO.Pipes.AnonymousPipeClientStream"></see> object.</param>
76 <exception cref="T:System.ArgumentException"><paramref name="serverSafePipeHandle">serverSafePipeHandle</paramref> or <paramref name="clientSafePipeHandle">clientSafePipeHandle</paramref> is an invalid handle.</exception>
77 <exception cref="T:System.ArgumentNullException"><paramref name="serverSafePipeHandle">serverSafePipeHandle</paramref> or <paramref name="clientSafePipeHandle">clientSafePipeHandle</paramref> is null.</exception>
78 <exception cref="T:System.NotSupportedException"><paramref name="direction">direction</paramref> is set to <see cref="System.IO.Pipes.PipeDirection.InOut"></see>.</exception>
79 <exception cref="T:System.IO.IOException">An I/O error, such as a disk error, has occurred.
81 The stream has been closed.</exception>
83 <member name="M:System.IO.Pipes.AnonymousPipeServerStream.#ctor(System.IO.Pipes.PipeDirection,System.IO.HandleInheritability,System.Int32)">
84 <summary>Initializes a new instance of the <see cref="T:System.IO.Pipes.AnonymousPipeServerStream"></see> class with the specified pipe direction, inheritability mode, and buffer size.</summary>
85 <param name="direction">One of the enumeration values that determines the direction of the pipe.
86 Anonymous pipes can only be in one direction, so direction cannot be set to <see cref="F:System.IO.Pipes.PipeDirection.InOut"></see>.</param>
87 <param name="inheritability">One of the enumeration values that determines whether the underlying handle can be inherited by child processes. Must be set to either <see cref="F:System.IO.HandleInheritability.None"></see> or <see cref="F:System.IO.HandleInheritability.Inheritable"></see>.</param>
88 <param name="bufferSize">The size of the buffer. This value must be greater than or equal to 0.</param>
89 <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="inheritability">inheritability</paramref> is not set to either <see cref="System.IO.HandleInheritability.None"></see> or <see cref="System.IO.HandleInheritability.Inheritable"></see>.
91 <paramref name="bufferSize">bufferSize</paramref> is less than 0.</exception>
92 <exception cref="T:System.NotSupportedException"><paramref name="direction">direction</paramref> is set to <see cref="System.IO.Pipes.PipeDirection.InOut"></see>.</exception>
94 <member name="P:System.IO.Pipes.AnonymousPipeServerStream.ClientSafePipeHandle">
95 <summary>Gets the safe handle for the <see cref="T:System.IO.Pipes.AnonymousPipeClientStream"></see> object that is currently connected to the <see cref="T:System.IO.Pipes.AnonymousPipeServerStream"></see> object.</summary>
96 <returns>A handle for the <see cref="System.IO.Pipes.AnonymousPipeClientStream"></see> object that is currently connected to the <see cref="System.IO.Pipes.AnonymousPipeServerStream"></see> object.</returns>
98 <member name="M:System.IO.Pipes.AnonymousPipeServerStream.DisposeLocalCopyOfClientHandle">
99 <summary>Closes the local copy of the <see cref="T:System.IO.Pipes.AnonymousPipeClientStream"></see> object&#39;s handle.</summary>
101 <member name="M:System.IO.Pipes.AnonymousPipeServerStream.Finalize">
102 <summary>Releases unmanaged resources and performs other cleanup operations before the <see cref="T:System.IO.Pipes.AnonymousPipeServerStream"></see> instance is reclaimed by garbage collection.</summary>
104 <member name="M:System.IO.Pipes.AnonymousPipeServerStream.GetClientHandleAsString">
105 <summary>Gets the connected <see cref="T:System.IO.Pipes.AnonymousPipeClientStream"></see> object&#39;s handle as a string.</summary>
106 <returns>A string that represents the connected <see cref="System.IO.Pipes.AnonymousPipeClientStream"></see> object&#39;s handle.</returns>
108 <member name="P:System.IO.Pipes.AnonymousPipeServerStream.ReadMode">
109 <summary>Sets the reading mode for the <see cref="T:System.IO.Pipes.AnonymousPipeServerStream"></see> object. For anonymous pipes, transmission mode must be <see cref="F:System.IO.Pipes.PipeTransmissionMode.Byte"></see>.</summary>
110 <returns>The reading mode for the <see cref="System.IO.Pipes.AnonymousPipeServerStream"></see> object.</returns>
111 <exception cref="T:System.ArgumentOutOfRangeException">The transmission mode is not valid. For anonymous pipes, only <see cref="System.IO.Pipes.PipeTransmissionMode.Byte"></see> is supported.</exception>
112 <exception cref="T:System.NotSupportedException">The property is set to <see cref="System.IO.Pipes.PipeTransmissionMode.Message"></see>, which is not supported for anonymous pipes.</exception>
113 <exception cref="T:System.IO.IOException">The connection is broken or another I/O error occurs.</exception>
114 <exception cref="T:System.ObjectDisposedException">The pipe is closed.</exception>
116 <member name="P:System.IO.Pipes.AnonymousPipeServerStream.TransmissionMode">
117 <summary>Gets the pipe transmission mode that is supported by the current pipe.</summary>
118 <returns>The <see cref="System.IO.Pipes.PipeTransmissionMode"></see> that is supported by the current pipe.</returns>
120 <member name="T:System.IO.Pipes.NamedPipeClientStream">
121 <summary>Exposes a <see cref="T:System.IO.Stream"></see> around a named pipe, which supports both synchronous and asynchronous read and write operations.</summary>
123 <member name="M:System.IO.Pipes.NamedPipeClientStream.#ctor(System.String)">
124 <summary>Initializes a new instance of the <see cref="T:System.IO.Pipes.NamedPipeClientStream"></see> class with the specified pipe name.</summary>
125 <param name="pipeName">The name of the pipe.</param>
126 <exception cref="T:System.ArgumentNullException"><paramref name="pipeName">pipeName</paramref> is null.</exception>
127 <exception cref="T:System.ArgumentException"><paramref name="pipeName">pipeName</paramref> is a zero-length string.</exception>
128 <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="pipeName">pipeName</paramref> is set to &quot;anonymous&quot;.</exception>
130 <member name="M:System.IO.Pipes.NamedPipeClientStream.#ctor(System.String,System.String)">
131 <summary>Initializes a new instance of the <see cref="T:System.IO.Pipes.NamedPipeClientStream"></see> class with the specified pipe and server names.</summary>
132 <param name="serverName">The name of the remote computer to connect to, or &quot;.&quot; to specify the local computer.</param>
133 <param name="pipeName">The name of the pipe.</param>
134 <exception cref="T:System.ArgumentNullException"><paramref name="pipeName">pipeName</paramref> or <paramref name="serverName">serverName</paramref> is null.</exception>
135 <exception cref="T:System.ArgumentException"><paramref name="pipeName">pipeName</paramref> or <paramref name="serverName">serverName</paramref> is a zero-length string.</exception>
136 <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="pipeName">pipeName</paramref> is set to &quot;anonymous&quot;.</exception>
138 <member name="M:System.IO.Pipes.NamedPipeClientStream.#ctor(System.String,System.String,System.IO.Pipes.PipeDirection)">
139 <summary>Initializes a new instance of the <see cref="T:System.IO.Pipes.NamedPipeClientStream"></see> class with the specified pipe and server names, and the specified pipe direction.</summary>
140 <param name="serverName">The name of the remote computer to connect to, or &quot;.&quot; to specify the local computer.</param>
141 <param name="pipeName">The name of the pipe.</param>
142 <param name="direction">One of the enumeration values that determines the direction of the pipe.</param>
143 <exception cref="T:System.ArgumentNullException"><paramref name="pipeName">pipeName</paramref> or <paramref name="serverName">serverName</paramref> is null.</exception>
144 <exception cref="T:System.ArgumentException"><paramref name="pipeName">pipeName</paramref> or <paramref name="serverName">serverName</paramref> is a zero-length string.</exception>
145 <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="pipeName">pipeName</paramref> is set to &quot;anonymous&quot;.
147 <paramref name="direction">direction</paramref> is not a valid <see cref="System.IO.Pipes.PipeDirection"></see> value.</exception>
149 <member name="M:System.IO.Pipes.NamedPipeClientStream.#ctor(System.IO.Pipes.PipeDirection,System.Boolean,System.Boolean,Microsoft.Win32.SafeHandles.SafePipeHandle)">
150 <summary>Initializes a new instance of the <see cref="T:System.IO.Pipes.NamedPipeClientStream"></see> class for the specified pipe handle with the specified pipe direction.</summary>
151 <param name="direction">One of the enumeration values that determines the direction of the pipe.</param>
152 <param name="isAsync">true to indicate that the handle was opened asynchronously; otherwise, false.</param>
153 <param name="isConnected">true to indicate that the pipe is connected; otherwise, false.</param>
154 <param name="safePipeHandle">A safe handle for the pipe that this <see cref="T:System.IO.Pipes.NamedPipeClientStream"></see> object will encapsulate.</param>
155 <exception cref="T:System.IO.IOException">The stream has been closed.</exception>
156 <exception cref="T:System.ArgumentException"><paramref name="safePipeHandle">safePipeHandle</paramref> is not a valid handle.</exception>
157 <exception cref="T:System.ArgumentNullException"><paramref name="safePipeHandle">safePipeHandle</paramref> is null.</exception>
158 <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="direction">direction</paramref> is not a valid <see cref="System.IO.Pipes.PipeDirection"></see> value.</exception>
160 <member name="M:System.IO.Pipes.NamedPipeClientStream.#ctor(System.String,System.String,System.IO.Pipes.PipeDirection,System.IO.Pipes.PipeOptions)">
161 <summary>Initializes a new instance of the <see cref="T:System.IO.Pipes.NamedPipeClientStream"></see> class with the specified pipe and server names, and the specified pipe direction and pipe options.</summary>
162 <param name="serverName">The name of the remote computer to connect to, or &quot;.&quot; to specify the local computer.</param>
163 <param name="pipeName">The name of the pipe.</param>
164 <param name="direction">One of the enumeration values that determines the direction of the pipe.</param>
165 <param name="options">One of the enumeration values that determines how to open or create the pipe.</param>
166 <exception cref="T:System.ArgumentNullException"><paramref name="pipeName">pipeName</paramref> or <paramref name="serverName">serverName</paramref> is null.</exception>
167 <exception cref="T:System.ArgumentException"><paramref name="pipeName">pipeName</paramref> or <paramref name="serverName">serverName</paramref> is a zero-length string.</exception>
168 <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="pipeName">pipeName</paramref> is set to &quot;anonymous&quot;.
170 <paramref name="direction">direction</paramref> is not a valid <see cref="System.IO.Pipes.PipeDirection"></see> value.
172 <paramref name="options">options</paramref> is not a valid <see cref="System.IO.Pipes.PipeOptions"></see> value.</exception>
174 <member name="M:System.IO.Pipes.NamedPipeClientStream.#ctor(System.String,System.String,System.IO.Pipes.PipeDirection,System.IO.Pipes.PipeOptions,System.Security.Principal.TokenImpersonationLevel)">
175 <summary>Initializes a new instance of the <see cref="T:System.IO.Pipes.NamedPipeClientStream"></see> class with the specified pipe and server names, and the specified pipe direction, pipe options, and security impersonation level.</summary>
176 <param name="serverName">The name of the remote computer to connect to, or &quot;.&quot; to specify the local computer.</param>
177 <param name="pipeName">The name of the pipe.</param>
178 <param name="direction">One of the enumeration values that determines the direction of the pipe.</param>
179 <param name="options">One of the enumeration values that determines how to open or create the pipe.</param>
180 <param name="impersonationLevel">One of the enumeration values that determines the security impersonation level.</param>
181 <exception cref="T:System.ArgumentNullException"><paramref name="pipeName">pipeName</paramref> or <paramref name="serverName">serverName</paramref> is null.</exception>
182 <exception cref="T:System.ArgumentException"><paramref name="pipeName">pipeName</paramref> or <paramref name="serverName">serverName</paramref> is a zero-length string.</exception>
183 <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="pipeName">pipeName</paramref> is set to &quot;anonymous&quot;.
185 <paramref name="direction">direction</paramref> is not a valid <see cref="System.IO.Pipes.PipeDirection"></see> value.
187 <paramref name="options">options</paramref> is not a valid <see cref="System.IO.Pipes.PipeOptions"></see> value.
189 <paramref name="impersonationLevel">impersonationLevel</paramref> is not a valid <see cref="System.Security.Principal.TokenImpersonationLevel"></see> value.</exception>
191 <member name="M:System.IO.Pipes.NamedPipeClientStream.#ctor(System.String,System.String,System.IO.Pipes.PipeDirection,System.IO.Pipes.PipeOptions,System.Security.Principal.TokenImpersonationLevel,System.IO.HandleInheritability)">
192 <summary>Initializes a new instance of the <see cref="T:System.IO.Pipes.NamedPipeClientStream"></see> class with the specified pipe and server names, and the specified pipe direction, pipe options, security impersonation level, and inheritability mode.</summary>
193 <param name="serverName">The name of the remote computer to connect to, or &quot;.&quot; to specify the local computer.</param>
194 <param name="pipeName">The name of the pipe.</param>
195 <param name="direction">One of the enumeration values that determines the direction of the pipe.</param>
196 <param name="options">One of the enumeration values that determines how to open or create the pipe.</param>
197 <param name="impersonationLevel">One of the enumeration values that determines the security impersonation level.</param>
198 <param name="inheritability">One of the enumeration values that determines whether the underlying handle will be inheritable by child processes.</param>
199 <exception cref="T:System.ArgumentNullException"><paramref name="pipeName">pipeName</paramref> or <paramref name="serverName">serverName</paramref> is null.</exception>
200 <exception cref="T:System.ArgumentException"><paramref name="pipeName">pipeName</paramref> or <paramref name="serverName">serverName</paramref> is a zero-length string.</exception>
201 <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="pipeName">pipeName</paramref> is set to &quot;anonymous&quot;.
203 <paramref name="direction">direction</paramref> is not a valid <see cref="System.IO.Pipes.PipeDirection"></see> value.
205 <paramref name="options">options</paramref> is not a valid <see cref="System.IO.Pipes.PipeOptions"></see> value.
207 <paramref name="impersonationLevel">impersonationLevel</paramref> is not a valid <see cref="System.Security.Principal.TokenImpersonationLevel"></see> value.
209 <paramref name="inheritability">inheritability</paramref> is not a valid <see cref="System.IO.HandleInheritability"></see> value.</exception>
211 <member name="M:System.IO.Pipes.NamedPipeClientStream.Connect">
212 <summary>Connects to a waiting server with an infinite time-out value.</summary>
213 <exception cref="T:System.InvalidOperationException">The client is already connected.</exception>
215 <member name="M:System.IO.Pipes.NamedPipeClientStream.Connect(System.Int32)">
216 <summary>Connects to a waiting server within the specified time-out period.</summary>
217 <param name="timeout">The number of milliseconds to wait for the server to respond before the connection times out.</param>
218 <exception cref="T:System.TimeoutException">Could not connect to the server within the specified <paramref name="timeout">timeout</paramref> period.</exception>
219 <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="timeout">timeout</paramref> is less than 0 and not set to <see cref="System.Threading.Timeout.Infinite"></see>.</exception>
220 <exception cref="T:System.InvalidOperationException">The client is already connected.</exception>
221 <exception cref="T:System.IO.IOException">The server is connected to another client and the time-out period has expired.</exception>
223 <member name="M:System.IO.Pipes.NamedPipeClientStream.ConnectAsync">
224 <summary>Asynchronously connects to a waiting server with an infinite timeout period.</summary>
225 <returns>A task that represents the asynchronous connect operation.</returns>
227 <member name="M:System.IO.Pipes.NamedPipeClientStream.ConnectAsync(System.Int32)">
228 <summary>Asynchronously connects to a waiting server within the specified timeout period.</summary>
229 <param name="timeout">The number of milliseconds to wait for the server to respond before the connection times out.</param>
230 <returns>A task that represents the asynchronous connect operation.</returns>
232 <member name="M:System.IO.Pipes.NamedPipeClientStream.ConnectAsync(System.Threading.CancellationToken)">
233 <summary>Asynchronously connects to a waiting server and monitors cancellation requests.</summary>
234 <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"></see>.</param>
235 <returns>A task that represents the asynchronous connect operation.</returns>
237 <member name="M:System.IO.Pipes.NamedPipeClientStream.ConnectAsync(System.Int32,System.Threading.CancellationToken)">
238 <summary>Asynchronously connects to a waiting server within the specified timeout period and monitors cancellation requests.</summary>
239 <param name="timeout">The number of milliseconds to wait for the server to respond before the connection times out.</param>
240 <param name="cancellationToken">The token to monitor for cancellation requests. The default value is <see cref="P:System.Threading.CancellationToken.None"></see>.</param>
241 <returns>A task that represents the asynchronous connect operation.</returns>
243 <member name="M:System.IO.Pipes.NamedPipeClientStream.Finalize">
244 <summary>Releases unmanaged resources and performs other cleanup operations before the <see cref="T:System.IO.Pipes.NamedPipeClientStream"></see> instance is reclaimed by garbage collection.</summary>
246 <member name="P:System.IO.Pipes.NamedPipeClientStream.NumberOfServerInstances">
247 <summary>Gets the number of server instances that share the same pipe name.</summary>
248 <returns>The number of server instances that share the same pipe name.</returns>
249 <exception cref="T:System.InvalidOperationException">The pipe handle has not been set.
251 The current <see cref="System.IO.Pipes.NamedPipeClientStream"></see> object has not yet connected to a <see cref="System.IO.Pipes.NamedPipeServerStream"></see> object.</exception>
252 <exception cref="T:System.IO.IOException">The pipe is broken or an I/O error occurred.</exception>
253 <exception cref="T:System.ObjectDisposedException">The underlying pipe handle is closed.</exception>
255 <member name="T:System.IO.Pipes.NamedPipeServerStream">
256 <summary>Exposes a <see cref="T:System.IO.Stream"></see> around a named pipe, supporting both synchronous and asynchronous read and write operations.</summary>
258 <member name="M:System.IO.Pipes.NamedPipeServerStream.#ctor(System.String)">
259 <summary>Initializes a new instance of the <see cref="T:System.IO.Pipes.NamedPipeServerStream"></see> class with the specified pipe name.</summary>
260 <param name="pipeName">The name of the pipe.</param>
261 <exception cref="T:System.ArgumentNullException"><paramref name="pipeName">pipeName</paramref> is null.</exception>
262 <exception cref="T:System.ArgumentException"><paramref name="pipeName">pipeName</paramref> is a zero-length string.</exception>
263 <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="pipeName">pipeName</paramref> is set to &quot;anonymous&quot;.</exception>
264 <exception cref="T:System.NotSupportedException"><paramref name="pipeName">pipeName</paramref> contains a colon (&quot;:&quot;).</exception>
265 <exception cref="T:System.PlatformNotSupportedException">The operating system is Windows Millennium Edition, Windows 98, or Windows 95, which are not supported.</exception>
266 <exception cref="T:System.IO.IOException">The maximum number of server instances has been exceeded.</exception>
268 <member name="M:System.IO.Pipes.NamedPipeServerStream.#ctor(System.String,System.IO.Pipes.PipeDirection,System.Int32,System.IO.Pipes.PipeTransmissionMode,System.IO.Pipes.PipeOptions,System.Int32,System.Int32)">
269 <summary>Initializes a new instance of the <see cref="T:System.IO.Pipes.NamedPipeServerStream"></see> class with the specified pipe name, pipe direction, maximum number of server instances, transmission mode, pipe options, and recommended in and out buffer sizes.</summary>
270 <param name="pipeName">The name of the pipe.</param>
271 <param name="direction">One of the enumeration values that determines the direction of the pipe.</param>
272 <param name="maxNumberOfServerInstances">The maximum number of server instances that share the same name. You can pass <see cref="F:System.IO.Pipes.NamedPipeServerStream.MaxAllowedServerInstances"></see> for this value.</param>
273 <param name="transmissionMode">One of the enumeration values that determines the transmission mode of the pipe.</param>
274 <param name="options">One of the enumeration values that determines how to open or create the pipe.</param>
275 <param name="inBufferSize">A positive value greater than 0 that indicates the input buffer size.</param>
276 <param name="outBufferSize">A positive value greater than 0 that indicates the output buffer size.</param>
277 <exception cref="T:System.ArgumentNullException"><paramref name="pipeName">pipeName</paramref> is null.</exception>
278 <exception cref="T:System.ArgumentException"><paramref name="pipeName">pipeName</paramref> is a zero-length string.</exception>
279 <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="pipeName">pipeName</paramref> is set to &quot;anonymous&quot;.
281 <paramref name="direction">direction</paramref> is not a valid <see cref="System.IO.Pipes.PipeDirection"></see> value.
283 <paramref name="maxNumberofServerInstances">maxNumberofServerInstances</paramref> is less than -1 or greater than 254 (-1 indicates <see cref="System.IO.Pipes.NamedPipeServerStream.MaxAllowedServerInstances"></see>)
285 <paramref name="options">options</paramref> is not a valid <see cref="System.IO.Pipes.PipeOptions"></see> value.
287 <paramref name="inBufferSize">inBufferSize</paramref> is negative.</exception>
288 <exception cref="T:System.NotSupportedException"><paramref name="pipeName">pipeName</paramref> contains a colon (&quot;:&quot;).</exception>
289 <exception cref="T:System.PlatformNotSupportedException">The operating system is Windows Millennium Edition, Windows 98, or Windows 95, which are not supported.</exception>
290 <exception cref="T:System.IO.IOException">The maximum number of server instances has been exceeded.</exception>
292 <member name="M:System.IO.Pipes.NamedPipeServerStream.#ctor(System.String,System.IO.Pipes.PipeDirection,System.Int32,System.IO.Pipes.PipeTransmissionMode,System.IO.Pipes.PipeOptions)">
293 <summary>Initializes a new instance of the <see cref="T:System.IO.Pipes.NamedPipeServerStream"></see> class with the specified pipe name, pipe direction, maximum number of server instances, transmission mode, and pipe options.</summary>
294 <param name="pipeName">The name of the pipe.</param>
295 <param name="direction">One of the enumeration values that determines the direction of the pipe.</param>
296 <param name="maxNumberOfServerInstances">The maximum number of server instances that share the same name. You can pass <see cref="F:System.IO.Pipes.NamedPipeServerStream.MaxAllowedServerInstances"></see> for this value.</param>
297 <param name="transmissionMode">One of the enumeration values that determines the transmission mode of the pipe.</param>
298 <param name="options">One of the enumeration values that determines how to open or create the pipe.</param>
299 <exception cref="T:System.ArgumentNullException"><paramref name="pipeName">pipeName</paramref> is null.</exception>
300 <exception cref="T:System.ArgumentException"><paramref name="pipeName">pipeName</paramref> is a zero-length string.</exception>
301 <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="pipeName">pipeName</paramref> is set to &quot;anonymous&quot;.
303 <paramref name="direction">direction</paramref> is not a valid <see cref="System.IO.Pipes.PipeDirection"></see> value.
305 <paramref name="maxNumberofServerInstances">maxNumberofServerInstances</paramref> is less than -1 or greater than 254 (-1 indicates <see cref="System.IO.Pipes.NamedPipeServerStream.MaxAllowedServerInstances"></see>)
307 <paramref name="options">options</paramref> is not a valid <see cref="System.IO.Pipes.PipeOptions"></see> value.</exception>
308 <exception cref="T:System.NotSupportedException"><paramref name="pipeName">pipeName</paramref> contains a colon (&quot;:&quot;).</exception>
309 <exception cref="T:System.PlatformNotSupportedException">The operating system is Windows Millennium Edition, Windows 98, or Windows 95, which are not supported.</exception>
310 <exception cref="T:System.IO.IOException">The maximum number of server instances has been exceeded.</exception>
312 <member name="M:System.IO.Pipes.NamedPipeServerStream.#ctor(System.IO.Pipes.PipeDirection,System.Boolean,System.Boolean,Microsoft.Win32.SafeHandles.SafePipeHandle)">
313 <summary>Initializes a new instance of the <see cref="T:System.IO.Pipes.NamedPipeServerStream"></see> class from the specified pipe handle.</summary>
314 <param name="direction">One of the enumeration values that determines the direction of the pipe.</param>
315 <param name="isAsync">true to indicate that the handle was opened asynchronously; otherwise, false.</param>
316 <param name="isConnected">true to indicate that the pipe is connected; otherwise, false.</param>
317 <param name="safePipeHandle">A safe handle for the pipe that this <see cref="T:System.IO.Pipes.NamedPipeServerStream"></see> object will encapsulate.</param>
318 <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="direction">direction</paramref> is not a valid <see cref="System.IO.Pipes.PipeDirection"></see> value.</exception>
319 <exception cref="T:System.ArgumentNullException"><paramref name="safePipeHandle">safePipeHandle</paramref> is null.</exception>
320 <exception cref="T:System.ArgumentException"><paramref name="safePipeHandle">safePipeHandle</paramref> is an invalid handle.</exception>
321 <exception cref="T:System.IO.IOException"><paramref name="safePipeHandle">safePipeHandle</paramref> is not a valid pipe handle.
323 The maximum number of server instances has been exceeded.</exception>
325 <member name="M:System.IO.Pipes.NamedPipeServerStream.#ctor(System.String,System.IO.Pipes.PipeDirection,System.Int32)">
326 <summary>Initializes a new instance of the <see cref="T:System.IO.Pipes.NamedPipeServerStream"></see> class with the specified pipe name, pipe direction, and maximum number of server instances.</summary>
327 <param name="pipeName">The name of the pipe.</param>
328 <param name="direction">One of the enumeration values that determines the direction of the pipe.</param>
329 <param name="maxNumberOfServerInstances">The maximum number of server instances that share the same name. You can pass <see cref="F:System.IO.Pipes.NamedPipeServerStream.MaxAllowedServerInstances"></see> for this value.</param>
330 <exception cref="T:System.ArgumentNullException"><paramref name="pipeName">pipeName</paramref> is null.</exception>
331 <exception cref="T:System.ArgumentException"><paramref name="pipeName">pipeName</paramref> is a zero-length string.</exception>
332 <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="pipeName">pipeName</paramref> is set to &quot;anonymous&quot;.
334 <paramref name="direction">direction</paramref> is not a valid <see cref="System.IO.Pipes.PipeDirection"></see> value.
336 A non-negative number is required.
338 <paramref name="maxNumberofServerInstances">maxNumberofServerInstances</paramref> is less than -1 or greater than 254 (-1 indicates <see cref="System.IO.Pipes.NamedPipeServerStream.MaxAllowedServerInstances"></see>)
340 <see cref="System.IO.HandleInheritability.None"></see> or <see cref="System.IO.HandleInheritability.Inheritable"></see> is required.
342 Access rights is limited to the <see cref="System.IO.Pipes.PipeAccessRights.ChangePermissions"></see> , <see cref="System.IO.Pipes.PipeAccessRights.TakeOwnership"></see> , and <see cref="System.IO.Pipes.PipeAccessRights.AccessSystemSecurity"></see> flags.</exception>
343 <exception cref="T:System.NotSupportedException"><paramref name="pipeName">pipeName</paramref> contains a colon (&quot;:&quot;).</exception>
344 <exception cref="T:System.PlatformNotSupportedException">The operating system is Windows Millennium Edition, Windows 98, or Windows 95, which are not supported.</exception>
345 <exception cref="T:System.IO.IOException">The maximum number of server instances has been exceeded.</exception>
347 <member name="M:System.IO.Pipes.NamedPipeServerStream.#ctor(System.String,System.IO.Pipes.PipeDirection)">
348 <summary>Initializes a new instance of the <see cref="T:System.IO.Pipes.NamedPipeServerStream"></see> class with the specified pipe name and pipe direction.</summary>
349 <param name="pipeName">The name of the pipe.</param>
350 <param name="direction">One of the enumeration values that determines the direction of the pipe.</param>
351 <exception cref="T:System.ArgumentNullException"><paramref name="pipeName">pipeName</paramref> is null.</exception>
352 <exception cref="T:System.ArgumentException"><paramref name="pipeName">pipeName</paramref> is a zero-length string.</exception>
353 <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="pipeName">pipeName</paramref> is set to &quot;anonymous&quot;.
355 <paramref name="direction">direction</paramref> is not a valid <see cref="System.IO.Pipes.PipeDirection"></see> value.</exception>
356 <exception cref="T:System.NotSupportedException"><paramref name="pipeName">pipeName</paramref> contains a colon (&quot;:&quot;).</exception>
357 <exception cref="T:System.PlatformNotSupportedException">The operating system is Windows Millennium Edition, Windows 98, or Windows 95, which are not supported.</exception>
358 <exception cref="T:System.IO.IOException">The maximum number of server instances has been exceeded.</exception>
360 <member name="M:System.IO.Pipes.NamedPipeServerStream.#ctor(System.String,System.IO.Pipes.PipeDirection,System.Int32,System.IO.Pipes.PipeTransmissionMode)">
361 <summary>Initializes a new instance of the <see cref="T:System.IO.Pipes.NamedPipeServerStream"></see> class with the specified pipe name, pipe direction, maximum number of server instances, and transmission mode.</summary>
362 <param name="pipeName">The name of the pipe.</param>
363 <param name="direction">One of the enumeration values that determines the direction of the pipe.</param>
364 <param name="maxNumberOfServerInstances">The maximum number of server instances that share the same name. You can pass <see cref="F:System.IO.Pipes.NamedPipeServerStream.MaxAllowedServerInstances"></see> for this value.</param>
365 <param name="transmissionMode">One of the enumeration values that determines the transmission mode of the pipe.</param>
366 <exception cref="T:System.ArgumentNullException"><paramref name="pipeName">pipeName</paramref> is null.</exception>
367 <exception cref="T:System.ArgumentException"><paramref name="pipeName">pipeName</paramref> is a zero-length string.</exception>
368 <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="pipeName">pipeName</paramref> is set to &quot;anonymous&quot;.
370 <paramref name="direction">direction</paramref> is not a valid <see cref="System.IO.Pipes.PipeDirection"></see> value.
372 <paramref name="maxNumberofServerInstances">maxNumberofServerInstances</paramref> is less than -1 or greater than 254 (-1 indicates <see cref="System.IO.Pipes.NamedPipeServerStream.MaxAllowedServerInstances"></see>)</exception>
373 <exception cref="T:System.NotSupportedException"><paramref name="pipeName">pipeName</paramref> contains a colon (&quot;:&quot;).</exception>
374 <exception cref="T:System.PlatformNotSupportedException">The operating system is Windows Millennium Edition, Windows 98, or Windows 95, which are not supported.</exception>
375 <exception cref="T:System.IO.IOException">The maximum number of server instances has been exceeded.</exception>
377 <member name="M:System.IO.Pipes.NamedPipeServerStream.BeginWaitForConnection(System.AsyncCallback,System.Object)">
378 <summary>Begins an asynchronous operation to wait for a client to connect.</summary>
379 <param name="callback">The method to call when a client connects to the <see cref="T:System.IO.Pipes.NamedPipeServerStream"></see> object.</param>
380 <param name="state">A user-provided object that distinguishes this particular asynchronous request from other requests.</param>
381 <returns>An object that references the asynchronous request.</returns>
382 <exception cref="T:System.InvalidOperationException">The pipe was not opened asynchronously.
384 A pipe connection has already been established.
386 The pipe handle has not been set.</exception>
387 <exception cref="T:System.IO.IOException">The pipe connection has been broken.</exception>
388 <exception cref="T:System.ObjectDisposedException">The pipe is closed.</exception>
390 <member name="M:System.IO.Pipes.NamedPipeServerStream.Disconnect">
391 <summary>Disconnects the current connection.</summary>
392 <exception cref="T:System.InvalidOperationException">No pipe connections have been made yet.
394 The connected pipe has already disconnected.
396 The pipe handle has not been set.</exception>
397 <exception cref="T:System.ObjectDisposedException">The pipe is closed.</exception>
399 <member name="M:System.IO.Pipes.NamedPipeServerStream.EndWaitForConnection(System.IAsyncResult)">
400 <summary>Ends an asynchronous operation to wait for a client to connect.</summary>
401 <param name="asyncResult">The pending asynchronous request.</param>
402 <exception cref="T:System.ArgumentNullException"><paramref name="asyncResult">asyncResult</paramref> is null.</exception>
403 <exception cref="T:System.InvalidOperationException">The pipe was not opened asynchronously.
405 The pipe handle has not been set.</exception>
406 <exception cref="T:System.IO.IOException">The pipe connection has been broken.</exception>
407 <exception cref="T:System.ObjectDisposedException">The pipe is closed.</exception>
409 <member name="M:System.IO.Pipes.NamedPipeServerStream.Finalize">
410 <summary>Releases unmanaged resources and performs other cleanup operations before the <see cref="T:System.IO.Pipes.NamedPipeServerStream"></see> instance is reclaimed by garbage collection.</summary>
412 <member name="M:System.IO.Pipes.NamedPipeServerStream.GetImpersonationUserName">
413 <summary>Gets the user name of the client on the other end of the pipe.</summary>
414 <returns>The user name of the client on the other end of the pipe.</returns>
415 <exception cref="T:System.InvalidOperationException">No pipe connections have been made yet.
417 The connected pipe has already disconnected.
419 The pipe handle has not been set.</exception>
420 <exception cref="T:System.ObjectDisposedException">The pipe is closed.</exception>
421 <exception cref="T:System.IO.IOException">The pipe connection has been broken.
423 The user name of the client is longer than 19 characters.</exception>
425 <member name="F:System.IO.Pipes.NamedPipeServerStream.MaxAllowedServerInstances">
426 <summary>Represents the maximum number of server instances that the system resources allow.</summary>
429 <member name="M:System.IO.Pipes.NamedPipeServerStream.RunAsClient(System.IO.Pipes.PipeStreamImpersonationWorker)">
430 <summary>Calls a delegate while impersonating the client.</summary>
431 <param name="impersonationWorker">The delegate that specifies a method to call.</param>
432 <exception cref="T:System.InvalidOperationException">No pipe connections have been made yet.
434 The connected pipe has already disconnected.
436 The pipe handle has not been set.</exception>
437 <exception cref="T:System.ObjectDisposedException">The pipe is closed.</exception>
438 <exception cref="T:System.IO.IOException">The pipe connection has been broken.
440 An I/O error occurred.</exception>
442 <member name="M:System.IO.Pipes.NamedPipeServerStream.WaitForConnection">
443 <summary>Waits for a client to connect to this <see cref="T:System.IO.Pipes.NamedPipeServerStream"></see> object.</summary>
444 <exception cref="T:System.InvalidOperationException">A pipe connection has already been established.
446 The pipe handle has not been set.</exception>
447 <exception cref="T:System.ObjectDisposedException">The pipe is closed.</exception>
448 <exception cref="T:System.IO.IOException">The pipe connection has been broken.</exception>
450 <member name="M:System.IO.Pipes.NamedPipeServerStream.WaitForConnectionAsync">
451 <summary>Asynchronously waits for a client to connect to this <see cref="T:System.IO.Pipes.NamedPipeServerStream"></see> object.</summary>
452 <returns>A task that represents the asynchronous wait operation.</returns>
454 <member name="M:System.IO.Pipes.NamedPipeServerStream.WaitForConnectionAsync(System.Threading.CancellationToken)">
455 <summary>Asynchronously waits for a client to connect to this <see cref="T:System.IO.Pipes.NamedPipeServerStream"></see> object and monitors cancellation requests.</summary>
456 <param name="cancellationToken">The token to monitor for cancellation requests.</param>
457 <returns>A task that represents the asynchronous wait operation.</returns>
459 <member name="T:System.IO.Pipes.PipeDirection">
460 <summary>Specifies the direction of the pipe.</summary>
462 <member name="F:System.IO.Pipes.PipeDirection.In">
463 <summary>Specifies that the pipe direction is in.</summary>
466 <member name="F:System.IO.Pipes.PipeDirection.InOut">
467 <summary>Specifies that the pipe direction is two-way.</summary>
470 <member name="F:System.IO.Pipes.PipeDirection.Out">
471 <summary>Specifies that the pipe direction is out.</summary>
474 <member name="T:System.IO.Pipes.PipeOptions">
475 <summary>Provides options for creating a <see cref="T:System.IO.Pipes.PipeStream"></see> object. This enumeration has a <see cref="T:System.FlagsAttribute"></see> attribute that allows a bitwise combination of its member values.</summary>
477 <member name="F:System.IO.Pipes.PipeOptions.Asynchronous">
478 <summary>Indicates that the pipe can be used for asynchronous reading and writing.</summary>
481 <member name="F:System.IO.Pipes.PipeOptions.None">
482 <summary>Indicates that there are no additional parameters.</summary>
485 <member name="F:System.IO.Pipes.PipeOptions.WriteThrough">
486 <summary>Indicates that the system should write through any intermediate cache and go directly to the pipe.</summary>
489 <member name="T:System.IO.Pipes.PipeStream">
490 <summary>Exposes a <see cref="T:System.IO.Stream"></see> object around a pipe, which supports both anonymous and named pipes.</summary>
492 <member name="M:System.IO.Pipes.PipeStream.#ctor(System.IO.Pipes.PipeDirection,System.Int32)">
493 <summary>Initializes a new instance of the <see cref="T:System.IO.Pipes.PipeStream"></see> class using the specified <see cref="T:System.IO.Pipes.PipeDirection"></see> value and buffer size.</summary>
494 <param name="direction">One of the <see cref="T:System.IO.Pipes.PipeDirection"></see> values that indicates the direction of the pipe object.</param>
495 <param name="bufferSize">A positive <see cref="T:System.Int32"></see> value greater than or equal to 0 that indicates the buffer size.</param>
496 <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="direction">direction</paramref> is not a valid <see cref="System.IO.Pipes.PipeDirection"></see> value.
498 <paramref name="bufferSize">bufferSize</paramref> is less than 0.</exception>
500 <member name="M:System.IO.Pipes.PipeStream.#ctor(System.IO.Pipes.PipeDirection,System.IO.Pipes.PipeTransmissionMode,System.Int32)">
501 <summary>Initializes a new instance of the <see cref="T:System.IO.Pipes.PipeStream"></see> class using the specified <see cref="T:System.IO.Pipes.PipeDirection"></see>, <see cref="T:System.IO.Pipes.PipeTransmissionMode"></see>, and buffer size.</summary>
502 <param name="direction">One of the <see cref="T:System.IO.Pipes.PipeDirection"></see> values that indicates the direction of the pipe object.</param>
503 <param name="transmissionMode">One of the <see cref="T:System.IO.Pipes.PipeTransmissionMode"></see> values that indicates the transmission mode of the pipe object.</param>
504 <param name="outBufferSize">A positive <see cref="T:System.Int32"></see> value greater than or equal to 0 that indicates the buffer size.</param>
505 <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="direction">direction</paramref> is not a valid <see cref="System.IO.Pipes.PipeDirection"></see> value.
507 <paramref name="transmissionMode">transmissionMode</paramref> is not a valid <see cref="System.IO.Pipes.PipeTransmissionMode"></see> value.
509 <paramref name="bufferSize">bufferSize</paramref> is less than 0.</exception>
511 <member name="M:System.IO.Pipes.PipeStream.BeginRead(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object)">
512 <summary>Begins an asynchronous read operation.</summary>
513 <param name="buffer">The buffer to read data into.</param>
514 <param name="offset">The byte offset in buffer at which to begin reading.</param>
515 <param name="count">The maximum number of bytes to read.</param>
516 <param name="callback">The method to call when the asynchronous read operation is completed.</param>
517 <param name="state">A user-provided object that distinguishes this particular asynchronous read request from other requests.</param>
518 <returns>An <see cref="System.IAsyncResult"></see> object that references the asynchronous read.</returns>
519 <exception cref="T:System.ArgumentNullException"><paramref name="buffer">buffer</paramref> is null.</exception>
520 <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="offset">offset</paramref> is less than 0.
522 <paramref name="count">count</paramref> is less than 0.</exception>
523 <exception cref="T:System.ArgumentException"><paramref name="count">count</paramref> is greater than the number of bytes available in <paramref name="buffer">buffer</paramref>.</exception>
524 <exception cref="T:System.ObjectDisposedException">The pipe is closed.</exception>
525 <exception cref="T:System.NotSupportedException">The pipe does not support read operations.</exception>
526 <exception cref="T:System.InvalidOperationException">The pipe is disconnected, waiting to connect, or the handle has not been set.</exception>
527 <exception cref="T:System.IO.IOException">The pipe is broken or another I/O error occurred.</exception>
529 <member name="M:System.IO.Pipes.PipeStream.BeginWrite(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object)">
530 <summary>Begins an asynchronous write operation.</summary>
531 <param name="buffer">The buffer that contains the data to write to the current stream.</param>
532 <param name="offset">The zero-based byte offset in buffer at which to begin copying bytes to the current stream.</param>
533 <param name="count">The maximum number of bytes to write.</param>
534 <param name="callback">The method to call when the asynchronous write operation is completed.</param>
535 <param name="state">A user-provided object that distinguishes this particular asynchronous write request from other requests.</param>
536 <returns>An <see cref="System.IAsyncResult"></see> object that references the asynchronous write operation.</returns>
537 <exception cref="T:System.ArgumentNullException"><paramref name="buffer">buffer</paramref> is null.</exception>
538 <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="offset">offset</paramref> is less than 0.
540 <paramref name="count">count</paramref> is less than 0.</exception>
541 <exception cref="T:System.ArgumentException"><paramref name="count">count</paramref> is greater than the number of bytes available in <paramref name="buffer">buffer</paramref>.</exception>
542 <exception cref="T:System.ObjectDisposedException">The pipe is closed.</exception>
543 <exception cref="T:System.NotSupportedException">The pipe does not support write operations.</exception>
544 <exception cref="T:System.InvalidOperationException">The pipe is disconnected, waiting to connect, or the handle has not been set.</exception>
545 <exception cref="T:System.IO.IOException">The pipe is broken or another I/O error occurred.</exception>
547 <member name="P:System.IO.Pipes.PipeStream.CanRead">
548 <summary>Gets a value indicating whether the current stream supports read operations.</summary>
549 <returns>true if the stream supports read operations; otherwise, false.</returns>
551 <member name="P:System.IO.Pipes.PipeStream.CanSeek">
552 <summary>Gets a value indicating whether the current stream supports seek operations.</summary>
553 <returns>false in all cases.</returns>
555 <member name="P:System.IO.Pipes.PipeStream.CanWrite">
556 <summary>Gets a value indicating whether the current stream supports write operations.</summary>
557 <returns>true if the stream supports write operations; otherwise, false.</returns>
559 <member name="M:System.IO.Pipes.PipeStream.CheckPipePropertyOperations">
560 <summary>Verifies that the pipe is in a proper state for getting or setting properties.</summary>
562 <member name="M:System.IO.Pipes.PipeStream.CheckReadOperations">
563 <summary>Verifies that the pipe is in a connected state for read operations.</summary>
565 <member name="M:System.IO.Pipes.PipeStream.CheckWriteOperations">
566 <summary>Verifies that the pipe is in a connected state for write operations.</summary>
568 <member name="M:System.IO.Pipes.PipeStream.Dispose(System.Boolean)">
569 <summary>Releases the unmanaged resources used by the <see cref="T:System.IO.Pipes.PipeStream"></see> class and optionally releases the managed resources.</summary>
570 <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
572 <member name="M:System.IO.Pipes.PipeStream.EndRead(System.IAsyncResult)">
573 <summary>Ends a pending asynchronous read request.</summary>
574 <param name="asyncResult">The reference to the pending asynchronous request.</param>
575 <returns>The number of bytes that were read. A return value of 0 indicates the end of the stream (the pipe has been closed).</returns>
576 <exception cref="T:System.ArgumentNullException"><paramref name="asyncResult">asyncResult</paramref> is null.</exception>
577 <exception cref="T:System.ArgumentException"><paramref name="asyncResult">asyncResult</paramref> did not originate from a <see cref="System.IO.Pipes.PipeStream.BeginRead(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object)"></see> method on the current stream.</exception>
578 <exception cref="T:System.IO.IOException">The stream is closed or an internal error has occurred.</exception>
580 <member name="M:System.IO.Pipes.PipeStream.EndWrite(System.IAsyncResult)">
581 <summary>Ends a pending asynchronous write request.</summary>
582 <param name="asyncResult">The reference to the pending asynchronous request.</param>
583 <exception cref="T:System.ArgumentNullException"><paramref name="asyncResult">asyncResult</paramref> is null.</exception>
584 <exception cref="T:System.ArgumentException"><paramref name="asyncResult">asyncResult</paramref> did not originate from a <see cref="System.IO.Pipes.PipeStream.BeginWrite(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object)"></see> method on the current stream.</exception>
585 <exception cref="T:System.IO.IOException">The stream is closed or an internal error has occurred.</exception>
587 <member name="M:System.IO.Pipes.PipeStream.Flush">
588 <summary>Clears the buffer for the current stream and causes any buffered data to be written to the underlying device.</summary>
589 <exception cref="T:System.ObjectDisposedException">The pipe is closed.</exception>
590 <exception cref="T:System.NotSupportedException">The pipe does not support write operations.</exception>
591 <exception cref="T:System.IO.IOException">The pipe is broken or another I/O error occurred.</exception>
593 <member name="P:System.IO.Pipes.PipeStream.InBufferSize">
594 <summary>Gets the size, in bytes, of the inbound buffer for a pipe.</summary>
595 <returns>An integer value that represents the inbound buffer size, in bytes.</returns>
596 <exception cref="T:System.NotSupportedException">The stream is unreadable.</exception>
597 <exception cref="T:System.InvalidOperationException">The pipe is waiting to connect.</exception>
598 <exception cref="T:System.IO.IOException">The pipe is broken or another I/O error occurred.</exception>
600 <member name="M:System.IO.Pipes.PipeStream.InitializeHandle(Microsoft.Win32.SafeHandles.SafePipeHandle,System.Boolean,System.Boolean)">
601 <summary>Initializes a <see cref="T:System.IO.Pipes.PipeStream"></see> object from the specified <see cref="T:Microsoft.Win32.SafeHandles.SafePipeHandle"></see> object.</summary>
602 <param name="handle">The <see cref="T:Microsoft.Win32.SafeHandles.SafePipeHandle"></see> object of the pipe to initialize.</param>
603 <param name="isExposed">true to expose the handle; otherwise, false.</param>
604 <param name="isAsync">true to indicate that the handle was opened asynchronously; otherwise, false.</param>
605 <exception cref="T:System.IO.IOException">A handle cannot be bound to the pipe.</exception>
607 <member name="P:System.IO.Pipes.PipeStream.IsAsync">
608 <summary>Gets a value indicating whether a <see cref="T:System.IO.Pipes.PipeStream"></see> object was opened asynchronously or synchronously.</summary>
609 <returns>true if the <see cref="System.IO.Pipes.PipeStream"></see> object was opened asynchronously; otherwise, false.</returns>
611 <member name="P:System.IO.Pipes.PipeStream.IsConnected">
612 <summary>Gets or sets a value indicating whether a <see cref="T:System.IO.Pipes.PipeStream"></see> object is connected.</summary>
613 <returns>true if the <see cref="System.IO.Pipes.PipeStream"></see> object is connected; otherwise, false.</returns>
615 <member name="P:System.IO.Pipes.PipeStream.IsHandleExposed">
616 <summary>Gets a value indicating whether a handle to a <see cref="T:System.IO.Pipes.PipeStream"></see> object is exposed.</summary>
617 <returns>true if a handle to the <see cref="System.IO.Pipes.PipeStream"></see> object is exposed; otherwise, false.</returns>
619 <member name="P:System.IO.Pipes.PipeStream.IsMessageComplete">
620 <summary>Gets a value indicating whether there is more data in the message returned from the most recent read operation.</summary>
621 <returns>true if there are no more characters to read in the message; otherwise, false.</returns>
622 <exception cref="T:System.InvalidOperationException">The pipe is not connected.
624 The pipe handle has not been set.
626 The pipe&#39;s <see cref="System.IO.Pipes.PipeStream.ReadMode"></see> property value is not <see cref="System.IO.Pipes.PipeTransmissionMode.Message"></see>.</exception>
627 <exception cref="T:System.ObjectDisposedException">The pipe is closed.</exception>
629 <member name="P:System.IO.Pipes.PipeStream.Length">
630 <summary>Gets the length of a stream, in bytes.</summary>
631 <returns>0 in all cases.</returns>
632 <exception cref="T:System.NotSupportedException">Always thrown.</exception>
634 <member name="P:System.IO.Pipes.PipeStream.OutBufferSize">
635 <summary>Gets the size, in bytes, of the outbound buffer for a pipe.</summary>
636 <returns>The outbound buffer size, in bytes.</returns>
637 <exception cref="T:System.NotSupportedException">The stream is unwriteable.</exception>
638 <exception cref="T:System.InvalidOperationException">The pipe is waiting to connect.</exception>
639 <exception cref="T:System.IO.IOException">The pipe is broken or another I/O error occurred.</exception>
641 <member name="P:System.IO.Pipes.PipeStream.Position">
642 <summary>Gets or sets the current position of the current stream.</summary>
643 <returns>0 in all cases.</returns>
644 <exception cref="T:System.NotSupportedException">Always thrown.</exception>
646 <member name="M:System.IO.Pipes.PipeStream.Read(System.Byte[],System.Int32,System.Int32)">
647 <summary>Reads a block of bytes from a stream and writes the data to a specified buffer.</summary>
648 <param name="buffer">When this method returns, contains the specified byte array with the values between offset and (offset + count - 1) replaced by the bytes read from the current source.</param>
649 <param name="offset">The byte offset in the buffer array at which the bytes that are read will be placed.</param>
650 <param name="count">The maximum number of bytes to read.</param>
651 <returns>The total number of bytes that are read into <paramref name="buffer">buffer</paramref>. This might be less than the number of bytes requested if that number of bytes is not currently available, or 0 if the end of the stream is reached.</returns>
652 <exception cref="T:System.ArgumentNullException"><paramref name="buffer">buffer</paramref> is null.</exception>
653 <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="offset">offset</paramref> is less than 0.
655 <paramref name="count">count</paramref> is less than 0.</exception>
656 <exception cref="T:System.ArgumentException"><paramref name="count">count</paramref> is greater than the number of bytes available in <paramref name="buffer">buffer</paramref>.</exception>
657 <exception cref="T:System.ObjectDisposedException">The pipe is closed.</exception>
658 <exception cref="T:System.NotSupportedException">The pipe does not support read operations.</exception>
659 <exception cref="T:System.InvalidOperationException">The pipe is disconnected, waiting to connect, or the handle has not been set.</exception>
660 <exception cref="T:System.IO.IOException">Any I/O error occurred.</exception>
662 <member name="M:System.IO.Pipes.PipeStream.ReadAsync(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)">
663 <param name="buffer"></param>
664 <param name="offset"></param>
665 <param name="count"></param>
666 <param name="cancellationToken"></param>
669 <member name="M:System.IO.Pipes.PipeStream.ReadByte">
670 <summary>Reads a byte from a pipe.</summary>
671 <returns>The byte, cast to <see cref="System.Int32"></see>, or -1 indicates the end of the stream (the pipe has been closed).</returns>
672 <exception cref="T:System.ObjectDisposedException">The pipe is closed.</exception>
673 <exception cref="T:System.NotSupportedException">The pipe does not support read operations.</exception>
674 <exception cref="T:System.InvalidOperationException">The pipe is disconnected, waiting to connect, or the handle has not been set.</exception>
675 <exception cref="T:System.IO.IOException">Any I/O error occurred.</exception>
677 <member name="P:System.IO.Pipes.PipeStream.ReadMode">
678 <summary>Gets or sets the reading mode for a <see cref="T:System.IO.Pipes.PipeStream"></see> object.</summary>
679 <returns>One of the <see cref="System.IO.Pipes.PipeTransmissionMode"></see> values that indicates how the <see cref="System.IO.Pipes.PipeStream"></see> object reads from the pipe.</returns>
680 <exception cref="T:System.ArgumentOutOfRangeException">The supplied value is not a valid <see cref="System.IO.Pipes.PipeTransmissionMode"></see> value.</exception>
681 <exception cref="T:System.NotSupportedException">The supplied value is not a supported <see cref="System.IO.Pipes.PipeTransmissionMode"></see> value for this pipe stream.</exception>
682 <exception cref="T:System.InvalidOperationException">The handle has not been set.
684 The pipe is waiting to connect with a named client.</exception>
685 <exception cref="T:System.IO.IOException">The pipe is broken or an I/O error occurred with a named client.</exception>
687 <member name="P:System.IO.Pipes.PipeStream.SafePipeHandle">
688 <summary>Gets the safe handle for the local end of the pipe that the current <see cref="T:System.IO.Pipes.PipeStream"></see> object encapsulates.</summary>
689 <returns>A <see cref="Microsoft.Win32.SafeHandles.SafePipeHandle"></see> object for the pipe that is encapsulated by the current <see cref="System.IO.Pipes.PipeStream"></see> object.</returns>
690 <exception cref="T:System.InvalidOperationException">The pipe handle has not been set.</exception>
691 <exception cref="T:System.ObjectDisposedException">The pipe is closed.</exception>
693 <member name="M:System.IO.Pipes.PipeStream.Seek(System.Int64,System.IO.SeekOrigin)">
694 <summary>Sets the current position of the current stream to the specified value.</summary>
695 <param name="offset">The point, relative to origin, to begin seeking from.</param>
696 <param name="origin">Specifies the beginning, the end, or the current position as a reference point for offset, using a value of type <see cref="T:System.IO.SeekOrigin"></see>.</param>
697 <returns>The new position in the stream.</returns>
699 <member name="M:System.IO.Pipes.PipeStream.SetLength(System.Int64)">
700 <summary>Sets the length of the current stream to the specified value.</summary>
701 <param name="value">The new length of the stream.</param>
703 <member name="P:System.IO.Pipes.PipeStream.TransmissionMode">
704 <summary>Gets the pipe transmission mode supported by the current pipe.</summary>
705 <returns>One of the <see cref="System.IO.Pipes.PipeTransmissionMode"></see> values that indicates the transmission mode supported by the current pipe.</returns>
706 <exception cref="T:System.ObjectDisposedException">The pipe is closed.</exception>
707 <exception cref="T:System.InvalidOperationException">The handle has not been set.
709 The pipe is waiting to connect in an anonymous client/server operation or with a named client.</exception>
710 <exception cref="T:System.IO.IOException">The pipe is broken or another I/O error occurred.</exception>
712 <member name="M:System.IO.Pipes.PipeStream.WaitForPipeDrain">
713 <summary>Waits for the other end of the pipe to read all sent bytes.</summary>
714 <exception cref="T:System.ObjectDisposedException">The pipe is closed.</exception>
715 <exception cref="T:System.NotSupportedException">The pipe does not support write operations.</exception>
716 <exception cref="T:System.IO.IOException">The pipe is broken or another I/O error occurred.</exception>
718 <member name="M:System.IO.Pipes.PipeStream.Write(System.Byte[],System.Int32,System.Int32)">
719 <summary>Writes a block of bytes to the current stream using data from a buffer.</summary>
720 <param name="buffer">The buffer that contains data to write to the pipe.</param>
721 <param name="offset">The zero-based byte offset in buffer at which to begin copying bytes to the current stream.</param>
722 <param name="count">The maximum number of bytes to write to the current stream.</param>
723 <exception cref="T:System.ArgumentNullException"><paramref name="buffer">buffer</paramref> is null.</exception>
724 <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="offset">offset</paramref> is less than 0.
726 <paramref name="count">count</paramref> is less than 0.</exception>
727 <exception cref="T:System.ArgumentException"><paramref name="count">count</paramref> is greater than the number of bytes available in <paramref name="buffer">buffer</paramref>.</exception>
728 <exception cref="T:System.ObjectDisposedException">The pipe is closed.</exception>
729 <exception cref="T:System.NotSupportedException">The pipe does not support write operations.</exception>
730 <exception cref="T:System.IO.IOException">The pipe is broken or another I/O error occurred.</exception>
732 <member name="M:System.IO.Pipes.PipeStream.WriteAsync(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)">
733 <param name="buffer"></param>
734 <param name="offset"></param>
735 <param name="count"></param>
736 <param name="cancellationToken"></param>
739 <member name="M:System.IO.Pipes.PipeStream.WriteByte(System.Byte)">
740 <summary>Writes a byte to the current stream.</summary>
741 <param name="value">The byte to write to the stream.</param>
742 <exception cref="T:System.ObjectDisposedException">The pipe is closed.</exception>
743 <exception cref="T:System.NotSupportedException">The pipe does not support write operations.</exception>
744 <exception cref="T:System.InvalidOperationException">The pipe is disconnected, waiting to connect, or the handle has not been set.</exception>
745 <exception cref="T:System.IO.IOException">The pipe is broken or another I/O error occurred.</exception>
747 <member name="T:System.IO.Pipes.PipeStreamImpersonationWorker">
748 <summary>Represents the method to call as the client.</summary>
750 <member name="T:System.IO.Pipes.PipeTransmissionMode">
751 <summary>Specifies the transmission mode of the pipe.</summary>
753 <member name="F:System.IO.Pipes.PipeTransmissionMode.Byte">
754 <summary>Indicates that data in the pipe is transmitted and read as a stream of bytes.</summary>
757 <member name="F:System.IO.Pipes.PipeTransmissionMode.Message">
758 <summary>Indicates that data in the pipe is transmitted and read as a stream of messages.</summary>
761 <member name="T:Microsoft.Win32.SafeHandles.SafePipeHandle">
762 <summary>Represents a wrapper class for a pipe handle.</summary>
764 <member name="M:Microsoft.Win32.SafeHandles.SafePipeHandle.#ctor(System.IntPtr,System.Boolean)">
765 <summary>Initializes a new instance of the <see cref="T:Microsoft.Win32.SafeHandles.SafePipeHandle"></see> class.</summary>
766 <param name="preexistingHandle">An <see cref="T:System.IntPtr"></see> object that represents the pre-existing handle to use.</param>
767 <param name="ownsHandle">true to reliably release the handle during the finalization phase; false to prevent reliable release (not recommended).</param>
769 <member name="P:Microsoft.Win32.SafeHandles.SafePipeHandle.IsInvalid">