<?xml version="1.0" encoding="utf-8"?>
<Type Name="BinaryClientFormatterSink" FullName="System.Runtime.Remoting.Channels.BinaryClientFormatterSink">
  <TypeSignature Language="C#" Maintainer="auto" Value="public class BinaryClientFormatterSink : System.Runtime.Remoting.Channels.IClientFormatterSink" />
  <AssemblyInfo>
    <AssemblyName>System.Runtime.Remoting</AssemblyName>
    <AssemblyPublicKey>[00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00]</AssemblyPublicKey>
    <AssemblyVersion>1.0.3300.0</AssemblyVersion>
    <AssemblyVersion>1.0.5000.0</AssemblyVersion>
    <AssemblyVersion>2.0.0.0</AssemblyVersion>
  </AssemblyInfo>
  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the &lt;link location="node:gtk-sharp/programming/threads"&gt;Gtk# Thread Programming&lt;/link&gt; for details.</ThreadSafetyStatement>
  <Base>
    <BaseTypeName>System.Object</BaseTypeName>
  </Base>
  <Interfaces>
    <Interface>
      <InterfaceName>System.Runtime.Remoting.Channels.IClientFormatterSink</InterfaceName>
    </Interface>
  </Interfaces>
  <Docs>
    <remarks>
      <attribution license="cc4" from="Microsoft" modified="false" />
      <para>The function of the formatter sink is to generate the necessary headers and serialize the message to the stream. After the formatter sink, the <see cref="T:System.Runtime.Remoting.Messaging.IMessage" /> is forwarded to all sinks in the chain through the <see cref="M:System.Runtime.Remoting.Channels.IClientChannelSink.ProcessMessage(System.Runtime.Remoting.Messaging.IMessage,System.Runtime.Remoting.Channels.ITransportHeaders,System.IO.Stream,System.Runtime.Remoting.Channels.ITransportHeaders@,System.IO.Stream@)" /> or <see cref="M:System.Runtime.Remoting.Channels.IClientChannelSink.AsyncProcessRequest(System.Runtime.Remoting.Channels.IClientChannelSinkStack,System.Runtime.Remoting.Messaging.IMessage,System.Runtime.Remoting.Channels.ITransportHeaders,System.IO.Stream)" /> calls. At this stage the message has already been serialized and is provided as information only. Sinks that need to create or modify the message must be placed in the sink chain before the formatter. This is easily achieved by implementing the <see cref="T:System.Runtime.Remoting.Channels.IClientFormatterSink" /> interface, which gives the impression of having a reference to the formatter sink. The real formatter sink can then be placed later in the sink chain.</para>
      <list type="table">
        <listheader>
          <item>
            <term>
              <para>Property </para>
            </term>
            <description>
              <para>Description </para>
            </description>
          </item>
        </listheader>
        <item>
          <term>
            <para>includeVersions </para>
          </term>
          <description>
            <para>Specifies whether the formatter will include versioning information. Values are true or false.</para>
          </description>
        </item>
      </list>
      <block subset="none" type="note">
        <para>Using an instance of this object with untrusted data or across an unsecure channel is a security risk. Use this object only with trusted data and across a secure channel. For more information, see <see cref="http://go.microsoft.com/fwlink/?LinkId=330378">Untrusted Data Security Risks</see>.</para>
      </block>
    </remarks>
    <summary>
      <attribution license="cc4" from="Microsoft" modified="false" />
      <para>Provides the implementation for a client formatter sink that uses the <see cref="T:System.Runtime.Serialization.Formatters.Binary.BinaryFormatter" />.</para>
    </summary>
  </Docs>
  <Members>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public BinaryClientFormatterSink (System.Runtime.Remoting.Channels.IClientChannelSink nextSink);" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters>
        <Parameter Name="nextSink" Type="System.Runtime.Remoting.Channels.IClientChannelSink" />
      </Parameters>
      <Docs>
        <remarks>To be added</remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Initializes a new instance of the <see cref="T:System.Runtime.Remoting.Channels.BinaryClientFormatterSink" /> class.</para>
        </summary>
        <param name="nextSink">
          <attribution license="cc4" from="Microsoft" modified="false" />The next <see cref="T:System.Runtime.Remoting.Channels.IClientChannelSink" /> in the sink chain. </param>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="AsyncProcessMessage">
      <MemberSignature Language="C#" Value="public System.Runtime.Remoting.Messaging.IMessageCtrl AsyncProcessMessage (System.Runtime.Remoting.Messaging.IMessage msg, System.Runtime.Remoting.Messaging.IMessageSink replySink);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Runtime.Remoting.Messaging.IMessageCtrl</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="msg" Type="System.Runtime.Remoting.Messaging.IMessage" />
        <Parameter Name="replySink" Type="System.Runtime.Remoting.Messaging.IMessageSink" />
      </Parameters>
      <Docs>
        <remarks>To be added</remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Asynchronously processes the provided message.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>A <see cref="T:System.Runtime.Remoting.Messaging.IMessageCtrl" /> that provides a way to control the asynchronous message after it has been dispatched.</para>
        </returns>
        <param name="msg">
          <attribution license="cc4" from="Microsoft" modified="false" />The message to process. </param>
        <param name="replySink">
          <attribution license="cc4" from="Microsoft" modified="false" />The sink that will receive the reply to the provided message. </param>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="AsyncProcessRequest">
      <MemberSignature Language="C#" Value="public void AsyncProcessRequest (System.Runtime.Remoting.Channels.IClientChannelSinkStack sinkStack, System.Runtime.Remoting.Messaging.IMessage msg, System.Runtime.Remoting.Channels.ITransportHeaders headers, System.IO.Stream stream);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="sinkStack" Type="System.Runtime.Remoting.Channels.IClientChannelSinkStack" />
        <Parameter Name="msg" Type="System.Runtime.Remoting.Messaging.IMessage" />
        <Parameter Name="headers" Type="System.Runtime.Remoting.Channels.ITransportHeaders" />
        <Parameter Name="stream" Type="System.IO.Stream" />
      </Parameters>
      <Docs>
        <remarks>To be added</remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Requests asynchronous processing of a method call on the current sink.</para>
        </summary>
        <param name="sinkStack">
          <attribution license="cc4" from="Microsoft" modified="false" />A stack of channel sinks that called the current sink. </param>
        <param name="msg">
          <attribution license="cc4" from="Microsoft" modified="false" />The message to process. </param>
        <param name="headers">
          <attribution license="cc4" from="Microsoft" modified="false" />The headers to add to the outgoing message that is heading to the server. </param>
        <param name="stream">
          <attribution license="cc4" from="Microsoft" modified="false" />The stream that is headed toward the transport sink. </param>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="AsyncProcessResponse">
      <MemberSignature Language="C#" Value="public void AsyncProcessResponse (System.Runtime.Remoting.Channels.IClientResponseChannelSinkStack sinkStack, object state, System.Runtime.Remoting.Channels.ITransportHeaders headers, System.IO.Stream stream);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="sinkStack" Type="System.Runtime.Remoting.Channels.IClientResponseChannelSinkStack" />
        <Parameter Name="state" Type="System.Object" />
        <Parameter Name="headers" Type="System.Runtime.Remoting.Channels.ITransportHeaders" />
        <Parameter Name="stream" Type="System.IO.Stream" />
      </Parameters>
      <Docs>
        <remarks>To be added</remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Requests asynchronous processing of a response to a method call on the current sink.</para>
        </summary>
        <param name="sinkStack">
          <attribution license="cc4" from="Microsoft" modified="false" />A stack of sinks that called the current sink. </param>
        <param name="state">
          <attribution license="cc4" from="Microsoft" modified="false" />Information that is associated with the current sink, generated on the request side and needed on the response side. </param>
        <param name="headers">
          <attribution license="cc4" from="Microsoft" modified="false" />The headers that are retrieved from the server response stream. </param>
        <param name="stream">
          <attribution license="cc4" from="Microsoft" modified="false" />The stream that is coming back from the transport sink. </param>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="GetRequestStream">
      <MemberSignature Language="C#" Value="public System.IO.Stream GetRequestStream (System.Runtime.Remoting.Messaging.IMessage msg, System.Runtime.Remoting.Channels.ITransportHeaders headers);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.IO.Stream</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="msg" Type="System.Runtime.Remoting.Messaging.IMessage" />
        <Parameter Name="headers" Type="System.Runtime.Remoting.Channels.ITransportHeaders" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The <see cref="M:System.Runtime.Remoting.Channels.BinaryClientFormatterSink.GetRequestStream(System.Runtime.Remoting.Messaging.IMessage,System.Runtime.Remoting.Channels.ITransportHeaders)" /> method is called by the formatter sink before it serializes the message.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Returns the <see cref="T:System.IO.Stream" /> onto which the provided message is to be serialized.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The <see cref="T:System.IO.Stream" /> onto which the provided message is to be serialized.</para>
        </returns>
        <param name="msg">
          <attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.Runtime.Remoting.Messaging.IMethodCallMessage" /> that contains details about the method call. </param>
        <param name="headers">
          <attribution license="cc4" from="Microsoft" modified="false" />The headers to add to the outgoing message that is heading to the server. </param>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="NextChannelSink">
      <MemberSignature Language="C#" Value="public System.Runtime.Remoting.Channels.IClientChannelSink NextChannelSink { get; }" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Runtime.Remoting.Channels.IClientChannelSink</ReturnType>
      </ReturnValue>
      <Docs>
        <value>To be added: an object of type 'IClientChannelSink'</value>
        <remarks>To be added</remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets the next <see cref="T:System.Runtime.Remoting.Channels.IClientChannelSink" /> in the sink chain.</para>
        </summary>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="NextSink">
      <MemberSignature Language="C#" Value="public System.Runtime.Remoting.Messaging.IMessageSink NextSink { get; }" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Runtime.Remoting.Messaging.IMessageSink</ReturnType>
      </ReturnValue>
      <Docs>
        <value>To be added: an object of type 'Runtime.Remoting.Messaging.IMessageSink'</value>
        <remarks>To be added</remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets the next <see cref="T:System.Runtime.Remoting.Messaging.IMessageSink" /> in the sink chain.</para>
        </summary>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="ProcessMessage">
      <MemberSignature Language="C#" Value="public void ProcessMessage (System.Runtime.Remoting.Messaging.IMessage msg, System.Runtime.Remoting.Channels.ITransportHeaders requestHeaders, System.IO.Stream requestStream, out System.Runtime.Remoting.Channels.ITransportHeaders responseHeaders, out System.IO.Stream responseStream);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="msg" Type="System.Runtime.Remoting.Messaging.IMessage" />
        <Parameter Name="requestHeaders" Type="System.Runtime.Remoting.Channels.ITransportHeaders" />
        <Parameter Name="requestStream" Type="System.IO.Stream" />
        <Parameter Name="responseHeaders" Type="System.Runtime.Remoting.Channels.ITransportHeaders&amp;" RefType="out" />
        <Parameter Name="responseStream" Type="System.IO.Stream&amp;" RefType="out" />
      </Parameters>
      <Docs>
        <param name="msg">To be added: an object of type 'Runtime.Remoting.Messaging.IMessage'</param>
        <param name="requestHeaders">To be added: an object of type 'ITransportHeaders'</param>
        <param name="requestStream">To be added: an object of type 'IO.Stream'</param>
        <param name="responseHeaders">To be added: an object of type 'ITransportHeaders&amp;'</param>
        <param name="responseStream">To be added: an object of type 'IO.Stream&amp;'</param>
        <summary>To be added</summary>
        <remarks>To be added</remarks>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="Properties">
      <MemberSignature Language="C#" Value="public System.Collections.IDictionary Properties { get; }" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Collections.IDictionary</ReturnType>
      </ReturnValue>
      <Docs>
        <value>To be added: an object of type 'Collections.IDictionary'</value>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>For more information, see <format type="text/html"><a href="226ECF74-EBBD-4EA0-A701-DCF4441DEEFE">[&lt;topic://cpconchannelformatterconfigurationproperties&gt;]</a></format>.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets a <see cref="T:System.Collections.IDictionary" /> of properties for the current channel sink.</para>
        </summary>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="SyncProcessMessage">
      <MemberSignature Language="C#" Value="public System.Runtime.Remoting.Messaging.IMessage SyncProcessMessage (System.Runtime.Remoting.Messaging.IMessage msg);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Runtime.Remoting.Messaging.IMessage</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="msg" Type="System.Runtime.Remoting.Messaging.IMessage" />
      </Parameters>
      <Docs>
        <remarks>To be added</remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Synchronously processes the provided message.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The response to the processed message.</para>
        </returns>
        <param name="msg">
          <attribution license="cc4" from="Microsoft" modified="false" />The message to process. </param>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
  </Members>
</Type>