# C1.Util.DX.Storage.ComStream

## Content

<div class="doc-site-dotnet-api-container">



  <h1 id="C1_Util_DX_Storage_ComStream" data-uid="C1.Util.DX.Storage.ComStream" class="text-break">ComStream Class
</h1>
  <div class="markdown level0 summary"><p>IStream</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.CppObject.html">CppObject</a></div>
    <div class="level3"><a class="xref" href="C1.Util.DX.ComObject.html">ComObject</a></div>
    <div class="level4"><a class="xref" href="C1.Util.DX.ComObjectCallback.html">ComObjectCallback</a></div>
    <div class="level5"><a class="xref" href="C1.Util.DX.Storage.ComStreamBase.html">ComStreamBase</a></div>
    <div class="level6"><span class="xref">ComStream</span></div>
      <div class="level7"><a class="xref" href="C1.Util.DX.WIC.WicStream.html">WicStream</a></div>
  </div>
  <div class="implements">
    <h5>Implements</h5>
    <div><a class="xref" href="C1.Util.DX.IUnknown.html">IUnknown</a></div>
    <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_ComStream_syntax">Syntax</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">[Guid(&quot;0000000c-0000-0000-C000-000000000046&quot;)]
public class ComStream : ComStreamBase, IUnknown, 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 ComStream
    Inherits ComStreamBase
    Implements IUnknown, 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_ComStream__ctor_System_IntPtr_" data-uid="C1.Util.DX.Storage.ComStream.#ctor(System.IntPtr)">
          <a class="xref" href="C1.Util.DX.Storage.ComStream.-ctor.html#C1_Util_DX_Storage_ComStream__ctor_System_IntPtr_">ComStream(nint)</a>
        </td>
        <td class="markdown level1 summary"><p>Initializes a new instance of the <a class="xref" href="C1.Util.DX.Storage.ComStream.html">ComStream</a> class.</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_ComStream_Clone" data-uid="C1.Util.DX.Storage.ComStream.Clone">
          <a class="xref" href="C1.Util.DX.Storage.ComStream.Clone.html#C1_Util_DX_Storage_ComStream_Clone">Clone()</a>
        </td>
        <td class="markdown level1 summary"><p>HRESULT IStream::Clone([Out] IStream** ppstm)</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_Storage_ComStream_Commit_C1_Util_DX_Storage_CommitFlags_" data-uid="C1.Util.DX.Storage.ComStream.Commit(C1.Util.DX.Storage.CommitFlags)">
          <a class="xref" href="C1.Util.DX.Storage.ComStream.Commit.html#C1_Util_DX_Storage_ComStream_Commit_C1_Util_DX_Storage_CommitFlags_">Commit(CommitFlags)</a>
        </td>
        <td class="markdown level1 summary"><p>HRESULT IStream::Commit([In] STGC grfCommitFlags)</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_Storage_ComStream_CopyTo_C1_Util_DX_Storage_IStream_System_Int64_System_Int64__" data-uid="C1.Util.DX.Storage.ComStream.CopyTo(C1.Util.DX.Storage.IStream,System.Int64,System.Int64@)">
          <a class="xref" href="C1.Util.DX.Storage.ComStream.CopyTo.html#C1_Util_DX_Storage_ComStream_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_ComStream_GetStatistics_C1_Util_DX_Storage_StorageStatisticsFlags_" data-uid="C1.Util.DX.Storage.ComStream.GetStatistics(C1.Util.DX.Storage.StorageStatisticsFlags)">
          <a class="xref" href="C1.Util.DX.Storage.ComStream.GetStatistics.html#C1_Util_DX_Storage_ComStream_GetStatistics_C1_Util_DX_Storage_StorageStatisticsFlags_">GetStatistics(StorageStatisticsFlags)</a>
        </td>
        <td class="markdown level1 summary"><p>HRESULT IStream::Stat([Out] STATSTG* pstatstg,[In] STATFLAG grfStatFlag)</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_Storage_ComStream_LockRegion_System_Int64_System_Int64_C1_Util_DX_Storage_LockType_" data-uid="C1.Util.DX.Storage.ComStream.LockRegion(System.Int64,System.Int64,C1.Util.DX.Storage.LockType)">
          <a class="xref" href="C1.Util.DX.Storage.ComStream.LockRegion.html#C1_Util_DX_Storage_ComStream_LockRegion_System_Int64_System_Int64_C1_Util_DX_Storage_LockType_">LockRegion(long, long, LockType)</a>
        </td>
        <td class="markdown level1 summary"><p>HRESULT IStream::LockRegion([In] ULARGE_INTEGER libOffset,[In] ULARGE_INTEGER cb,[In] LOCKTYPE dwLockType)</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_Storage_ComStream_Revert" data-uid="C1.Util.DX.Storage.ComStream.Revert">
          <a class="xref" href="C1.Util.DX.Storage.ComStream.Revert.html#C1_Util_DX_Storage_ComStream_Revert">Revert()</a>
        </td>
        <td class="markdown level1 summary"><p>HRESULT IStream::Revert()</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_Storage_ComStream_Seek_System_Int64_System_IO_SeekOrigin_" data-uid="C1.Util.DX.Storage.ComStream.Seek(System.Int64,System.IO.SeekOrigin)">
          <a class="xref" href="C1.Util.DX.Storage.ComStream.Seek.html#C1_Util_DX_Storage_ComStream_Seek_System_Int64_System_IO_SeekOrigin_">Seek(long, SeekOrigin)</a>
        </td>
        <td class="markdown level1 summary"><p>HRESULT IStream::Seek([In] LARGE_INTEGER dlibMove,[In] SHARPDX_SEEKORIGIN dwOrigin,[Out, Optional] ULARGE_INTEGER* plibNewPosition)</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_Storage_ComStream_SetSize_System_Int64_" data-uid="C1.Util.DX.Storage.ComStream.SetSize(System.Int64)">
          <a class="xref" href="C1.Util.DX.Storage.ComStream.SetSize.html#C1_Util_DX_Storage_ComStream_SetSize_System_Int64_">SetSize(long)</a>
        </td>
        <td class="markdown level1 summary"><p>HRESULT IStream::SetSize([In] ULARGE_INTEGER libNewSize)</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_Storage_ComStream_ToIntPtr_C1_Util_DX_Storage_IStream_" data-uid="C1.Util.DX.Storage.ComStream.ToIntPtr(C1.Util.DX.Storage.IStream)">
          <a class="xref" href="C1.Util.DX.Storage.ComStream.ToIntPtr.html#C1_Util_DX_Storage_ComStream_ToIntPtr_C1_Util_DX_Storage_IStream_">ToIntPtr(IStream)</a>
        </td>
        <td class="markdown level1 summary"><p>Gets a com pointer to the underlying <a class="xref" href="C1.Util.DX.Storage.IStream.html">IStream</a> object.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_Storage_ComStream_UnlockRegion_System_Int64_System_Int64_C1_Util_DX_Storage_LockType_" data-uid="C1.Util.DX.Storage.ComStream.UnlockRegion(System.Int64,System.Int64,C1.Util.DX.Storage.LockType)">
          <a class="xref" href="C1.Util.DX.Storage.ComStream.UnlockRegion.html#C1_Util_DX_Storage_ComStream_UnlockRegion_System_Int64_System_Int64_C1_Util_DX_Storage_LockType_">UnlockRegion(long, long, LockType)</a>
        </td>
        <td class="markdown level1 summary"><p>HRESULT IStream::UnlockRegion([In] ULARGE_INTEGER libOffset,[In] ULARGE_INTEGER cb,[In] LOCKTYPE dwLockType)</p>
</td>
      </tr>
    </tbody>
  </table>
  <h3 id="operators">Operators
</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_ComStream_op_Explicit_System_IntPtr__C1_Util_DX_Storage_ComStream" data-uid="C1.Util.DX.Storage.ComStream.op_Explicit(System.IntPtr)~C1.Util.DX.Storage.ComStream">
          <a class="xref" href="C1.Util.DX.Storage.ComStream.op_Explicit.html#C1_Util_DX_Storage_ComStream_op_Explicit_System_IntPtr__C1_Util_DX_Storage_ComStream">explicit operator ComStream(nint)</a>
        </td>
        <td class="markdown level1 summary"><p>Performs an explicit conversion from <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.intptr">nint</a> to <a class="xref" href="C1.Util.DX.Storage.ComStream.html">ComStream</a>.</p>
</td>
      </tr>
    </tbody>
  </table>

</div>
