# C1.Util.DX.DXGI.Device

## Content

<div class="doc-site-dotnet-api-container">



  <h1 id="C1_Util_DX_DXGI_Device" data-uid="C1.Util.DX.DXGI.Device" class="text-break">Device Class
</h1>
  <div class="markdown level0 summary"><p>IDXGIDevice</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"><span class="xref">Device</span></div>
      <div class="level6"><a class="xref" href="C1.Util.DX.DXGI.Device1.html">Device1</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.Win.DX.4.8.dll</h6>
  <h5 id="C1_Util_DX_DXGI_Device_syntax">Syntax</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">[Guid(&quot;54ec77fa-1377-44e6-8c32-88fd5f44c84c&quot;)]
public class Device : DXGIObject, IDisposable, IUnknown</code></pre>
  </div>
  <div class="codewrapper">
    <pre><code class="lang-vbnet hljs">&lt;Guid(&quot;54ec77fa-1377-44e6-8c32-88fd5f44c84c&quot;)&gt;
Public Class Device
    Inherits DXGIObject
    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_Device__ctor_System_IntPtr_" data-uid="C1.Util.DX.DXGI.Device.#ctor(System.IntPtr)">
          <a class="xref" href="C1.Util.DX.DXGI.Device.-ctor.html#C1_Util_DX_DXGI_Device__ctor_System_IntPtr_">Device(IntPtr)</a>
        </td>
        <td class="markdown level1 summary"><p>Initializes a new instance of the <a class="xref" href="C1.Util.DX.DXGI.Device.html">Device</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_DXGI_Device_CreateSurface_C1_Util_DX_DXGI_SurfaceDescription__System_Int32_System_Int32_System_Nullable_C1_Util_DX_DXGI_SharedResource__" data-uid="C1.Util.DX.DXGI.Device.CreateSurface(C1.Util.DX.DXGI.SurfaceDescription@,System.Int32,System.Int32,System.Nullable{C1.Util.DX.DXGI.SharedResource})">
          <a class="xref" href="C1.Util.DX.DXGI.Device.CreateSurface.html#C1_Util_DX_DXGI_Device_CreateSurface_C1_Util_DX_DXGI_SurfaceDescription__System_Int32_System_Int32_System_Nullable_C1_Util_DX_DXGI_SharedResource__">CreateSurface(ref SurfaceDescription, int, int, SharedResource?)</a>
        </td>
        <td class="markdown level1 summary"><p>HRESULT IDXGIDevice::CreateSurface([In] const DXGI_SURFACE_DESC* pDesc,[In] unsigned int NumSurfaces,[In] unsigned int Usage,[In, Optional] const DXGI_SHARED_RESOURCE* pSharedResource,[Out] IDXGISurface** ppSurface)</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_DXGI_Device_GetAdapter" data-uid="C1.Util.DX.DXGI.Device.GetAdapter">
          <a class="xref" href="C1.Util.DX.DXGI.Device.GetAdapter.html#C1_Util_DX_DXGI_Device_GetAdapter">GetAdapter()</a>
        </td>
        <td class="markdown level1 summary"><p>HRESULT IDXGIDevice::GetAdapter([Out] IDXGIAdapter** pAdapter)</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_DXGI_Device_GetGPUThreadPriority" data-uid="C1.Util.DX.DXGI.Device.GetGPUThreadPriority">
          <a class="xref" href="C1.Util.DX.DXGI.Device.GetGPUThreadPriority.html#C1_Util_DX_DXGI_Device_GetGPUThreadPriority">GetGPUThreadPriority()</a>
        </td>
        <td class="markdown level1 summary"><p>HRESULT IDXGIDevice::GetGPUThreadPriority([Out] int* pPriority)</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_DXGI_Device_QueryResourceResidency_C1_Util_DX_ComArray_C1_Util_DX_ComObject__C1_Util_DX_DXGI_Residency___System_Int32_" data-uid="C1.Util.DX.DXGI.Device.QueryResourceResidency(C1.Util.DX.ComArray{C1.Util.DX.ComObject},C1.Util.DX.DXGI.Residency[],System.Int32)">
          <a class="xref" href="C1.Util.DX.DXGI.Device.QueryResourceResidency.html#C1_Util_DX_DXGI_Device_QueryResourceResidency_C1_Util_DX_ComArray_C1_Util_DX_ComObject__C1_Util_DX_DXGI_Residency___System_Int32_">QueryResourceResidency(ComArray&lt;ComObject&gt;, Residency[], int)</a>
        </td>
        <td class="markdown level1 summary"><p>HRESULT IDXGIDevice::QueryResourceResidency([In, Buffer] const IUnknown** ppResources,[Out, Buffer] DXGI_RESIDENCY* pResidencyStatus,[In] unsigned int NumResources)</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_DXGI_Device_QueryResourceResidency_C1_Util_DX_ComObject___" data-uid="C1.Util.DX.DXGI.Device.QueryResourceResidency(C1.Util.DX.ComObject[])">
          <a class="xref" href="C1.Util.DX.DXGI.Device.QueryResourceResidency.html#C1_Util_DX_DXGI_Device_QueryResourceResidency_C1_Util_DX_ComObject___">QueryResourceResidency(params ComObject[])</a>
        </td>
        <td class="markdown level1 summary"><p>Gets the residency status of an array of resources.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_DXGI_Device_QueryResourceResidency_C1_Util_DX_ComObject___C1_Util_DX_DXGI_Residency___System_Int32_" data-uid="C1.Util.DX.DXGI.Device.QueryResourceResidency(C1.Util.DX.ComObject[],C1.Util.DX.DXGI.Residency[],System.Int32)">
          <a class="xref" href="C1.Util.DX.DXGI.Device.QueryResourceResidency.html#C1_Util_DX_DXGI_Device_QueryResourceResidency_C1_Util_DX_ComObject___C1_Util_DX_DXGI_Residency___System_Int32_">QueryResourceResidency(ComObject[], Residency[], int)</a>
        </td>
        <td class="markdown level1 summary"><p>HRESULT IDXGIDevice::QueryResourceResidency([In, Buffer] const IUnknown** ppResources,[Out, Buffer] DXGI_RESIDENCY* pResidencyStatus,[In] unsigned int NumResources)</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_DXGI_Device_SetGPUThreadPriority_System_Int32_" data-uid="C1.Util.DX.DXGI.Device.SetGPUThreadPriority(System.Int32)">
          <a class="xref" href="C1.Util.DX.DXGI.Device.SetGPUThreadPriority.html#C1_Util_DX_DXGI_Device_SetGPUThreadPriority_System_Int32_">SetGPUThreadPriority(int)</a>
        </td>
        <td class="markdown level1 summary"><p>HRESULT IDXGIDevice::SetGPUThreadPriority([In] int Priority)</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_Device_op_Explicit_System_IntPtr__C1_Util_DX_DXGI_Device" data-uid="C1.Util.DX.DXGI.Device.op_Explicit(System.IntPtr)~C1.Util.DX.DXGI.Device">
          <a class="xref" href="C1.Util.DX.DXGI.Device.op_Explicit.html#C1_Util_DX_DXGI_Device_op_Explicit_System_IntPtr__C1_Util_DX_DXGI_Device">explicit operator Device(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.Device.html">Device</a>.</p>
</td>
      </tr>
    </tbody>
  </table>

</div>
