AnonymousPipeServerStream.xml 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Type Name="AnonymousPipeServerStream" FullName="System.IO.Pipes.AnonymousPipeServerStream">
  3. <TypeSignature Language="C#" Value="public sealed class AnonymousPipeServerStream : System.IO.Pipes.PipeStream" />
  4. <TypeSignature Language="ILAsm" Value=".class public auto ansi sealed beforefieldinit AnonymousPipeServerStream extends System.IO.Pipes.PipeStream" />
  5. <AssemblyInfo>
  6. <AssemblyName>System.Core</AssemblyName>
  7. <AssemblyVersion>4.0.0.0</AssemblyVersion>
  8. </AssemblyInfo>
  9. <Base>
  10. <BaseTypeName>System.IO.Pipes.PipeStream</BaseTypeName>
  11. </Base>
  12. <Interfaces />
  13. <Attributes>
  14. <Attribute>
  15. <AttributeName>System.MonoTODO("Anonymous pipes are not working even on win32, due to some access authorization issue")</AttributeName>
  16. </Attribute>
  17. </Attributes>
  18. <Docs>
  19. <remarks>
  20. <attribution license="cc4" from="Microsoft" modified="false" />
  21. <para>Anonymous pipes help provide safe and secure interprocess communication between child and parent processes. The <see cref="T:System.IO.Pipes.AnonymousPipeServerStream" /> class enables a parent process to send or receive information from a child process.</para>
  22. <para>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 <see cref="T:System.IO.Pipes.PipeDirection" /> value of <see cref="F:System.IO.Pipes.PipeDirection.InOut" /> is not supported because anonymous pipes are defined to be one-way.</para>
  23. <para>Anonymous pipes do not support <see cref="F:System.IO.Pipes.PipeTransmissionMode.Message" /> read modes.</para>
  24. <para>The client side of an anonymous pipe must be created from a pipe handle provided by the server side by calling the <see cref="M:System.IO.Pipes.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 <see cref="T:System.IO.Pipes.AnonymousPipeClientStream" /> constructor as the <paramref name="pipeHandleAsString" /> parameter.</para>
  25. <para>The <see cref="T:System.IO.Pipes.AnonymousPipeServerStream" /> object must dispose the client handle using the <see cref="M:System.IO.Pipes.AnonymousPipeServerStream.DisposeLocalCopyOfClientHandle" /> method in order to be notified when the client exits.</para>
  26. <block subset="none" type="note">
  27. <para>For winxppro and win2kserver, a maximum of 10 pipes can simultaneously connect over the network.</para>
  28. </block>
  29. </remarks>
  30. <summary>
  31. <attribution license="cc4" from="Microsoft" modified="false" />
  32. <para>Exposes a stream around an anonymous pipe, which supports both synchronous and asynchronous read and write operations.</para>
  33. </summary>
  34. </Docs>
  35. <Members>
  36. <Member MemberName=".ctor">
  37. <MemberSignature Language="C#" Value="public AnonymousPipeServerStream ();" />
  38. <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" />
  39. <MemberType>Constructor</MemberType>
  40. <AssemblyInfo>
  41. <AssemblyVersion>4.0.0.0</AssemblyVersion>
  42. </AssemblyInfo>
  43. <Parameters />
  44. <Docs>
  45. <remarks>
  46. <attribution license="cc4" from="Microsoft" modified="false" />
  47. <para>For <see cref="T:System.IO.Pipes.AnonymousPipeServerStream" /> constructors without a <see cref="T:System.IO.Pipes.PipeDirection" /> parameter, the default direction is <see cref="F:System.IO.Pipes.PipeDirection.Out" />. A <see cref="T:System.IO.Pipes.PipeDirection" /> value of <see cref="F:System.IO.Pipes.PipeDirection.InOut" /> is not supported because anonymous pipes are defined to be one-way.</para>
  48. <para>This constructor creates an <see cref="T:System.IO.Pipes.AnonymousPipeServerStream" /> object that has the default buffer size, no pipe security, and a <see cref="T:System.IO.HandleInheritability" /> value of <see cref="F:System.IO.HandleInheritability.None" />.</para>
  49. </remarks>
  50. <summary>
  51. <attribution license="cc4" from="Microsoft" modified="false" />
  52. <para>Initializes a new instance of the <see cref="T:System.IO.Pipes.AnonymousPipeServerStream" /> class.</para>
  53. </summary>
  54. </Docs>
  55. </Member>
  56. <Member MemberName=".ctor">
  57. <MemberSignature Language="C#" Value="public AnonymousPipeServerStream (System.IO.Pipes.PipeDirection direction);" />
  58. <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(valuetype System.IO.Pipes.PipeDirection direction) cil managed" />
  59. <MemberType>Constructor</MemberType>
  60. <AssemblyInfo>
  61. <AssemblyVersion>4.0.0.0</AssemblyVersion>
  62. </AssemblyInfo>
  63. <Parameters>
  64. <Parameter Name="direction" Type="System.IO.Pipes.PipeDirection" />
  65. </Parameters>
  66. <Docs>
  67. <remarks>
  68. <attribution license="cc4" from="Microsoft" modified="false" />
  69. <para>A <see cref="T:System.IO.Pipes.PipeDirection" /> value of <see cref="F:System.IO.Pipes.PipeDirection.InOut" /> is not supported because anonymous pipes are defined to be one-way.</para>
  70. <para>This constructor creates an <see cref="T:System.IO.Pipes.AnonymousPipeServerStream" /> object that has the default buffer size, no pipe security, and a <see cref="T:System.IO.HandleInheritability" /> value of <see cref="F:System.IO.HandleInheritability.None" />.</para>
  71. </remarks>
  72. <summary>
  73. <attribution license="cc4" from="Microsoft" modified="false" />
  74. <para>Initializes a new instance of the <see cref="T:System.IO.Pipes.AnonymousPipeServerStream" /> class with the specified pipe direction.</para>
  75. </summary>
  76. <param name="direction">
  77. <attribution license="cc4" from="Microsoft" modified="false" />One of the enumeration values that determines the direction of the pipe.</param>
  78. </Docs>
  79. </Member>
  80. <Member MemberName=".ctor">
  81. <MemberSignature Language="C#" Value="public AnonymousPipeServerStream (System.IO.Pipes.PipeDirection direction, System.IO.HandleInheritability inheritability);" />
  82. <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(valuetype System.IO.Pipes.PipeDirection direction, valuetype System.IO.HandleInheritability inheritability) cil managed" />
  83. <MemberType>Constructor</MemberType>
  84. <AssemblyInfo>
  85. <AssemblyVersion>4.0.0.0</AssemblyVersion>
  86. </AssemblyInfo>
  87. <Parameters>
  88. <Parameter Name="direction" Type="System.IO.Pipes.PipeDirection" />
  89. <Parameter Name="inheritability" Type="System.IO.HandleInheritability" />
  90. </Parameters>
  91. <Docs>
  92. <remarks>
  93. <attribution license="cc4" from="Microsoft" modified="false" />
  94. <para>A <see cref="T:System.IO.Pipes.PipeDirection" /> value of <see cref="F:System.IO.Pipes.PipeDirection.InOut" /> is not supported because anonymous pipes are defined to be one-way.</para>
  95. <para>This constructor creates an <see cref="T:System.IO.Pipes.AnonymousPipeServerStream" /> object that has the default buffer size and no pipe security.</para>
  96. </remarks>
  97. <summary>
  98. <attribution license="cc4" from="Microsoft" modified="false" />
  99. <para>Initializes a new instance of the <see cref="T:System.IO.Pipes.AnonymousPipeServerStream" /> class with the specified pipe direction and inheritability mode.</para>
  100. </summary>
  101. <param name="direction">
  102. <attribution license="cc4" from="Microsoft" modified="false" />One of the enumeration values that determines the direction of the pipe.</param>
  103. <param name="inheritability">
  104. <attribution license="cc4" from="Microsoft" modified="false" />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" /> or <see cref="F:System.IO.HandleInheritability.Inheritable" />. </param>
  105. </Docs>
  106. </Member>
  107. <Member MemberName=".ctor">
  108. <MemberSignature Language="C#" Value="public AnonymousPipeServerStream (System.IO.Pipes.PipeDirection direction, Microsoft.Win32.SafeHandles.SafePipeHandle serverSafePipeHandle, Microsoft.Win32.SafeHandles.SafePipeHandle clientSafePipeHandle);" />
  109. <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(valuetype System.IO.Pipes.PipeDirection direction, class Microsoft.Win32.SafeHandles.SafePipeHandle serverSafePipeHandle, class Microsoft.Win32.SafeHandles.SafePipeHandle clientSafePipeHandle) cil managed" />
  110. <MemberType>Constructor</MemberType>
  111. <AssemblyInfo>
  112. <AssemblyVersion>4.0.0.0</AssemblyVersion>
  113. </AssemblyInfo>
  114. <Attributes>
  115. <Attribute>
  116. <AttributeName>System.MonoTODO</AttributeName>
  117. </Attribute>
  118. </Attributes>
  119. <Parameters>
  120. <Parameter Name="direction" Type="System.IO.Pipes.PipeDirection" />
  121. <Parameter Name="serverSafePipeHandle" Type="Microsoft.Win32.SafeHandles.SafePipeHandle" />
  122. <Parameter Name="clientSafePipeHandle" Type="Microsoft.Win32.SafeHandles.SafePipeHandle" />
  123. </Parameters>
  124. <Docs>
  125. <remarks>
  126. <attribution license="cc4" from="Microsoft" modified="false" />
  127. <para>A <see cref="T:System.IO.Pipes.PipeDirection" /> value of <see cref="F:System.IO.Pipes.PipeDirection.InOut" /> is not supported because anonymous pipes are defined to be one-way.</para>
  128. </remarks>
  129. <summary>
  130. <attribution license="cc4" from="Microsoft" modified="false" />
  131. <para>Initializes a new instance of the <see cref="T:System.IO.Pipes.AnonymousPipeServerStream" /> class from the specified pipe handles.</para>
  132. </summary>
  133. <param name="direction">
  134. <attribution license="cc4" from="Microsoft" modified="false" />One of the enumeration values that determines the direction of the pipe.</param>
  135. <param name="serverSafePipeHandle">
  136. <attribution license="cc4" from="Microsoft" modified="false" />A safe handle for the pipe that this <see cref="T:System.IO.Pipes.AnonymousPipeServerStream" /> object will encapsulate.</param>
  137. <param name="clientSafePipeHandle">
  138. <attribution license="cc4" from="Microsoft" modified="false" />A safe handle for the <see cref="T:System.IO.Pipes.AnonymousPipeClientStream" /> object.</param>
  139. </Docs>
  140. </Member>
  141. <Member MemberName=".ctor">
  142. <MemberSignature Language="C#" Value="public AnonymousPipeServerStream (System.IO.Pipes.PipeDirection direction, System.IO.HandleInheritability inheritability, int bufferSize);" />
  143. <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(valuetype System.IO.Pipes.PipeDirection direction, valuetype System.IO.HandleInheritability inheritability, int32 bufferSize) cil managed" />
  144. <MemberType>Constructor</MemberType>
  145. <AssemblyInfo>
  146. <AssemblyVersion>4.0.0.0</AssemblyVersion>
  147. </AssemblyInfo>
  148. <Parameters>
  149. <Parameter Name="direction" Type="System.IO.Pipes.PipeDirection" />
  150. <Parameter Name="inheritability" Type="System.IO.HandleInheritability" />
  151. <Parameter Name="bufferSize" Type="System.Int32" />
  152. </Parameters>
  153. <Docs>
  154. <remarks>
  155. <attribution license="cc4" from="Microsoft" modified="false" />
  156. <para>A <see cref="T:System.IO.Pipes.PipeDirection" /> value of <see cref="F:System.IO.Pipes.PipeDirection.InOut" /> is not supported because anonymous pipes are defined to be one-way.</para>
  157. <para>This constructor creates an <see cref="T:System.IO.Pipes.AnonymousPipeServerStream" /> object without pipe security.</para>
  158. </remarks>
  159. <summary>
  160. <attribution license="cc4" from="Microsoft" modified="false" />
  161. <para>Initializes a new instance of the <see cref="T:System.IO.Pipes.AnonymousPipeServerStream" /> class with the specified pipe direction, inheritability mode, and buffer size.</para>
  162. </summary>
  163. <param name="direction">
  164. <attribution license="cc4" from="Microsoft" modified="false" />One of the enumeration values that determines the direction of the pipe.</param>
  165. <param name="inheritability">
  166. <attribution license="cc4" from="Microsoft" modified="false" />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" /> or <see cref="F:System.IO.HandleInheritability.Inheritable" />.</param>
  167. <param name="bufferSize">
  168. <attribution license="cc4" from="Microsoft" modified="false" />The size of the buffer. This value must be greater than or equal to 0. </param>
  169. </Docs>
  170. </Member>
  171. <Member MemberName=".ctor">
  172. <MemberSignature Language="C#" Value="public AnonymousPipeServerStream (System.IO.Pipes.PipeDirection direction, System.IO.HandleInheritability inheritability, int bufferSize, System.IO.Pipes.PipeSecurity pipeSecurity);" />
  173. <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(valuetype System.IO.Pipes.PipeDirection direction, valuetype System.IO.HandleInheritability inheritability, int32 bufferSize, class System.IO.Pipes.PipeSecurity pipeSecurity) cil managed" />
  174. <MemberType>Constructor</MemberType>
  175. <AssemblyInfo>
  176. <AssemblyVersion>4.0.0.0</AssemblyVersion>
  177. </AssemblyInfo>
  178. <Parameters>
  179. <Parameter Name="direction" Type="System.IO.Pipes.PipeDirection" />
  180. <Parameter Name="inheritability" Type="System.IO.HandleInheritability" />
  181. <Parameter Name="bufferSize" Type="System.Int32" />
  182. <Parameter Name="pipeSecurity" Type="System.IO.Pipes.PipeSecurity" />
  183. </Parameters>
  184. <Docs>
  185. <remarks>
  186. <attribution license="cc4" from="Microsoft" modified="false" />
  187. <para>A <see cref="T:System.IO.Pipes.PipeDirection" /> value of <see cref="F:System.IO.Pipes.PipeDirection.InOut" /> is not supported because anonymous pipes are defined to be one-way.</para>
  188. </remarks>
  189. <summary>
  190. <attribution license="cc4" from="Microsoft" modified="false" />
  191. <para>Initializes a new instance of the <see cref="T:System.IO.Pipes.AnonymousPipeServerStream" /> class with the specified pipe direction, inheritability mode, buffer size, and pipe security.</para>
  192. </summary>
  193. <param name="direction">
  194. <attribution license="cc4" from="Microsoft" modified="false" />One of the enumeration values that determines the direction of the pipe.</param>
  195. <param name="inheritability">
  196. <attribution license="cc4" from="Microsoft" modified="false" />One of the enumeration values that determines whether the underlying handle can be inherited by child processes.</param>
  197. <param name="bufferSize">
  198. <attribution license="cc4" from="Microsoft" modified="false" />The size of the buffer. This value must be greater than or equal to 0. </param>
  199. <param name="pipeSecurity">
  200. <attribution license="cc4" from="Microsoft" modified="false" />An object that determines the access control and audit security for the pipe.</param>
  201. </Docs>
  202. </Member>
  203. <Member MemberName="ClientSafePipeHandle">
  204. <MemberSignature Language="C#" Value="public Microsoft.Win32.SafeHandles.SafePipeHandle ClientSafePipeHandle { get; }" />
  205. <MemberSignature Language="ILAsm" Value=".property instance class Microsoft.Win32.SafeHandles.SafePipeHandle ClientSafePipeHandle" />
  206. <MemberType>Property</MemberType>
  207. <AssemblyInfo>
  208. <AssemblyVersion>4.0.0.0</AssemblyVersion>
  209. </AssemblyInfo>
  210. <Attributes>
  211. <Attribute>
  212. <AttributeName>System.MonoTODO</AttributeName>
  213. </Attribute>
  214. </Attributes>
  215. <ReturnValue>
  216. <ReturnType>Microsoft.Win32.SafeHandles.SafePipeHandle</ReturnType>
  217. </ReturnValue>
  218. <Docs>
  219. <value>To be added.</value>
  220. <remarks>
  221. <attribution license="cc4" from="Microsoft" modified="false" />
  222. <para>The <see cref="M:System.IO.Pipes.AnonymousPipeServerStream.DisposeLocalCopyOfClientHandle" /> method should be called after a client handle has been passed to a client process. If this method is not called, the <see cref="T:System.IO.Pipes.AnonymousPipeServerStream" /> object will not receive notice when the client disposes of its <see cref="T:System.IO.Pipes.PipeStream" /> object.</para>
  223. </remarks>
  224. <summary>
  225. <attribution license="cc4" from="Microsoft" modified="false" />
  226. <para>Gets the safe handle for the <see cref="T:System.IO.Pipes.AnonymousPipeClientStream" /> object that is currently connected to the <see cref="T:System.IO.Pipes.AnonymousPipeServerStream" /> object.</para>
  227. </summary>
  228. </Docs>
  229. </Member>
  230. <Member MemberName="DisposeLocalCopyOfClientHandle">
  231. <MemberSignature Language="C#" Value="public void DisposeLocalCopyOfClientHandle ();" />
  232. <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void DisposeLocalCopyOfClientHandle() cil managed" />
  233. <MemberType>Method</MemberType>
  234. <AssemblyInfo>
  235. <AssemblyVersion>4.0.0.0</AssemblyVersion>
  236. </AssemblyInfo>
  237. <Attributes>
  238. <Attribute>
  239. <AttributeName>System.MonoTODO</AttributeName>
  240. </Attribute>
  241. </Attributes>
  242. <ReturnValue>
  243. <ReturnType>System.Void</ReturnType>
  244. </ReturnValue>
  245. <Parameters />
  246. <Docs>
  247. <remarks>
  248. <attribution license="cc4" from="Microsoft" modified="false" />
  249. <para>The <see cref="M:System.IO.Pipes.AnonymousPipeServerStream.DisposeLocalCopyOfClientHandle" /> method should be called after the client handle has been passed to the client. If this method is not called, the <see cref="T:System.IO.Pipes.AnonymousPipeServerStream" /> object will not receive notice when the client disposes of its <see cref="T:System.IO.Pipes.PipeStream" /> object.</para>
  250. </remarks>
  251. <summary>
  252. <attribution license="cc4" from="Microsoft" modified="false" />
  253. <para>Closes the local copy of the <see cref="T:System.IO.Pipes.AnonymousPipeClientStream" /> object's handle.</para>
  254. </summary>
  255. </Docs>
  256. </Member>
  257. <Member MemberName="GetClientHandleAsString">
  258. <MemberSignature Language="C#" Value="public string GetClientHandleAsString ();" />
  259. <MemberSignature Language="ILAsm" Value=".method public hidebysig instance string GetClientHandleAsString() cil managed" />
  260. <MemberType>Method</MemberType>
  261. <AssemblyInfo>
  262. <AssemblyVersion>4.0.0.0</AssemblyVersion>
  263. </AssemblyInfo>
  264. <ReturnValue>
  265. <ReturnType>System.String</ReturnType>
  266. </ReturnValue>
  267. <Parameters />
  268. <Docs>
  269. <remarks>
  270. <attribution license="cc4" from="Microsoft" modified="false" />
  271. <para>The <see cref="M:System.IO.Pipes.AnonymousPipeServerStream.DisposeLocalCopyOfClientHandle" /> method should be called after a client handle has been passed to a client process. If this method is not called, the <see cref="T:System.IO.Pipes.AnonymousPipeServerStream" /> object will not receive notice when the client disposes of its <see cref="T:System.IO.Pipes.PipeStream" /> object.</para>
  272. </remarks>
  273. <summary>
  274. <attribution license="cc4" from="Microsoft" modified="false" />
  275. <para>Gets the connected <see cref="T:System.IO.Pipes.AnonymousPipeClientStream" /> object's handle as a string.</para>
  276. </summary>
  277. <returns>
  278. <attribution license="cc4" from="Microsoft" modified="false" />
  279. <para>A string that represents the connected <see cref="T:System.IO.Pipes.AnonymousPipeClientStream" /> object's handle.</para>
  280. </returns>
  281. </Docs>
  282. </Member>
  283. <Member MemberName="ReadMode">
  284. <MemberSignature Language="C#" Value="public override System.IO.Pipes.PipeTransmissionMode ReadMode { set; }" />
  285. <MemberSignature Language="ILAsm" Value=".property instance valuetype System.IO.Pipes.PipeTransmissionMode ReadMode" />
  286. <MemberType>Property</MemberType>
  287. <AssemblyInfo>
  288. <AssemblyVersion>4.0.0.0</AssemblyVersion>
  289. </AssemblyInfo>
  290. <ReturnValue>
  291. <ReturnType>System.IO.Pipes.PipeTransmissionMode</ReturnType>
  292. </ReturnValue>
  293. <Docs>
  294. <value>To be added.</value>
  295. <remarks>
  296. <attribution license="cc4" from="Microsoft" modified="false" />
  297. <para>Anonymous pipes do not support <see cref="F:System.IO.Pipes.PipeTransmissionMode.Message" /> read mode.</para>
  298. </remarks>
  299. <summary>
  300. <attribution license="cc4" from="Microsoft" modified="false" />
  301. <para>Sets the reading mode for the <see cref="T:System.IO.Pipes.AnonymousPipeServerStream" /> object. For anonymous pipes, transmission mode must be <see cref="F:System.IO.Pipes.PipeTransmissionMode.Byte" />.</para>
  302. </summary>
  303. </Docs>
  304. </Member>
  305. <Member MemberName="TransmissionMode">
  306. <MemberSignature Language="C#" Value="public override System.IO.Pipes.PipeTransmissionMode TransmissionMode { get; }" />
  307. <MemberSignature Language="ILAsm" Value=".property instance valuetype System.IO.Pipes.PipeTransmissionMode TransmissionMode" />
  308. <MemberType>Property</MemberType>
  309. <AssemblyInfo>
  310. <AssemblyVersion>4.0.0.0</AssemblyVersion>
  311. </AssemblyInfo>
  312. <ReturnValue>
  313. <ReturnType>System.IO.Pipes.PipeTransmissionMode</ReturnType>
  314. </ReturnValue>
  315. <Docs>
  316. <value>To be added.</value>
  317. <remarks>
  318. <attribution license="cc4" from="Microsoft" modified="false" />
  319. <para>Anonymous pipes do not support <see cref="F:System.IO.Pipes.PipeTransmissionMode.Message" /> read mode.</para>
  320. </remarks>
  321. <summary>
  322. <attribution license="cc4" from="Microsoft" modified="false" />
  323. <para>Gets the pipe transmission mode that is supported by the current pipe.</para>
  324. </summary>
  325. </Docs>
  326. </Member>
  327. </Members>
  328. </Type>