613 lines
41 KiB
XML
Raw Normal View History

<?xml version="1.0" encoding="utf-8"?>
<Type Name="DeflateStream" FullName="System.IO.Compression.DeflateStream">
<TypeSignature Language="C#" Value="public class DeflateStream : System.IO.Stream" />
<TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit DeflateStream extends System.IO.Stream" />
<AssemblyInfo>
<AssemblyName>System</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Base>
<BaseTypeName>System.IO.Stream</BaseTypeName>
</Base>
<Interfaces />
<Docs>
<since version=".NET 2.0" />
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>This class represents the Deflate algorithm, which is an industry-standard algorithm for lossless file compression and decompression. Starting with the net_v45, the <see cref="T:System.IO.Compression.DeflateStream" /> class uses the zlib library. As a result, it provides a better compression algorithm and, in most cases, a smaller compressed file than it provides in earlier versions of the .NET Framework. </para>
<para>This class does not inherently provide functionality for adding files to or extracting files from zip archives. To work with zip archives, use the <see cref="T:System.IO.Compression.ZipArchive" /> and the <see cref="T:System.IO.Compression.ZipArchiveEntry" /> classes.</para>
<para>The <see cref="T:System.IO.Compression.DeflateStream" /> class uses the same compression algorithm as the gzip data format used by the <see cref="T:System.IO.Compression.GZipStream" /> class.</para>
<para>The compression functionality in <see cref="T:System.IO.Compression.DeflateStream" /> and <see cref="T:System.IO.Compression.GZipStream" /> is exposed as a stream. Data is read on a byte-by-byte basis, so it is not possible to perform multiple passes to determine the best method for compressing entire files or large blocks of data. The <see cref="T:System.IO.Compression.DeflateStream" /> and <see cref="T:System.IO.Compression.GZipStream" /> classes are best used on uncompressed sources of data. If the source data is already compressed, using these classes may actually increase the size of the stream.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Provides methods and properties for compressing and decompressing streams by using the Deflate algorithm.</para>
</summary>
</Docs>
<Members>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="public DeflateStream (System.IO.Stream stream, System.IO.Compression.CompressionLevel compressionLevel);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class System.IO.Stream stream, valuetype System.IO.Compression.CompressionLevel compressionLevel) cil managed" />
<MemberType>Constructor</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName>System.MonoTODO</AttributeName>
</Attribute>
</Attributes>
<Parameters>
<Parameter Name="stream" Type="System.IO.Stream" />
<Parameter Name="compressionLevel" Type="System.IO.Compression.CompressionLevel" />
</Parameters>
<Docs>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>You use this constructor when you want to specify whether compression efficiency or speed is more important for an instance of the <see cref="T:System.IO.Compression.DeflateStream" /> class.</para>
<para>This constructor overload uses the compression mode <see cref="F:System.IO.Compression.CompressionMode.Compress" />. To set the compression mode to another value, use the <see cref="M:System.IO.Compression.DeflateStream.#ctor(System.IO.Stream,System.IO.Compression.CompressionMode)" /> or <see cref="M:System.IO.Compression.DeflateStream.#ctor(System.IO.Stream,System.IO.Compression.CompressionMode,System.Boolean)" /> overload.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Initializes a new instance of the <see cref="T:System.IO.Compression.DeflateStream" /> class by using the specified stream and compression level.</para>
</summary>
<param name="stream">
<attribution license="cc4" from="Microsoft" modified="false" />The stream to compress.</param>
<param name="compressionLevel">
<attribution license="cc4" from="Microsoft" modified="false" />One of the enumeration values that indicates whether to emphasize speed or compression efficiency when compressing the stream.</param>
</Docs>
</Member>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="public DeflateStream (System.IO.Stream compressedStream, System.IO.Compression.CompressionMode mode);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class System.IO.Stream compressedStream, valuetype System.IO.Compression.CompressionMode mode) cil managed" />
<MemberType>Constructor</MemberType>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Parameters>
<Parameter Name="compressedStream" Type="System.IO.Stream" />
<Parameter Name="mode" Type="System.IO.Compression.CompressionMode" />
</Parameters>
<Docs>
<param name="compressedStream">To be added.</param>
<since version=".NET 2.0" />
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>By default, <see cref="T:System.IO.Compression.DeflateStream" /> owns the underlying stream, so closing the stream also closes the underlying stream. Note that the state of the underlying stream can affect the usability of the stream. Also, no explicit checks are performed, so no additional exceptions are thrown when the new instance is created.</para>
<para>If an instance of the <see cref="T:System.IO.Compression.DeflateStream" /> class is created with the <paramref name="mode" /> parameter equal to Compress, header information is inserted immediately. If no further action occurs, the stream appears as a valid, empty, compressed file. </para>
<para>Using the <see cref="T:System.IO.Compression.DeflateStream" /> class to compress a file larger than 4 GB raises an exception.</para>
<para>By default, the compression level is set to <see cref="F:System.IO.Compression.CompressionLevel.Optimal" /> when the compression mode is <see cref="F:System.IO.Compression.CompressionMode.Compress" />.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Initializes a new instance of the <see cref="T:System.IO.Compression.DeflateStream" /> class by using the specified stream and compression mode.</para>
</summary>
<param name="mode">
<attribution license="cc4" from="Microsoft" modified="false" />One of the enumeration values that indicates whether to compress or decompress the stream.</param>
</Docs>
</Member>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="public DeflateStream (System.IO.Stream stream, System.IO.Compression.CompressionLevel compressionLevel, bool leaveOpen);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class System.IO.Stream stream, valuetype System.IO.Compression.CompressionLevel compressionLevel, bool leaveOpen) cil managed" />
<MemberType>Constructor</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName>System.MonoTODO</AttributeName>
</Attribute>
</Attributes>
<Parameters>
<Parameter Name="stream" Type="System.IO.Stream" />
<Parameter Name="compressionLevel" Type="System.IO.Compression.CompressionLevel" />
<Parameter Name="leaveOpen" Type="System.Boolean" />
</Parameters>
<Docs>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>You use this constructor when you want to specify whether compression efficiency or speed is more important for an instance of the <see cref="T:System.IO.Compression.DeflateStream" /> class, and whether to leave the stream object open after disposing the <see cref="T:System.IO.Compression.DeflateStream" /> object.</para>
<para>This constructor overload uses the compression mode <see cref="F:System.IO.Compression.CompressionMode.Compress" />. To set the compression mode to another value, use the <see cref="M:System.IO.Compression.DeflateStream.#ctor(System.IO.Stream,System.IO.Compression.CompressionMode)" /> or <see cref="M:System.IO.Compression.DeflateStream.#ctor(System.IO.Stream,System.IO.Compression.CompressionMode,System.Boolean)" /> overload.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Initializes a new instance of the <see cref="T:System.IO.Compression.DeflateStream" /> class by using the specified stream and compression level, and optionally leaves the stream open.</para>
</summary>
<param name="stream">
<attribution license="cc4" from="Microsoft" modified="false" />The stream to compress.</param>
<param name="compressionLevel">
<attribution license="cc4" from="Microsoft" modified="false" />One of the enumeration values that indicates whether to emphasize speed or compression efficiency when compressing the stream.</param>
<param name="leaveOpen">
<attribution license="cc4" from="Microsoft" modified="false" />true to leave the stream object open after disposing the <see cref="T:System.IO.Compression.DeflateStream" /> object; otherwise, false.</param>
</Docs>
</Member>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="public DeflateStream (System.IO.Stream compressedStream, System.IO.Compression.CompressionMode mode, bool leaveOpen);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class System.IO.Stream compressedStream, valuetype System.IO.Compression.CompressionMode mode, bool leaveOpen) cil managed" />
<MemberType>Constructor</MemberType>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Parameters>
<Parameter Name="compressedStream" Type="System.IO.Stream" />
<Parameter Name="mode" Type="System.IO.Compression.CompressionMode" />
<Parameter Name="leaveOpen" Type="System.Boolean" />
</Parameters>
<Docs>
<param name="compressedStream">To be added.</param>
<since version=".NET 2.0" />
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>By default, <see cref="T:System.IO.Compression.DeflateStream" /> owns the underlying stream, so closing the stream also closes the underlying stream. Note that the state of the underlying stream can affect the usability of the stream. Also, no explicit checks are performed, so no additional exceptions are thrown when the new instance is created.</para>
<para>If an instance of the <see cref="T:System.IO.Compression.DeflateStream" /> class is created with the <paramref name="mode" /> parameter equal to Compress, header information is inserted immediately. If no further action occurs, the stream appears as a valid, empty, compressed file. </para>
<para>Using the <see cref="T:System.IO.Compression.DeflateStream" /> class to compress a file larger than 4 GB raises an exception.</para>
<para>By default, the compression level is set to <see cref="F:System.IO.Compression.CompressionLevel.Optimal" /> when the compression mode is <see cref="F:System.IO.Compression.CompressionMode.Compress" />.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Initializes a new instance of the <see cref="T:System.IO.Compression.DeflateStream" /> class by using the specified stream and compression mode, and optionally leaves the stream open.</para>
</summary>
<param name="mode">
<attribution license="cc4" from="Microsoft" modified="false" />One of the enumeration values that indicates whether to compress or decompress the stream.</param>
<param name="leaveOpen">
<attribution license="cc4" from="Microsoft" modified="false" />true to leave the stream open after disposing the <see cref="T:System.IO.Compression.DeflateStream" /> object; otherwise, false.</param>
</Docs>
</Member>
<Member MemberName="BaseStream">
<MemberSignature Language="C#" Value="public System.IO.Stream BaseStream { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance class System.IO.Stream BaseStream" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.IO.Stream</ReturnType>
</ReturnValue>
<Docs>
<value>To be added.</value>
<remarks>To be added.</remarks>
<since version=".NET 2.0" />
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Gets a reference to the underlying stream.</para>
</summary>
</Docs>
</Member>
<Member MemberName="BeginRead">
<MemberSignature Language="C#" Value="public override IAsyncResult BeginRead (byte[] buffer, int offset, int count, AsyncCallback cback, object state);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance class System.IAsyncResult BeginRead(unsigned int8[] buffer, int32 offset, int32 count, class System.AsyncCallback cback, object state) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.IAsyncResult</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="buffer" Type="System.Byte[]" />
<Parameter Name="offset" Type="System.Int32" />
<Parameter Name="count" Type="System.Int32" />
<Parameter Name="cback" Type="System.AsyncCallback" />
<Parameter Name="state" Type="System.Object" />
</Parameters>
<Docs>
<param name="buffer">To be added.</param>
<param name="cback">To be added.</param>
<param name="state">To be added.</param>
<since version=".NET 2.0" />
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Starting with the net_v45, you can perform asynchronous read operations by using the <see cref="M:System.IO.Stream.ReadAsync(System.Byte[],System.Int32,System.Int32)" /> method. The <see cref="M:System.IO.Compression.DeflateStream.BeginRead(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object)" /> method is still available in the net_v45 to support legacy code; however, you can implement asynchronous I/O operations more easily by using the new async methods. For more information, see <format type="text/html"><a href="dbdd55e7-d6b9-4f9e-8abb-ab0edd4457f7">Asynchronous File I/O</a></format>.</para>
<para>Pass the <see cref="T:System.IAsyncResult" /> return value to the <see cref="M:System.IO.Compression.DeflateStream.EndRead(System.IAsyncResult)" /> method of the stream to determine how many bytes were read and to release operating system resources used for reading. You can do this either by using the same code that called <see cref="M:System.IO.Compression.DeflateStream.BeginRead(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object)" /> or in a callback passed to <see cref="M:System.IO.Compression.DeflateStream.BeginRead(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object)" />.</para>
<para>The current position in the stream is updated when the asynchronous read or write operation is issued, not when the I/O operation completes.</para>
<para>Multiple simultaneous asynchronous requests render the request completion order uncertain.</para>
<para>Use the <see cref="P:System.IO.Compression.DeflateStream.CanRead" /> property to determine whether the current <see cref="T:System.IO.Compression.DeflateStream" /> object supports reading.</para>
<para>If a stream is closed or you pass an invalid argument, exceptions are thrown immediately from <see cref="M:System.IO.Compression.DeflateStream.BeginRead(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object)" />. Errors that occur during an asynchronous read request, such as a disk failure during the I/O request, occur on the thread pool thread and throw exceptions when calling <see cref="M:System.IO.Compression.DeflateStream.EndRead(System.IAsyncResult)" />.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Begins an asynchronous read operation. (Consider using the <see cref="M:System.IO.Stream.ReadAsync(System.Byte[],System.Int32,System.Int32)" /> method instead; see the Remarks section.)</para>
</summary>
<returns>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>An object that represents the asynchronous read operation, which could still be pending.</para>
</returns>
<param name="offset">
<attribution license="cc4" from="Microsoft" modified="false" />The byte offset in <paramref name="array" /> at which to begin reading data from the stream.</param>
<param name="count">
<attribution license="cc4" from="Microsoft" modified="false" />The maximum number of bytes to read.</param>
</Docs>
</Member>
<Member MemberName="BeginWrite">
<MemberSignature Language="C#" Value="public override IAsyncResult BeginWrite (byte[] buffer, int offset, int count, AsyncCallback cback, object state);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance class System.IAsyncResult BeginWrite(unsigned int8[] buffer, int32 offset, int32 count, class System.AsyncCallback cback, object state) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.IAsyncResult</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="buffer" Type="System.Byte[]" />
<Parameter Name="offset" Type="System.Int32" />
<Parameter Name="count" Type="System.Int32" />
<Parameter Name="cback" Type="System.AsyncCallback" />
<Parameter Name="state" Type="System.Object" />
</Parameters>
<Docs>
<param name="buffer">To be added.</param>
<param name="cback">To be added.</param>
<param name="state">To be added.</param>
<since version=".NET 2.0" />
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Starting with the net_v45, you can perform asynchronous write operations by using the <see cref="M:System.IO.Stream.WriteAsync(System.Byte[],System.Int32,System.Int32)" /> method. The <see cref="M:System.IO.Compression.DeflateStream.BeginWrite(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object)" /> method is still available in the net_v45 to support legacy code; however, you can implement asynchronous I/O operations more easily by using the new async methods. For more information, see <format type="text/html"><a href="dbdd55e7-d6b9-4f9e-8abb-ab0edd4457f7">Asynchronous File I/O</a></format>.</para>
<para>Pass the <see cref="T:System.IAsyncResult" /> object returned by the current method to <see cref="M:System.IO.Compression.DeflateStream.EndWrite(System.IAsyncResult)" /> to ensure that the write completes and frees resources appropriately. You can do this either by using the same code that called <see cref="M:System.IO.Compression.DeflateStream.BeginWrite(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object)" /> or in a callback passed to <see cref="M:System.IO.Compression.DeflateStream.BeginWrite(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object)" />. If an error occurs during an asynchronous write operation, an exception will not be thrown until <see cref="M:System.IO.Compression.DeflateStream.EndWrite(System.IAsyncResult)" /> is called with the <see cref="T:System.IAsyncResult" /> returned by this method.</para>
<para>If a stream is writable, writing at the end of the stream expands the stream.</para>
<para>The current position in the stream is updated when you issue the asynchronous read or write operation, not when the I/O operation completes. Multiple simultaneous asynchronous requests render the request completion order uncertain.</para>
<para>Use the <see cref="P:System.IO.Compression.DeflateStream.CanWrite" /> property to determine whether the current <see cref="T:System.IO.Compression.DeflateStream" /> object supports writing.</para>
<para>If a stream is closed or you pass an invalid argument, exceptions are thrown immediately from <see cref="M:System.IO.Compression.DeflateStream.BeginWrite(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object)" />. Errors that occur during an asynchronous write request, such as a disk failure during the I/O request, occur on the thread pool thread and throw exceptions when calling <see cref="M:System.IO.Compression.DeflateStream.EndWrite(System.IAsyncResult)" />.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Begins an asynchronous write operation. (Consider using the <see cref="M:System.IO.Stream.WriteAsync(System.Byte[],System.Int32,System.Int32)" /> method instead; see the Remarks section.)</para>
</summary>
<returns>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>An object that represents the asynchronous write operation, which could still be pending.</para>
</returns>
<param name="offset">
<attribution license="cc4" from="Microsoft" modified="false" />The byte offset in <paramref name="buffer" /> to begin writing from.</param>
<param name="count">
<attribution license="cc4" from="Microsoft" modified="false" />The maximum number of bytes to write.</param>
</Docs>
</Member>
<Member MemberName="CanRead">
<MemberSignature Language="C#" Value="public override bool CanRead { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance bool CanRead" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Docs>
<value>To be added.</value>
<remarks>To be added.</remarks>
<since version=".NET 2.0" />
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Gets a value indicating whether the stream supports reading while decompressing a file.</para>
</summary>
</Docs>
</Member>
<Member MemberName="CanSeek">
<MemberSignature Language="C#" Value="public override bool CanSeek { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance bool CanSeek" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Docs>
<value>To be added.</value>
<remarks>To be added.</remarks>
<since version=".NET 2.0" />
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Gets a value indicating whether the stream supports seeking.</para>
</summary>
</Docs>
</Member>
<Member MemberName="CanWrite">
<MemberSignature Language="C#" Value="public override bool CanWrite { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance bool CanWrite" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Docs>
<value>To be added.</value>
<remarks>To be added.</remarks>
<since version=".NET 2.0" />
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Gets a value indicating whether the stream supports writing.</para>
</summary>
</Docs>
</Member>
<Member MemberName="Dispose">
<MemberSignature Language="C#" Value="protected override void Dispose (bool disposing);" />
<MemberSignature Language="ILAsm" Value=".method familyhidebysig virtual instance void Dispose(bool disposing) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="disposing" Type="System.Boolean" />
</Parameters>
<Docs>
<since version=".NET 2.0" />
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>This method is called by the public <see cref="M:System.ComponentModel.Component.Dispose" /> method and the <see cref="M:System.Object.Finalize" /> method. <see cref="M:System.ComponentModel.Component.Dispose" /> invokes the protected <see cref="M:System.IO.Compression.DeflateStream.Dispose(System.Boolean)" /> method with the <paramref name="disposing" /> parameter set to true. <see cref="M:System.Object.Finalize" /> invokes <see cref="M:System.IO.Compression.DeflateStream.Dispose(System.Boolean)" /> with <paramref name="disposing" /> set to false.</para>
<para>When the <paramref name="disposing" /> parameter is true, this method releases all resources held by any managed objects that this <see cref="T:System.IO.Compression.DeflateStream" /> references. This method invokes the <see cref="M:System.ComponentModel.Component.Dispose" /> method of each referenced object.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Releases the unmanaged resources used by the <see cref="T:System.IO.Compression.DeflateStream" /> and optionally releases the managed resources.</para>
</summary>
<param name="disposing">
<attribution license="cc4" from="Microsoft" modified="false" />true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
</Docs>
</Member>
<Member MemberName="EndRead">
<MemberSignature Language="C#" Value="public override int EndRead (IAsyncResult async_result);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance int32 EndRead(class System.IAsyncResult async_result) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Int32</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="async_result" Type="System.IAsyncResult" />
</Parameters>
<Docs>
<param name="async_result">To be added.</param>
<since version=".NET 2.0" />
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Starting with the net_v45, you can perform asynchronous read operations by using the <see cref="M:System.IO.Stream.ReadAsync(System.Byte[],System.Int32,System.Int32)" /> method. The <see cref="M:System.IO.Compression.DeflateStream.EndRead(System.IAsyncResult)" /> method is still available in the net_v45 to support legacy code; however, you can implement asynchronous I/O operations more easily by using the new async methods. For more information, see <format type="text/html"><a href="dbdd55e7-d6b9-4f9e-8abb-ab0edd4457f7">Asynchronous File I/O</a></format>.</para>
<para>Call this method to determine how many bytes were read from the stream. This method can be called once to return the amount of bytes read between calls to <see cref="M:System.IO.Compression.DeflateStream.BeginRead(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object)" /> and <see cref="M:System.IO.Compression.DeflateStream.EndRead(System.IAsyncResult)" />.</para>
<para>This method blocks until the I/O operation has completed.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Waits for the pending asynchronous read to complete. (Consider using the <see cref="M:System.IO.Stream.ReadAsync(System.Byte[],System.Int32,System.Int32)" /> method instead; see the Remarks section.)</para>
</summary>
<returns>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>The number of bytes read from the stream, between 0 (zero) and the number of bytes you requested. <see cref="T:System.IO.Compression.DeflateStream" /> returns 0 only at the end of the stream; otherwise, it blocks until at least one byte is available.</para>
</returns>
</Docs>
</Member>
<Member MemberName="EndWrite">
<MemberSignature Language="C#" Value="public override void EndWrite (IAsyncResult async_result);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance void EndWrite(class System.IAsyncResult async_result) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="async_result" Type="System.IAsyncResult" />
</Parameters>
<Docs>
<param name="async_result">To be added.</param>
<since version=".NET 2.0" />
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Starting with the net_v45, you can perform asynchronous write operations by using the <see cref="M:System.IO.Stream.WriteAsync(System.Byte[],System.Int32,System.Int32)" /> method. The <see cref="M:System.IO.Compression.DeflateStream.EndWrite(System.IAsyncResult)" /> method is still available in the net_v45 to support legacy code; however, you can implement asynchronous I/O operations more easily by using the new async methods. For more information, see <format type="text/html"><a href="dbdd55e7-d6b9-4f9e-8abb-ab0edd4457f7">Asynchronous File I/O</a></format>.</para>
<para>
<see cref="M:System.IO.Compression.DeflateStream.EndWrite(System.IAsyncResult)" /> must be called only once for every call to the <see cref="M:System.IO.Compression.DeflateStream.BeginWrite(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object)" /> method.</para>
<para>This method blocks until the I/O operation has completed. Errors that occur during an asynchronous write request, such as a disk failure during the I/O request, occur on the thread pool thread and become visible upon a call to <see cref="M:System.IO.Compression.DeflateStream.EndWrite(System.IAsyncResult)" />. Exceptions thrown by the thread pool thread will not be visible when calling <see cref="M:System.IO.Compression.DeflateStream.EndWrite(System.IAsyncResult)" />.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Ends an asynchronous write operation. (Consider using the <see cref="M:System.IO.Stream.WriteAsync(System.Byte[],System.Int32,System.Int32)" /> method instead; see the Remarks section.)</para>
</summary>
</Docs>
</Member>
<Member MemberName="Flush">
<MemberSignature Language="C#" Value="public override void Flush ();" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance void Flush() cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters />
<Docs>
<since version=".NET 2.0" />
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>The current implementation of this method does not flush the internal buffer. The internal buffer is flushed when the object is disposed.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>The current implementation of this method has no functionality.</para>
</summary>
</Docs>
</Member>
<Member MemberName="Length">
<MemberSignature Language="C#" Value="public override long Length { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance int64 Length" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Int64</ReturnType>
</ReturnValue>
<Docs>
<value>To be added.</value>
<remarks>To be added.</remarks>
<since version=".NET 2.0" />
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>This property is not supported and always throws a <see cref="T:System.NotSupportedException" />.</para>
</summary>
</Docs>
</Member>
<Member MemberName="Position">
<MemberSignature Language="C#" Value="public override long Position { get; set; }" />
<MemberSignature Language="ILAsm" Value=".property instance int64 Position" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Int64</ReturnType>
</ReturnValue>
<Docs>
<value>To be added.</value>
<remarks>To be added.</remarks>
<since version=".NET 2.0" />
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>This property is not supported and always throws a <see cref="T:System.NotSupportedException" />.</para>
</summary>
</Docs>
</Member>
<Member MemberName="Read">
<MemberSignature Language="C#" Value="public override int Read (byte[] dest, int dest_offset, int count);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance int32 Read(unsigned int8[] dest, int32 dest_offset, int32 count) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Int32</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="dest" Type="System.Byte[]" />
<Parameter Name="dest_offset" Type="System.Int32" />
<Parameter Name="count" Type="System.Int32" />
</Parameters>
<Docs>
<param name="dest">To be added.</param>
<param name="dest_offset">To be added.</param>
<remarks>To be added.</remarks>
<since version=".NET 2.0" />
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Reads a number of decompressed bytes into the specified byte array.</para>
</summary>
<returns>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>The number of bytes that were read into the byte array.</para>
</returns>
<param name="count">
<attribution license="cc4" from="Microsoft" modified="false" />The maximum number of decompressed bytes to read.</param>
</Docs>
</Member>
<Member MemberName="Seek">
<MemberSignature Language="C#" Value="public override long Seek (long offset, System.IO.SeekOrigin origin);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance int64 Seek(int64 offset, valuetype System.IO.SeekOrigin origin) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Int64</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="offset" Type="System.Int64" />
<Parameter Name="origin" Type="System.IO.SeekOrigin" />
</Parameters>
<Docs>
<remarks>To be added.</remarks>
<since version=".NET 2.0" />
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>This operation is not supported and always throws a <see cref="T:System.NotSupportedException" />.</para>
</summary>
<returns>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>A long value.</para>
</returns>
<param name="offset">
<attribution license="cc4" from="Microsoft" modified="false" />The location in the stream.</param>
<param name="origin">
<attribution license="cc4" from="Microsoft" modified="false" />One of the <see cref="T:System.IO.SeekOrigin" /> values.</param>
</Docs>
</Member>
<Member MemberName="SetLength">
<MemberSignature Language="C#" Value="public override void SetLength (long value);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance void SetLength(int64 value) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="value" Type="System.Int64" />
</Parameters>
<Docs>
<remarks>To be added.</remarks>
<since version=".NET 2.0" />
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>This operation is not supported and always throws a <see cref="T:System.NotSupportedException" />.</para>
</summary>
<param name="value">
<attribution license="cc4" from="Microsoft" modified="false" />The length of the stream.</param>
</Docs>
</Member>
<Member MemberName="Write">
<MemberSignature Language="C#" Value="public override void Write (byte[] src, int src_offset, int count);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance void Write(unsigned int8[] src, int32 src_offset, int32 count) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="src" Type="System.Byte[]" />
<Parameter Name="src_offset" Type="System.Int32" />
<Parameter Name="count" Type="System.Int32" />
</Parameters>
<Docs>
<param name="src">To be added.</param>
<param name="src_offset">To be added.</param>
<remarks>To be added.</remarks>
<since version=".NET 2.0" />
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Writes compressed bytes to the underlying stream from the specified byte array.</para>
</summary>
<param name="count">
<attribution license="cc4" from="Microsoft" modified="false" />The maximum number of bytes to write.</param>
</Docs>
</Member>
</Members>
</Type>