# C1.Util.DX.Storage.ComStreamProxy

## Content

<div class="doc-site-dotnet-api-container">



  <h1 id="C1_Util_DX_Storage_ComStreamProxy" data-uid="C1.Util.DX.Storage.ComStreamProxy" class="text-break">ComStreamProxy Class
</h1>
  <div class="markdown level0 summary"><p>An implementation of the IStream interface wrapping up a System.IO.Stream.</p>
</div>
  <div class="markdown level0 conceptual"></div>
  <div class="inheritance">
    <h5>Inheritance</h5>
    <div class="level0"><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object">object</a></div>
    <div class="level1"><a class="xref" href="C1.Util.DX.DisposeBase.html">DisposeBase</a></div>
    <div class="level2"><a class="xref" href="C1.Util.DX.CallbackBase.html">CallbackBase</a></div>
    <div class="level3"><span class="xref">ComStreamProxy</span></div>
  </div>
  <div class="implements">
    <h5>Implements</h5>
    <div><a class="xref" href="C1.Util.DX.Storage.IStream.html">IStream</a></div>
    <div><a class="xref" href="C1.Util.DX.Storage.IStreamBase.html">IStreamBase</a></div>
    <div><a class="xref" href="C1.Util.DX.ICallbackable.html">ICallbackable</a></div>
    <div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.idisposable">IDisposable</a></div>
  </div>
  <h6><strong>Namespace</strong>: <a class="xref" href="C1.Util.DX.Storage.html">C1.Util.DX.Storage</a></h6>
  <h6><strong>Assembly</strong>: C1.Win.DX.10.dll</h6>
  <h5 id="C1_Util_DX_Storage_ComStreamProxy_syntax">Syntax</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">[Guid(&quot;0000000c-0000-0000-C000-000000000046&quot;)]
public class ComStreamProxy : CallbackBase, IStream, IStreamBase, ICallbackable, IDisposable</code></pre>
  </div>
  <div class="codewrapper">
    <pre><code class="lang-vbnet hljs">&lt;Guid(&quot;0000000c-0000-0000-C000-000000000046&quot;)&gt;
Public Class ComStreamProxy
    Inherits CallbackBase
    Implements IStream, IStreamBase, ICallbackable, IDisposable</code></pre>
  </div>
  <h3 id="constructors">Constructors
</h3>
  <table class="table table-bordered table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td id="C1_Util_DX_Storage_ComStreamProxy__ctor_System_IO_Stream_" data-uid="C1.Util.DX.Storage.ComStreamProxy.#ctor(System.IO.Stream)">
          <a class="xref" href="C1.Util.DX.Storage.ComStreamProxy.-ctor.html#C1_Util_DX_Storage_ComStreamProxy__ctor_System_IO_Stream_">ComStreamProxy(Stream)</a>
        </td>
        <td class="markdown level1 summary"><p>Creates an instance of ComStreamProxy for the given sourceStream.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h3 id="methods">Methods
</h3>
  <table class="table table-bordered table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td id="C1_Util_DX_Storage_ComStreamProxy_Clone" data-uid="C1.Util.DX.Storage.ComStreamProxy.Clone">
          <a class="xref" href="C1.Util.DX.Storage.ComStreamProxy.Clone.html#C1_Util_DX_Storage_ComStreamProxy_Clone">Clone()</a>
        </td>
        <td class="markdown level1 summary"><p>Clones this instance.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_Storage_ComStreamProxy_Commit_C1_Util_DX_Storage_CommitFlags_" data-uid="C1.Util.DX.Storage.ComStreamProxy.Commit(C1.Util.DX.Storage.CommitFlags)">
          <a class="xref" href="C1.Util.DX.Storage.ComStreamProxy.Commit.html#C1_Util_DX_Storage_ComStreamProxy_Commit_C1_Util_DX_Storage_CommitFlags_">Commit(CommitFlags)</a>
        </td>
        <td class="markdown level1 summary"><p>Commit method ensures that any changes made to a stream object open in transacted mode are reflected in the parent storage. If the stream object is open in direct mode, Commit has no effect other than flushing all memory buffers to the next-level storage object. The COM compound file implementation of streams does not support opening streams in transacted mode.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_Storage_ComStreamProxy_CopyTo_C1_Util_DX_Storage_IStream_System_Int64_System_Int64__" data-uid="C1.Util.DX.Storage.ComStreamProxy.CopyTo(C1.Util.DX.Storage.IStream,System.Int64,System.Int64@)">
          <a class="xref" href="C1.Util.DX.Storage.ComStreamProxy.CopyTo.html#C1_Util_DX_Storage_ComStreamProxy_CopyTo_C1_Util_DX_Storage_IStream_System_Int64_System_Int64__">CopyTo(IStream, long, out long)</a>
        </td>
        <td class="markdown level1 summary"><p>Copies a specified number of bytes from the current seek pointer in the stream to the current seek pointer in another stream.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_Storage_ComStreamProxy_Dispose_System_Boolean_" data-uid="C1.Util.DX.Storage.ComStreamProxy.Dispose(System.Boolean)">
          <a class="xref" href="C1.Util.DX.Storage.ComStreamProxy.Dispose.html#C1_Util_DX_Storage_ComStreamProxy_Dispose_System_Boolean_">Dispose(bool)</a>
        </td>
        <td class="markdown level1 summary"><p>Clean up any resources being used.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_Storage_ComStreamProxy_GetStatistics_C1_Util_DX_Storage_StorageStatisticsFlags_" data-uid="C1.Util.DX.Storage.ComStreamProxy.GetStatistics(C1.Util.DX.Storage.StorageStatisticsFlags)">
          <a class="xref" href="C1.Util.DX.Storage.ComStreamProxy.GetStatistics.html#C1_Util_DX_Storage_ComStreamProxy_GetStatistics_C1_Util_DX_Storage_StorageStatisticsFlags_">GetStatistics(StorageStatisticsFlags)</a>
        </td>
        <td class="markdown level1 summary"><p>Gets the statistics.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_Storage_ComStreamProxy_LockRegion_System_Int64_System_Int64_C1_Util_DX_Storage_LockType_" data-uid="C1.Util.DX.Storage.ComStreamProxy.LockRegion(System.Int64,System.Int64,C1.Util.DX.Storage.LockType)">
          <a class="xref" href="C1.Util.DX.Storage.ComStreamProxy.LockRegion.html#C1_Util_DX_Storage_ComStreamProxy_LockRegion_System_Int64_System_Int64_C1_Util_DX_Storage_LockType_">LockRegion(long, long, LockType)</a>
        </td>
        <td class="markdown level1 summary"><p>Not implemented.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_Storage_ComStreamProxy_Read_System_IntPtr_System_Int32_" data-uid="C1.Util.DX.Storage.ComStreamProxy.Read(System.IntPtr,System.Int32)">
          <a class="xref" href="C1.Util.DX.Storage.ComStreamProxy.Read.html#C1_Util_DX_Storage_ComStreamProxy_Read_System_IntPtr_System_Int32_">Read(nint, int)</a>
        </td>
        <td class="markdown level1 summary"><p>Reads a specified number of bytes from the stream object into memory starting at the current seek pointer.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_Storage_ComStreamProxy_Revert" data-uid="C1.Util.DX.Storage.ComStreamProxy.Revert">
          <a class="xref" href="C1.Util.DX.Storage.ComStreamProxy.Revert.html#C1_Util_DX_Storage_ComStreamProxy_Revert">Revert()</a>
        </td>
        <td class="markdown level1 summary"><p>Not implemented.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_Storage_ComStreamProxy_Seek_System_Int64_System_IO_SeekOrigin_" data-uid="C1.Util.DX.Storage.ComStreamProxy.Seek(System.Int64,System.IO.SeekOrigin)">
          <a class="xref" href="C1.Util.DX.Storage.ComStreamProxy.Seek.html#C1_Util_DX_Storage_ComStreamProxy_Seek_System_Int64_System_IO_SeekOrigin_">Seek(long, SeekOrigin)</a>
        </td>
        <td class="markdown level1 summary"><p>Changes the seek pointer to a new location relative to the beginning of the stream, to the end of the stream, or to the current seek pointer.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_Storage_ComStreamProxy_SetSize_System_Int64_" data-uid="C1.Util.DX.Storage.ComStreamProxy.SetSize(System.Int64)">
          <a class="xref" href="C1.Util.DX.Storage.ComStreamProxy.SetSize.html#C1_Util_DX_Storage_ComStreamProxy_SetSize_System_Int64_">SetSize(long)</a>
        </td>
        <td class="markdown level1 summary"><p>Changes the size of the stream object.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_Storage_ComStreamProxy_UnlockRegion_System_Int64_System_Int64_C1_Util_DX_Storage_LockType_" data-uid="C1.Util.DX.Storage.ComStreamProxy.UnlockRegion(System.Int64,System.Int64,C1.Util.DX.Storage.LockType)">
          <a class="xref" href="C1.Util.DX.Storage.ComStreamProxy.UnlockRegion.html#C1_Util_DX_Storage_ComStreamProxy_UnlockRegion_System_Int64_System_Int64_C1_Util_DX_Storage_LockType_">UnlockRegion(long, long, LockType)</a>
        </td>
        <td class="markdown level1 summary"><p>Not implemented.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_Storage_ComStreamProxy_Write_System_IntPtr_System_Int32_" data-uid="C1.Util.DX.Storage.ComStreamProxy.Write(System.IntPtr,System.Int32)">
          <a class="xref" href="C1.Util.DX.Storage.ComStreamProxy.Write.html#C1_Util_DX_Storage_ComStreamProxy_Write_System_IntPtr_System_Int32_">Write(nint, int)</a>
        </td>
        <td class="markdown level1 summary"><p>Writes a specified number of bytes into the stream object starting at the current seek pointer.</p>
</td>
      </tr>
    </tbody>
  </table>

</div>
