# C1.Util.DX.DXGI.SwapChain

## Content

<div class="doc-site-dotnet-api-container">



  <h1 id="C1_Util_DX_DXGI_SwapChain" data-uid="C1.Util.DX.DXGI.SwapChain" class="text-break">SwapChain Class
</h1>
  <div class="markdown level0 summary"><p>IDXGISwapChain</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.DXGI.DXGIObject.html">DXGIObject</a></div>
    <div class="level5"><a class="xref" href="C1.Util.DX.DXGI.DeviceChild.html">DeviceChild</a></div>
    <div class="level6"><span class="xref">SwapChain</span></div>
      <div class="level7"><a class="xref" href="C1.Util.DX.DXGI.SwapChain1.html">SwapChain1</a></div>
  </div>
  <div class="implements">
    <h5>Implements</h5>
    <div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.idisposable">IDisposable</a></div>
    <div><a class="xref" href="C1.Util.DX.IUnknown.html">IUnknown</a></div>
  </div>
  <h6><strong>Namespace</strong>: <a class="xref" href="C1.Util.DX.DXGI.html">C1.Util.DX.DXGI</a></h6>
  <h6><strong>Assembly</strong>: C1.WPF.DX.4.6.2.dll</h6>
  <h5 id="C1_Util_DX_DXGI_SwapChain_syntax">Syntax</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">[Guid(&quot;310d36a0-d2e7-4c0a-aa04-6a9d23b8886a&quot;)]
public class SwapChain : DeviceChild, IDisposable, IUnknown</code></pre>
  </div>
  <div class="codewrapper">
    <pre><code class="lang-vbnet hljs">&lt;Guid(&quot;310d36a0-d2e7-4c0a-aa04-6a9d23b8886a&quot;)&gt;
Public Class SwapChain
    Inherits DeviceChild
    Implements IDisposable, IUnknown</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_DXGI_SwapChain__ctor_System_IntPtr_" data-uid="C1.Util.DX.DXGI.SwapChain.#ctor(System.IntPtr)">
          <a class="xref" href="C1.Util.DX.DXGI.SwapChain.-ctor.html#C1_Util_DX_DXGI_SwapChain__ctor_System_IntPtr_">SwapChain(IntPtr)</a>
        </td>
        <td class="markdown level1 summary"><p>Initializes a new instance of the <a class="xref" href="C1.Util.DX.DXGI.SwapChain.html">SwapChain</a> class.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h3 id="properties">Properties
</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_DXGI_SwapChain_Description" data-uid="C1.Util.DX.DXGI.SwapChain.Description">
          <a class="xref" href="C1.Util.DX.DXGI.SwapChain.Description.html#C1_Util_DX_DXGI_SwapChain_Description">Description</a>
        </td>
        <td class="markdown level1 summary"><p>GetDescription</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_DXGI_SwapChain_IsFullScreen" data-uid="C1.Util.DX.DXGI.SwapChain.IsFullScreen">
          <a class="xref" href="C1.Util.DX.DXGI.SwapChain.IsFullScreen.html#C1_Util_DX_DXGI_SwapChain_IsFullScreen">IsFullScreen</a>
        </td>
        <td class="markdown level1 summary"><p>Gets or sets a value indicating whether the swapchain is in fullscreen.</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_DXGI_SwapChain_Create_C1_Util_DX_DXGI_Factory_C1_Util_DX_ComObject_C1_Util_DX_DXGI_SwapChainDescription_" data-uid="C1.Util.DX.DXGI.SwapChain.Create(C1.Util.DX.DXGI.Factory,C1.Util.DX.ComObject,C1.Util.DX.DXGI.SwapChainDescription)">
          <a class="xref" href="C1.Util.DX.DXGI.SwapChain.Create.html#C1_Util_DX_DXGI_SwapChain_Create_C1_Util_DX_DXGI_Factory_C1_Util_DX_ComObject_C1_Util_DX_DXGI_SwapChainDescription_">Create(Factory, ComObject, SwapChainDescription)</a>
        </td>
        <td class="markdown level1 summary"><p>Creates a swap chain.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_DXGI_SwapChain_GetBackBuffer__1_System_Int32_" data-uid="C1.Util.DX.DXGI.SwapChain.GetBackBuffer``1(System.Int32)">
          <a class="xref" href="C1.Util.DX.DXGI.SwapChain.GetBackBuffer.html#C1_Util_DX_DXGI_SwapChain_GetBackBuffer__1_System_Int32_">GetBackBuffer&lt;T&gt;(int)</a>
        </td>
        <td class="markdown level1 summary"><p>Access one of the swap-chain back buffers.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_DXGI_SwapChain_GetBuffer_System_Int32_System_Guid_" data-uid="C1.Util.DX.DXGI.SwapChain.GetBuffer(System.Int32,System.Guid)">
          <a class="xref" href="C1.Util.DX.DXGI.SwapChain.GetBuffer.html#C1_Util_DX_DXGI_SwapChain_GetBuffer_System_Int32_System_Guid_">GetBuffer(int, Guid)</a>
        </td>
        <td class="markdown level1 summary"><p>HRESULT IDXGISwapChain::GetBuffer([In] unsigned int Buffer,[In] const GUID&amp; riid,[Out] void** ppSurface)</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_DXGI_SwapChain_GetContainingOutput" data-uid="C1.Util.DX.DXGI.SwapChain.GetContainingOutput">
          <a class="xref" href="C1.Util.DX.DXGI.SwapChain.GetContainingOutput.html#C1_Util_DX_DXGI_SwapChain_GetContainingOutput">GetContainingOutput()</a>
        </td>
        <td class="markdown level1 summary"><p>HRESULT IDXGISwapChain::GetContainingOutput([Out] IDXGIOutput** ppOutput)</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_DXGI_SwapChain_GetDescription_C1_Util_DX_DXGI_SwapChainDescription__" data-uid="C1.Util.DX.DXGI.SwapChain.GetDescription(C1.Util.DX.DXGI.SwapChainDescription@)">
          <a class="xref" href="C1.Util.DX.DXGI.SwapChain.GetDescription.html#C1_Util_DX_DXGI_SwapChain_GetDescription_C1_Util_DX_DXGI_SwapChainDescription__">GetDescription(out SwapChainDescription)</a>
        </td>
        <td class="markdown level1 summary"><p>HRESULT IDXGISwapChain::GetDesc([Out] DXGI_SWAP_CHAIN_DESC* pDesc)</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_DXGI_SwapChain_GetFrameStatistics_C1_Util_DX_DXGI_FrameStatistics__" data-uid="C1.Util.DX.DXGI.SwapChain.GetFrameStatistics(C1.Util.DX.DXGI.FrameStatistics@)">
          <a class="xref" href="C1.Util.DX.DXGI.SwapChain.GetFrameStatistics.html#C1_Util_DX_DXGI_SwapChain_GetFrameStatistics_C1_Util_DX_DXGI_FrameStatistics__">GetFrameStatistics(out FrameStatistics)</a>
        </td>
        <td class="markdown level1 summary"><p>HRESULT IDXGISwapChain::GetFrameStatistics([Out] DXGI_FRAME_STATISTICS* pStats)</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_DXGI_SwapChain_GetFullscreenState_C1_Util_DX_Bool__C1_Util_DX_DXGI_Output__" data-uid="C1.Util.DX.DXGI.SwapChain.GetFullscreenState(C1.Util.DX.Bool@,C1.Util.DX.DXGI.Output@)">
          <a class="xref" href="C1.Util.DX.DXGI.SwapChain.GetFullscreenState.html#C1_Util_DX_DXGI_SwapChain_GetFullscreenState_C1_Util_DX_Bool__C1_Util_DX_DXGI_Output__">GetFullscreenState(out Bool, out Output)</a>
        </td>
        <td class="markdown level1 summary"><p>HRESULT IDXGISwapChain::GetFullscreenState([Out, Optional] BOOL* pFullscreen,[Out, Optional] IDXGIOutput** ppTarget)</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_DXGI_SwapChain_GetLastPresentCount" data-uid="C1.Util.DX.DXGI.SwapChain.GetLastPresentCount">
          <a class="xref" href="C1.Util.DX.DXGI.SwapChain.GetLastPresentCount.html#C1_Util_DX_DXGI_SwapChain_GetLastPresentCount">GetLastPresentCount()</a>
        </td>
        <td class="markdown level1 summary"><p>HRESULT IDXGISwapChain::GetLastPresentCount([Out] unsigned int* pLastPresentCount)</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_DXGI_SwapChain_Present_System_Int32_C1_Util_DX_DXGI_PresentFlags_" data-uid="C1.Util.DX.DXGI.SwapChain.Present(System.Int32,C1.Util.DX.DXGI.PresentFlags)">
          <a class="xref" href="C1.Util.DX.DXGI.SwapChain.Present.html#C1_Util_DX_DXGI_SwapChain_Present_System_Int32_C1_Util_DX_DXGI_PresentFlags_">Present(int, PresentFlags)</a>
        </td>
        <td class="markdown level1 summary"><p>HRESULT IDXGISwapChain::Present([In] unsigned int SyncInterval,[In] DXGI_PRESENT_FLAGS Flags)</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_DXGI_SwapChain_ResizeBuffers_System_Int32_System_Int32_System_Int32_C1_Util_DX_DXGI_Format_C1_Util_DX_DXGI_SwapChainFlags_" data-uid="C1.Util.DX.DXGI.SwapChain.ResizeBuffers(System.Int32,System.Int32,System.Int32,C1.Util.DX.DXGI.Format,C1.Util.DX.DXGI.SwapChainFlags)">
          <a class="xref" href="C1.Util.DX.DXGI.SwapChain.ResizeBuffers.html#C1_Util_DX_DXGI_SwapChain_ResizeBuffers_System_Int32_System_Int32_System_Int32_C1_Util_DX_DXGI_Format_C1_Util_DX_DXGI_SwapChainFlags_">ResizeBuffers(int, int, int, Format, SwapChainFlags)</a>
        </td>
        <td class="markdown level1 summary"><p>HRESULT IDXGISwapChain::ResizeBuffers([In] unsigned int BufferCount,[In] unsigned int Width,[In] unsigned int Height,[In] DXGI_FORMAT NewFormat,[In] DXGI_SWAP_CHAIN_FLAG SwapChainFlags)</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_DXGI_SwapChain_ResizeTarget_C1_Util_DX_DXGI_ModeDescription__" data-uid="C1.Util.DX.DXGI.SwapChain.ResizeTarget(C1.Util.DX.DXGI.ModeDescription@)">
          <a class="xref" href="C1.Util.DX.DXGI.SwapChain.ResizeTarget.html#C1_Util_DX_DXGI_SwapChain_ResizeTarget_C1_Util_DX_DXGI_ModeDescription__">ResizeTarget(ref ModeDescription)</a>
        </td>
        <td class="markdown level1 summary"><p>HRESULT IDXGISwapChain::ResizeTarget([In] const DXGI_MODE_DESC* pNewTargetParameters)</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_DXGI_SwapChain_SetFullscreenState_C1_Util_DX_Bool_C1_Util_DX_DXGI_Output_" data-uid="C1.Util.DX.DXGI.SwapChain.SetFullscreenState(C1.Util.DX.Bool,C1.Util.DX.DXGI.Output)">
          <a class="xref" href="C1.Util.DX.DXGI.SwapChain.SetFullscreenState.html#C1_Util_DX_DXGI_SwapChain_SetFullscreenState_C1_Util_DX_Bool_C1_Util_DX_DXGI_Output_">SetFullscreenState(Bool, Output)</a>
        </td>
        <td class="markdown level1 summary"><p>HRESULT IDXGISwapChain::SetFullscreenState([In] BOOL Fullscreen,[In, Optional] IDXGIOutput* pTarget)</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_DXGI_SwapChain_op_Explicit_System_IntPtr__C1_Util_DX_DXGI_SwapChain" data-uid="C1.Util.DX.DXGI.SwapChain.op_Explicit(System.IntPtr)~C1.Util.DX.DXGI.SwapChain">
          <a class="xref" href="C1.Util.DX.DXGI.SwapChain.op_Explicit.html#C1_Util_DX_DXGI_SwapChain_op_Explicit_System_IntPtr__C1_Util_DX_DXGI_SwapChain">explicit operator SwapChain(IntPtr)</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">IntPtr</a> to <a class="xref" href="C1.Util.DX.DXGI.SwapChain.html">SwapChain</a>.</p>
</td>
      </tr>
    </tbody>
  </table>

</div>
