1
0
mirror of synced 2024-12-22 20:36:03 +01:00
OpenTaiko/Test/dll/SharpDX.DXGI.xml
2021-09-21 00:16:38 +02:00

8738 lines
759 KiB
XML

<?xml version="1.0"?>
<doc>
<assembly>
<name>SharpDX.DXGI</name>
</assembly>
<members>
<member name="P:SharpDX.DXGI.Adapter.Outputs">
<summary>
Gets all outputs from this adapter.
</summary>
<msdn-id>bb174525</msdn-id>
<unmanaged>HRESULT IDXGIAdapter::EnumOutputs([In] unsigned int Output,[Out] IDXGIOutput** ppOutput)</unmanaged>
<unmanaged-short>IDXGIAdapter::EnumOutputs</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.Adapter.IsInterfaceSupported(System.Type)">
<summary>
Checks to see if a device interface for a graphics component is supported by the system.
</summary>
<param name="type">The GUID of the interface of the device version for which support is being checked. For example, typeof(ID3D10Device).GUID.</param>
<returns>
<c>true</c> if the interface is supported; otherwise, <c>false</c>.
</returns>
<msdn-id>Bb174524</msdn-id>
<unmanaged>HRESULT IDXGIAdapter::CheckInterfaceSupport([In] const GUID&amp; InterfaceName,[Out] LARGE_INTEGER* pUMDVersion)</unmanaged>
<unmanaged-short>IDXGIAdapter::CheckInterfaceSupport</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.Adapter.IsInterfaceSupported``1">
<summary>
Checks to see if a device interface for a graphics component is supported by the system.
</summary>
<typeparam name="T">the interface of the device version for which support is being checked.</typeparam>
<returns>
<c>true</c> if the interface is supported; otherwise, <c>false</c>.
</returns>
<msdn-id>Bb174524</msdn-id>
<unmanaged>HRESULT IDXGIAdapter::CheckInterfaceSupport([In] const GUID&amp; InterfaceName,[Out] LARGE_INTEGER* pUMDVersion)</unmanaged>
<unmanaged-short>IDXGIAdapter::CheckInterfaceSupport</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.Adapter.IsInterfaceSupported``1(System.Int64@)">
<summary>
Checks to see if a device interface for a graphics component is supported by the system.
</summary>
<typeparam name="T">the interface of the device version for which support is being checked.</typeparam>
<param name="userModeVersion">The user mode driver version of InterfaceName. This is only returned if the interface is supported.</param>
<returns>
<c>true</c> if the interface is supported; otherwise, <c>false</c>.
</returns>
<msdn-id>Bb174524</msdn-id>
<unmanaged>HRESULT IDXGIAdapter::CheckInterfaceSupport([In] const GUID&amp; InterfaceName,[Out] LARGE_INTEGER* pUMDVersion)</unmanaged>
<unmanaged-short>IDXGIAdapter::CheckInterfaceSupport</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.Adapter.IsInterfaceSupported(System.Type,System.Int64@)">
<summary>
Checks to see if a device interface for a graphics component is supported by the system.
</summary>
<param name="type">The GUID of the interface of the device version for which support is being checked. For example, typeof(ID3D10Device).GUID.</param>
<param name="userModeVersion">The user mode driver version of InterfaceName. This is only returned if the interface is supported.</param>
<returns>
<c>true</c> if the interface is supported; otherwise, <c>false</c>.
</returns>
<msdn-id>Bb174524</msdn-id>
<unmanaged>HRESULT IDXGIAdapter::CheckInterfaceSupport([In] const GUID&amp; InterfaceName,[Out] LARGE_INTEGER* pUMDVersion)</unmanaged>
<unmanaged-short>IDXGIAdapter::CheckInterfaceSupport</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.Adapter.GetOutput(System.Int32)">
<summary>
Gets an adapter (video card) outputs.
</summary>
<param name="outputIndex">The index of the output.</param>
<returns>
An instance of <see cref="T:SharpDX.DXGI.Output"/>
</returns>
<unmanaged>HRESULT IDXGIAdapter::EnumOutputs([In] unsigned int Output,[Out] IDXGIOutput** ppOutput)</unmanaged>
<remarks>
When the EnumOutputs method succeeds and fills the ppOutput parameter with the address of the reference to the output interface, EnumOutputs increments the output interface's reference count. To avoid a memory leak, when you finish using the output interface, call the Release method to decrement the reference count.EnumOutputs first returns the output on which the desktop primary is displayed. This adapter corresponds with an index of zero. EnumOutputs then returns other outputs.
</remarks>
<exception cref="T:SharpDX.SharpDXException">if the index is greater than the number of outputs, result code <see cref="F:SharpDX.DXGI.ResultCode.NotFound"/></exception>
<msdn-id>bb174525</msdn-id>
<unmanaged>HRESULT IDXGIAdapter::EnumOutputs([In] unsigned int Output,[Out] IDXGIOutput** ppOutput)</unmanaged>
<unmanaged-short>IDXGIAdapter::EnumOutputs</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.Adapter.GetOutputCount">
<summary>
Return the number of available outputs from this adapter.
</summary>
<returns>The number of outputs</returns>
<msdn-id>bb174525</msdn-id>
<unmanaged>HRESULT IDXGIAdapter::EnumOutputs([In] unsigned int Output,[Out] IDXGIOutput** ppOutput)</unmanaged>
<unmanaged-short>IDXGIAdapter::EnumOutputs</unmanaged-short>
</member>
<member name="P:SharpDX.DXGI.Adapter.Description">
<summary>
<p>Gets a DXGI 1.0 description of an adapter (or video card).</p>
</summary>
<remarks>
<p>Graphics apps can use the DXGI API to retrieve an accurate set of graphics memory values on systems that have Windows Display Driver Model (WDDM) drivers. The following are the critical steps involved.</p><ul> <li> Graphics driver model determination ? Because DXGI is only available on systems with WDDM drivers, the app must first confirm the driver model by using the following API. <pre> HasWDDMDriver()
{ LPDIRECT3DCREATE9EX pD3D9Create9Ex = <c>null</c>; HMODULE hD3D9 = <c>null</c>; hD3D9 = LoadLibrary( L"d3d9.dll" ); if ( <c>null</c> == hD3D9 ) { return false; } // /* Try to create IDirect3D9Ex interface (also known as a DX9L interface). This interface can only be created if the driver is a WDDM driver. */ // pD3D9Create9Ex = (LPDIRECT3DCREATE9EX) GetProcAddress( hD3D9, "Direct3DCreate9Ex" ); return pD3D9Create9Ex != <c>null</c>;
} </pre> </li> <li> Retrieval of graphics memory values.? After the app determines the driver model to be WDDM, the app can use the Direct3D 10 or later API and DXGI to get the amount of graphics memory. After you create a Direct3D device, use this code to obtain a <strong><see cref = "T:SharpDX.DXGI.AdapterDescription"/></strong> structure that contains the amount of available graphics memory. <pre> <see cref = "T:SharpDX.DXGI.Device"/> * pDXGIDevice;
hr = g_pd3dDevice-&gt;QueryInterface(__uuidof(<see cref = "T:SharpDX.DXGI.Device"/>), (void **)&amp;pDXGIDevice);
<see cref = "T:SharpDX.DXGI.Adapter"/> * pDXGIAdapter;
pDXGIDevice-&gt;GetAdapter(&amp;pDXGIAdapter);
<see cref = "T:SharpDX.DXGI.AdapterDescription"/> adapterDesc;
pDXGIAdapter-&gt;GetDesc(&amp;adapterDesc); </pre> </li> </ul>
</remarks>
<doc-id>bb174526</doc-id>
<unmanaged>GetDesc</unmanaged>
<unmanaged-short>GetDesc</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.Adapter.GetOutput(System.Int32,SharpDX.DXGI.Output@)">
<summary>
<p>Enumerate adapter (video card) outputs.</p>
</summary>
<param name = "output"><dd> <p>The index of the output.</p> </dd></param>
<param name = "outputOut"><dd> <p>The address of a reference to an <strong><see cref = "T:SharpDX.DXGI.Output"/></strong> interface at the position specified by the <em>Output</em> parameter.</p> </dd></param>
<returns><p>A code that indicates success or failure (see DXGI_ERROR). <see cref = "!:NotFound"/> is returned if the index is greater than the number of outputs.</p><p>If the adapter came from a device created using D3D_DRIVER_TYPE_WARP, then the adapter has no outputs, so <see cref = "!:NotFound"/> is returned.</p></returns>
<remarks>
<strong>Note</strong>??If you call this API in a Session 0 process, it returns <strong><see cref = "!:NotCurrentlyAvailable"/></strong>.?<p>When the <strong>EnumOutputs</strong> method succeeds and fills the <em>ppOutput</em> parameter with the address of the reference to the output interface, <strong>EnumOutputs</strong> increments the output interface's reference count. To avoid a memory leak, when you finish using the output interface, call the <strong>Release</strong> method to decrement the reference count.</p><p><strong>EnumOutputs</strong> first returns the output on which the desktop primary is displayed. This output corresponds with an index of zero. <strong>EnumOutputs</strong> then returns other outputs.</p>
</remarks>
<doc-id>bb174525</doc-id>
<unmanaged>HRESULT IDXGIAdapter::EnumOutputs([In] unsigned int Output,[Out] IDXGIOutput** ppOutput)</unmanaged>
<unmanaged-short>IDXGIAdapter::EnumOutputs</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.Adapter.GetDescription(SharpDX.DXGI.AdapterDescription@)">
<summary>
<p>Gets a DXGI 1.0 description of an adapter (or video card).</p>
</summary>
<param name = "descRef"><dd> <p>A reference to a <strong><see cref = "T:SharpDX.DXGI.AdapterDescription"/></strong> structure that describes the adapter. This parameter must not be <strong><c>null</c></strong>. On feature level 9 graphics hardware, <strong>GetDesc</strong> returns zeros for the PCI ID in the <strong>VendorId</strong>, <strong>DeviceId</strong>, <strong>SubSysId</strong>, and <strong>Revision</strong> members of <strong><see cref = "T:SharpDX.DXGI.AdapterDescription"/></strong> and ?Software Adapter? for the description string in the <strong>Description</strong> member.</p> </dd></param>
<returns><p>Returns <see cref = "F:SharpDX.Result.Ok"/> if successful; otherwise returns E_INVALIDARG if the <em>pDesc</em> parameter is <strong><c>null</c></strong>. </p></returns>
<remarks>
<p>Graphics apps can use the DXGI API to retrieve an accurate set of graphics memory values on systems that have Windows Display Driver Model (WDDM) drivers. The following are the critical steps involved.</p><ul> <li> Graphics driver model determination ? Because DXGI is only available on systems with WDDM drivers, the app must first confirm the driver model by using the following API. <pre> HasWDDMDriver()
{ LPDIRECT3DCREATE9EX pD3D9Create9Ex = <c>null</c>; HMODULE hD3D9 = <c>null</c>; hD3D9 = LoadLibrary( L"d3d9.dll" ); if ( <c>null</c> == hD3D9 ) { return false; } // /* Try to create IDirect3D9Ex interface (also known as a DX9L interface). This interface can only be created if the driver is a WDDM driver. */ // pD3D9Create9Ex = (LPDIRECT3DCREATE9EX) GetProcAddress( hD3D9, "Direct3DCreate9Ex" ); return pD3D9Create9Ex != <c>null</c>;
} </pre> </li> <li> Retrieval of graphics memory values.? After the app determines the driver model to be WDDM, the app can use the Direct3D 10 or later API and DXGI to get the amount of graphics memory. After you create a Direct3D device, use this code to obtain a <strong><see cref = "T:SharpDX.DXGI.AdapterDescription"/></strong> structure that contains the amount of available graphics memory. <pre> <see cref = "T:SharpDX.DXGI.Device"/> * pDXGIDevice;
hr = g_pd3dDevice-&gt;QueryInterface(__uuidof(<see cref = "T:SharpDX.DXGI.Device"/>), (void **)&amp;pDXGIDevice);
<see cref = "T:SharpDX.DXGI.Adapter"/> * pDXGIAdapter;
pDXGIDevice-&gt;GetAdapter(&amp;pDXGIAdapter);
<see cref = "T:SharpDX.DXGI.AdapterDescription"/> adapterDesc;
pDXGIAdapter-&gt;GetDesc(&amp;adapterDesc); </pre> </li> </ul>
</remarks>
<doc-id>bb174526</doc-id>
<unmanaged>HRESULT IDXGIAdapter::GetDesc([Out] DXGI_ADAPTER_DESC* pDesc)</unmanaged>
<unmanaged-short>IDXGIAdapter::GetDesc</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.Adapter.CheckInterfaceSupport(System.Guid,System.Int64@)">
<summary>
<p>Checks whether the system supports a device interface for a graphics component.</p>
</summary>
<param name = "interfaceName"><dd> <p>The <see cref = "T:System.Guid"/> of the interface of the device version for which support is being checked. For example, __uuidof(ID3D10Device).</p> </dd></param>
<param name = "uMDVersionRef"><dd> <p>The user mode driver version of <em>InterfaceName</em>. This is returned only if the interface is supported, otherwise this parameter will be <strong><c>null</c></strong>.</p> </dd></param>
<returns><p><see cref = "F:SharpDX.Result.Ok"/> indicates that the interface is supported, otherwise <see cref = "!:Unsupported"/> is returned (For more information, see DXGI_ERROR).</p></returns>
<remarks>
<strong>Note</strong>??You can use <strong>CheckInterfaceSupport</strong> only to check whether a Direct3D 10.x interface is supported, and only on Windows Vista SP1 and later versions of the operating system. If you try to use <strong>CheckInterfaceSupport</strong> to check whether a Direct3D 11.x and later version interface is supported, <strong>CheckInterfaceSupport</strong> returns <see cref = "!:Unsupported"/>. Therefore, do not use <strong>CheckInterfaceSupport</strong>. Instead, to verify whether the operating system supports a particular interface, try to create the interface. For example, if you call the <strong>ID3D11Device::CreateBlendState</strong> method and it fails, the operating system does not support the <strong><see cref = "!:SharpDX.Direct3D11.BlendState"/></strong> interface.?
</remarks>
<doc-id>bb174524</doc-id>
<unmanaged>HRESULT IDXGIAdapter::CheckInterfaceSupport([In] const GUID&amp; InterfaceName,[Out] LARGE_INTEGER* pUMDVersion)</unmanaged>
<unmanaged-short>IDXGIAdapter::CheckInterfaceSupport</unmanaged-short>
</member>
<member name="T:SharpDX.DXGI.AssemblyDoc">
<summary>
The <see cref="A:SharpDX.DXGI"/> assembly provides managed DXGI API.
</summary>
<msdn-id>hh404534</msdn-id>
<unmanaged>DXGI</unmanaged>
<unmanaged-short>DXGI</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.Device.QueryResourceResidency(SharpDX.ComObject[])">
<summary>
Gets the residency status of an array of resources.
</summary>
<remarks>
The information returned by the pResidencyStatus argument array describes the residency status at the time that the QueryResourceResidency method was called. Note that the residency status will constantly change. If you call the QueryResourceResidency method during a device removed state, the pResidencyStatus argument will return the DXGI_RESIDENCY_EVICTED_TO_DISK flag. Note??This method should not be called every frame as it incurs a non-trivial amount of overhead.
</remarks>
<param name="comObjects">An array of <see cref="T:SharpDX.DXGI.Resource"/> interfaces. </param>
<returns>Returns an array of <see cref="T:SharpDX.DXGI.Residency"/> flags. Each element describes the residency status for corresponding element in the ppResources argument array. </returns>
<unmanaged>HRESULT IDXGIDevice::QueryResourceResidency([In, Buffer] const IUnknown** ppResources,[Out, Buffer] DXGI_RESIDENCY* pResidencyStatus,[None] int NumResources)</unmanaged>
</member>
<member name="P:SharpDX.DXGI.Device.Adapter">
<summary>
<p>Returns the adapter for the specified device.</p>
</summary>
<remarks>
<p>If the <strong>GetAdapter</strong> method succeeds, the reference count on the adapter interface will be incremented. To avoid a memory leak, be sure to release the interface when you are finished using it.</p>
</remarks>
<doc-id>bb174531</doc-id>
<unmanaged>GetAdapter</unmanaged>
<unmanaged-short>GetAdapter</unmanaged-short>
</member>
<member name="P:SharpDX.DXGI.Device.GPUThreadPriority">
<summary>
<p>Gets or sets the GPU thread priority.</p>
</summary>
<doc-id>bb174532</doc-id>
<unmanaged>GetGPUThreadPriority / SetGPUThreadPriority</unmanaged>
<unmanaged-short>GetGPUThreadPriority</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.Device.GetAdapter(SharpDX.DXGI.Adapter@)">
<summary>
<p>Returns the adapter for the specified device.</p>
</summary>
<param name = "adapterRef"><dd> <p>The address of an <strong><see cref = "T:SharpDX.DXGI.Adapter"/></strong> interface reference to the adapter. This parameter must not be <strong><c>null</c></strong>.</p> </dd></param>
<returns><p>Returns <see cref = "F:SharpDX.Result.Ok"/> if successful; otherwise, returns one of the DXGI_ERROR that indicates failure. If the <em>pAdapter</em> parameter is <strong><c>null</c></strong> this method returns E_INVALIDARG.</p></returns>
<remarks>
<p>If the <strong>GetAdapter</strong> method succeeds, the reference count on the adapter interface will be incremented. To avoid a memory leak, be sure to release the interface when you are finished using it.</p>
</remarks>
<doc-id>bb174531</doc-id>
<unmanaged>HRESULT IDXGIDevice::GetAdapter([Out] IDXGIAdapter** pAdapter)</unmanaged>
<unmanaged-short>IDXGIDevice::GetAdapter</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.Device.CreateSurface(SharpDX.DXGI.SurfaceDescription@,System.Int32,System.Int32,System.Nullable{SharpDX.DXGI.SharedResource},SharpDX.DXGI.Surface@)">
<summary>
<p>Returns a surface. This method is used internally and you should not call it directly in your application.</p>
</summary>
<param name = "descRef"><dd> <p>A reference to a <strong><see cref = "T:SharpDX.DXGI.SurfaceDescription"/></strong> structure that describes the surface.</p> </dd></param>
<param name = "numSurfaces"><dd> <p>The number of surfaces to create.</p> </dd></param>
<param name = "usage"><dd> <p>A DXGI_USAGE flag that specifies how the surface is expected to be used.</p> </dd></param>
<param name = "sharedResourceRef"><dd> <p>An optional reference to a <strong><see cref = "T:SharpDX.DXGI.SharedResource"/></strong> structure that contains shared resource information for opening views of such resources.</p> </dd></param>
<param name = "surfaceOut"><dd> <p>The address of an <strong><see cref = "T:SharpDX.DXGI.Surface"/></strong> interface reference to the first created surface.</p> </dd></param>
<returns><p>Returns <see cref = "F:SharpDX.Result.Ok"/> if successful; an error code otherwise. For a list of error codes, see DXGI_ERROR.</p></returns>
<remarks>
<p>The <strong>CreateSurface</strong> method creates a buffer to exchange data between one or more devices. It is used internally, and you should not directly call it.</p><p>The runtime automatically creates an <strong><see cref = "T:SharpDX.DXGI.Surface"/></strong> interface when it creates a Direct3D resource object that represents a surface. For example, the runtime creates an <strong><see cref = "T:SharpDX.DXGI.Surface"/></strong> interface when it calls <strong>ID3D11Device::CreateTexture2D</strong> or <strong>ID3D10Device::CreateTexture2D</strong> to create a 2D texture. To retrieve the <strong><see cref = "T:SharpDX.DXGI.Surface"/></strong> interface that represents the 2D texture surface, call <strong>ID3D11Texture2D::QueryInterface</strong> or <strong>ID3D10Texture2D::QueryInterface</strong>. In this call, you must pass the identifier of <strong><see cref = "T:SharpDX.DXGI.Surface"/></strong>. If the 2D texture has only a single MIP-map level and does not consist of an array of textures, <strong>QueryInterface</strong> succeeds and returns a reference to the <strong><see cref = "T:SharpDX.DXGI.Surface"/></strong> interface reference. Otherwise, <strong>QueryInterface</strong> fails and does not return the reference to <strong><see cref = "T:SharpDX.DXGI.Surface"/></strong>.
</p>
</remarks>
<doc-id>bb174530</doc-id>
<unmanaged>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)</unmanaged>
<unmanaged-short>IDXGIDevice::CreateSurface</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.Device.QueryResourceResidency(SharpDX.IUnknown[],SharpDX.DXGI.Residency[],System.Int32)">
<summary>
<p>Gets the residency status of an array of resources.</p>
</summary>
<param name = "resourcesOut"><dd> <p>An array of <strong><see cref = "T:SharpDX.DXGI.Resource"/></strong> interfaces.</p> </dd></param>
<param name = "residencyStatusRef"><dd> <p>An array of <strong><see cref = "T:SharpDX.DXGI.Residency"/></strong> flags. Each element describes the residency status for corresponding element in the <em>ppResources</em> argument array.</p> </dd></param>
<param name = "numResources"><dd> <p>The number of resources in the <em>ppResources</em> argument array and <em>pResidencyStatus</em> argument array.</p> </dd></param>
<returns><p>Returns <see cref = "F:SharpDX.Result.Ok"/> if successful; otherwise, returns <see cref = "!:DeviceRemoved"/>, E_INVALIDARG, or E_POINTER (see Common <see cref = "T:SharpDX.Result"/> Values and WinError.h for more information).</p></returns>
<remarks>
<p>The information returned by the <em>pResidencyStatus</em> argument array describes the residency status at the time that the <strong>QueryResourceResidency</strong> method was called. </p><strong>Note</strong>??The residency status will constantly change.?<p>If you call the <strong>QueryResourceResidency</strong> method during a device removed state, the <em>pResidencyStatus</em> argument will return the <strong>DXGI_RESIDENCY_RESIDENT_IN_SHARED_MEMORY</strong> flag.</p><strong>Note</strong>??This method should not be called every frame as it incurs a non-trivial amount of overhead.?
</remarks>
<doc-id>bb174533</doc-id>
<unmanaged>HRESULT IDXGIDevice::QueryResourceResidency([In, Buffer] const IUnknown** ppResources,[Out, Buffer] DXGI_RESIDENCY* pResidencyStatus,[In] unsigned int NumResources)</unmanaged>
<unmanaged-short>IDXGIDevice::QueryResourceResidency</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.Device.SetGPUThreadPriority(System.Int32)">
<summary>
<p>Sets the GPU thread priority.</p>
</summary>
<param name = "priority"><dd> <p>A value that specifies the required GPU thread priority. This value must be between -7 and 7, inclusive, where 0 represents normal priority.</p> </dd></param>
<returns><p>Return <see cref = "F:SharpDX.Result.Ok"/> if successful; otherwise, returns E_INVALIDARG if the <em>Priority</em> parameter is invalid.</p></returns>
<remarks>
<p>The values for the <em>Priority</em> parameter function as follows:</p><ul> <li>Positive values increase the likelihood that the GPU scheduler will grant GPU execution cycles to the device when rendering.</li> <li>Negative values lessen the likelihood that the device will receive GPU execution cycles when devices compete for them.</li> <li>The device is guaranteed to receive some GPU execution cycles at all settings.</li> </ul><p>To use the <strong>SetGPUThreadPriority</strong> method, you should have a comprehensive understanding of GPU scheduling. You should profile your application to ensure that it behaves as intended. If used inappropriately, the <strong>SetGPUThreadPriority</strong> method can impede rendering speed and result in a poor user experience.</p>
</remarks>
<doc-id>bb174534</doc-id>
<unmanaged>HRESULT IDXGIDevice::SetGPUThreadPriority([In] int Priority)</unmanaged>
<unmanaged-short>IDXGIDevice::SetGPUThreadPriority</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.Device.GetGPUThreadPriority(System.Int32@)">
<summary>
<p>Gets the GPU thread priority.</p>
</summary>
<param name = "priorityRef"><dd> <p>A reference to a variable that receives a value that indicates the current GPU thread priority. The value will be between -7 and 7, inclusive, where 0 represents normal priority.</p> </dd></param>
<returns><p>Return <see cref = "F:SharpDX.Result.Ok"/> if successful; otherwise, returns E_POINTER if the <em>pPriority</em> parameter is <strong><c>null</c></strong>.</p></returns>
<doc-id>bb174532</doc-id>
<unmanaged>HRESULT IDXGIDevice::GetGPUThreadPriority([Out] int* pPriority)</unmanaged>
<unmanaged-short>IDXGIDevice::GetGPUThreadPriority</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.DeviceChild.GetDevice``1">
<summary>
Retrieves the device.
</summary>
<typeparam name="T">The interface that is returned can be any interface published by the device.</typeparam>
<returns>The associated device. </returns>
<unmanaged>HRESULT IDXGIDeviceSubObject::GetDevice([In] GUID* riid,[Out] void** ppDevice)</unmanaged>
</member>
<member name="P:SharpDX.DXGI.DeviceChild.DebugName">
<summary>
Gets or sets the debug-name for this object.
</summary>
<value>
The debug name.
</value>
</member>
<member name="M:SharpDX.DXGI.DeviceChild.GetDevice(System.Guid,System.IntPtr@)">
<summary>
<p>Retrieves the device.</p>
</summary>
<param name = "riid"><dd> <p>The reference id for the device.</p> </dd></param>
<param name = "deviceOut"><dd> <p>The address of a reference to the device.</p> </dd></param>
<returns><p>A code that indicates success or failure (see DXGI_ERROR).</p></returns>
<remarks>
<p>The type of interface that is returned can be any interface published by the device. For example, it could be an <see cref = "T:SharpDX.DXGI.Device"/> * called pDevice, and therefore the REFIID would be obtained by calling __uuidof(pDevice).</p>
</remarks>
<doc-id>bb174529</doc-id>
<unmanaged>HRESULT IDXGIDeviceSubObject::GetDevice([In] const GUID&amp; riid,[Out] void** ppDevice)</unmanaged>
<unmanaged-short>IDXGIDeviceSubObject::GetDevice</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.DXGIDebug.TryCreate">
<summary>
If the DXGI debug layer is installed (e.g. on developer machines), creates the DXGI Debug object.
Otherwise, returns null.
</summary>
<remarks>
Currently doesn't work for Windows Store (aka UWP) apps
</remarks>
</member>
<member name="M:SharpDX.DXGI.DXGIDebug.ReportLiveObjects(System.Guid,SharpDX.DXGI.DebugRloFlags)">
<summary>
<p>Reports info about the lifetime of an object or objects.</p>
</summary>
<param name = "apiid"><dd> <p>The globally unique identifier (<see cref = "T:System.Guid"/>) of the object or objects to get info about. Use one of the <strong>DXGI_DEBUG_ID</strong> GUIDs.</p> </dd></param>
<param name = "flags"><dd> <p>A <strong><see cref = "T:SharpDX.DXGI.DebugRloFlags"/></strong>-typed value that specifies the amount of info to report.</p> </dd></param>
<returns><p>Returns <see cref = "F:SharpDX.Result.Ok"/> if successful; an error code otherwise. For a list of error codes, see DXGI_ERROR.</p></returns>
<remarks>
<strong>Note</strong>??This API requires the Windows Software Development Kit (SDK) for Windows?8.?
</remarks>
<doc-id>hh780352</doc-id>
<unmanaged>HRESULT IDXGIDebug::ReportLiveObjects([In] GUID apiid,[In] DXGI_DEBUG_RLO_FLAGS flags)</unmanaged>
<unmanaged-short>IDXGIDebug::ReportLiveObjects</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.DXGIDebug1.TryCreate">
<summary>
If the DXGI debug layer is installed (e.g. on developer machines), creates the DXGI Debug1 object.
Otherwise, returns null.
</summary>
<remarks>
Currently doesn't work for Windows Store (aka UWP) apps
</remarks>
</member>
<member name="P:SharpDX.DXGI.DXGIDebug1.IsLeakTrackingEnabledForThread">
<summary>
No documentation.
</summary>
<unmanaged>IsLeakTrackingEnabledForThread</unmanaged>
<unmanaged-short>IsLeakTrackingEnabledForThread</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.DXGIDebug1.EnableLeakTrackingForThread">
<summary>
No documentation.
</summary>
<unmanaged>void IDXGIDebug1::EnableLeakTrackingForThread()</unmanaged>
<unmanaged-short>IDXGIDebug1::EnableLeakTrackingForThread</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.DXGIDebug1.DisableLeakTrackingForThread">
<summary>
No documentation.
</summary>
<unmanaged>void IDXGIDebug1::DisableLeakTrackingForThread()</unmanaged>
<unmanaged-short>IDXGIDebug1::DisableLeakTrackingForThread</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.DXGIDebug1.IsLeakTrackingEnabledForThread_">
<summary>
No documentation.
</summary>
<returns>No documentation.</returns>
<unmanaged>BOOL IDXGIDebug1::IsLeakTrackingEnabledForThread()</unmanaged>
<unmanaged-short>IDXGIDebug1::IsLeakTrackingEnabledForThread</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.DXGIObject.GetParent``1">
<summary>
Gets the parent of the object.
</summary>
<typeparam name="T">Type of the parent object</typeparam>
<returns>Returns the parent object based on the GUID of the type of the parent object.</returns>
<msdn-id>bb174542</msdn-id>
<unmanaged>HRESULT IDXGIObject::GetParent([In] const GUID&amp; riid,[Out] void** ppParent)</unmanaged>
<unmanaged-short>IDXGIObject::GetParent</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.DXGIObject.SetPrivateData(System.Guid,System.Int32,System.IntPtr)">
<summary>
<p>Sets application-defined data to the object and associates that data with a <see cref = "T:System.Guid"/>.</p>
</summary>
<param name = "name"><dd> <p>A <see cref = "T:System.Guid"/> that identifies the data. Use this <see cref = "T:System.Guid"/> in a call to <strong>GetPrivateData</strong> to get the data.</p> </dd></param>
<param name = "dataSize"><dd> <p>The size of the object's data.</p> </dd></param>
<param name = "dataRef"><dd> <p>A reference to the object's data.</p> </dd></param>
<returns><p>Returns one of the DXGI_ERROR values.</p></returns>
<remarks>
<p><strong>SetPrivateData</strong> makes a copy of the specified data and stores it with the object.</p><p>Private data that <strong>SetPrivateData</strong> stores in the object occupies the same storage space as private data that is stored by associated Direct3D objects (for example, by a Microsoft Direct3D?11 device through <strong>ID3D11Device::SetPrivateData</strong> or by a Direct3D?11 child device through <strong>ID3D11DeviceChild::SetPrivateData</strong>).</p><p>The debug layer reports memory leaks by outputting a list of object interface references along with their friendly names. The default friendly name is "&lt;unnamed&gt;". You can set the friendly name so that you can determine if the corresponding object interface reference caused the leak. To set the friendly name, use the <strong>SetPrivateData</strong> method and the well-known private data <see cref = "T:System.Guid"/> (<strong><see cref = "!:DebugObjectName"/></strong>) that is in D3Dcommon.h. For example, to give pContext a friendly name of <em>My name</em>, use the following code:</p><pre> static const char c_szName[] = "My name";
hr = pContext-&gt;SetPrivateData( <see cref = "!:DebugObjectName"/>, sizeof( c_szName ) - 1, c_szName );
</pre><p>You can use <strong><see cref = "!:DebugObjectName"/></strong> to track down memory leaks and understand performance characteristics of your applications. This information is reflected in the output of the debug layer that is related to memory leaks (<strong>ID3D11Debug::ReportLiveDeviceObjects</strong>) and with the event tracing for Windows events that we've added to Windows?8.
</p>
</remarks>
<doc-id>bb174544</doc-id>
<unmanaged>HRESULT IDXGIObject::SetPrivateData([In] const GUID&amp; Name,[In] unsigned int DataSize,[In, Buffer] const void* pData)</unmanaged>
<unmanaged-short>IDXGIObject::SetPrivateData</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.DXGIObject.SetPrivateDataInterface(System.Guid,SharpDX.IUnknown)">
<summary>
<p>Set an interface in the object's private data.</p>
</summary>
<param name = "name"><dd> <p>A <see cref = "T:System.Guid"/> identifying the interface.</p> </dd></param>
<param name = "unknownRef"><dd> <p>The interface to set.</p> </dd></param>
<returns><p>Returns one of the following DXGI_ERROR.</p></returns>
<remarks>
<p>This API associates an interface reference with the object.</p><p>When the interface is set its reference count is incremented. When the data are overwritten (by calling SPD or SPDI with the same <see cref = "T:System.Guid"/>) or the object is destroyed, ::Release() is called and the interface's reference count is decremented.</p>
</remarks>
<doc-id>bb174545</doc-id>
<unmanaged>HRESULT IDXGIObject::SetPrivateDataInterface([In] const GUID&amp; Name,[In, Optional] const IUnknown* pUnknown)</unmanaged>
<unmanaged-short>IDXGIObject::SetPrivateDataInterface</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.DXGIObject.GetPrivateData(System.Guid,System.Int32@,System.IntPtr)">
<summary>
<p>Get a reference to the object's data.</p>
</summary>
<param name = "name"><dd> <p>A <see cref = "T:System.Guid"/> identifying the data.</p> </dd></param>
<param name = "dataSizeRef"><dd> <p>The size of the data.</p> </dd></param>
<param name = "dataRef"><dd> <p>Pointer to the data.</p> </dd></param>
<returns><p>Returns one of the following DXGI_ERROR.</p></returns>
<remarks>
<p>If the data returned is a reference to an <strong><see cref = "T:SharpDX.IUnknown"/></strong>, or one of its derivative classes, previously set by <strong>IDXGIObject::SetPrivateDataInterface</strong>, you must call <strong>::Release()</strong> on the reference before the reference is freed to decrement the reference count.</p><p>You can pass <strong>GUID_DeviceType</strong> in the <em>Name</em> parameter of <strong>GetPrivateData</strong> to retrieve the device type from the display adapter object (<strong><see cref = "T:SharpDX.DXGI.Adapter"/></strong>, <strong><see cref = "T:SharpDX.DXGI.Adapter1"/></strong>, <strong><see cref = "T:SharpDX.DXGI.Adapter2"/></strong>). </p><p><strong>To get the type of device on which the display adapter was created</strong></p><ol> <li>Call <strong>IUnknown::QueryInterface</strong> on the <strong><see cref = "!:SharpDX.Direct3D11.Device"/></strong> or <strong>ID3D10Device</strong> object to retrieve the <strong><see cref = "T:SharpDX.DXGI.Device"/></strong> object.</li> <li>Call <strong>GetParent</strong> on the <strong><see cref = "T:SharpDX.DXGI.Device"/></strong> object to retrieve the <strong><see cref = "T:SharpDX.DXGI.Adapter"/></strong> object.</li> <li>Call <strong>GetPrivateData</strong> on the <strong><see cref = "T:SharpDX.DXGI.Adapter"/></strong> object with <strong>GUID_DeviceType</strong> to retrieve the type of device on which the display adapter was created. <em>pData</em> will point to a value from the driver-type enumeration (for example, a value from <strong><see cref = "T:SharpDX.Direct3D.DriverType"/></strong>).</li> </ol><p>On Windows?7 or earlier, this type is either a value from <strong>D3D10_DRIVER_TYPE</strong> or <strong><see cref = "T:SharpDX.Direct3D.DriverType"/></strong> depending on which kind of device was created. On Windows?8, this type is always a value from <strong><see cref = "T:SharpDX.Direct3D.DriverType"/></strong>. Don't use <strong>IDXGIObject::SetPrivateData</strong> with <strong>GUID_DeviceType</strong> because the behavior when doing so is undefined.</p>
</remarks>
<doc-id>bb174543</doc-id>
<unmanaged>HRESULT IDXGIObject::GetPrivateData([In] const GUID&amp; Name,[InOut] unsigned int* pDataSize,[Out, Buffer] void* pData)</unmanaged>
<unmanaged-short>IDXGIObject::GetPrivateData</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.DXGIObject.GetParent(System.Guid,System.IntPtr@)">
<summary>
<p>Gets the parent of the object.</p>
</summary>
<param name = "riid"><dd> <p>The ID of the requested interface.</p> </dd></param>
<param name = "parentOut"><dd> <p>The address of a reference to the parent object.</p> </dd></param>
<returns><p>Returns one of the DXGI_ERROR values.</p></returns>
<doc-id>bb174542</doc-id>
<unmanaged>HRESULT IDXGIObject::GetParent([In] const GUID&amp; riid,[Out] void** ppParent)</unmanaged>
<unmanaged-short>IDXGIObject::GetParent</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.Factory.GetAdapter(System.Int32)">
<summary>
Gets both adapters (video cards) with or without outputs.
</summary>
<param name="index"><para>The index of the adapter to enumerate.</para></param>
<returns>a reference to an <see cref="T:SharpDX.DXGI.Adapter"/> interface at the position specified by the Adapter parameter</returns>
<remarks>
When you create a factory, the factory enumerates the set of adapters that are available in the system. Therefore, if you change the adapters in a system, you must destroy and recreate the <see cref="T:SharpDX.DXGI.Factory"/> object. The number of adapters in a system changes when you add or remove a display card, or dock or undock a laptop.When the EnumAdapters method succeeds and fills the ppAdapter parameter with the address of the reference to the adapter interface, EnumAdapters increments the adapter interface's reference count. When you finish using the adapter interface, call the Release method to decrement the reference count before you destroy the reference.EnumAdapters first returns the local adapter with the output on which the desktop primary is displayed. This adapter corresponds with an index of zero. EnumAdapters then returns other adapters with outputs.
</remarks>
<unmanaged>HRESULT IDXGIFactory::EnumAdapters([In] unsigned int Adapter,[Out] IDXGIAdapter** ppAdapter)</unmanaged>
</member>
<member name="P:SharpDX.DXGI.Factory.Adapters">
<summary>
Return an array of <see cref="T:SharpDX.DXGI.Adapter"/> available from this factory.
</summary>
<unmanaged>HRESULT IDXGIFactory::EnumAdapters([In] unsigned int Adapter,[Out] IDXGIAdapter** ppAdapter)</unmanaged>
</member>
<member name="M:SharpDX.DXGI.Factory.GetAdapterCount">
<summary>
Return the number of available adapters from this factory.
</summary>
<returns>The number of adapters</returns>
<unmanaged>HRESULT IDXGIFactory::EnumAdapters([In] unsigned int Adapter,[Out] IDXGIAdapter** ppAdapter)</unmanaged>
</member>
<member name="M:SharpDX.DXGI.Factory.GetAdapter(System.Int32,SharpDX.DXGI.Adapter@)">
<summary>
<p>Enumerates the adapters (video cards).</p>
</summary>
<param name = "adapter"><dd> <p>The index of the adapter to enumerate.</p> </dd></param>
<param name = "adapterOut"><dd> <p>The address of a reference to an <strong><see cref = "T:SharpDX.DXGI.Adapter"/></strong> interface at the position specified by the <em>Adapter</em> parameter. This parameter must not be <strong><c>null</c></strong>.</p> </dd></param>
<returns><p>Returns <see cref = "F:SharpDX.Result.Ok"/> if successful; otherwise, returns <see cref = "!:NotFound"/> if the index is greater than or equal to the number of adapters in the local system, or <see cref = "!:InvalidCall"/> if <em>ppAdapter</em> parameter is <strong><c>null</c></strong>.</p></returns>
<remarks>
<p>When you create a factory, the factory enumerates the set of adapters that are available in the system. Therefore, if you change the adapters in a system, you must destroy and recreate the <strong><see cref = "T:SharpDX.DXGI.Factory"/></strong> object. The number of adapters in a system changes when you add or remove a display card, or dock or undock a laptop. </p><p>When the <strong>EnumAdapters</strong> method succeeds and fills the <em>ppAdapter</em> parameter with the address of the reference to the adapter interface, <strong>EnumAdapters</strong> increments the adapter interface's reference count. When you finish using the adapter interface, call the <strong>Release</strong> method to decrement the reference count before you destroy the reference.</p><p><strong>EnumAdapters</strong> first returns the adapter with the output on which the desktop primary is displayed. This adapter corresponds with an index of zero. <strong>EnumAdapters</strong> next returns other adapters with outputs. <strong>EnumAdapters</strong> finally returns adapters without outputs. </p>
</remarks>
<doc-id>bb174538</doc-id>
<unmanaged>HRESULT IDXGIFactory::EnumAdapters([In] unsigned int Adapter,[Out] IDXGIAdapter** ppAdapter)</unmanaged>
<unmanaged-short>IDXGIFactory::EnumAdapters</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.Factory.MakeWindowAssociation(System.IntPtr,SharpDX.DXGI.WindowAssociationFlags)">
<summary>
<p>Allows DXGI to monitor an application's message queue for the alt-enter key sequence (which causes the application to switch from windowed to full screen or vice versa).</p>
</summary>
<param name = "windowHandle"><dd> <p>The handle of the window that is to be monitored. This parameter can be <strong><c>null</c></strong>; but only if the flags are also 0. </p> </dd></param>
<param name = "flags"><dd> <p>One or more of the following values:</p> <ul> <li>DXGI_MWA_NO_WINDOW_CHANGES - Prevent DXGI from monitoring an applications message queue; this makes DXGI unable to respond to mode changes.</li> <li>DXGI_MWA_NO_ALT_ENTER - Prevent DXGI from responding to an alt-enter sequence.</li> <li>DXGI_MWA_NO_PRINT_SCREEN - Prevent DXGI from responding to a print-screen key.</li> </ul> </dd></param>
<returns><p> <see cref = "!:InvalidCall"/> if <em>WindowHandle</em> is invalid, or E_OUTOFMEMORY.</p></returns>
<remarks>
<strong>Note</strong>??If you call this API in a Session 0 process, it returns <strong><see cref = "!:NotCurrentlyAvailable"/></strong>.?<p>The combination of <em>WindowHandle</em> and <em>Flags</em> informs DXGI to stop monitoring window messages for the previously-associated window.</p><p>If the application switches to full-screen mode, DXGI will choose a full-screen resolution to be the smallest supported resolution that is larger or the same size as the current back buffer size.</p><p>Applications can make some changes to make the transition from windowed to full screen more efficient. For example, on a WM_SIZE message, the application should release any outstanding swap-chain back buffers, call <strong>IDXGISwapChain::ResizeBuffers</strong>, then re-acquire the back buffers from the swap chain(s). This gives the swap chain(s) an opportunity to resize the back buffers, and/or recreate them to enable full-screen flipping operation. If the application does not perform this sequence, DXGI will still make the full-screen/windowed transition, but may be forced to use a stretch operation (since the back buffers may not be the correct size), which may be less efficient. Even if a stretch is not required, presentation may not be optimal because the back buffers might not be directly interchangeable with the front buffer. Thus, a call to <strong>ResizeBuffers</strong> on WM_SIZE is always recommended, since WM_SIZE is always sent during a fullscreen transition.</p><p>While windowed, the application can, if it chooses, restrict the size of its window's client area to sizes to which it is comfortable rendering. A fully flexible application would make no such restriction, but UI elements or other design considerations can, of course, make this flexibility untenable. If the application further chooses to restrict its window's client area to just those that match supported full-screen resolutions, the application can field WM_SIZING, then check against <strong>IDXGIOutput::FindClosestMatchingMode</strong>. If a matching mode is found, allow the resize. (The <see cref = "T:SharpDX.DXGI.Output"/> can be retrieved from <strong>IDXGISwapChain::GetContainingOutput</strong>. Absent subsequent changes to desktop topology, this will be the same output that will be chosen when alt-enter is fielded and fullscreen mode is begun for that swap chain.)</p><p>Applications that want to handle mode changes or Alt+Enter themselves should call <strong>MakeWindowAssociation</strong> with the DXGI_MWA_NO_WINDOW_CHANGES flag after swap chain creation. The <em>WindowHandle</em> argument, if non-<strong><c>null</c></strong>, specifies that the application message queues will not be handled by the DXGI runtime for all swap chains of a particular target <strong><see cref = "T:System.IntPtr"/></strong>. Calling <strong>MakeWindowAssociation</strong> with the DXGI_MWA_NO_WINDOW_CHANGES flag after swapchain creation ensures that DXGI will not interfere with application's handling of window mode changes or Alt+Enter.</p>
</remarks>
<doc-id>bb174540</doc-id>
<unmanaged>HRESULT IDXGIFactory::MakeWindowAssociation([In] HWND WindowHandle,[In] unsigned int Flags)</unmanaged>
<unmanaged-short>IDXGIFactory::MakeWindowAssociation</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.Factory.GetWindowAssociation">
<summary>
<p>Get the window through which the user controls the transition to and from full screen.</p>
</summary>
<returns><dd> <p>A reference to a window handle.</p> </dd></returns>
<remarks>
<strong>Note</strong>??If you call this API in a Session 0 process, it returns <strong><see cref = "!:NotCurrentlyAvailable"/></strong>.?
</remarks>
<doc-id>bb174539</doc-id>
<unmanaged>HRESULT IDXGIFactory::GetWindowAssociation([Out] HWND* pWindowHandle)</unmanaged>
<unmanaged-short>IDXGIFactory::GetWindowAssociation</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.Factory.CreateSwapChain(SharpDX.IUnknown,SharpDX.DXGI.SwapChainDescription@,SharpDX.DXGI.SwapChain)">
<summary>
<p>[Starting with Direct3D 11.1, we recommend not to use <strong>CreateSwapChain</strong> anymore to create a swap chain. Instead, use <strong>CreateSwapChainForHwnd</strong>, <strong>CreateSwapChainForCoreWindow</strong>, or <strong>CreateSwapChainForComposition</strong> depending on how you want to create the swap chain.]</p><p>Creates a swap chain.</p>
</summary>
<param name = "deviceRef">No documentation.</param>
<param name = "descRef">No documentation.</param>
<param name = "swapChainOut">No documentation.</param>
<returns><p> <see cref = "!:InvalidCall"/> if <em>pDesc</em> or <em>ppSwapChain</em> is <strong><c>null</c></strong>, DXGI_STATUS_OCCLUDED if you request full-screen mode and it is unavailable, or E_OUTOFMEMORY. Other error codes defined by the type of device passed in may also be returned.</p></returns>
<remarks>
<strong>Note</strong>??If you call this API in a Session 0 process, it returns <strong><see cref = "!:NotCurrentlyAvailable"/></strong>.?<p>If you attempt to create a swap chain in full-screen mode, and full-screen mode is unavailable, the swap chain will be created in windowed mode and DXGI_STATUS_OCCLUDED will be returned.</p><p>If the buffer width or the buffer height is zero, the sizes will be inferred from the output window size in the swap-chain description.</p><p>Because the target output can't be chosen explicitly when the swap chain is created, we recommend not to create a full-screen swap chain. This can reduce presentation performance if the swap chain size and the output window size do not match. Here are two ways to ensure that the sizes match:</p><ul> <li>Create a windowed swap chain and then set it full-screen using <strong>IDXGISwapChain::SetFullscreenState</strong>.</li> <li>Save a reference to the swap chain immediately after creation, and use it to get the output window size during a WM_SIZE event. Then resize the swap chain buffers (with <strong>IDXGISwapChain::ResizeBuffers</strong>) during the transition from windowed to full-screen.</li> </ul><p>If the swap chain is in full-screen mode, before you release it you must use <strong>SetFullscreenState</strong> to switch it to windowed mode. For more information about releasing a swap chain, see the "Destroying a Swap Chain" section of DXGI Overview.</p><p>After the runtime renders the initial frame in full screen, the runtime might unexpectedly exit full screen during a call to <strong>IDXGISwapChain::Present</strong>. To work around this issue, we recommend that you execute the following code right after you call <strong>CreateSwapChain</strong> to create a full-screen swap chain (<strong>Windowed</strong> member of <strong><see cref = "T:SharpDX.DXGI.SwapChainDescription"/></strong> set to <strong><see cref = "F:SharpDX.Result.False"/></strong>).
</p><pre> // Detect if newly created full-screen swap chain isn't actually full screen.
<see cref = "T:SharpDX.DXGI.Output"/>* pTarget; <see cref = "T:SharpDX.Mathematics.Interop.RawBool"/> bFullscreen;
if (SUCCEEDED(pSwapChain-&gt;GetFullscreenState(&amp;bFullscreen, &amp;pTarget)))
{ pTarget-&gt;Release();
}
else bFullscreen = <see cref = "F:SharpDX.Result.False"/>;
// If not full screen, enable full screen again.
if (!bFullscreen)
{ ShowWindow(hWnd, SW_MINIMIZE); ShowWindow(hWnd, SW_RESTORE); pSwapChain-&gt;SetFullscreenState(TRUE, <c>null</c>);
}
</pre><p>You can specify <strong><see cref = "T:SharpDX.DXGI.SwapEffect"/></strong> and <strong><see cref = "T:SharpDX.DXGI.SwapChainFlags"/></strong> values in the swap-chain description that <em>pDesc</em> points to. These values allow you to use features like flip-model presentation and content protection by using pre-Windows?8 APIs.</p><p>However, to use stereo presentation and to change resize behavior for the flip model, applications must use the <strong>IDXGIFactory2::CreateSwapChainForHwnd</strong> method. Otherwise, the back-buffer contents implicitly scale to fit the presentation target size; that is, you can't turn off scaling.</p>
</remarks>
<doc-id>bb174537</doc-id>
<unmanaged>HRESULT IDXGIFactory::CreateSwapChain([In] IUnknown* pDevice,[In] DXGI_SWAP_CHAIN_DESC* pDesc,[Out, Fast] IDXGISwapChain** ppSwapChain)</unmanaged>
<unmanaged-short>IDXGIFactory::CreateSwapChain</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.Factory.CreateSoftwareAdapter(System.IntPtr)">
<summary>
<p>Create an adapter interface that represents a software adapter.</p>
</summary>
<param name = "module"><dd> <p>Handle to the software adapter's dll. HMODULE can be obtained with <strong>GetModuleHandle</strong> or <strong>LoadLibrary</strong>.</p> </dd></param>
<returns><dd> <p>Address of a reference to an adapter (see <strong><see cref = "T:SharpDX.DXGI.Adapter"/></strong>).</p> </dd></returns>
<remarks>
<p>A software adapter is a DLL that implements the entirety of a device driver interface, plus emulation, if necessary, of kernel-mode graphics components for Windows. Details on implementing a software adapter can be found in the Windows Vista Driver Development Kit. This is a very complex development task, and is not recommended for general readers.</p><p>Calling this method will increment the module's reference count by one. The reference count can be decremented by calling <strong>FreeLibrary</strong>.</p><p>The typical calling scenario is to call <strong>LoadLibrary</strong>, pass the handle to <strong>CreateSoftwareAdapter</strong>, then immediately call <strong>FreeLibrary</strong> on the DLL and forget the DLL's <strong>HMODULE</strong>. Since the software adapter calls <strong>FreeLibrary</strong> when it is destroyed, the lifetime of the DLL will now be owned by the adapter, and the application is free of any further consideration of its lifetime.</p>
</remarks>
<doc-id>bb174536</doc-id>
<unmanaged>HRESULT IDXGIFactory::CreateSoftwareAdapter([In] HINSTANCE Module,[Out] IDXGIAdapter** ppAdapter)</unmanaged>
<unmanaged-short>IDXGIFactory::CreateSoftwareAdapter</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.Factory1.#ctor">
<summary>
Default Constructor for Factory1.
</summary>
</member>
<member name="M:SharpDX.DXGI.Factory1.GetAdapter1(System.Int32)">
<summary>
Gets both adapters (video cards) with or without outputs.
</summary>
<param name="index"><para>The index of the adapter to enumerate.</para></param>
<returns>a reference to an <see cref="T:SharpDX.DXGI.Adapter1"/> interface at the position specified by the Adapter parameter</returns>
<remarks>
This method is not supported by DXGI 1.0, which shipped in Windows?Vista and Windows Server?2008. DXGI 1.1 support is required, which is available on Windows?7, Windows Server?2008?R2, and as an update to Windows?Vista with Service Pack?2 (SP2) (KB 971644) and Windows Server?2008 (KB 971512).When you create a factory, the factory enumerates the set of adapters that are available in the system. Therefore, if you change the adapters in a system, you must destroy and recreate the <see cref="T:SharpDX.DXGI.Factory1"/> object. The number of adapters in a system changes when you add or remove a display card, or dock or undock a laptop.When the EnumAdapters1 method succeeds and fills the ppAdapter parameter with the address of the reference to the adapter interface, EnumAdapters1 increments the adapter interface's reference count. When you finish using the adapter interface, call the Release method to decrement the reference count before you destroy the reference.EnumAdapters1 first returns the local adapter with the output on which the desktop primary is displayed. This adapter corresponds with an index of zero. EnumAdapters1 next returns other adapters with outputs. EnumAdapters1 finally returns adapters without outputs.
</remarks>
<unmanaged>HRESULT IDXGIFactory1::EnumAdapters1([In] unsigned int Adapter,[Out] IDXGIAdapter1** ppAdapter)</unmanaged>
</member>
<member name="P:SharpDX.DXGI.Factory1.Adapters1">
<summary>
Return an array of <see cref="T:SharpDX.DXGI.Adapter1"/> available from this factory.
</summary>
<unmanaged>HRESULT IDXGIFactory1::EnumAdapters1([In] unsigned int Adapter,[Out] IDXGIAdapter1** ppAdapter)</unmanaged>
</member>
<member name="M:SharpDX.DXGI.Factory1.GetAdapterCount1">
<summary>
Return the number of available adapters from this factory.
</summary>
<returns>The number of adapters</returns>
<unmanaged>HRESULT IDXGIFactory1::EnumAdapters1([In] unsigned int Adapter,[Out] IDXGIAdapter1** ppAdapter)</unmanaged>
</member>
<member name="P:SharpDX.DXGI.Factory1.IsCurrent">
<summary>
<p>Informs an application of the possible need to re-enumerate adapters.</p>
</summary>
<remarks>
<p>This method is not supported by DXGI 1.0, which shipped in Windows?Vista and Windows Server?2008. DXGI 1.1 support is required, which is available on Windows?7, Windows Server?2008?R2, and as an update to Windows?Vista with Service Pack?2 (SP2) (KB 971644) and Windows Server?2008 (KB 971512).</p>
</remarks>
<doc-id>ff471337</doc-id>
<unmanaged>IsCurrent</unmanaged>
<unmanaged-short>IsCurrent</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.Factory1.GetAdapter1(System.Int32,SharpDX.DXGI.Adapter1@)">
<summary>
<p>Enumerates both adapters (video cards) with or without outputs.</p>
</summary>
<param name = "adapter"><dd> <p>The index of the adapter to enumerate.</p> </dd></param>
<param name = "adapterOut"><dd> <p>The address of a reference to an <strong><see cref = "T:SharpDX.DXGI.Adapter1"/></strong> interface at the position specified by the <em>Adapter</em> parameter. This parameter must not be <strong><c>null</c></strong>.</p> </dd></param>
<returns><p>Returns <see cref = "F:SharpDX.Result.Ok"/> if successful; otherwise, returns <see cref = "!:NotFound"/> if the index is greater than or equal to the number of adapters in the local system, or <see cref = "!:InvalidCall"/> if <em>ppAdapter</em> parameter is <strong><c>null</c></strong>.</p></returns>
<remarks>
<p>This method is not supported by DXGI 1.0, which shipped in Windows?Vista and Windows Server?2008. DXGI 1.1 support is required, which is available on Windows?7, Windows Server?2008?R2, and as an update to Windows?Vista with Service Pack?2 (SP2) (KB 971644) and Windows Server?2008 (KB 971512).</p><p>When you create a factory, the factory enumerates the set of adapters that are available in the system. Therefore, if you change the adapters in a system, you must destroy and recreate the <strong><see cref = "T:SharpDX.DXGI.Factory1"/></strong> object. The number of adapters in a system changes when you add or remove a display card, or dock or undock a laptop. </p><p>When the <strong>EnumAdapters1</strong> method succeeds and fills the <em>ppAdapter</em> parameter with the address of the reference to the adapter interface, <strong>EnumAdapters1</strong> increments the adapter interface's reference count. When you finish using the adapter interface, call the <strong>Release</strong> method to decrement the reference count before you destroy the reference.</p><p><strong>EnumAdapters1</strong> first returns the adapter with the output on which the desktop primary is displayed. This adapter corresponds with an index of zero. <strong>EnumAdapters1</strong> next returns other adapters with outputs. <strong>EnumAdapters1</strong> finally returns adapters without outputs.</p>
</remarks>
<doc-id>ff471336</doc-id>
<unmanaged>HRESULT IDXGIFactory1::EnumAdapters1([In] unsigned int Adapter,[Out] IDXGIAdapter1** ppAdapter)</unmanaged>
<unmanaged-short>IDXGIFactory1::EnumAdapters1</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.Factory1.IsCurrent_">
<summary>
<p>Informs an application of the possible need to re-enumerate adapters.</p>
</summary>
<returns><p><strong><see cref = "F:SharpDX.Result.False"/></strong>, if a new adapter is becoming available or the current adapter is going away. <strong>TRUE</strong>, no adapter changes.</p><p><strong>IsCurrent</strong> returns <strong><see cref = "F:SharpDX.Result.False"/></strong> to inform the calling application to re-enumerate adapters.</p></returns>
<remarks>
<p>This method is not supported by DXGI 1.0, which shipped in Windows?Vista and Windows Server?2008. DXGI 1.1 support is required, which is available on Windows?7, Windows Server?2008?R2, and as an update to Windows?Vista with Service Pack?2 (SP2) (KB 971644) and Windows Server?2008 (KB 971512).</p>
</remarks>
<doc-id>ff471337</doc-id>
<unmanaged>BOOL IDXGIFactory1::IsCurrent()</unmanaged>
<unmanaged-short>IDXGIFactory1::IsCurrent</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.Factory2.#ctor(System.Boolean)">
<summary>
Initializes a new instance of <see cref="T:SharpDX.DXGI.Factory2"/> class.
</summary>
<param name="debug">True - to set the DXGI_CREATE_FACTORY_DEBUG flag.</param>
</member>
<member name="P:SharpDX.DXGI.Factory2.IsWindowedStereoEnabled">
<summary>
<p>Determines whether to use stereo mode.</p>
</summary>
<remarks>
<p>We recommend that windowed applications call <strong>IsWindowedStereoEnabled</strong> before they attempt to use stereo. <strong>IsWindowedStereoEnabled</strong> returns <strong>TRUE</strong> if both of the following items are true:</p><ul> <li>All adapters in the computer have drivers that are capable of stereo. This only means that the driver is implemented to the Windows Display Driver Model (WDDM) for Windows?8 (WDDM 1.2). However, the adapter does not necessarily have to be able to scan out stereo.</li> <li>The current desktop mode (desktop modes are mono) and system policy and hardware are configured so that the Desktop Window Manager (DWM) performs stereo composition on at least one adapter output.</li> </ul><p>The creation of a windowed stereo swap chain succeeds if the first requirement is met. However, if the adapter can't scan out stereo, the output on that adapter is reduced to mono.</p><p>The Direct3D 11.1 Simple Stereo 3D Sample shows how to add a stereoscopic 3D effect and how to respond to system stereo changes.</p>
</remarks>
<doc-id>hh404561</doc-id>
<unmanaged>IsWindowedStereoEnabled</unmanaged>
<unmanaged-short>IsWindowedStereoEnabled</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.Factory2.IsWindowedStereoEnabled_">
<summary>
<p>Determines whether to use stereo mode.</p>
</summary>
<returns><p>Indicates whether to use stereo mode. <strong>TRUE</strong> indicates that you can use stereo mode; otherwise, <strong><see cref = "F:SharpDX.Result.False"/></strong>.</p><p><strong>Platform Update for Windows?7:??</strong>On Windows?7 or Windows Server?2008?R2 with the Platform Update for Windows?7 installed, <strong>IsWindowedStereoEnabled</strong> always returns <see cref = "F:SharpDX.Result.False"/> because stereoscopic 3D display behavior isn?t available with the Platform Update for Windows?7. For more info about the Platform Update for Windows?7, see Platform Update for Windows 7. </p></returns>
<remarks>
<p>We recommend that windowed applications call <strong>IsWindowedStereoEnabled</strong> before they attempt to use stereo. <strong>IsWindowedStereoEnabled</strong> returns <strong>TRUE</strong> if both of the following items are true:</p><ul> <li>All adapters in the computer have drivers that are capable of stereo. This only means that the driver is implemented to the Windows Display Driver Model (WDDM) for Windows?8 (WDDM 1.2). However, the adapter does not necessarily have to be able to scan out stereo.</li> <li>The current desktop mode (desktop modes are mono) and system policy and hardware are configured so that the Desktop Window Manager (DWM) performs stereo composition on at least one adapter output.</li> </ul><p>The creation of a windowed stereo swap chain succeeds if the first requirement is met. However, if the adapter can't scan out stereo, the output on that adapter is reduced to mono.</p><p>The Direct3D 11.1 Simple Stereo 3D Sample shows how to add a stereoscopic 3D effect and how to respond to system stereo changes.</p>
</remarks>
<doc-id>hh404561</doc-id>
<unmanaged>BOOL IDXGIFactory2::IsWindowedStereoEnabled()</unmanaged>
<unmanaged-short>IDXGIFactory2::IsWindowedStereoEnabled</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.Factory2.CreateSwapChainForHwnd(SharpDX.IUnknown,System.IntPtr,SharpDX.DXGI.SwapChainDescription1@,System.Nullable{SharpDX.DXGI.SwapChainFullScreenDescription},SharpDX.DXGI.Output,SharpDX.DXGI.SwapChain1)">
<summary>
<p>Creates a swap chain that is associated with an <strong><see cref = "T:System.IntPtr"/></strong> handle to the output window for the swap chain.</p>
</summary>
<param name = "deviceRef">No documentation.</param>
<param name = "hWnd">No documentation.</param>
<param name = "descRef">No documentation.</param>
<param name = "fullscreenDescRef">No documentation.</param>
<param name = "restrictToOutputRef">No documentation.</param>
<param name = "swapChainOut">No documentation.</param>
<returns><p><strong>CreateSwapChainForHwnd</strong> returns: </p><ul> <li><see cref = "F:SharpDX.Result.Ok"/> if it successfully created a swap chain.</li> <li>E_OUTOFMEMORY if memory is unavailable to complete the operation.</li> <li> <see cref = "!:InvalidCall"/> if the calling application provided invalid data, for example, if <em>pDesc</em> or <em>ppSwapChain</em> is <strong><c>null</c></strong>.</li> <li>Possibly other error codes that are described in the DXGI_ERROR topic that are defined by the type of device that you pass to <em>pDevice</em>.</li> </ul><p><strong>Platform Update for Windows?7:??</strong><strong>DXGI_SCALING_NONE</strong> is not supported on Windows?7 or Windows Server?2008?R2 with the Platform Update for Windows?7 installed and causes <strong>CreateSwapChainForHwnd</strong> to return <see cref = "!:InvalidCall"/> when called. For more info about the Platform Update for Windows?7, see Platform Update for Windows 7. </p></returns>
<remarks>
<strong>Note</strong>??Do not use this method in Windows Store apps. Instead, use <strong>IDXGIFactory2::CreateSwapChainForCoreWindow</strong>.?<p>If you specify the width, height, or both (<strong>Width</strong> and <strong>Height</strong> members of <strong><see cref = "T:SharpDX.DXGI.SwapChainDescription1"/></strong> that <em>pDesc</em> points to) of the swap chain as zero, the runtime obtains the size from the output window that the <em>hWnd</em> parameter specifies. You can subsequently call the <strong>IDXGISwapChain1::GetDesc1</strong> method to retrieve the assigned width or height value.</p><p>Because you can associate only one flip presentation model swap chain at a time with an <strong><see cref = "T:System.IntPtr"/></strong>, the Microsoft Direct3D?11 policy of deferring the destruction of objects can cause problems if you attempt to destroy a flip presentation model swap chain and replace it with another swap chain. For more info about this situation, see <strong>Deferred Destruction Issues with Flip Presentation Swap Chains</strong>.</p><p>For info about how to choose a format for the swap chain's back buffer, see Converting data for the color space.</p>
</remarks>
<doc-id>hh404557</doc-id>
<unmanaged>HRESULT IDXGIFactory2::CreateSwapChainForHwnd([In] IUnknown* pDevice,[In] HWND hWnd,[In] const DXGI_SWAP_CHAIN_DESC1* pDesc,[In, Optional] const DXGI_SWAP_CHAIN_FULLSCREEN_DESC* pFullscreenDesc,[In, Optional] IDXGIOutput* pRestrictToOutput,[Out, Fast] IDXGISwapChain1** ppSwapChain)</unmanaged>
<unmanaged-short>IDXGIFactory2::CreateSwapChainForHwnd</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.Factory2.CreateSwapChainForCoreWindow(SharpDX.IUnknown,SharpDX.IUnknown,SharpDX.DXGI.SwapChainDescription1@,SharpDX.DXGI.Output,SharpDX.DXGI.SwapChain1)">
<summary>
<p>Creates a swap chain that is associated with the <strong>CoreWindow</strong> object for the output window for the swap chain.</p>
</summary>
<param name = "deviceRef">No documentation.</param>
<param name = "windowRef">No documentation.</param>
<param name = "descRef">No documentation.</param>
<param name = "restrictToOutputRef">No documentation.</param>
<param name = "swapChainOut">No documentation.</param>
<returns><p><strong>CreateSwapChainForCoreWindow</strong> returns: </p><ul> <li><see cref = "F:SharpDX.Result.Ok"/> if it successfully created a swap chain.</li> <li>E_OUTOFMEMORY if memory is unavailable to complete the operation.</li> <li> <see cref = "!:InvalidCall"/> if the calling application provided invalid data, for example, if <em>pDesc</em> or <em>ppSwapChain</em> is <strong><c>null</c></strong>.</li> <li>Possibly other error codes that are described in the DXGI_ERROR topic that are defined by the type of device that you pass to <em>pDevice</em>.</li> </ul><p><strong>Platform Update for Windows?7:??</strong>On Windows?7 or Windows Server?2008?R2 with the Platform Update for Windows?7 installed, <strong>CreateSwapChainForCoreWindow</strong> fails with E_NOTIMPL. For more info about the Platform Update for Windows?7, see Platform Update for Windows 7. </p></returns>
<remarks>
<strong>Note</strong>??Use this method in Windows Store apps rather than <strong>IDXGIFactory2::CreateSwapChainForHwnd</strong>.?<p>If you specify the width, height, or both (<strong>Width</strong> and <strong>Height</strong> members of <strong><see cref = "T:SharpDX.DXGI.SwapChainDescription1"/></strong> that <em>pDesc</em> points to) of the swap chain as zero, the runtime obtains the size from the output window that the <em>pWindow</em> parameter specifies. You can subsequently call the <strong>IDXGISwapChain1::GetDesc1</strong> method to retrieve the assigned width or height value.</p><p>Because you can associate only one flip presentation model swap chain (per layer) at a time with a <strong>CoreWindow</strong>, the Microsoft Direct3D?11 policy of deferring the destruction of objects can cause problems if you attempt to destroy a flip presentation model swap chain and replace it with another swap chain. For more info about this situation, see <strong>Deferred Destruction Issues with Flip Presentation Swap Chains</strong>.</p><p>For info about how to choose a format for the swap chain's back buffer, see Converting data for the color space.</p>
</remarks>
<doc-id>hh404559</doc-id>
<unmanaged>HRESULT IDXGIFactory2::CreateSwapChainForCoreWindow([In] IUnknown* pDevice,[In] IUnknown* pWindow,[In] const DXGI_SWAP_CHAIN_DESC1* pDesc,[In, Optional] IDXGIOutput* pRestrictToOutput,[Out, Fast] IDXGISwapChain1** ppSwapChain)</unmanaged>
<unmanaged-short>IDXGIFactory2::CreateSwapChainForCoreWindow</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.Factory2.GetSharedResourceAdapterLuid(System.IntPtr,System.Int64@)">
<summary>
<p>Identifies the adapter on which a shared resource object was created.</p>
</summary>
<param name = "hResource"><dd> <p>A handle to a shared resource object. The <strong>IDXGIResource1::CreateSharedHandle</strong> method returns this handle.</p> </dd></param>
<param name = "luidRef"><dd> <p>A reference to a variable that receives a locally unique identifier (<strong><see cref = "T:System.Int64"/></strong>) value that identifies the adapter. <strong><see cref = "T:System.Int64"/></strong> is defined in Dxgi.h. An <strong><see cref = "T:System.Int64"/></strong> is a 64-bit value that is guaranteed to be unique only on the operating system on which it was generated. The uniqueness of an <strong><see cref = "T:System.Int64"/></strong> is guaranteed only until the operating system is restarted.</p> </dd></param>
<returns><p><strong>GetSharedResourceAdapterLuid</strong> returns: </p><ul> <li><see cref = "F:SharpDX.Result.Ok"/> if it identified the adapter.</li> <li><see cref = "!:InvalidCall"/> if <em>hResource</em> is invalid.</li> <li>Possibly other error codes that are described in the DXGI_ERROR topic.</li> </ul><p><strong>Platform Update for Windows?7:??</strong>On Windows?7 or Windows Server?2008?R2 with the Platform Update for Windows?7 installed, <strong>GetSharedResourceAdapterLuid</strong> fails with E_NOTIMPL. For more info about the Platform Update for Windows?7, see Platform Update for Windows 7. </p></returns>
<remarks>
<p>You cannot share resources across adapters. Therefore, you cannot open a shared resource on an adapter other than the adapter on which the resource was created. Call <strong>GetSharedResourceAdapterLuid</strong> before you open a shared resource to ensure that the resource was created on the appropriate adapter. To open a shared resource, call the <strong>ID3D11Device1::OpenSharedResource1</strong> or <strong>ID3D11Device1::OpenSharedResourceByName</strong> method.</p>
</remarks>
<doc-id>hh404560</doc-id>
<unmanaged>HRESULT IDXGIFactory2::GetSharedResourceAdapterLuid([In] void* hResource,[Out] LUID* pLuid)</unmanaged>
<unmanaged-short>IDXGIFactory2::GetSharedResourceAdapterLuid</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.Factory2.RegisterStereoStatusWindow(System.IntPtr,System.Int32,System.Int32@)">
<summary>
<p>Registers an application window to receive notification messages of changes of stereo status.</p>
</summary>
<param name = "windowHandle"><dd> <p>The handle of the window to send a notification message to when stereo status change occurs.</p> </dd></param>
<param name = "wMsg"><dd> <p>Identifies the notification message to send. </p> </dd></param>
<param name = "dwCookieRef"><dd> <p>A reference to a key value that an application can pass to the <strong>IDXGIFactory2::UnregisterStereoStatus</strong> method to unregister the notification message that <em>wMsg</em> specifies.</p> </dd></param>
<returns><p><strong>RegisterStereoStatusWindow</strong> returns: </p><ul> <li><see cref = "F:SharpDX.Result.Ok"/> if it successfully registered the window.</li> <li>E_OUTOFMEMORY if memory is unavailable to complete the operation.</li> <li>Possibly other error codes that are described in the DXGI_ERROR topic.</li> </ul><p><strong>Platform Update for Windows?7:??</strong>On Windows?7 or Windows Server?2008?R2 with the Platform Update for Windows?7 installed, <strong>RegisterStereoStatusWindow</strong> fails with E_NOTIMPL. For more info about the Platform Update for Windows?7, see Platform Update for Windows 7. </p></returns>
<doc-id>hh404587</doc-id>
<unmanaged>HRESULT IDXGIFactory2::RegisterStereoStatusWindow([In] HWND WindowHandle,[In] unsigned int wMsg,[Out] DWORD* pdwCookie)</unmanaged>
<unmanaged-short>IDXGIFactory2::RegisterStereoStatusWindow</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.Factory2.RegisterStereoStatusEvent(System.IntPtr,System.Int32@)">
<summary>
<p>Registers to receive notification of changes in stereo status by using event signaling.</p>
</summary>
<param name = "hEvent"><dd> <p>A handle to the event object that the operating system sets when notification of stereo status change occurs. The <strong>CreateEvent</strong> or <strong>OpenEvent</strong> function returns this handle. </p> </dd></param>
<param name = "dwCookieRef"><dd> <p>A reference to a key value that an application can pass to the <strong>IDXGIFactory2::UnregisterStereoStatus</strong> method to unregister the notification event that <em>hEvent</em> specifies.</p> </dd></param>
<returns><p><strong>RegisterStereoStatusEvent</strong> returns: </p><ul> <li><see cref = "F:SharpDX.Result.Ok"/> if it successfully registered the event.</li> <li>E_OUTOFMEMORY if memory is unavailable to complete the operation.</li> <li>Possibly other error codes that are described in the DXGI_ERROR topic.</li> </ul><p><strong>Platform Update for Windows?7:??</strong>On Windows?7 or Windows Server?2008?R2 with the Platform Update for Windows?7 installed, <strong>RegisterStereoStatusEvent</strong> fails with E_NOTIMPL. For more info about the Platform Update for Windows?7, see Platform Update for Windows 7. </p></returns>
<doc-id>hh404584</doc-id>
<unmanaged>HRESULT IDXGIFactory2::RegisterStereoStatusEvent([In] void* hEvent,[Out] DWORD* pdwCookie)</unmanaged>
<unmanaged-short>IDXGIFactory2::RegisterStereoStatusEvent</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.Factory2.UnregisterStereoStatus(System.Int32)">
<summary>
<p>Unregisters a window or an event to stop it from receiving notification when stereo status changes.</p>
</summary>
<param name = "dwCookie"><dd> <p>A key value for the window or event to unregister. The <strong>IDXGIFactory2::RegisterStereoStatusWindow</strong> or <strong>IDXGIFactory2::RegisterStereoStatusEvent</strong> method returns this value. </p> </dd></param>
<remarks>
<p><strong>Platform Update for Windows?7:??</strong>On Windows?7 or Windows Server?2008?R2 with the Platform Update for Windows?7 installed, <strong>UnregisterStereoStatus</strong> has no effect. For more info about the Platform Update for Windows?7, see Platform Update for Windows 7. </p>
</remarks>
<doc-id>hh404593</doc-id>
<unmanaged>void IDXGIFactory2::UnregisterStereoStatus([In] DWORD dwCookie)</unmanaged>
<unmanaged-short>IDXGIFactory2::UnregisterStereoStatus</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.Factory2.RegisterOcclusionStatusWindow(System.IntPtr,System.Int32,System.Int32@)">
<summary>
<p>Registers an application window to receive notification messages of changes of occlusion status.</p>
</summary>
<param name = "windowHandle"><dd> <p>The handle of the window to send a notification message to when occlusion status change occurs.</p> </dd></param>
<param name = "wMsg"><dd> <p>Identifies the notification message to send. </p> </dd></param>
<param name = "dwCookieRef"><dd> <p>A reference to a key value that an application can pass to the <strong>IDXGIFactory2::UnregisterOcclusionStatus</strong> method to unregister the notification message that <em>wMsg</em> specifies.</p> </dd></param>
<returns><p><strong>RegisterOcclusionStatusWindow</strong> returns: </p><ul> <li><see cref = "F:SharpDX.Result.Ok"/> if it successfully registered the window.</li> <li>E_OUTOFMEMORY if memory is unavailable to complete the operation.</li> <li> <see cref = "!:InvalidCall"/> if <em>WindowHandle</em> is not a valid window handle or not the window handle that the current process owns.</li> <li>Possibly other error codes that are described in the DXGI_ERROR topic.</li> </ul><p><strong>Platform Update for Windows?7:??</strong>On Windows?7 or Windows Server?2008?R2 with the Platform Update for Windows?7 installed, <strong>RegisterOcclusionStatusWindow</strong> fails with E_NOTIMPL. For more info about the Platform Update for Windows?7, see Platform Update for Windows 7. </p></returns>
<remarks>
<p>Apps choose the Windows message that Windows sends when occlusion status changes.</p>
</remarks>
<doc-id>hh404581</doc-id>
<unmanaged>HRESULT IDXGIFactory2::RegisterOcclusionStatusWindow([In] HWND WindowHandle,[In] unsigned int wMsg,[Out] DWORD* pdwCookie)</unmanaged>
<unmanaged-short>IDXGIFactory2::RegisterOcclusionStatusWindow</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.Factory2.RegisterOcclusionStatusEvent(System.IntPtr,System.Int32@)">
<summary>
<p>Registers to receive notification of changes in occlusion status by using event signaling.</p>
</summary>
<param name = "hEvent"><dd> <p>A handle to the event object that the operating system sets when notification of occlusion status change occurs. The <strong>CreateEvent</strong> or <strong>OpenEvent</strong> function returns this handle.</p> </dd></param>
<param name = "dwCookieRef"><dd> <p>A reference to a key value that an application can pass to the <strong>IDXGIFactory2::UnregisterOcclusionStatus</strong> method to unregister the notification event that <em>hEvent</em> specifies.</p> </dd></param>
<returns><p><strong>RegisterOcclusionStatusEvent</strong> returns: </p><ul> <li><see cref = "F:SharpDX.Result.Ok"/> if the method successfully registered the event.</li> <li>E_OUTOFMEMORY if memory is unavailable to complete the operation.</li> <li> <see cref = "!:InvalidCall"/> if <em>hEvent</em> is not a valid handle or not an event handle. </li> <li>Possibly other error codes that are described in the DXGI_ERROR topic.</li> </ul><p><strong>Platform Update for Windows?7:??</strong>On Windows?7 or Windows Server?2008?R2 with the Platform Update for Windows?7 installed, <strong>RegisterOcclusionStatusEvent</strong> fails with E_NOTIMPL. For more info about the Platform Update for Windows?7, see Platform Update for Windows 7. </p></returns>
<remarks>
<p>If you call <strong>RegisterOcclusionStatusEvent</strong> multiple times with the same event handle, <strong>RegisterOcclusionStatusEvent</strong> fails with <see cref = "!:InvalidCall"/>.</p><p>If you call <strong>RegisterOcclusionStatusEvent</strong> multiple times with the different event handles, <strong>RegisterOcclusionStatusEvent</strong> properly registers the events.</p>
</remarks>
<doc-id>hh404578</doc-id>
<unmanaged>HRESULT IDXGIFactory2::RegisterOcclusionStatusEvent([In] void* hEvent,[Out] DWORD* pdwCookie)</unmanaged>
<unmanaged-short>IDXGIFactory2::RegisterOcclusionStatusEvent</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.Factory2.UnregisterOcclusionStatus(System.Int32)">
<summary>
<p>Unregisters a window or an event to stop it from receiving notification when occlusion status changes.</p>
</summary>
<param name = "dwCookie"><dd> <p>A key value for the window or event to unregister. The <strong>IDXGIFactory2::RegisterOcclusionStatusWindow</strong> or <strong>IDXGIFactory2::RegisterOcclusionStatusEvent</strong> method returns this value. </p> </dd></param>
<remarks>
<p><strong>Platform Update for Windows?7:??</strong>On Windows?7 or Windows Server?2008?R2 with the Platform Update for Windows?7 installed, <strong>UnregisterOcclusionStatus</strong> has no effect. For more info about the Platform Update for Windows?7, see Platform Update for Windows 7. </p>
</remarks>
<doc-id>hh404590</doc-id>
<unmanaged>void IDXGIFactory2::UnregisterOcclusionStatus([In] DWORD dwCookie)</unmanaged>
<unmanaged-short>IDXGIFactory2::UnregisterOcclusionStatus</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.Factory2.CreateSwapChainForComposition(SharpDX.IUnknown,SharpDX.DXGI.SwapChainDescription1@,SharpDX.DXGI.Output,SharpDX.DXGI.SwapChain1)">
<summary>
<p>Creates a swap chain that you can use to send Direct3D content into the DirectComposition API or the <strong>Windows.UI.Xaml</strong> framework to compose in a window.</p>
</summary>
<param name = "deviceRef">No documentation.</param>
<param name = "descRef">No documentation.</param>
<param name = "restrictToOutputRef">No documentation.</param>
<param name = "swapChainOut">No documentation.</param>
<returns><p><strong>CreateSwapChainForComposition</strong> returns: </p><ul> <li><see cref = "F:SharpDX.Result.Ok"/> if it successfully created a swap chain.</li> <li>E_OUTOFMEMORY if memory is unavailable to complete the operation.</li> <li> <see cref = "!:InvalidCall"/> if the calling application provided invalid data, for example, if <em>pDesc</em> or <em>ppSwapChain</em> is <strong><c>null</c></strong>.</li> <li>Possibly other error codes that are described in the DXGI_ERROR topic that are defined by the type of device that you pass to <em>pDevice</em>.</li> </ul><p><strong>Platform Update for Windows?7:??</strong>On Windows?7 or Windows Server?2008?R2 with the Platform Update for Windows?7 installed, <strong>CreateSwapChainForComposition</strong> fails with E_NOTIMPL. For more info about the Platform Update for Windows?7, see Platform Update for Windows 7. </p></returns>
<remarks>
<p>You can use composition swap chains with either DirectComposition?s <strong><see cref = "!:SharpDX.DirectComposition.Visual"/></strong> interface or XAML?s <strong>SwapChainBackgroundPanel</strong> class. For DirectComposition, you can call the <strong>IDCompositionVisual::SetContent</strong> method to set the swap chain as the content of a visual object, which then allows you to bind the swap chain to the visual tree. For XAML, the <strong>SwapChainBackgroundPanel</strong> class exposes a classic COM interface <strong><see cref = "T:SharpDX.DXGI.ISwapChainBackgroundPanelNative"/></strong>. You can use the <strong>ISwapChainBackgroundPanelNative::SetSwapChain</strong> method to bind to the XAML UI graph. For info about how to use composition swap chains with XAML?s <strong>SwapChainBackgroundPanel</strong> class, see DirectX and XAML interop.</p><p>The <strong>IDXGISwapChain::SetFullscreenState</strong>, <strong>IDXGISwapChain::ResizeTarget</strong>, <strong>IDXGISwapChain::GetContainingOutput</strong>, <strong>IDXGISwapChain1::GetHwnd</strong>, and <strong>IDXGISwapChain::GetCoreWindow</strong> methods aren't valid on this type of swap chain. If you call any of these methods on this type of swap chain, they fail.</p><p>For info about how to choose a format for the swap chain's back buffer, see Converting data for the color space.</p>
</remarks>
<doc-id>hh404558</doc-id>
<unmanaged>HRESULT IDXGIFactory2::CreateSwapChainForComposition([In] IUnknown* pDevice,[In] const DXGI_SWAP_CHAIN_DESC1* pDesc,[In, Optional] IDXGIOutput* pRestrictToOutput,[Out, Fast] IDXGISwapChain1** ppSwapChain)</unmanaged>
<unmanaged-short>IDXGIFactory2::CreateSwapChainForComposition</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.Factory4.#ctor">
<summary>
Initializes a new instance of <see cref="T:SharpDX.DXGI.Factory4"/> class.
</summary>
</member>
<member name="M:SharpDX.DXGI.Factory4.GetWarpAdapter">
<summary>
Gets the default warp adapter.
</summary>
<returns>The warp adapter.</returns>
</member>
<member name="M:SharpDX.DXGI.Factory4.GetAdapterByLuid(System.Int64)">
<summary>
Gets the adapter for the specified LUID.
</summary>
<param name="adapterLuid">A unique value that identifies the adapter.</param>
<returns>The adapter.</returns>
</member>
<member name="M:SharpDX.DXGI.Factory4.EnumAdapterByLuid(System.Int64,System.Guid,System.IntPtr@)">
<summary>
<p> Outputs the <strong><see cref = "T:SharpDX.DXGI.Adapter"/></strong> for the specified <see cref = "T:System.Int64"/>. </p>
</summary>
<param name = "adapterLuid">No documentation.</param>
<param name = "riid">No documentation.</param>
<param name = "vAdapterOut">No documentation.</param>
<returns><p> Returns <see cref = "F:SharpDX.Result.Ok"/> if successful; an error code otherwise. For a list of error codes, see DXGI_ERROR. See also Direct3D 12 Return Codes. </p></returns>
<remarks>
<p> For Direct3D 12, it's no longer possible to backtrack from a device to the <strong><see cref = "T:SharpDX.DXGI.Adapter"/></strong> that was used to create it. <strong>IDXGIFactory4::EnumAdapterByLuid</strong> enables an app to retrieve information about the adapter where a D3D12 device was created. <strong>IDXGIFactory4::EnumAdapterByLuid</strong> is designed to be paired with <strong>ID3D12Device::GetAdapterLuid</strong>. For more information, see DXGI 1.4 Improvements. </p>
</remarks>
<doc-id>mt427786</doc-id>
<unmanaged>HRESULT IDXGIFactory4::EnumAdapterByLuid([In] LUID AdapterLuid,[In] const GUID&amp; riid,[Out] void** ppvAdapter)</unmanaged>
<unmanaged-short>IDXGIFactory4::EnumAdapterByLuid</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.Factory4.EnumWarpAdapter(System.Guid,System.IntPtr@)">
<summary>
<p> Provides an adapter which can be provided to D3D12CreateDevice to use the WARP renderer. </p>
</summary>
<param name = "riid"><dd> <p> The globally unique identifier (<see cref = "T:System.Guid"/>) of the <strong><see cref = "T:SharpDX.DXGI.Factory4"/></strong> object referenced by the <em>ppvAdapter</em> parameter. </p> </dd></param>
<param name = "vAdapterOut"><dd> <p> The address of an <strong><see cref = "T:SharpDX.DXGI.Adapter"/></strong> interface reference to the adapter. This parameter must not be <c>null</c>. </p> </dd></param>
<returns><p> Returns <see cref = "F:SharpDX.Result.Ok"/> if successful; an error code otherwise. For a list of error codes, see DXGI_ERROR. See also Direct3D 12 Return Codes. </p></returns>
<remarks>
<p> For more information, see DXGI 1.4 Improvements. </p>
</remarks>
<doc-id>mt427787</doc-id>
<unmanaged>HRESULT IDXGIFactory4::EnumWarpAdapter([In] const GUID&amp; riid,[Out] void** ppvAdapter)</unmanaged>
<unmanaged-short>IDXGIFactory4::EnumWarpAdapter</unmanaged-short>
</member>
<member name="T:SharpDX.DXGI.FormatHelper">
<summary>
Helper to use with <see cref="T:SharpDX.DXGI.Format"/>.
</summary>
</member>
<member name="M:SharpDX.DXGI.FormatHelper.SizeOfInBytes(SharpDX.DXGI.Format)">
<summary>
Calculates the size of a <see cref="T:SharpDX.DXGI.Format"/> in bytes. Can be 0 for compressed format (as they are less than 1 byte)
</summary>
<param name="format">The DXGI format.</param>
<returns>size of in bytes</returns>
</member>
<member name="M:SharpDX.DXGI.FormatHelper.SizeOfInBits(SharpDX.DXGI.Format)">
<summary>
Calculates the size of a <see cref="T:SharpDX.DXGI.Format"/> in bits.
</summary>
<param name="format">The DXGI format.</param>
<returns>size of in bits</returns>
</member>
<member name="M:SharpDX.DXGI.FormatHelper.IsValid(SharpDX.DXGI.Format)">
<summary>
Returns true if the <see cref="T:SharpDX.DXGI.Format"/> is valid.
</summary>
<param name="format">A format to validate</param>
<returns>True if the <see cref="T:SharpDX.DXGI.Format"/> is valid.</returns>
</member>
<member name="M:SharpDX.DXGI.FormatHelper.IsCompressed(SharpDX.DXGI.Format)">
<summary>
Returns true if the <see cref="T:SharpDX.DXGI.Format"/> is a compressed format.
</summary>
<param name="format">The format to check for compressed.</param>
<returns>True if the <see cref="T:SharpDX.DXGI.Format"/> is a compressed format</returns>
</member>
<member name="M:SharpDX.DXGI.FormatHelper.IsPacked(SharpDX.DXGI.Format)">
<summary>
Determines whether the specified <see cref="T:SharpDX.DXGI.Format"/> is packed.
</summary>
<param name="format">The DXGI Format.</param>
<returns><c>true</c> if the specified <see cref="T:SharpDX.DXGI.Format"/> is packed; otherwise, <c>false</c>.</returns>
</member>
<member name="M:SharpDX.DXGI.FormatHelper.IsVideo(SharpDX.DXGI.Format)">
<summary>
Determines whether the specified <see cref="T:SharpDX.DXGI.Format"/> is video.
</summary>
<param name="format">The <see cref="T:SharpDX.DXGI.Format"/>.</param>
<returns><c>true</c> if the specified <see cref="T:SharpDX.DXGI.Format"/> is video; otherwise, <c>false</c>.</returns>
</member>
<member name="M:SharpDX.DXGI.FormatHelper.IsSRgb(SharpDX.DXGI.Format)">
<summary>
Determines whether the specified <see cref="T:SharpDX.DXGI.Format"/> is a SRGB format.
</summary>
<param name="format">The <see cref="T:SharpDX.DXGI.Format"/>.</param>
<returns><c>true</c> if the specified <see cref="T:SharpDX.DXGI.Format"/> is a SRGB format; otherwise, <c>false</c>.</returns>
</member>
<member name="M:SharpDX.DXGI.FormatHelper.IsTypeless(SharpDX.DXGI.Format)">
<summary>
Determines whether the specified <see cref="T:SharpDX.DXGI.Format"/> is typeless.
</summary>
<param name="format">The <see cref="T:SharpDX.DXGI.Format"/>.</param>
<returns><c>true</c> if the specified <see cref="T:SharpDX.DXGI.Format"/> is typeless; otherwise, <c>false</c>.</returns>
</member>
<member name="M:SharpDX.DXGI.FormatHelper.ComputeScanlineCount(SharpDX.DXGI.Format,System.Int32)">
<summary>
Computes the scanline count (number of scanlines).
</summary>
<param name="format">The <see cref="T:SharpDX.DXGI.Format"/>.</param>
<param name="height">The height.</param>
<returns>The scanline count.</returns>
</member>
<member name="M:SharpDX.DXGI.FormatHelper.#cctor">
<summary>
Static initializer to speed up size calculation (not sure the JIT is enough "smart" for this kind of thing).
</summary>
</member>
<member name="M:SharpDX.DXGI.InfoQueue.TryCreate">
<summary>
If the DXGI debug layer is installed (e.g. on developer machines), creates the DXGI InfoQueue object.
Otherwise, returns null.
</summary>
<remarks>
Currently doesn't work for Windows Store (aka UWP) apps
</remarks>
</member>
<member name="M:SharpDX.DXGI.InfoQueue.SetMessageCountLimit(System.Guid,System.Int64)">
<summary>
<p>Sets the maximum number of messages that can be added to the message queue.</p>
</summary>
<param name = "producer"><dd> <p> A <strong>DXGI_DEBUG_ID</strong> value that identifies the entity that sets the limit on the number of messages.</p> </dd></param>
<param name = "messageCountLimit"><dd> <p>The maximum number of messages that can be added to the queue. ?1 means no limit.</p> </dd></param>
<returns><p>Returns <see cref = "F:SharpDX.Result.Ok"/> if successful; an error code otherwise. For a list of error codes, see DXGI_ERROR.</p></returns>
<remarks>
<strong>Note</strong>??This API requires the Windows Software Development Kit (SDK) for Windows?8.?
</remarks>
<doc-id>hh780391</doc-id>
<unmanaged>HRESULT IDXGIInfoQueue::SetMessageCountLimit([In] GUID Producer,[In] unsigned longlong MessageCountLimit)</unmanaged>
<unmanaged-short>IDXGIInfoQueue::SetMessageCountLimit</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.InfoQueue.ClearStoredMessages(System.Guid)">
<summary>
<p>Clears all messages from the message queue.</p>
</summary>
<param name = "producer"><dd> <p> A <strong>DXGI_DEBUG_ID</strong> value that identifies the entity that clears the messages.</p> </dd></param>
<remarks>
<strong>Note</strong>??This API requires the Windows Software Development Kit (SDK) for Windows?8.?
</remarks>
<doc-id>hh780362</doc-id>
<unmanaged>void IDXGIInfoQueue::ClearStoredMessages([In] GUID Producer)</unmanaged>
<unmanaged-short>IDXGIInfoQueue::ClearStoredMessages</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.InfoQueue.GetMessage(System.Guid,System.Int64,SharpDX.DXGI.InformationQueueMessage[],SharpDX.PointerSize@)">
<summary>
<p>Gets a message from the message queue.</p>
</summary>
<param name = "producer"><dd> <p> A <strong>DXGI_DEBUG_ID</strong> value that identifies the entity that gets the message.</p> </dd></param>
<param name = "messageIndex"><dd> <p>An index into the message queue after an optional retrieval filter has been applied. This can be between 0 and the number of messages in the message queue that pass through the retrieval filter. Call <strong>IDXGIInfoQueue::GetNumStoredMessagesAllowedByRetrievalFilters</strong> to obtain this number. 0 is the message at the beginning of the message queue.</p> </dd></param>
<param name = "messageRef"><dd> <p>A reference to a <strong><see cref = "T:SharpDX.DXGI.InformationQueueMessage"/></strong> structure that describes the message.</p> </dd></param>
<param name = "messageByteLengthRef"><dd> <p>A reference to a variable that receives the size, in bytes, of the message description that <em>pMessage</em> points to. This size includes the size of the message string that <em>pMessage</em> points to.</p> </dd></param>
<returns><p>Returns <see cref = "F:SharpDX.Result.Ok"/> if successful; an error code otherwise. For a list of error codes, see DXGI_ERROR.</p></returns>
<remarks>
<p>This method doesn't remove any messages from the message queue.</p><p>This method gets a message from the message queue after an optional retrieval filter has been applied.</p><p>Call this method twice to retrieve a message, first to obtain the size of the message and second to get the message. Here is a typical example:</p><pre> // Get the size of the message.
<see cref = "T:SharpDX.PointerSize"/> messageLength = 0;
<see cref = "T:SharpDX.Result"/> hr = pInfoQueue-&gt;GetMessage(DXGI_DEBUG_ALL, 0, <c>null</c>, &amp;messageLength); // Allocate space and get the message.
<see cref = "T:SharpDX.DXGI.InformationQueueMessage"/> * pMessage = (<see cref = "T:SharpDX.DXGI.InformationQueueMessage"/>*)malloc(messageLength);
hr = pInfoQueue-&gt;GetMessage(DXGI_DEBUG_ALL, 0, pMessage, &amp;messageLength);
</pre><strong>Note</strong>??This API requires the Windows Software Development Kit (SDK) for Windows?8.?
</remarks>
<doc-id>hh780366</doc-id>
<unmanaged>HRESULT IDXGIInfoQueue::GetMessageW([In] GUID Producer,[In] unsigned longlong MessageIndex,[Out, Buffer, Optional] DXGI_INFO_QUEUE_MESSAGE* pMessage,[InOut] SIZE_T* pMessageByteLength)</unmanaged>
<unmanaged-short>IDXGIInfoQueue::GetMessageW</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.InfoQueue.GetNumStoredMessagesAllowedByRetrievalFilters(System.Guid)">
<summary>
<p>Gets the number of messages that can pass through a retrieval filter.</p>
</summary>
<param name = "producer"><dd> <p> A <strong>DXGI_DEBUG_ID</strong> value that identifies the entity that gets the number.</p> </dd></param>
<returns><p>Returns the number of messages that can pass through a retrieval filter.</p></returns>
<remarks>
<strong>Note</strong>??This API requires the Windows Software Development Kit (SDK) for Windows?8.?
</remarks>
<doc-id>hh780373</doc-id>
<unmanaged>unsigned longlong IDXGIInfoQueue::GetNumStoredMessagesAllowedByRetrievalFilters([In] GUID Producer)</unmanaged>
<unmanaged-short>IDXGIInfoQueue::GetNumStoredMessagesAllowedByRetrievalFilters</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.InfoQueue.GetNumStoredMessages(System.Guid)">
<summary>
<p>Gets the number of messages currently stored in the message queue.</p>
</summary>
<param name = "producer"><dd> <p> A <strong>DXGI_DEBUG_ID</strong> value that identifies the entity that gets the number.</p> </dd></param>
<returns><p>Returns the number of messages currently stored in the message queue.</p></returns>
<remarks>
<strong>Note</strong>??This API requires the Windows Software Development Kit (SDK) for Windows?8.?
</remarks>
<doc-id>hh780372</doc-id>
<unmanaged>unsigned longlong IDXGIInfoQueue::GetNumStoredMessages([In] GUID Producer)</unmanaged>
<unmanaged-short>IDXGIInfoQueue::GetNumStoredMessages</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.InfoQueue.GetNumMessagesDiscardedByMessageCountLimit(System.Guid)">
<summary>
<p>Gets the number of messages that were discarded due to the message count limit.</p>
</summary>
<param name = "producer"><dd> <p> A <strong>DXGI_DEBUG_ID</strong> value that identifies the entity that gets the number.</p> </dd></param>
<returns><p>Returns the number of messages that were discarded.</p></returns>
<remarks>
<p>Get and set the message count limit with <strong>IDXGIInfoQueue::GetMessageCountLimit</strong> and <strong>IDXGIInfoQueue::SetMessageCountLimit</strong>, respectively. </p><strong>Note</strong>??This API requires the Windows Software Development Kit (SDK) for Windows?8.?
</remarks>
<doc-id>hh780371</doc-id>
<unmanaged>unsigned longlong IDXGIInfoQueue::GetNumMessagesDiscardedByMessageCountLimit([In] GUID Producer)</unmanaged>
<unmanaged-short>IDXGIInfoQueue::GetNumMessagesDiscardedByMessageCountLimit</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.InfoQueue.GetMessageCountLimit(System.Guid)">
<summary>
<p>Gets the maximum number of messages that can be added to the message queue.</p>
</summary>
<param name = "producer"><dd> <p> A <strong>DXGI_DEBUG_ID</strong> value that identifies the entity that gets the number.</p> </dd></param>
<returns><p>Returns the maximum number of messages that can be added to the queue. ?1 means no limit.</p></returns>
<remarks>
<p>When the number of messages in the message queue reaches the maximum limit, new messages coming in push old messages out.</p><strong>Note</strong>??This API requires the Windows Software Development Kit (SDK) for Windows?8.?
</remarks>
<doc-id>hh780367</doc-id>
<unmanaged>unsigned longlong IDXGIInfoQueue::GetMessageCountLimit([In] GUID Producer)</unmanaged>
<unmanaged-short>IDXGIInfoQueue::GetMessageCountLimit</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.InfoQueue.GetNumMessagesAllowedByStorageFilter(System.Guid)">
<summary>
<p>Gets the number of messages that a storage filter allowed to pass through.</p>
</summary>
<param name = "producer"><dd> <p> A <strong>DXGI_DEBUG_ID</strong> value that identifies the entity that gets the number.</p> </dd></param>
<returns><p>Returns the number of messages allowed by a storage filter.</p></returns>
<remarks>
<strong>Note</strong>??This API requires the Windows Software Development Kit (SDK) for Windows?8.?
</remarks>
<doc-id>hh780369</doc-id>
<unmanaged>unsigned longlong IDXGIInfoQueue::GetNumMessagesAllowedByStorageFilter([In] GUID Producer)</unmanaged>
<unmanaged-short>IDXGIInfoQueue::GetNumMessagesAllowedByStorageFilter</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.InfoQueue.GetNumMessagesDeniedByStorageFilter(System.Guid)">
<summary>
<p>Gets the number of messages that were denied passage through a storage filter.</p>
</summary>
<param name = "producer"><dd> <p> A <strong>DXGI_DEBUG_ID</strong> value that identifies the entity that gets the number.</p> </dd></param>
<returns><p>Returns the number of messages denied by a storage filter.</p></returns>
<remarks>
<strong>Note</strong>??This API requires the Windows Software Development Kit (SDK) for Windows?8.?
</remarks>
<doc-id>hh780370</doc-id>
<unmanaged>unsigned longlong IDXGIInfoQueue::GetNumMessagesDeniedByStorageFilter([In] GUID Producer)</unmanaged>
<unmanaged-short>IDXGIInfoQueue::GetNumMessagesDeniedByStorageFilter</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.InfoQueue.AddStorageFilterEntries(System.Guid,SharpDX.DXGI.InfoQueueFilter@)">
<summary>
<p>Adds storage filters to the top of the storage-filter stack.</p>
</summary>
<param name = "producer"><dd> <p> A <strong>DXGI_DEBUG_ID</strong> value that identifies the entity that produced the filters.</p> </dd></param>
<param name = "filterRef"><dd> <p>An array of <strong><see cref = "T:SharpDX.DXGI.InfoQueueFilter"/></strong> structures that describe the filters.</p> </dd></param>
<returns><p>Returns <see cref = "F:SharpDX.Result.Ok"/> if successful; an error code otherwise. For a list of error codes, see DXGI_ERROR.</p></returns>
<remarks>
<strong>Note</strong>??This API requires the Windows Software Development Kit (SDK) for Windows?8.?
</remarks>
<doc-id>hh780359</doc-id>
<unmanaged>HRESULT IDXGIInfoQueue::AddStorageFilterEntries([In] GUID Producer,[In] DXGI_INFO_QUEUE_FILTER* pFilter)</unmanaged>
<unmanaged-short>IDXGIInfoQueue::AddStorageFilterEntries</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.InfoQueue.GetStorageFilter(System.Guid,SharpDX.DXGI.InfoQueueFilter[],SharpDX.PointerSize@)">
<summary>
<p>Gets the storage filter at the top of the storage-filter stack.</p>
</summary>
<param name = "producer"><dd> <p> A <strong>DXGI_DEBUG_ID</strong> value that identifies the entity that gets the filter.</p> </dd></param>
<param name = "filterRef"><dd> <p>A reference to a <strong><see cref = "T:SharpDX.DXGI.InfoQueueFilter"/></strong> structure that describes the filter.</p> </dd></param>
<param name = "filterByteLengthRef"><dd> <p>A reference to a variable that receives the size, in bytes, of the filter description to which <em>pFilter</em> points. If <em>pFilter</em> is <strong><c>null</c></strong>, <strong>GetStorageFilter</strong> outputs the size of the storage filter.</p> </dd></param>
<returns><p>Returns <see cref = "F:SharpDX.Result.Ok"/> if successful; an error code otherwise. For a list of error codes, see DXGI_ERROR.</p></returns>
<remarks>
<strong>Note</strong>??This API requires the Windows Software Development Kit (SDK) for Windows?8.?
</remarks>
<doc-id>hh780376</doc-id>
<unmanaged>HRESULT IDXGIInfoQueue::GetStorageFilter([In] GUID Producer,[Out, Buffer, Optional] DXGI_INFO_QUEUE_FILTER* pFilter,[InOut] SIZE_T* pFilterByteLength)</unmanaged>
<unmanaged-short>IDXGIInfoQueue::GetStorageFilter</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.InfoQueue.ClearStorageFilter(System.Guid)">
<summary>
<p>Removes a storage filter from the top of the storage-filter stack.</p>
</summary>
<param name = "producer"><dd> <p> A <strong>DXGI_DEBUG_ID</strong> value that identifies the entity that removes the filter.</p> </dd></param>
<remarks>
<strong>Note</strong>??This API requires the Windows Software Development Kit (SDK) for Windows?8.?
</remarks>
<doc-id>hh780361</doc-id>
<unmanaged>void IDXGIInfoQueue::ClearStorageFilter([In] GUID Producer)</unmanaged>
<unmanaged-short>IDXGIInfoQueue::ClearStorageFilter</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.InfoQueue.PushEmptyStorageFilter(System.Guid)">
<summary>
<p>Pushes an empty storage filter onto the storage-filter stack.</p>
</summary>
<param name = "producer"><dd> <p> A <strong>DXGI_DEBUG_ID</strong> value that identifies the entity that pushes the empty storage filter.</p> </dd></param>
<returns><p>Returns <see cref = "F:SharpDX.Result.Ok"/> if successful; an error code otherwise. For a list of error codes, see DXGI_ERROR.</p></returns>
<remarks>
<p>An empty storage filter allows all messages to pass through.</p><strong>Note</strong>??This API requires the Windows Software Development Kit (SDK) for Windows?8.?
</remarks>
<doc-id>hh780385</doc-id>
<unmanaged>HRESULT IDXGIInfoQueue::PushEmptyStorageFilter([In] GUID Producer)</unmanaged>
<unmanaged-short>IDXGIInfoQueue::PushEmptyStorageFilter</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.InfoQueue.PushDenyAllStorageFilter(System.Guid)">
<summary>
<p>Pushes a deny-all storage filter onto the storage-filter stack.</p>
</summary>
<param name = "producer"><dd> <p> A <strong>DXGI_DEBUG_ID</strong> value that identifies the entity that pushes the filter.</p> </dd></param>
<returns><p>Returns <see cref = "F:SharpDX.Result.Ok"/> if successful; an error code otherwise. For a list of error codes, see DXGI_ERROR.</p></returns>
<remarks>
<p>A deny-all storage filter prevents all messages from passing through.</p><strong>Note</strong>??This API requires the Windows Software Development Kit (SDK) for Windows?8.?
</remarks>
<doc-id>hh780383</doc-id>
<unmanaged>HRESULT IDXGIInfoQueue::PushDenyAllStorageFilter([In] GUID Producer)</unmanaged>
<unmanaged-short>IDXGIInfoQueue::PushDenyAllStorageFilter</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.InfoQueue.PushCopyOfStorageFilter(System.Guid)">
<summary>
<p>Pushes a copy of the storage filter that is currently on the top of the storage-filter stack onto the storage-filter stack.</p>
</summary>
<param name = "producer"><dd> <p> A <strong>DXGI_DEBUG_ID</strong> value that identifies the entity that pushes the copy of the storage filter.</p> </dd></param>
<returns><p>Returns <see cref = "F:SharpDX.Result.Ok"/> if successful; an error code otherwise. For a list of error codes, see DXGI_ERROR.</p></returns>
<remarks>
<strong>Note</strong>??This API requires the Windows Software Development Kit (SDK) for Windows?8.?
</remarks>
<doc-id>hh780381</doc-id>
<unmanaged>HRESULT IDXGIInfoQueue::PushCopyOfStorageFilter([In] GUID Producer)</unmanaged>
<unmanaged-short>IDXGIInfoQueue::PushCopyOfStorageFilter</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.InfoQueue.PushStorageFilter(System.Guid,SharpDX.DXGI.InfoQueueFilter@)">
<summary>
<p>Pushes a storage filter onto the storage-filter stack.</p>
</summary>
<param name = "producer"><dd> <p> A <strong>DXGI_DEBUG_ID</strong> value that identifies the entity that pushes the filter.</p> </dd></param>
<param name = "filterRef"><dd> <p>A reference to a <strong><see cref = "T:SharpDX.DXGI.InfoQueueFilter"/></strong> structure that describes the filter.</p> </dd></param>
<returns><p>Returns <see cref = "F:SharpDX.Result.Ok"/> if successful; an error code otherwise. For a list of error codes, see DXGI_ERROR.</p></returns>
<remarks>
<strong>Note</strong>??This API requires the Windows Software Development Kit (SDK) for Windows?8.?
</remarks>
<doc-id>hh780387</doc-id>
<unmanaged>HRESULT IDXGIInfoQueue::PushStorageFilter([In] GUID Producer,[In] DXGI_INFO_QUEUE_FILTER* pFilter)</unmanaged>
<unmanaged-short>IDXGIInfoQueue::PushStorageFilter</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.InfoQueue.PopStorageFilter(System.Guid)">
<summary>
<p>Pops a storage filter from the top of the storage-filter stack.</p>
</summary>
<param name = "producer"><dd> <p> A <strong>DXGI_DEBUG_ID</strong> value that identifies the entity that pops the filter.</p> </dd></param>
<remarks>
<strong>Note</strong>??This API requires the Windows Software Development Kit (SDK) for Windows?8.?
</remarks>
<doc-id>hh780379</doc-id>
<unmanaged>void IDXGIInfoQueue::PopStorageFilter([In] GUID Producer)</unmanaged>
<unmanaged-short>IDXGIInfoQueue::PopStorageFilter</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.InfoQueue.GetStorageFilterStackSize(System.Guid)">
<summary>
<p>Gets the size of the storage-filter stack in bytes.</p>
</summary>
<param name = "producer"><dd> <p> A <strong>DXGI_DEBUG_ID</strong> value that identifies the entity that gets the size.</p> </dd></param>
<returns><p>Returns the size of the storage-filter stack in bytes.</p></returns>
<remarks>
<strong>Note</strong>??This API requires the Windows Software Development Kit (SDK) for Windows?8.?
</remarks>
<doc-id>hh780377</doc-id>
<unmanaged>unsigned int IDXGIInfoQueue::GetStorageFilterStackSize([In] GUID Producer)</unmanaged>
<unmanaged-short>IDXGIInfoQueue::GetStorageFilterStackSize</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.InfoQueue.AddRetrievalFilterEntries(System.Guid,SharpDX.DXGI.InfoQueueFilter@)">
<summary>
<p>Adds retrieval filters to the top of the retrieval-filter stack.</p>
</summary>
<param name = "producer"><dd> <p> A <strong>DXGI_DEBUG_ID</strong> value that identifies the entity that produced the filters.</p> </dd></param>
<param name = "filterRef"><dd> <p>An array of <strong><see cref = "T:SharpDX.DXGI.InfoQueueFilter"/></strong> structures that describe the filters.</p> </dd></param>
<returns><p>Returns <see cref = "F:SharpDX.Result.Ok"/> if successful; an error code otherwise. For a list of error codes, see DXGI_ERROR.</p></returns>
<remarks>
<strong>Note</strong>??This API requires the Windows Software Development Kit (SDK) for Windows?8.?
</remarks>
<doc-id>hh780358</doc-id>
<unmanaged>HRESULT IDXGIInfoQueue::AddRetrievalFilterEntries([In] GUID Producer,[In] DXGI_INFO_QUEUE_FILTER* pFilter)</unmanaged>
<unmanaged-short>IDXGIInfoQueue::AddRetrievalFilterEntries</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.InfoQueue.GetRetrievalFilter(System.Guid,SharpDX.DXGI.InfoQueueFilter[],SharpDX.PointerSize@)">
<summary>
<p>Gets the retrieval filter at the top of the retrieval-filter stack.</p>
</summary>
<param name = "producer"><dd> <p> A <strong>DXGI_DEBUG_ID</strong> value that identifies the entity that gets the filter.</p> </dd></param>
<param name = "filterRef"><dd> <p>A reference to a <strong><see cref = "T:SharpDX.DXGI.InfoQueueFilter"/></strong> structure that describes the filter.</p> </dd></param>
<param name = "filterByteLengthRef"><dd> <p>A reference to a variable that receives the size, in bytes, of the filter description to which <em>pFilter</em> points. If <em>pFilter</em> is <strong><c>null</c></strong>, <strong>GetRetrievalFilter</strong> outputs the size of the retrieval filter.</p> </dd></param>
<returns><p>Returns <see cref = "F:SharpDX.Result.Ok"/> if successful; an error code otherwise. For a list of error codes, see DXGI_ERROR.</p></returns>
<remarks>
<strong>Note</strong>??This API requires the Windows Software Development Kit (SDK) for Windows?8.?
</remarks>
<doc-id>hh780374</doc-id>
<unmanaged>HRESULT IDXGIInfoQueue::GetRetrievalFilter([In] GUID Producer,[Out, Buffer, Optional] DXGI_INFO_QUEUE_FILTER* pFilter,[InOut] SIZE_T* pFilterByteLength)</unmanaged>
<unmanaged-short>IDXGIInfoQueue::GetRetrievalFilter</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.InfoQueue.ClearRetrievalFilter(System.Guid)">
<summary>
<p>Removes a retrieval filter from the top of the retrieval-filter stack.</p>
</summary>
<param name = "producer"><dd> <p> A <strong>DXGI_DEBUG_ID</strong> value that identifies the entity that removes the filter.</p> </dd></param>
<remarks>
<strong>Note</strong>??This API requires the Windows Software Development Kit (SDK) for Windows?8.?
</remarks>
<doc-id>hh780360</doc-id>
<unmanaged>void IDXGIInfoQueue::ClearRetrievalFilter([In] GUID Producer)</unmanaged>
<unmanaged-short>IDXGIInfoQueue::ClearRetrievalFilter</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.InfoQueue.PushEmptyRetrievalFilter(System.Guid)">
<summary>
<p>Pushes an empty retrieval filter onto the retrieval-filter stack.</p>
</summary>
<param name = "producer"><dd> <p> A <strong>DXGI_DEBUG_ID</strong> value that identifies the entity that pushes the empty retrieval filter.</p> </dd></param>
<returns><p>Returns <see cref = "F:SharpDX.Result.Ok"/> if successful; an error code otherwise. For a list of error codes, see DXGI_ERROR.</p></returns>
<remarks>
<p>An empty retrieval filter allows all messages to pass through.</p><strong>Note</strong>??This API requires the Windows Software Development Kit (SDK) for Windows?8.?
</remarks>
<doc-id>hh780384</doc-id>
<unmanaged>HRESULT IDXGIInfoQueue::PushEmptyRetrievalFilter([In] GUID Producer)</unmanaged>
<unmanaged-short>IDXGIInfoQueue::PushEmptyRetrievalFilter</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.InfoQueue.PushDenyAllRetrievalFilter(System.Guid)">
<summary>
<p>Pushes a deny-all retrieval filter onto the retrieval-filter stack.</p>
</summary>
<param name = "producer"><dd> <p> A <strong>DXGI_DEBUG_ID</strong> value that identifies the entity that pushes the deny-all retrieval filter.</p> </dd></param>
<returns><p>Returns <see cref = "F:SharpDX.Result.Ok"/> if successful; an error code otherwise. For a list of error codes, see DXGI_ERROR.</p></returns>
<remarks>
<p>A deny-all retrieval filter prevents all messages from passing through.</p><strong>Note</strong>??This API requires the Windows Software Development Kit (SDK) for Windows?8.?
</remarks>
<doc-id>hh780382</doc-id>
<unmanaged>HRESULT IDXGIInfoQueue::PushDenyAllRetrievalFilter([In] GUID Producer)</unmanaged>
<unmanaged-short>IDXGIInfoQueue::PushDenyAllRetrievalFilter</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.InfoQueue.PushCopyOfRetrievalFilter(System.Guid)">
<summary>
<p>Pushes a copy of the retrieval filter that is currently on the top of the retrieval-filter stack onto the retrieval-filter stack.</p>
</summary>
<param name = "producer"><dd> <p> A <strong>DXGI_DEBUG_ID</strong> value that identifies the entity that pushes the copy of the retrieval filter.</p> </dd></param>
<returns><p>Returns <see cref = "F:SharpDX.Result.Ok"/> if successful; an error code otherwise. For a list of error codes, see DXGI_ERROR.</p></returns>
<remarks>
<strong>Note</strong>??This API requires the Windows Software Development Kit (SDK) for Windows?8.?
</remarks>
<doc-id>hh780380</doc-id>
<unmanaged>HRESULT IDXGIInfoQueue::PushCopyOfRetrievalFilter([In] GUID Producer)</unmanaged>
<unmanaged-short>IDXGIInfoQueue::PushCopyOfRetrievalFilter</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.InfoQueue.PushRetrievalFilter(System.Guid,SharpDX.DXGI.InfoQueueFilter@)">
<summary>
<p>Pushes a retrieval filter onto the retrieval-filter stack.</p>
</summary>
<param name = "producer"><dd> <p> A <strong>DXGI_DEBUG_ID</strong> value that identifies the entity that pushes the filter.</p> </dd></param>
<param name = "filterRef"><dd> <p>A reference to a <strong><see cref = "T:SharpDX.DXGI.InfoQueueFilter"/></strong> structure that describes the filter.</p> </dd></param>
<returns><p>Returns <see cref = "F:SharpDX.Result.Ok"/> if successful; an error code otherwise. For a list of error codes, see DXGI_ERROR.</p></returns>
<remarks>
<strong>Note</strong>??This API requires the Windows Software Development Kit (SDK) for Windows?8.?
</remarks>
<doc-id>hh780386</doc-id>
<unmanaged>HRESULT IDXGIInfoQueue::PushRetrievalFilter([In] GUID Producer,[In] DXGI_INFO_QUEUE_FILTER* pFilter)</unmanaged>
<unmanaged-short>IDXGIInfoQueue::PushRetrievalFilter</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.InfoQueue.PopRetrievalFilter(System.Guid)">
<summary>
<p>Pops a retrieval filter from the top of the retrieval-filter stack.</p>
</summary>
<param name = "producer"><dd> <p> A <strong>DXGI_DEBUG_ID</strong> value that identifies the entity that pops the filter.</p> </dd></param>
<remarks>
<strong>Note</strong>??This API requires the Windows Software Development Kit (SDK) for Windows?8.?
</remarks>
<doc-id>hh780378</doc-id>
<unmanaged>void IDXGIInfoQueue::PopRetrievalFilter([In] GUID Producer)</unmanaged>
<unmanaged-short>IDXGIInfoQueue::PopRetrievalFilter</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.InfoQueue.GetRetrievalFilterStackSize(System.Guid)">
<summary>
<p>Gets the size of the retrieval-filter stack in bytes.</p>
</summary>
<param name = "producer"><dd> <p> A <strong>DXGI_DEBUG_ID</strong> value that identifies the entity that gets the size.</p> </dd></param>
<returns><p>Returns the size of the retrieval-filter stack in bytes.</p></returns>
<remarks>
<strong>Note</strong>??This API requires the Windows Software Development Kit (SDK) for Windows?8.?
</remarks>
<doc-id>hh780375</doc-id>
<unmanaged>unsigned int IDXGIInfoQueue::GetRetrievalFilterStackSize([In] GUID Producer)</unmanaged>
<unmanaged-short>IDXGIInfoQueue::GetRetrievalFilterStackSize</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.InfoQueue.AddMessage(System.Guid,SharpDX.DXGI.InformationQueueMessageCategory,SharpDX.DXGI.InformationQueueMessageSeverity,System.Int32,System.String)">
<summary>
<p>Adds a debug message to the message queue and sends that message to the debug output.</p>
</summary>
<param name = "producer"><dd> <p> A <strong>DXGI_DEBUG_ID</strong> value that identifies the entity that produced the message.</p> </dd></param>
<param name = "category"><dd> <p>A <strong><see cref = "T:SharpDX.DXGI.InformationQueueMessageCategory"/></strong>-typed value that specifies the category of the message.</p> </dd></param>
<param name = "severity"><dd> <p>A <strong><see cref = "T:SharpDX.DXGI.InformationQueueMessageSeverity"/></strong>-typed value that specifies the severity of the message.</p> </dd></param>
<param name = "id"><dd> <p>An integer that uniquely identifies the message.</p> </dd></param>
<param name = "descriptionRef"><dd> <p>The message string.</p> </dd></param>
<returns><p>Returns <see cref = "F:SharpDX.Result.Ok"/> if successful; an error code otherwise. For a list of error codes, see DXGI_ERROR.</p></returns>
<remarks>
<strong>Note</strong>??This API requires the Windows Software Development Kit (SDK) for Windows?8.?
</remarks>
<doc-id>hh780357</doc-id>
<unmanaged>HRESULT IDXGIInfoQueue::AddMessage([In] GUID Producer,[In] DXGI_INFO_QUEUE_MESSAGE_CATEGORY Category,[In] DXGI_INFO_QUEUE_MESSAGE_SEVERITY Severity,[In] int ID,[In] const char* pDescription)</unmanaged>
<unmanaged-short>IDXGIInfoQueue::AddMessage</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.InfoQueue.AddApplicationMessage(SharpDX.DXGI.InformationQueueMessageSeverity,System.String)">
<summary>
<p>Adds a user-defined message to the message queue and sends that message to the debug output.</p>
</summary>
<param name = "severity"><dd> <p>A <strong><see cref = "T:SharpDX.DXGI.InformationQueueMessageSeverity"/></strong>-typed value that specifies the severity of the message.</p> </dd></param>
<param name = "descriptionRef"><dd> <p>The message string.</p> </dd></param>
<returns><p>Returns <see cref = "F:SharpDX.Result.Ok"/> if successful; an error code otherwise. For a list of error codes, see DXGI_ERROR.</p></returns>
<remarks>
<strong>Note</strong>??This API requires the Windows Software Development Kit (SDK) for Windows?8.?
</remarks>
<doc-id>hh780356</doc-id>
<unmanaged>HRESULT IDXGIInfoQueue::AddApplicationMessage([In] DXGI_INFO_QUEUE_MESSAGE_SEVERITY Severity,[In] const char* pDescription)</unmanaged>
<unmanaged-short>IDXGIInfoQueue::AddApplicationMessage</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.InfoQueue.SetBreakOnCategory(System.Guid,SharpDX.DXGI.InformationQueueMessageCategory,SharpDX.Mathematics.Interop.RawBool)">
<summary>
<p>Sets a message category to break on when a message with that category passes through the storage filter.</p>
</summary>
<param name = "producer"><dd> <p> A <strong>DXGI_DEBUG_ID</strong> value that identifies the entity that sets the breaking condition.</p> </dd></param>
<param name = "category"><dd> <p>A <strong><see cref = "T:SharpDX.DXGI.InformationQueueMessageCategory"/></strong>-typed value that specifies the category of the message.</p> </dd></param>
<param name = "bEnable"><dd> <p>A Boolean value that specifies whether <strong>SetBreakOnCategory</strong> turns on or off this breaking condition (<strong>TRUE</strong> for on, <strong><see cref = "F:SharpDX.Result.False"/></strong> for off).</p> </dd></param>
<returns><p>Returns <see cref = "F:SharpDX.Result.Ok"/> if successful; an error code otherwise. For a list of error codes, see DXGI_ERROR.</p></returns>
<remarks>
<strong>Note</strong>??This API requires the Windows Software Development Kit (SDK) for Windows?8.?
</remarks>
<doc-id>hh780388</doc-id>
<unmanaged>HRESULT IDXGIInfoQueue::SetBreakOnCategory([In] GUID Producer,[In] DXGI_INFO_QUEUE_MESSAGE_CATEGORY Category,[In] BOOL bEnable)</unmanaged>
<unmanaged-short>IDXGIInfoQueue::SetBreakOnCategory</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.InfoQueue.SetBreakOnSeverity(System.Guid,SharpDX.DXGI.InformationQueueMessageSeverity,SharpDX.Mathematics.Interop.RawBool)">
<summary>
<p>Sets a message severity level to break on when a message with that severity level passes through the storage filter.</p>
</summary>
<param name = "producer"><dd> <p> A <strong>DXGI_DEBUG_ID</strong> value that identifies the entity that sets the breaking condition.</p> </dd></param>
<param name = "severity"><dd> <p>A <strong><see cref = "T:SharpDX.DXGI.InformationQueueMessageSeverity"/></strong>-typed value that specifies the severity of the message.</p> </dd></param>
<param name = "bEnable"><dd> <p>A Boolean value that specifies whether <strong>SetBreakOnSeverity</strong> turns on or off this breaking condition (<strong>TRUE</strong> for on, <strong><see cref = "F:SharpDX.Result.False"/></strong> for off).</p> </dd></param>
<returns><p>Returns <see cref = "F:SharpDX.Result.Ok"/> if successful; an error code otherwise. For a list of error codes, see DXGI_ERROR.</p></returns>
<remarks>
<strong>Note</strong>??This API requires the Windows Software Development Kit (SDK) for Windows?8.?
</remarks>
<doc-id>hh780390</doc-id>
<unmanaged>HRESULT IDXGIInfoQueue::SetBreakOnSeverity([In] GUID Producer,[In] DXGI_INFO_QUEUE_MESSAGE_SEVERITY Severity,[In] BOOL bEnable)</unmanaged>
<unmanaged-short>IDXGIInfoQueue::SetBreakOnSeverity</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.InfoQueue.SetBreakOnID(System.Guid,System.Int32,SharpDX.Mathematics.Interop.RawBool)">
<summary>
<p>Sets a message identifier to break on when a message with that identifier passes through the storage filter.</p>
</summary>
<param name = "producer"><dd> <p> A <strong>DXGI_DEBUG_ID</strong> value that identifies the entity that sets the breaking condition.</p> </dd></param>
<param name = "id"><dd> <p>An integer value that specifies the identifier of the message.</p> </dd></param>
<param name = "bEnable"><dd> <p>A Boolean value that specifies whether <strong>SetBreakOnID</strong> turns on or off this breaking condition (<strong>TRUE</strong> for on, <strong><see cref = "F:SharpDX.Result.False"/></strong> for off).</p> </dd></param>
<returns><p>Returns <see cref = "F:SharpDX.Result.Ok"/> if successful; an error code otherwise. For a list of error codes, see DXGI_ERROR.</p></returns>
<remarks>
<strong>Note</strong>??This API requires the Windows Software Development Kit (SDK) for Windows?8.?
</remarks>
<doc-id>hh780389</doc-id>
<unmanaged>HRESULT IDXGIInfoQueue::SetBreakOnID([In] GUID Producer,[In] int ID,[In] BOOL bEnable)</unmanaged>
<unmanaged-short>IDXGIInfoQueue::SetBreakOnID</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.InfoQueue.GetBreakOnCategory(System.Guid,SharpDX.DXGI.InformationQueueMessageCategory)">
<summary>
<p>Determines whether the break on a message category is turned on or off.</p>
</summary>
<param name = "producer"><dd> <p> A <strong>DXGI_DEBUG_ID</strong> value that identifies the entity that gets the breaking status.</p> </dd></param>
<param name = "category"><dd> <p>A <strong><see cref = "T:SharpDX.DXGI.InformationQueueMessageCategory"/></strong>-typed value that specifies the category of the message.</p> </dd></param>
<returns><p>Returns a Boolean value that specifies whether this category of breaking condition is turned on or off (<strong>TRUE</strong> for on, <strong><see cref = "F:SharpDX.Result.False"/></strong> for off).</p></returns>
<remarks>
<strong>Note</strong>??This API requires the Windows Software Development Kit (SDK) for Windows?8.?
</remarks>
<doc-id>hh780363</doc-id>
<unmanaged>BOOL IDXGIInfoQueue::GetBreakOnCategory([In] GUID Producer,[In] DXGI_INFO_QUEUE_MESSAGE_CATEGORY Category)</unmanaged>
<unmanaged-short>IDXGIInfoQueue::GetBreakOnCategory</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.InfoQueue.GetBreakOnSeverity(System.Guid,SharpDX.DXGI.InformationQueueMessageSeverity)">
<summary>
<p>Determines whether the break on a message severity level is turned on or off.</p>
</summary>
<param name = "producer"><dd> <p> A <strong>DXGI_DEBUG_ID</strong> value that identifies the entity that gets the breaking status.</p> </dd></param>
<param name = "severity"><dd> <p>A <strong><see cref = "T:SharpDX.DXGI.InformationQueueMessageSeverity"/></strong>-typed value that specifies the severity of the message.</p> </dd></param>
<returns><p>Returns a Boolean value that specifies whether this severity of breaking condition is turned on or off (<strong>TRUE</strong> for on, <strong><see cref = "F:SharpDX.Result.False"/></strong> for off).</p></returns>
<remarks>
<strong>Note</strong>??This API requires the Windows Software Development Kit (SDK) for Windows?8.?
</remarks>
<doc-id>hh780365</doc-id>
<unmanaged>BOOL IDXGIInfoQueue::GetBreakOnSeverity([In] GUID Producer,[In] DXGI_INFO_QUEUE_MESSAGE_SEVERITY Severity)</unmanaged>
<unmanaged-short>IDXGIInfoQueue::GetBreakOnSeverity</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.InfoQueue.GetBreakOnID(System.Guid,System.Int32)">
<summary>
<p>Determines whether the break on a message identifier is turned on or off.</p>
</summary>
<param name = "producer"><dd> <p> A <strong>DXGI_DEBUG_ID</strong> value that identifies the entity that gets the breaking status.</p> </dd></param>
<param name = "id"><dd> <p>An integer value that specifies the identifier of the message.</p> </dd></param>
<returns><p>Returns a Boolean value that specifies whether this break on a message identifier is turned on or off (<strong>TRUE</strong> for on, <strong><see cref = "F:SharpDX.Result.False"/></strong> for off).</p></returns>
<remarks>
<strong>Note</strong>??This API requires the Windows Software Development Kit (SDK) for Windows?8.?
</remarks>
<doc-id>hh780364</doc-id>
<unmanaged>BOOL IDXGIInfoQueue::GetBreakOnID([In] GUID Producer,[In] int ID)</unmanaged>
<unmanaged-short>IDXGIInfoQueue::GetBreakOnID</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.InfoQueue.SetMuteDebugOutput(System.Guid,SharpDX.Mathematics.Interop.RawBool)">
<summary>
<p>Turns the debug output on or off.</p>
</summary>
<param name = "producer"><dd> <p> A <strong>DXGI_DEBUG_ID</strong> value that identifies the entity that gets the mute status.</p> </dd></param>
<param name = "bMute"><dd> <p>A Boolean value that specifies whether to turn the debug output on or off (<strong>TRUE</strong> for on, <strong><see cref = "F:SharpDX.Result.False"/></strong> for off).</p> </dd></param>
<remarks>
<strong>Note</strong>??This API requires the Windows Software Development Kit (SDK) for Windows?8.?
</remarks>
<doc-id>hh780392</doc-id>
<unmanaged>void IDXGIInfoQueue::SetMuteDebugOutput([In] GUID Producer,[In] BOOL bMute)</unmanaged>
<unmanaged-short>IDXGIInfoQueue::SetMuteDebugOutput</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.InfoQueue.GetMuteDebugOutput(System.Guid)">
<summary>
<p>Determines whether the debug output is turned on or off.</p>
</summary>
<param name = "producer"><dd> <p> A <strong>DXGI_DEBUG_ID</strong> value that identifies the entity that gets the mute status.</p> </dd></param>
<returns><p>Returns a Boolean value that specifies whether the debug output is turned on or off (<strong>TRUE</strong> for on, <strong><see cref = "F:SharpDX.Result.False"/></strong> for off).</p></returns>
<remarks>
<strong>Note</strong>??This API requires the Windows Software Development Kit (SDK) for Windows?8.?
</remarks>
<doc-id>hh780368</doc-id>
<unmanaged>BOOL IDXGIInfoQueue::GetMuteDebugOutput([In] GUID Producer)</unmanaged>
<unmanaged-short>IDXGIInfoQueue::GetMuteDebugOutput</unmanaged-short>
</member>
<member name="P:SharpDX.DXGI.IVirtualSurfaceImageSourceNative.UpdateRectangles">
<summary>
Gets the set of regions that must be updated on the shared surface.
</summary>
</member>
<member name="E:SharpDX.DXGI.IVirtualSurfaceImageSourceNative.UpdatesNeeded">
<summary>
Event fired when an update is needed. Use <see cref="P:SharpDX.DXGI.IVirtualSurfaceImageSourceNative.UpdateRectangles"/> to get the region to update.
</summary>
</member>
<member name="P:SharpDX.DXGI.IVirtualSurfaceImageSourceNative.VisibleBounds">
<summary>
<p>Gets the boundaries of the visible region of the shared surface.</p>
</summary>
<doc-id>hh848331</doc-id>
<unmanaged>GetVisibleBounds</unmanaged>
<unmanaged-short>GetVisibleBounds</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.IVirtualSurfaceImageSourceNative.Invalidate(SharpDX.Mathematics.Interop.RawRectangle)">
<summary>
<p>Invalidates a specific region of the shared surface for drawing.</p>
</summary>
<param name = "updateRect"><dd> <p>The region of the surface to invalidate.</p> </dd></param>
<returns><p>If this method succeeds, it returns <strong><see cref = "F:SharpDX.Result.Ok"/></strong>. Otherwise, it returns an <strong><see cref = "T:SharpDX.Result"/></strong> error code.</p></returns>
<doc-id>hh848332</doc-id>
<unmanaged>HRESULT IVirtualSurfaceImageSourceNative::Invalidate([In] RECT updateRect)</unmanaged>
<unmanaged-short>IVirtualSurfaceImageSourceNative::Invalidate</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.IVirtualSurfaceImageSourceNative.GetUpdateRectCount">
<summary>
<p>Gets the total number of regions of the surface that must be updated.</p>
</summary>
<returns><dd> <p>Receives the number of regions to update.</p> </dd></returns>
<doc-id>hh848329</doc-id>
<unmanaged>HRESULT IVirtualSurfaceImageSourceNative::GetUpdateRectCount([Out] DWORD* count)</unmanaged>
<unmanaged-short>IVirtualSurfaceImageSourceNative::GetUpdateRectCount</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.IVirtualSurfaceImageSourceNative.GetUpdateRects(SharpDX.Mathematics.Interop.RawRectangle[],System.Int32)">
<summary>
<p>Gets the set of regions that must be updated on the shared surface.</p>
</summary>
<param name = "updates"><dd> <p>The number of regions that must be updated. You obtain this by calling <strong>GetUpdateRectCount</strong>.</p> </dd></param>
<param name = "count"><dd> <p>Receives a list of regions that must be updated.</p> </dd></param>
<returns><p>If this method succeeds, it returns <strong><see cref = "F:SharpDX.Result.Ok"/></strong>. Otherwise, it returns an <strong><see cref = "T:SharpDX.Result"/></strong> error code.</p></returns>
<doc-id>hh848330</doc-id>
<unmanaged>HRESULT IVirtualSurfaceImageSourceNative::GetUpdateRects([Out, Buffer] RECT* updates,[In] DWORD count)</unmanaged>
<unmanaged-short>IVirtualSurfaceImageSourceNative::GetUpdateRects</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.IVirtualSurfaceImageSourceNative.GetVisibleBounds(SharpDX.Mathematics.Interop.RawRectangle@)">
<summary>
<p>Gets the boundaries of the visible region of the shared surface.</p>
</summary>
<param name = "bounds"><dd> <p>Receives a rectangle that specifies the visible region of the shared surface.</p> </dd></param>
<returns><p>If this method succeeds, it returns <strong><see cref = "F:SharpDX.Result.Ok"/></strong>. Otherwise, it returns an <strong><see cref = "T:SharpDX.Result"/></strong> error code.</p></returns>
<doc-id>hh848331</doc-id>
<unmanaged>HRESULT IVirtualSurfaceImageSourceNative::GetVisibleBounds([Out] RECT* bounds)</unmanaged>
<unmanaged-short>IVirtualSurfaceImageSourceNative::GetVisibleBounds</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.IVirtualSurfaceImageSourceNative.RegisterForUpdatesNeeded(SharpDX.DXGI.IVirtualSurfaceUpdatesCallbackNative)">
<summary>
<p>Registers for the callback that will perform the drawing when an update to the shared surface is requested.</p>
</summary>
<param name = "callback"><dd> <p>Pointer to an implementation of <strong><see cref = "T:SharpDX.DXGI.IVirtualSurfaceUpdatesCallbackNative"/></strong>.</p> </dd></param>
<returns><p>If this method succeeds, it returns <strong><see cref = "F:SharpDX.Result.Ok"/></strong>. Otherwise, it returns an <strong><see cref = "T:SharpDX.Result"/></strong> error code.</p></returns>
<doc-id>hh848334</doc-id>
<unmanaged>HRESULT IVirtualSurfaceImageSourceNative::RegisterForUpdatesNeeded([In, Optional] IVirtualSurfaceUpdatesCallbackNative* callback)</unmanaged>
<unmanaged-short>IVirtualSurfaceImageSourceNative::RegisterForUpdatesNeeded</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.IVirtualSurfaceImageSourceNative.Resize(System.Int32,System.Int32)">
<summary>
<p>Resizes the surface.</p>
</summary>
<param name = "newWidth"><dd> <p>The updated width of the surface.</p> </dd></param>
<param name = "newHeight"><dd> <p>The updated height of the surface.</p> </dd></param>
<returns><p>If this method succeeds, it returns <strong><see cref = "F:SharpDX.Result.Ok"/></strong>. Otherwise, it returns an <strong><see cref = "T:SharpDX.Result"/></strong> error code.</p></returns>
<doc-id>hh848335</doc-id>
<unmanaged>HRESULT IVirtualSurfaceImageSourceNative::Resize([In] int newWidth,[In] int newHeight)</unmanaged>
<unmanaged-short>IVirtualSurfaceImageSourceNative::Resize</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.IVirtualSurfaceUpdatesCallbackNative.UpdatesNeeded">
<summary>
Callback method for IVirtualSurfaceUpdatesCallbackNative
</summary>
<unmanaged>HRESULT IVirtualSurfaceUpdatesCallbackNative::UpdatesNeeded()</unmanaged>
</member>
<member name="M:SharpDX.DXGI.IVirtualSurfaceUpdatesCallbackNativeNative.UpdatesNeeded_">
<summary>
<p>Performs the drawing behaviors when an update to <strong>VirtualSurfaceImageSource</strong> is requested.</p>
</summary>
<returns><p>If this method succeeds, it returns <strong><see cref = "F:SharpDX.Result.Ok"/></strong>. Otherwise, it returns an <strong><see cref = "T:SharpDX.Result"/></strong> error code.</p></returns>
<remarks>
<p>This method is implemented by the developer.</p>
</remarks>
<doc-id>hh848337</doc-id>
<unmanaged>HRESULT IVirtualSurfaceUpdatesCallbackNative::UpdatesNeeded()</unmanaged>
<unmanaged-short>IVirtualSurfaceUpdatesCallbackNative::UpdatesNeeded</unmanaged-short>
</member>
<member name="T:SharpDX.DXGI.ModeDescription">
<summary>
<p>Describes a display mode.</p>
</summary>
<remarks>
<p>This structure is used by the <strong>GetDisplayModeList</strong> and <strong>FindClosestMatchingMode</strong> methods.</p><p>The following format values are valid for display modes and when you create a bit-block transfer (bitblt) model swap chain. The valid values depend on the feature level that you are working with.</p><ul> <li> <p>Feature level &gt;= 9.1</p> <ul> <li> <strong>DXGI_FORMAT_R8G8B8A8_UNORM</strong> </li> <li><strong>DXGI_FORMAT_R8G8B8A8_UNORM_SRGB</strong></li> <li> <strong>DXGI_FORMAT_B8G8R8A8_UNORM</strong> (except 10.x on Windows?Vista)</li> <li><strong>DXGI_FORMAT_B8G8R8A8_UNORM_SRGB</strong> (except 10.x on Windows?Vista)</li> </ul> </li> <li> <p>Feature level &gt;= 10.0</p> <ul> <li> <strong>DXGI_FORMAT_R16G16B16A16_FLOAT</strong> </li> <li><strong>DXGI_FORMAT_R10G10B10A2_UNORM</strong></li> </ul> </li> <li> <p>Feature level &gt;= 11.0</p> <ul> <li><strong>DXGI_FORMAT_R10G10B10_XR_BIAS_A2_UNORM</strong></li> </ul> </li> </ul><p>You can pass one of these format values to <strong>ID3D11Device::CheckFormatSupport</strong> to determine if it is a valid format for displaying on screen. If <strong>ID3D11Device::CheckFormatSupport</strong> returns <strong>D3D11_FORMAT_SUPPORT_DISPLAY</strong> in the bit field to which the <em>pFormatSupport</em> parameter points, the format is valid for displaying on screen.</p><p>Starting with Windows?8 for a flip model swap chain (that is, a swap chain that has the <strong>DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL</strong> value set in the <strong>SwapEffect</strong> member of <strong><see cref = "T:SharpDX.DXGI.SwapChainDescription"/></strong>), you must set the <strong>Format</strong> member of <strong><see cref = "T:SharpDX.DXGI.ModeDescription"/></strong> to <strong>DXGI_FORMAT_R16G16B16A16_FLOAT</strong>, <strong>DXGI_FORMAT_B8G8R8A8_UNORM</strong>, or <strong>DXGI_FORMAT_R8G8B8A8_UNORM</strong>.</p><p>Because of the relaxed render target creation rules that Direct3D 11 has for back buffers, applications can create a <strong>DXGI_FORMAT_B8G8R8A8_UNORM_SRGB</strong> render target view from a <strong>DXGI_FORMAT_B8G8R8A8_UNORM</strong> swap chain so they can use automatic color space conversion when they render the swap chain.</p>
</remarks>
<doc-id>bb173064</doc-id>
<unmanaged>DXGI_MODE_DESC</unmanaged>
<unmanaged-short>DXGI_MODE_DESC</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.ModeDescription.#ctor(System.Int32,System.Int32,SharpDX.DXGI.Rational,SharpDX.DXGI.Format)">
<summary>
Initializes a new instance of the <see cref = "T:SharpDX.DXGI.ModeDescription" /> structure.
</summary>
<param name = "width">The width.</param>
<param name = "height">The height.</param>
<param name = "refreshRate">The refresh rate.</param>
<param name = "format">The format.</param>
</member>
<member name="M:SharpDX.DXGI.ModeDescription.#ctor(SharpDX.DXGI.Format)">
<summary>
Initializes a new instance of the <see cref="T:SharpDX.DXGI.ModeDescription"/> struct.
</summary>
<param name="format">The format.</param>
</member>
<member name="F:SharpDX.DXGI.ModeDescription.Width">
<summary>
<dd> <p>A value that describes the resolution width. If you specify the width as zero when you call the <strong>IDXGIFactory::CreateSwapChain</strong> method to create a swap chain, the runtime obtains the width from the output window and assigns this width value to the swap-chain description. You can subsequently call the <strong>IDXGISwapChain::GetDesc</strong> method to retrieve the assigned width value.</p> </dd>
</summary>
<doc-id>bb173064</doc-id>
<unmanaged>Width</unmanaged>
<unmanaged-short>Width</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.ModeDescription.Height">
<summary>
<dd> <p>A value describing the resolution height. If you specify the height as zero when you call the <strong>IDXGIFactory::CreateSwapChain</strong> method to create a swap chain, the runtime obtains the height from the output window and assigns this height value to the swap-chain description. You can subsequently call the <strong>IDXGISwapChain::GetDesc</strong> method to retrieve the assigned height value.</p> </dd>
</summary>
<doc-id>bb173064</doc-id>
<unmanaged>Height</unmanaged>
<unmanaged-short>Height</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.ModeDescription.RefreshRate">
<summary>
<dd> <p>A <strong><see cref = "T:SharpDX.DXGI.Rational"/></strong> structure describing the refresh rate in hertz</p> </dd>
</summary>
<doc-id>bb173064</doc-id>
<unmanaged>RefreshRate</unmanaged>
<unmanaged-short>RefreshRate</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.ModeDescription.Format">
<summary>
<dd> <p>A <strong><see cref = "T:SharpDX.DXGI.Format"/></strong> structure describing the display format.</p> </dd>
</summary>
<doc-id>bb173064</doc-id>
<unmanaged>Format</unmanaged>
<unmanaged-short>Format</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.ModeDescription.ScanlineOrdering">
<summary>
<dd> <p>A member of the <strong><see cref = "T:SharpDX.DXGI.DisplayModeScanlineOrder"/></strong> enumerated type describing the scanline drawing mode.</p> </dd>
</summary>
<doc-id>bb173064</doc-id>
<unmanaged>ScanlineOrdering</unmanaged>
<unmanaged-short>ScanlineOrdering</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.ModeDescription.Scaling">
<summary>
<dd> <p>A member of the <strong><see cref = "T:SharpDX.DXGI.DisplayModeScaling"/></strong> enumerated type describing the scaling mode.</p> </dd>
</summary>
<doc-id>bb173064</doc-id>
<unmanaged>Scaling</unmanaged>
<unmanaged-short>Scaling</unmanaged-short>
</member>
<member name="T:SharpDX.DXGI.ModuleInit">
<summary>
Internal class used to initialize this assembly.
</summary>
</member>
<member name="M:SharpDX.DXGI.ModuleInit.Setup">
<summary>
Initializes this assembly.
</summary>
<remarks>
This method is called when the assembly is loaded.
</remarks>
</member>
<member name="T:SharpDX.DXGI.NamespaceDoc">
<summary>
The <see cref="N:SharpDX.DXGI"/> namespace provides a managed DXGI API.
</summary>
<msdn-id>hh404534</msdn-id>
<unmanaged>DXGI</unmanaged>
<unmanaged-short>DXGI</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.Output.GetClosestMatchingMode(SharpDX.ComObject,SharpDX.DXGI.ModeDescription,SharpDX.DXGI.ModeDescription@)">
<summary>
Find the display mode that most closely matches the requested display mode.
</summary>
<remarks>
Direct3D devices require UNORM formats. This method finds the closest matching available display mode to the mode specified in pModeToMatch. Similarly ranked fields (i.e. all specified, or all unspecified, etc) are resolved in the following order. ScanlineOrdering Scaling Format Resolution RefreshRate When determining the closest value for a particular field, previously matched fields are used to filter the display mode list choices, and other fields are ignored. For example, when matching Resolution, the display mode list will have already been filtered by a certain ScanlineOrdering, Scaling, and Format, while RefreshRate is ignored. This ordering doesn't define the absolute ordering for every usage scenario of FindClosestMatchingMode, because the application can choose some values initially, effectively changing the order that fields are chosen. Fields of the display mode are matched one at a time, generally in a specified order. If a field is unspecified, FindClosestMatchingMode gravitates toward the values for the desktop related to this output. If this output is not part of the desktop, then the default desktop output is used to find values. If an application uses a fully unspecified display mode, FindClosestMatchingMode will typically return a display mode that matches the desktop settings for this output. Unspecified fields are lower priority than specified fields and will be resolved later than specified fields.
</remarks>
<param name="device">A reference to the Direct3D device interface. If this parameter is NULL, only modes whose format matches that of pModeToMatch will be returned; otherwise, only those formats that are supported for scan-out by the device are returned. </param>
<param name="modeToMatch">The desired display mode (see <see cref="T:SharpDX.DXGI.ModeDescription"/>). Members of DXGI_MODE_DESC can be unspecified indicating no preference for that member. A value of 0 for Width or Height indicates the value is unspecified. If either Width or Height are 0 both must be 0. A numerator and denominator of 0 in RefreshRate indicate it is unspecified. Other members of DXGI_MODE_DESC have enumeration values indicating the member is unspecified. If pConnectedDevice is NULL Format cannot be DXGI_FORMAT_UNKNOWN. </param>
<param name="closestMatch">The mode that most closely matches pModeToMatch. </param>
<returns>Returns one of the following <see cref="!:SharpDX.DXGI.DXGIError"/>. </returns>
<unmanaged>HRESULT IDXGIOutput::FindClosestMatchingMode([In] const DXGI_MODE_DESC* pModeToMatch,[Out] DXGI_MODE_DESC* pClosestMatch,[In, Optional] IUnknown* pConcernedDevice)</unmanaged>
</member>
<member name="M:SharpDX.DXGI.Output.GetDisplayModeList(SharpDX.DXGI.Format,SharpDX.DXGI.DisplayModeEnumerationFlags)">
<summary>
Gets the display modes that match the requested format and other input options.
</summary>
<remarks>
In general, when switching from windowed to full-screen mode, a swap chain automatically chooses a display mode that meets (or exceeds) the resolution, color depth and refresh rate of the swap chain. To exercise more control over the display mode, use this API to poll the set of display modes that are validated against monitor capabilities, or all modes that match the desktop (if the desktop settings are not validated against the monitor). As shown, this API is designed to be called twice. First to get the number of modes available, and second to return a description of the modes.
<code> UINT num = 0;
DXGI_FORMAT format = DXGI_FORMAT_R32G32B32A32_FLOAT;
UINT flags = DXGI_ENUM_MODES_INTERLACED; pOutput-&gt;GetDisplayModeList( format, flags, &amp;num, 0); ... DXGI_MODE_DESC * pDescs = new DXGI_MODE_DESC[num];
pOutput-&gt;GetDisplayModeList( format, flags, &amp;num, pDescs); </code>
</remarks>
<param name="format">The color format (see <see cref="T:SharpDX.DXGI.Format"/>). </param>
<param name="flags">format for modes to include (see {{DXGI_ENUM_MODES}}). DXGI_ENUM_MODES_SCALING needs to be specified to expose the display modes that require scaling. Centered modes, requiring no scaling and corresponding directly to the display output, are enumerated by default. </param>
<returns>Returns a list of display modes (see <see cref="T:SharpDX.DXGI.ModeDescription"/>); </returns>
<unmanaged>HRESULT IDXGIOutput::GetDisplayModeList([None] DXGI_FORMAT EnumFormat,[None] int Flags,[InOut] int* pNumModes,[Out, Buffer, Optional] DXGI_MODE_DESC* pDesc)</unmanaged>
</member>
<member name="P:SharpDX.DXGI.Output.Description">
<summary>
<p>Get a description of the output.</p>
</summary>
<remarks>
<p> On a high DPI desktop, <strong>GetDesc</strong> returns the visualized screen size unless the app is marked high DPI aware. For info about writing DPI-aware Win32 apps, see High DPI.</p>
</remarks>
<doc-id>bb174548</doc-id>
<unmanaged>GetDesc</unmanaged>
<unmanaged-short>GetDesc</unmanaged-short>
</member>
<member name="P:SharpDX.DXGI.Output.GammaControlCapabilities">
<summary>
<p>Gets a description of the gamma-control capabilities.</p>
</summary>
<remarks>
<p> </p><strong>Note</strong>??Calling this method is only supported while in full-screen mode.?<p>For info about using gamma correction, see Using gamma correction. </p>
</remarks>
<doc-id>bb174553</doc-id>
<unmanaged>GetGammaControlCapabilities</unmanaged>
<unmanaged-short>GetGammaControlCapabilities</unmanaged-short>
</member>
<member name="P:SharpDX.DXGI.Output.GammaControl">
<summary>
<p>Gets or sets the gamma control settings.</p>
</summary>
<remarks>
<p> </p><strong>Note</strong>??Calling this method is only supported while in full-screen mode.?<p>For info about using gamma correction, see Using gamma correction. </p>
</remarks>
<doc-id>bb174552</doc-id>
<unmanaged>GetGammaControl / SetGammaControl</unmanaged>
<unmanaged-short>GetGammaControl</unmanaged-short>
</member>
<member name="P:SharpDX.DXGI.Output.FrameStatistics">
<summary>
<p>Gets statistics about recently rendered frames.</p>
</summary>
<remarks>
<p>This API is similar to <strong>IDXGISwapChain::GetFrameStatistics</strong>.</p><p> </p><strong>Note</strong>??Calling this method is only supported while in full-screen mode.?
</remarks>
<doc-id>bb174551</doc-id>
<unmanaged>GetFrameStatistics</unmanaged>
<unmanaged-short>GetFrameStatistics</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.Output.GetDescription(SharpDX.DXGI.OutputDescription@)">
<summary>
<p>Get a description of the output.</p>
</summary>
<param name = "descRef"><dd> <p>A reference to the output description (see <strong><see cref = "T:SharpDX.DXGI.OutputDescription"/></strong>).</p> </dd></param>
<returns><p>Returns a code that indicates success or failure. <see cref = "F:SharpDX.Result.Ok"/> if successful, <see cref = "!:InvalidCall"/> if <em>pDesc</em> is passed in as <strong><c>null</c></strong>.</p></returns>
<remarks>
<p> On a high DPI desktop, <strong>GetDesc</strong> returns the visualized screen size unless the app is marked high DPI aware. For info about writing DPI-aware Win32 apps, see High DPI.</p>
</remarks>
<doc-id>bb174548</doc-id>
<unmanaged>HRESULT IDXGIOutput::GetDesc([Out] DXGI_OUTPUT_DESC* pDesc)</unmanaged>
<unmanaged-short>IDXGIOutput::GetDesc</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.Output.GetDisplayModeList(SharpDX.DXGI.Format,System.Int32,System.Int32@,SharpDX.DXGI.ModeDescription[])">
<summary>
<p>[Starting with Direct3D 11.1, we recommend not to use <strong>GetDisplayModeList</strong> anymore to retrieve the matching display mode. Instead, use <strong>IDXGIOutput1::GetDisplayModeList1</strong>, which supports stereo display mode.]</p><p>Gets the display modes that match the requested format and other input options.</p>
</summary>
<param name = "enumFormat">No documentation.</param>
<param name = "flags">No documentation.</param>
<param name = "numModesRef">No documentation.</param>
<param name = "descRef">No documentation.</param>
<returns><p>Returns one of the following DXGI_ERROR. It is rare, but possible, that the display modes available can change immediately after calling this method, in which case <see cref = "!:MoreData"/> is returned (if there is not enough room for all the display modes). If <strong>GetDisplayModeList</strong> is called from a Remote Desktop Services session (formerly Terminal Services session), <see cref = "!:NotCurrentlyAvailable"/> is returned.</p></returns>
<remarks>
<p>In general, when switching from windowed to full-screen mode, a swap chain automatically chooses a display mode that meets (or exceeds) the resolution, color depth and refresh rate of the swap chain. To exercise more control over the display mode, use this API to poll the set of display modes that are validated against monitor capabilities, or all modes that match the desktop (if the desktop settings are not validated against the monitor).</p><p>As shown, this API is designed to be called twice. First to get the number of modes available, and second to return a description of the modes.</p><pre> UINT num = 0;
<see cref = "T:SharpDX.DXGI.Format"/> format = DXGI_FORMAT_R32G32B32A32_FLOAT;
UINT flags = DXGI_ENUM_MODES_INTERLACED; pOutput-&gt;GetDisplayModeList( format, flags, &amp;num, 0); ... <see cref = "T:SharpDX.DXGI.ModeDescription"/> * pDescs = new <see cref = "T:SharpDX.DXGI.ModeDescription"/>[num];
pOutput-&gt;GetDisplayModeList( format, flags, &amp;num, pDescs); </pre>
</remarks>
<doc-id>bb174549</doc-id>
<unmanaged>HRESULT IDXGIOutput::GetDisplayModeList([In] DXGI_FORMAT EnumFormat,[In] unsigned int Flags,[InOut] unsigned int* pNumModes,[Out, Buffer, Optional] DXGI_MODE_DESC* pDesc)</unmanaged>
<unmanaged-short>IDXGIOutput::GetDisplayModeList</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.Output.FindClosestMatchingMode(SharpDX.DXGI.ModeDescription@,SharpDX.DXGI.ModeDescription@,SharpDX.IUnknown)">
<summary>
<p>[Starting with Direct3D 11.1, we recommend not to use <strong>FindClosestMatchingMode</strong> anymore to find the display mode that most closely matches the requested display mode. Instead, use <strong>IDXGIOutput1::FindClosestMatchingMode1</strong>, which supports stereo display mode.]</p><p>Finds the display mode that most closely matches the requested display mode.</p>
</summary>
<param name = "modeToMatchRef">No documentation.</param>
<param name = "closestMatchRef">No documentation.</param>
<param name = "concernedDeviceRef">No documentation.</param>
<returns><p>Returns one of the following DXGI_ERROR.</p></returns>
<remarks>
<p><strong>FindClosestMatchingMode</strong> behaves similarly to the <strong>IDXGIOutput1::FindClosestMatchingMode1</strong> except <strong>FindClosestMatchingMode</strong> considers only the mono display modes. <strong>IDXGIOutput1::FindClosestMatchingMode1</strong> considers only stereo modes if you set the <strong>Stereo</strong> member in the <strong><see cref = "T:SharpDX.DXGI.ModeDescription1"/></strong> structure that <em>pModeToMatch</em> points to, and considers only mono modes if <strong>Stereo</strong> is not set.</p><p> <strong>IDXGIOutput1::FindClosestMatchingMode1</strong> returns a matched display-mode set with only stereo modes or only mono modes.
<strong>FindClosestMatchingMode</strong> behaves as though you specified the input mode as mono.</p>
</remarks>
<doc-id>bb174547</doc-id>
<unmanaged>HRESULT IDXGIOutput::FindClosestMatchingMode([In] const DXGI_MODE_DESC* pModeToMatch,[Out] DXGI_MODE_DESC* pClosestMatch,[In, Optional] IUnknown* pConcernedDevice)</unmanaged>
<unmanaged-short>IDXGIOutput::FindClosestMatchingMode</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.Output.WaitForVerticalBlank">
<summary>
<p>Halt a thread until the next vertical blank occurs.</p>
</summary>
<returns><p>Returns one of the following DXGI_ERROR.</p></returns>
<remarks>
<p>A vertical blank occurs when the raster moves from the lower right corner to the upper left corner to begin drawing the next frame.</p>
</remarks>
<doc-id>bb174559</doc-id>
<unmanaged>HRESULT IDXGIOutput::WaitForVBlank()</unmanaged>
<unmanaged-short>IDXGIOutput::WaitForVBlank</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.Output.TakeOwnership(SharpDX.IUnknown,SharpDX.Mathematics.Interop.RawBool)">
<summary>
<p>Takes ownership of an output.</p>
</summary>
<param name = "deviceRef"><dd> <p>A reference to the <strong><see cref = "T:SharpDX.IUnknown"/></strong> interface of a device (such as an <strong>ID3D10Device</strong>).</p> </dd></param>
<param name = "exclusive"><dd> <p>Set to <strong>TRUE</strong> to enable other threads or applications to take ownership of the device; otherwise, set to <strong><see cref = "F:SharpDX.Result.False"/></strong>.</p> </dd></param>
<returns><p>Returns one of the DXGI_ERROR values.</p></returns>
<remarks>
<p>When you are finished with the output, call <strong>IDXGIOutput::ReleaseOwnership</strong>.</p><p><strong>TakeOwnership</strong> should not be called directly by applications, since results will be unpredictable. It is called implicitly by the DXGI swap chain object during full-screen transitions, and should not be used as a substitute for swap-chain methods.</p>
</remarks>
<doc-id>bb174558</doc-id>
<unmanaged>HRESULT IDXGIOutput::TakeOwnership([In] IUnknown* pDevice,[In] BOOL Exclusive)</unmanaged>
<unmanaged-short>IDXGIOutput::TakeOwnership</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.Output.ReleaseOwnership">
<summary>
<p>Releases ownership of the output.</p>
</summary>
<remarks>
<p>If you are not using a swap chain, get access to an output by calling <strong>IDXGIOutput::TakeOwnership</strong> and release it when you are finished by calling <strong>IDXGIOutput::ReleaseOwnership</strong>. An application that uses a swap chain will typically not call either of these methods.</p>
</remarks>
<doc-id>bb174554</doc-id>
<unmanaged>void IDXGIOutput::ReleaseOwnership()</unmanaged>
<unmanaged-short>IDXGIOutput::ReleaseOwnership</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.Output.GetGammaControlCapabilities(SharpDX.DXGI.GammaControlCapabilities@)">
<summary>
<p>Gets a description of the gamma-control capabilities.</p>
</summary>
<param name = "gammaCapsRef"><dd> <p>A reference to a description of the gamma-control capabilities (see <strong><see cref = "T:SharpDX.DXGI.GammaControlCapabilities"/></strong>).</p> </dd></param>
<returns><p>Returns one of the DXGI_ERROR values.</p></returns>
<remarks>
<p> </p><strong>Note</strong>??Calling this method is only supported while in full-screen mode.?<p>For info about using gamma correction, see Using gamma correction. </p>
</remarks>
<doc-id>bb174553</doc-id>
<unmanaged>HRESULT IDXGIOutput::GetGammaControlCapabilities([Out] DXGI_GAMMA_CONTROL_CAPABILITIES* pGammaCaps)</unmanaged>
<unmanaged-short>IDXGIOutput::GetGammaControlCapabilities</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.Output.SetGammaControl(SharpDX.DXGI.GammaControl@)">
<summary>
<p>Sets the gamma controls.</p>
</summary>
<param name = "arrayRef"><dd> <p>A reference to a <strong><see cref = "T:SharpDX.DXGI.GammaControl"/></strong> structure that describes the gamma curve to set.</p> </dd></param>
<returns><p>Returns one of the DXGI_ERROR values.</p></returns>
<remarks>
<p> </p><strong>Note</strong>??Calling this method is only supported while in full-screen mode.?<p>For info about using gamma correction, see Using gamma correction. </p>
</remarks>
<doc-id>bb174557</doc-id>
<unmanaged>HRESULT IDXGIOutput::SetGammaControl([In] const DXGI_GAMMA_CONTROL* pArray)</unmanaged>
<unmanaged-short>IDXGIOutput::SetGammaControl</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.Output.GetGammaControl(SharpDX.DXGI.GammaControl@)">
<summary>
<p>Gets the gamma control settings.</p>
</summary>
<param name = "arrayRef"><dd> <p>An array of gamma control settings (see <strong><see cref = "T:SharpDX.DXGI.GammaControl"/></strong>).</p> </dd></param>
<returns><p>Returns one of the DXGI_ERROR values.</p></returns>
<remarks>
<p> </p><strong>Note</strong>??Calling this method is only supported while in full-screen mode.?<p>For info about using gamma correction, see Using gamma correction. </p>
</remarks>
<doc-id>bb174552</doc-id>
<unmanaged>HRESULT IDXGIOutput::GetGammaControl([Out] DXGI_GAMMA_CONTROL* pArray)</unmanaged>
<unmanaged-short>IDXGIOutput::GetGammaControl</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.Output.SetDisplaySurface(SharpDX.DXGI.Surface)">
<summary>
<p>Changes the display mode.</p>
</summary>
<param name = "scanoutSurfaceRef"><dd> <p>A reference to a surface (see <strong><see cref = "T:SharpDX.DXGI.Surface"/></strong>) used for rendering an image to the screen. The surface must have been created as a back buffer (DXGI_USAGE_BACKBUFFER).</p> </dd></param>
<returns><p>Returns one of the DXGI_ERROR values.</p></returns>
<remarks>
<p><strong>IDXGIOutput::SetDisplaySurface</strong> should not be called directly by applications, since results will be unpredictable. It is called implicitly by the DXGI swap chain object during full-screen transitions, and should not be used as a substitute for swap-chain methods.</p><p>This method should only be called between <strong>IDXGIOutput::TakeOwnership</strong> and <strong>IDXGIOutput::ReleaseOwnership</strong> calls.</p>
</remarks>
<doc-id>bb174556</doc-id>
<unmanaged>HRESULT IDXGIOutput::SetDisplaySurface([In] IDXGISurface* pScanoutSurface)</unmanaged>
<unmanaged-short>IDXGIOutput::SetDisplaySurface</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.Output.CopyDisplaySurfaceTo(SharpDX.DXGI.Surface)">
<summary>
<p>[Starting with Direct3D 11.1, we recommend not to use <strong>GetDisplaySurfaceData</strong> anymore to retrieve the current display surface. Instead, use <strong>IDXGIOutput1::GetDisplaySurfaceData1</strong>, which supports stereo display mode.]</p><p>Gets a copy of the current display surface.</p>
</summary>
<param name = "destinationRef">No documentation.</param>
<returns><p>Returns one of the DXGI_ERROR values.</p></returns>
<remarks>
<p><strong>IDXGIOutput::GetDisplaySurfaceData</strong> can only be called when an output is in full-screen mode. If the method succeeds, DXGI fills the destination surface.</p><p>Use <strong>IDXGIOutput::GetDesc</strong> to determine the size (width and height) of the output when you want to allocate space for the destination surface. This is true regardless of target monitor rotation. A destination surface created by a graphics component (such as Direct3D 10) must be created with CPU-write permission (see D3D10_CPU_ACCESS_WRITE). Other surfaces should be created with CPU read-write permission (see D3D10_CPU_ACCESS_READ_WRITE). This method will modify the surface data to fit the destination surface (stretch, shrink, convert format, rotate). The stretch and shrink is performed with point-sampling.</p>
</remarks>
<doc-id>bb174550</doc-id>
<unmanaged>HRESULT IDXGIOutput::GetDisplaySurfaceData([In] IDXGISurface* pDestination)</unmanaged>
<unmanaged-short>IDXGIOutput::GetDisplaySurfaceData</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.Output.GetFrameStatistics(SharpDX.DXGI.FrameStatistics@)">
<summary>
<p>Gets statistics about recently rendered frames.</p>
</summary>
<param name = "statsRef"><dd> <p>A reference to frame statistics (see <strong><see cref = "T:SharpDX.DXGI.FrameStatistics"/></strong>).</p> </dd></param>
<returns><p>If this function succeeds, it returns <see cref = "F:SharpDX.Result.Ok"/>. Otherwise, it might return <see cref = "!:InvalidCall"/>.</p></returns>
<remarks>
<p>This API is similar to <strong>IDXGISwapChain::GetFrameStatistics</strong>.</p><p> </p><strong>Note</strong>??Calling this method is only supported while in full-screen mode.?
</remarks>
<doc-id>bb174551</doc-id>
<unmanaged>HRESULT IDXGIOutput::GetFrameStatistics([Out] DXGI_FRAME_STATISTICS* pStats)</unmanaged>
<unmanaged-short>IDXGIOutput::GetFrameStatistics</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.Output1.GetDisplayModeList1(SharpDX.DXGI.Format,SharpDX.DXGI.DisplayModeEnumerationFlags)">
<summary>
<p>[This documentation is preliminary and is subject to change.]</p><p><strong>Applies to: </strong>desktop apps | Metro style apps</p><p>Gets the display modes that match the requested format and other input options.</p>
</summary>
<param name="enumFormat"><dd> <p>A <strong><see cref="T:SharpDX.DXGI.Format"/></strong>-typed value for the color format.</p> </dd></param>
<param name="flags"><dd> <p>A combination of DXGI_ENUM_MODES-typed values that are combined by using a bitwise OR operation. The resulting value specifies options for display modes to include. You must specify <see cref="F:SharpDX.DXGI.DisplayModeEnumerationFlags.Scaling"/> to expose the display modes that require scaling. Centered modes that require no scaling and correspond directly to the display output are enumerated by default.</p> </dd></param>
<returns>A list of display modes</returns>
<remarks>
<p><strong>GetDisplayModeList1</strong> is updated from <strong>GetDisplayModeList</strong> to return a list of <strong><see cref="T:SharpDX.DXGI.ModeDescription1"/></strong> structures, which are updated mode descriptions. <strong>GetDisplayModeList</strong> behaves as though it calls <strong>GetDisplayModeList1</strong> because <strong>GetDisplayModeList</strong> can return all of the modes that are specified by DXGI_ENUM_MODES, including stereo mode. However, <strong>GetDisplayModeList</strong> returns a list of <strong><see cref="T:SharpDX.DXGI.ModeDescription"/></strong> structures, which are the former mode descriptions and do not indicate stereo mode.</p><p>The <strong>GetDisplayModeList1</strong> method does not enumerate stereo modes unless you specify the <see cref="F:SharpDX.DXGI.DisplayModeEnumerationFlags.Stereo"/> flag in the <em>Flags</em> parameter. If you specify <see cref="F:SharpDX.DXGI.DisplayModeEnumerationFlags.Stereo"/>, stereo modes are included in the list of returned modes that the <em>pDesc</em> parameter points to. In other words, the method returns both stereo and mono modes.</p><p>In general, when you switch from windowed to full-screen mode, a swap chain automatically chooses a display mode that meets (or exceeds) the resolution, color depth, and refresh rate of the swap chain. To exercise more control over the display mode, use <strong>GetDisplayModeList1</strong> to poll the set of display modes that are validated against monitor capabilities, or all modes that match the desktop (if the desktop settings are not validated against the monitor).</p><p>The following example code shows that you need to call <strong>GetDisplayModeList1</strong> twice. First call <strong>GetDisplayModeList1</strong> to get the number of modes available, and second call <strong>GetDisplayModeList1</strong> to return a description of the modes.</p><pre><code> UINT num = 0;
<see cref="T:SharpDX.DXGI.Format"/> format = <see cref="F:SharpDX.DXGI.Format.R32G32B32A32_Float"/>;
UINT flags = <see cref="F:SharpDX.DXGI.DisplayModeEnumerationFlags.Interlaced"/>; pOutput-&gt;GetDisplayModeList1( format, flags, &amp;num, 0); ... <see cref="T:SharpDX.DXGI.ModeDescription1"/> * pDescs = new <see cref="T:SharpDX.DXGI.ModeDescription1"/>[num];
pOutput-&gt;GetDisplayModeList1( format, flags, &amp;num, pDescs); </code></pre>
</remarks>
<msdn-id>hh404606</msdn-id>
<unmanaged>HRESULT IDXGIOutput1::GetDisplayModeList1([In] DXGI_FORMAT EnumFormat,[In] unsigned int Flags,[InOut] unsigned int* pNumModes,[Out, Buffer, Optional] DXGI_MODE_DESC1* pDesc)</unmanaged>
<unmanaged-short>IDXGIOutput1::GetDisplayModeList1</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.Output1.GetDisplayModeList1(SharpDX.DXGI.Format,System.Int32,System.Int32@,SharpDX.DXGI.ModeDescription1[])">
<summary>
<p>[Starting with Direct3D 11.1, we recommend not to use <strong>GetDisplayModeList</strong> anymore to retrieve the matching display mode. Instead, use <strong>IDXGIOutput1::GetDisplayModeList1</strong>, which supports stereo display mode.]</p><p>Gets the display modes that match the requested format and other input options.</p>
</summary>
<param name = "enumFormat">No documentation.</param>
<param name = "flags">No documentation.</param>
<param name = "numModesRef">No documentation.</param>
<param name = "descRef">No documentation.</param>
<returns><p>Returns one of the following DXGI_ERROR. It is rare, but possible, that the display modes available can change immediately after calling this method, in which case <see cref = "!:MoreData"/> is returned (if there is not enough room for all the display modes). If <strong>GetDisplayModeList</strong> is called from a Remote Desktop Services session (formerly Terminal Services session), <see cref = "!:NotCurrentlyAvailable"/> is returned.</p></returns>
<remarks>
<p>In general, when switching from windowed to full-screen mode, a swap chain automatically chooses a display mode that meets (or exceeds) the resolution, color depth and refresh rate of the swap chain. To exercise more control over the display mode, use this API to poll the set of display modes that are validated against monitor capabilities, or all modes that match the desktop (if the desktop settings are not validated against the monitor).</p><p>As shown, this API is designed to be called twice. First to get the number of modes available, and second to return a description of the modes.</p><pre> UINT num = 0;
<see cref = "T:SharpDX.DXGI.Format"/> format = DXGI_FORMAT_R32G32B32A32_FLOAT;
UINT flags = DXGI_ENUM_MODES_INTERLACED; pOutput-&gt;GetDisplayModeList( format, flags, &amp;num, 0); ... <see cref = "T:SharpDX.DXGI.ModeDescription"/> * pDescs = new <see cref = "T:SharpDX.DXGI.ModeDescription"/>[num];
pOutput-&gt;GetDisplayModeList( format, flags, &amp;num, pDescs); </pre>
</remarks>
<doc-id>bb174549</doc-id>
<unmanaged>HRESULT IDXGIOutput1::GetDisplayModeList1([In] DXGI_FORMAT EnumFormat,[In] unsigned int Flags,[InOut] unsigned int* pNumModes,[Out, Buffer, Optional] DXGI_MODE_DESC1* pDesc)</unmanaged>
<unmanaged-short>IDXGIOutput1::GetDisplayModeList1</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.Output1.FindClosestMatchingMode1(SharpDX.DXGI.ModeDescription1@,SharpDX.DXGI.ModeDescription1@,SharpDX.IUnknown)">
<summary>
<p>Finds the display mode that most closely matches the requested display mode.</p>
</summary>
<param name = "modeToMatchRef"><dd> <p>A reference to the <strong><see cref = "T:SharpDX.DXGI.ModeDescription1"/></strong> structure that describes the display mode to match. Members of <strong><see cref = "T:SharpDX.DXGI.ModeDescription1"/></strong> can be unspecified, which indicates no preference for that member. A value of 0 for <strong>Width</strong> or <strong>Height</strong> indicates that the value is unspecified. If either <strong>Width</strong> or <strong>Height</strong> is 0, both must be 0. A numerator and denominator of 0 in <strong>RefreshRate</strong> indicate it is unspecified. Other members of <strong><see cref = "T:SharpDX.DXGI.ModeDescription1"/></strong> have enumeration values that indicate that the member is unspecified. If <em>pConcernedDevice</em> is <strong><c>null</c></strong>, the <strong>Format</strong> member of <strong><see cref = "T:SharpDX.DXGI.ModeDescription1"/></strong> cannot be <strong>DXGI_FORMAT_UNKNOWN</strong>.</p> </dd></param>
<param name = "closestMatchRef"><dd> <p>A reference to the <strong><see cref = "T:SharpDX.DXGI.ModeDescription1"/></strong> structure that receives a description of the display mode that most closely matches the display mode described at <em>pModeToMatch</em>.</p> </dd></param>
<param name = "concernedDeviceRef"><dd> <p>A reference to the Direct3D device interface. If this parameter is <strong><c>null</c></strong>, <strong>FindClosestMatchingMode1</strong> returns only modes whose format matches that of <em>pModeToMatch</em>; otherwise, <strong>FindClosestMatchingMode1</strong> returns only those formats that are supported for scan-out by the device. For info about the formats that are supported for scan-out by the device at each feature level:</p> <ul> <li> DXGI Format Support for Direct3D Feature Level 12.1 Hardware </li> <li> DXGI Format Support for Direct3D Feature Level 12.0 Hardware </li> <li> DXGI Format Support for Direct3D Feature Level 11.1 Hardware </li> <li> DXGI Format Support for Direct3D Feature Level 11.0 Hardware </li> <li> Hardware Support for Direct3D 10Level9 Formats </li> <li> Hardware Support for Direct3D 10.1 Formats </li> <li> Hardware Support for Direct3D 10 Formats </li> </ul> </dd></param>
<returns><p>Returns one of the error codes described in the DXGI_ERROR topic.</p></returns>
<remarks>
<p>Direct3D devices require UNORM formats.</p><p><strong>FindClosestMatchingMode1</strong> finds the closest matching available display mode to the mode that you specify in <em>pModeToMatch</em>.</p><p>If you set the <strong>Stereo</strong> member in the <strong><see cref = "T:SharpDX.DXGI.ModeDescription1"/></strong> structure to which <em>pModeToMatch</em> points to specify a stereo mode as input, <strong>FindClosestMatchingMode1</strong> considers only stereo modes. <strong>FindClosestMatchingMode1</strong> considers only mono modes if <strong>Stereo</strong> is not set.</p><p><strong>FindClosestMatchingMode1</strong> resolves similarly ranked members of display modes (that is, all specified, or all unspecified, and so on) in the following order:</p><ol> <li><strong>ScanlineOrdering</strong></li> <li><strong>Scaling</strong></li> <li><strong>Format</strong></li> <li><strong>Resolution</strong></li> <li><strong>RefreshRate</strong></li> </ol><p>When <strong>FindClosestMatchingMode1</strong> determines the closest value for a particular member, it uses previously matched members to filter the display mode list choices, and ignores other members. For example, when <strong>FindClosestMatchingMode1</strong> matches <strong>Resolution</strong>, it already filtered the display mode list by a certain <strong>ScanlineOrdering</strong>, <strong>Scaling</strong>, and <strong>Format</strong>, while it ignores <strong>RefreshRate</strong>. This ordering doesn't define the absolute ordering for every usage scenario of <strong>FindClosestMatchingMode1</strong>, because the application can choose some values initially, which effectively changes the order of resolving members.</p><p><strong>FindClosestMatchingMode1</strong> matches members of the display mode one at a time, generally in a specified order.</p><p>If a member is unspecified, <strong>FindClosestMatchingMode1</strong> gravitates toward the values for the desktop related to this output. If this output is not part of the desktop, <strong>FindClosestMatchingMode1</strong> uses the default desktop output to find values. If an application uses a fully unspecified display mode, <strong>FindClosestMatchingMode1</strong> typically returns a display mode that matches the desktop settings for this output. Because unspecified members are lower priority than specified members, <strong>FindClosestMatchingMode1</strong> resolves unspecified members later than specified members.</p>
</remarks>
<doc-id>hh404603</doc-id>
<unmanaged>HRESULT IDXGIOutput1::FindClosestMatchingMode1([In] const DXGI_MODE_DESC1* pModeToMatch,[Out] DXGI_MODE_DESC1* pClosestMatch,[In, Optional] IUnknown* pConcernedDevice)</unmanaged>
<unmanaged-short>IDXGIOutput1::FindClosestMatchingMode1</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.Output1.GetDisplaySurfaceData1(SharpDX.DXGI.Resource)">
<summary>
<p>Copies the display surface (front buffer) to a user-provided resource.</p>
</summary>
<param name = "destinationRef"><dd> <p>A reference to a resource interface that represents the resource to which <strong>GetDisplaySurfaceData1</strong> copies the display surface.</p> </dd></param>
<returns><p>Returns one of the error codes described in the DXGI_ERROR topic.</p></returns>
<remarks>
<p><strong>GetDisplaySurfaceData1</strong> is similar to <strong>IDXGIOutput::GetDisplaySurfaceData</strong> except <strong>GetDisplaySurfaceData1</strong> takes an <strong><see cref = "T:SharpDX.DXGI.Resource"/></strong> and <strong>IDXGIOutput::GetDisplaySurfaceData</strong> takes an <strong><see cref = "T:SharpDX.DXGI.Surface"/></strong>.</p><p><strong>GetDisplaySurfaceData1</strong> returns an error if the input resource is not a 2D texture (represented by the <strong><see cref = "!:SharpDX.Direct3D11.Texture2D"/></strong> interface) with an array size (<strong>ArraySize</strong> member of the <strong><see cref = "!:SharpDX.Direct3D11.Texture2DDescription"/></strong> structure) that is equal to the swap chain buffers.</p><p>The original <strong>IDXGIOutput::GetDisplaySurfaceData</strong> and the updated <strong>GetDisplaySurfaceData1</strong> behave exactly the same. <strong>GetDisplaySurfaceData1</strong> was required because textures with an array size equal to 2 (<strong>ArraySize</strong> = 2) do not implement <strong><see cref = "T:SharpDX.DXGI.Surface"/></strong>.</p><p> You can call <strong>GetDisplaySurfaceData1</strong> only when an output is in full-screen mode. If <strong>GetDisplaySurfaceData1</strong> succeeds, it fills the destination resource.</p><p>Use <strong>IDXGIOutput::GetDesc</strong> to determine the size (width and height) of the output when you want to allocate space for the destination resource. This is true regardless of target monitor rotation. A destination resource created by a graphics component (such as Direct3D 11) must be created with CPU write permission (see <strong>D3D11_CPU_ACCESS_WRITE</strong>). Other surfaces can be created with CPU read-write permission (<strong>D3D11_CPU_ACCESS_READ</strong> | <strong>D3D11_CPU_ACCESS_WRITE</strong>). <strong>GetDisplaySurfaceData1</strong> modifies the surface data to fit the destination resource (stretch, shrink, convert format, rotate). <strong>GetDisplaySurfaceData1</strong> performs the stretch and shrink with point sampling. </p>
</remarks>
<doc-id>hh404609</doc-id>
<unmanaged>HRESULT IDXGIOutput1::GetDisplaySurfaceData1([In] IDXGIResource* pDestination)</unmanaged>
<unmanaged-short>IDXGIOutput1::GetDisplaySurfaceData1</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.Output1.DuplicateOutput(SharpDX.IUnknown)">
<summary>
<p>Creates a desktop duplication interface from the <strong><see cref = "T:SharpDX.DXGI.Output1"/></strong> interface that represents an adapter output.</p>
</summary>
<param name = "deviceRef">No documentation.</param>
<returns>No documentation.</returns>
<remarks>
<p>If an application wants to duplicate the entire desktop, it must create a desktop duplication interface on each active output on the desktop. This interface does not provide an explicit way to synchronize the timing of each output image. Instead, the application must use the time stamp of each output, and then determine how to combine the images.</p><p>For <strong>DuplicateOutput</strong> to succeed, you must create <em>pDevice</em> from <strong><see cref = "T:SharpDX.DXGI.Factory1"/></strong> or a later version of a DXGI factory interface that inherits from <strong><see cref = "T:SharpDX.DXGI.Factory1"/></strong>.</p><p>If the current mode is a stereo mode, the desktop duplication interface provides the image for the left stereo image only.</p><p>By default, only four processes can use a <strong><see cref = "T:SharpDX.DXGI.OutputDuplication"/></strong> interface at the same time within a single session. A process can have only one desktop duplication interface on a single desktop output; however, that process can have a desktop duplication interface for each output that is part of the desktop. </p><p>For improved performance, consider using <strong>DuplicateOutput1</strong>.</p>
</remarks>
<doc-id>hh404600</doc-id>
<unmanaged>HRESULT IDXGIOutput1::DuplicateOutput([In] IUnknown* pDevice,[Out] IDXGIOutputDuplication** ppOutputDuplication)</unmanaged>
<unmanaged-short>IDXGIOutput1::DuplicateOutput</unmanaged-short>
</member>
<member name="P:SharpDX.DXGI.Output2.SupportsOverlays">
<summary>
<p>[This documentation is preliminary and is subject to change.]</p><p>Queries an adapter output for multiplane overlay support.</p>
</summary>
<returns><p>TRUE if the output adapter is the primary adapter and it supports multiplane overlays, otherwise returns <see cref="F:SharpDX.Result.False" />.</p></returns>
<!-- No matching elements were found for the following include tag --><include file=".\Documentation\CodeComments.xml" path="/comments/comment[@id='IDXGIOutput2::SupportsOverlays']/*" />
<msdn-id>dn280411</msdn-id>
<unmanaged>BOOL IDXGIOutput2::SupportsOverlays()</unmanaged>
<unmanaged-short>IDXGIOutput2::SupportsOverlays</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.Output2.SupportsOverlays_">
<summary>
<p>Queries an adapter output for multiplane overlay support. If this API returns ?TRUE?, multiple swap chain composition takes place in a performant manner using overlay hardware. If this API returns false, apps should avoid using foreground swap chains (that is, avoid using swap chains created with the <strong>DXGI_SWAP_CHAIN_FLAG_FOREGROUND_LAYER</strong> flag).</p>
</summary>
<returns><p>TRUE if the output adapter is the primary adapter and it supports multiplane overlays, otherwise returns <see cref = "F:SharpDX.Result.False"/>.</p></returns>
<remarks>
<p>See <strong>CreateSwapChainForCoreWindow</strong> for info on creating a foreground swap chain.</p>
</remarks>
<doc-id>dn280411</doc-id>
<unmanaged>BOOL IDXGIOutput2::SupportsOverlays()</unmanaged>
<unmanaged-short>IDXGIOutput2::SupportsOverlays</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.OutputDuplication.MapDesktopSurface">
<unmanaged>HRESULT IDXGIOutputDuplication::MapDesktopSurface([Out] DXGI_MAPPED_RECT* pLockedRect)</unmanaged>
</member>
<member name="M:SharpDX.DXGI.OutputDuplication.AcquireNextFrame(System.Int32,SharpDX.DXGI.OutputDuplicateFrameInformation@,SharpDX.DXGI.Resource@)">
<summary>
<p>Indicates that the application is ready to process the next desktop image.</p>
</summary>
<param name="timeoutInMilliseconds"><dd> <p>The time-out interval, in milliseconds. This interval specifies the amount of time that this method waits for a new frame before it returns to the caller. This method returns if the interval elapses, and a new desktop image is not available.</p> <p>For more information about the time-out interval, see Remarks.</p> </dd></param>
<param name="frameInfoRef"><dd> <p>A reference to a memory location that receives the <strong><see cref="T:SharpDX.DXGI.OutputDuplicateFrameInformation" /></strong> structure that describes timing and presentation statistics for a frame.</p> </dd></param>
<param name="desktopResourceOut"><dd> <p>A reference to a variable that receives the <strong><see cref="T:SharpDX.DXGI.Resource" /></strong> interface of the surface that contains the desktop bitmap.</p> </dd></param>
<remarks>
<p>When <strong>AcquireNextFrame</strong> returns successfully, the calling application can access the desktop image that <strong>AcquireNextFrame</strong> returns in the variable at <em>ppDesktopResource</em>.
If the caller specifies a zero time-out interval in the <em>TimeoutInMilliseconds</em> parameter, <strong>AcquireNextFrame</strong> verifies whether there is a new desktop image available, returns immediately, and indicates its outcome with the return value. If the caller specifies an <strong>INFINITE</strong> time-out interval in the <em>TimeoutInMilliseconds</em> parameter, the time-out interval never elapses.</p><strong>Note</strong>??You cannot cancel the wait that you specified in the <em>TimeoutInMilliseconds</em> parameter. Therefore, if you must periodically check for other conditions (for example, a terminate signal), you should specify a non-<strong>INFINITE</strong> time-out interval. After the time-out interval elapses, you can check for these other conditions and then call <strong>AcquireNextFrame</strong> again to wait for the next frame.?<p><strong>AcquireNextFrame</strong> acquires a new desktop frame when the operating system either updates the desktop bitmap image or changes the shape or position of a hardware reference. The new frame that <strong>AcquireNextFrame</strong> acquires might have only the desktop image updated, only the reference shape or position updated, or both.</p>
</remarks>
<!-- Failed to insert some or all of included XML --><include file=".\..\..\Documentation\CodeComments.xml" path="/comments/comment[@id='IDXGIOutputDuplication::AcquireNextFrame']/*" />
<msdn-id>hh404615</msdn-id>
<unmanaged>HRESULT IDXGIOutputDuplication::AcquireNextFrame([In] unsigned int TimeoutInMilliseconds,[Out] DXGI_OUTDUPL_FRAME_INFO* pFrameInfo,[Out] IDXGIResource** ppDesktopResource)</unmanaged>
<unmanaged-short>IDXGIOutputDuplication::AcquireNextFrame</unmanaged-short>
</member>
<member name="P:SharpDX.DXGI.OutputDuplication.Description">
<summary>
<p>Retrieves a description of a duplicated output. This description specifies the dimensions of the surface that contains the desktop image.</p>
</summary>
<remarks>
<p>After an application creates an <strong><see cref = "T:SharpDX.DXGI.OutputDuplication"/></strong> interface, it calls <strong>GetDesc</strong> to retrieve the dimensions of the surface that contains the desktop image. The format of the desktop image is always <strong>DXGI_FORMAT_B8G8R8A8_UNORM</strong>.</p>
</remarks>
<doc-id>hh404618</doc-id>
<unmanaged>GetDesc</unmanaged>
<unmanaged-short>GetDesc</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.OutputDuplication.GetDescription(SharpDX.DXGI.OutputDuplicateDescription@)">
<summary>
<p>Retrieves a description of a duplicated output. This description specifies the dimensions of the surface that contains the desktop image.</p>
</summary>
<param name = "descRef"><dd> <p>A reference to a <strong><see cref = "T:SharpDX.DXGI.OutputDuplicateDescription"/></strong> structure that describes the duplicated output. This parameter must not be <strong><c>null</c></strong>.</p> </dd></param>
<remarks>
<p>After an application creates an <strong><see cref = "T:SharpDX.DXGI.OutputDuplication"/></strong> interface, it calls <strong>GetDesc</strong> to retrieve the dimensions of the surface that contains the desktop image. The format of the desktop image is always <strong>DXGI_FORMAT_B8G8R8A8_UNORM</strong>.</p>
</remarks>
<doc-id>hh404618</doc-id>
<unmanaged>void IDXGIOutputDuplication::GetDesc([Out] DXGI_OUTDUPL_DESC* pDesc)</unmanaged>
<unmanaged-short>IDXGIOutputDuplication::GetDesc</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.OutputDuplication.TryAcquireNextFrame(System.Int32,SharpDX.DXGI.OutputDuplicateFrameInformation@,SharpDX.DXGI.Resource@)">
<summary>
<p>Indicates that the application is ready to process the next desktop image.</p>
</summary>
<param name = "timeoutInMilliseconds"><dd> <p>The time-out interval, in milliseconds. This interval specifies the amount of time that this method waits for a new frame before it returns to the caller. This method returns if the interval elapses, and a new desktop image is not available.</p> <p>For more information about the time-out interval, see Remarks.</p> </dd></param>
<param name = "frameInfoRef"><dd> <p>A reference to a memory location that receives the <strong><see cref = "T:SharpDX.DXGI.OutputDuplicateFrameInformation"/></strong> structure that describes timing and presentation statistics for a frame.</p> </dd></param>
<param name = "desktopResourceOut"><dd> <p>A reference to a variable that receives the <strong><see cref = "T:SharpDX.DXGI.Resource"/></strong> interface of the surface that contains the desktop bitmap.</p> </dd></param>
<returns><p><strong>AcquireNextFrame</strong> returns: </p><ul> <li><see cref = "F:SharpDX.Result.Ok"/> if it successfully received the next desktop image.</li> <li><see cref = "!:AccessLost"/> if the desktop duplication interface is invalid. The desktop duplication interface typically becomes invalid when a different type of image is displayed on the desktop. Examples of this situation are: <ul> <li>Desktop switch</li> <li>Mode change</li> <li>Switch from DWM on, DWM off, or other full-screen application</li> </ul>In this situation, the application must release the <strong><see cref = "T:SharpDX.DXGI.OutputDuplication"/></strong> interface and create a new <strong><see cref = "T:SharpDX.DXGI.OutputDuplication"/></strong> for the new content.</li> <li><see cref = "!:WaitTimeout"/> if the time-out interval elapsed before the next desktop frame was available.</li> <li><see cref = "!:InvalidCall"/> if the application called <strong>AcquireNextFrame</strong> without releasing the previous frame.</li> <li>E_INVALIDARG if one of the parameters to <strong>AcquireNextFrame</strong> is incorrect; for example, if <em>pFrameInfo</em> is <c>null</c>.</li> <li>Possibly other error codes that are described in the DXGI_ERROR topic.</li> </ul></returns>
<remarks>
<p>When <strong>AcquireNextFrame</strong> returns successfully, the calling application can access the desktop image that <strong>AcquireNextFrame</strong> returns in the variable at <em>ppDesktopResource</em>.
If the caller specifies a zero time-out interval in the <em>TimeoutInMilliseconds</em> parameter, <strong>AcquireNextFrame</strong> verifies whether there is a new desktop image available, returns immediately, and indicates its outcome with the return value. If the caller specifies an <strong>INFINITE</strong> time-out interval in the <em>TimeoutInMilliseconds</em> parameter, the time-out interval never elapses.</p><strong>Note</strong>??You cannot cancel the wait that you specified in the <em>TimeoutInMilliseconds</em> parameter. Therefore, if you must periodically check for other conditions (for example, a terminate signal), you should specify a non-<strong>INFINITE</strong> time-out interval. After the time-out interval elapses, you can check for these other conditions and then call <strong>AcquireNextFrame</strong> again to wait for the next frame.?<p><strong>AcquireNextFrame</strong> acquires a new desktop frame when the operating system either updates the desktop bitmap image or changes the shape or position of a hardware reference. The new frame that <strong>AcquireNextFrame</strong> acquires might have only the desktop image updated, only the reference shape or position updated, or both.</p>
</remarks>
<doc-id>hh404615</doc-id>
<unmanaged>HRESULT IDXGIOutputDuplication::AcquireNextFrame([In] unsigned int TimeoutInMilliseconds,[Out] DXGI_OUTDUPL_FRAME_INFO* pFrameInfo,[Out] IDXGIResource** ppDesktopResource)</unmanaged>
<unmanaged-short>IDXGIOutputDuplication::AcquireNextFrame</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.OutputDuplication.GetFrameDirtyRects(System.Int32,SharpDX.Mathematics.Interop.RawRectangle[],System.Int32@)">
<summary>
<p>Gets information about dirty rectangles for the current desktop frame.</p>
</summary>
<param name = "dirtyRectsBufferSize"><dd> <p>The size in bytes of the buffer that the caller passed to the <em>pDirtyRectsBuffer</em> parameter.</p> </dd></param>
<param name = "dirtyRectsBufferRef"><dd> <p>A reference to an array of <strong><see cref = "T:SharpDX.Mathematics.Interop.RawRectangle"/></strong> structures that identifies the dirty rectangle regions for the desktop frame.</p> </dd></param>
<param name = "dirtyRectsBufferSizeRequiredRef"><dd> <p>Pointer to a variable that receives the number of bytes that <strong>GetFrameDirtyRects</strong> needs to store information about dirty regions in the buffer at <em>pDirtyRectsBuffer</em>.</p> <p>For more information about returning the required buffer size, see Remarks.</p> </dd></param>
<returns><p><strong>GetFrameDirtyRects</strong> returns: </p><ul> <li><see cref = "F:SharpDX.Result.Ok"/> if it successfully retrieved information about dirty rectangles.</li> <li><see cref = "!:AccessLost"/> if the desktop duplication interface is invalid. The desktop duplication interface typically becomes invalid when a different type of image is displayed on the desktop. Examples of this situation are: <ul> <li>Desktop switch</li> <li>Mode change</li> <li>Switch from DWM on, DWM off, or other full-screen application</li> </ul> In this situation, the application must release the <strong><see cref = "T:SharpDX.DXGI.OutputDuplication"/></strong> interface and create a new <strong><see cref = "T:SharpDX.DXGI.OutputDuplication"/></strong> for the new content.</li> <li><see cref = "!:MoreData"/> if the buffer that the calling application provided was not big enough.</li> <li><see cref = "!:InvalidCall"/> if the application called <strong>GetFrameDirtyRects</strong> without owning the desktop image.</li> <li>E_INVALIDARG if one of the parameters to <strong>GetFrameDirtyRects</strong> is incorrect; for example, if <em>pDirtyRectsBuffer</em> is <c>null</c>.</li> <li>Possibly other error codes that are described in the DXGI_ERROR topic.</li> </ul></returns>
<remarks>
<p><strong>GetFrameDirtyRects</strong> stores a size value in the variable at <em>pDirtyRectsBufferSizeRequired</em>. This value specifies the number of bytes that <strong>GetFrameDirtyRects</strong> needs to store information about dirty regions. You can use this value in the following situations to determine the amount of memory to allocate for future buffers that you pass to <em>pDirtyRectsBuffer</em>:</p><ul> <li><strong>GetFrameDirtyRects</strong> fails with <see cref = "!:MoreData"/> because the buffer is not big enough.</li> <li><strong>GetFrameDirtyRects</strong> supplies a buffer that is bigger than necessary. The size value returned at <em>pDirtyRectsBufferSizeRequired</em> informs the caller how much buffer space was actually used compared to how much buffer space the caller allocated and specified in the <em>DirtyRectsBufferSize</em> parameter.</li> </ul><p>The caller can also use the value returned at <em>pDirtyRectsBufferSizeRequired</em> to determine the number of <strong><see cref = "T:SharpDX.Mathematics.Interop.RawRectangle"/></strong>s returned in the <em>pDirtyRectsBuffer</em> array.</p><p>The buffer contains the list of dirty <strong><see cref = "T:SharpDX.Mathematics.Interop.RawRectangle"/></strong>s for the current frame.</p><strong>Note</strong>??To produce a visually accurate copy of the desktop, an application must first process all move <strong><see cref = "T:SharpDX.Mathematics.Interop.RawRectangle"/></strong>s before it processes dirty <strong><see cref = "T:SharpDX.Mathematics.Interop.RawRectangle"/></strong>s.?
</remarks>
<doc-id>hh404619</doc-id>
<unmanaged>HRESULT IDXGIOutputDuplication::GetFrameDirtyRects([In] unsigned int DirtyRectsBufferSize,[Out, Buffer] RECT* pDirtyRectsBuffer,[Out] unsigned int* pDirtyRectsBufferSizeRequired)</unmanaged>
<unmanaged-short>IDXGIOutputDuplication::GetFrameDirtyRects</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.OutputDuplication.GetFrameMoveRects(System.Int32,SharpDX.DXGI.OutputDuplicateMoveRectangle[],System.Int32@)">
<summary>
<p>Gets information about the moved rectangles for the current desktop frame.</p>
</summary>
<param name = "moveRectsBufferSize"><dd> <p>The size in bytes of the buffer that the caller passed to the <em>pMoveRectBuffer</em> parameter.</p> </dd></param>
<param name = "moveRectBufferRef"><dd> <p>A reference to an array of <strong><see cref = "T:SharpDX.DXGI.OutputDuplicateMoveRectangle"/></strong> structures that identifies the moved rectangle regions for the desktop frame.</p> </dd></param>
<param name = "moveRectsBufferSizeRequiredRef"><dd> <p>Pointer to a variable that receives the number of bytes that <strong>GetFrameMoveRects</strong> needs to store information about moved regions in the buffer at <em>pMoveRectBuffer</em>.</p> <p>For more information about returning the required buffer size, see Remarks.</p> </dd></param>
<returns><p><strong>GetFrameMoveRects</strong> returns: </p><ul> <li><see cref = "F:SharpDX.Result.Ok"/> if it successfully retrieved information about moved rectangles.</li> <li><see cref = "!:AccessLost"/> if the desktop duplication interface is invalid. The desktop duplication interface typically becomes invalid when a different type of image is displayed on the desktop. Examples of this situation are: <ul> <li>Desktop switch</li> <li>Mode change</li> <li>Switch from DWM on, DWM off, or other full-screen application</li> </ul> In this situation, the application must release the <strong><see cref = "T:SharpDX.DXGI.OutputDuplication"/></strong> interface and create a new <strong><see cref = "T:SharpDX.DXGI.OutputDuplication"/></strong> for the new content.</li> <li><see cref = "!:MoreData"/> if the buffer that the calling application provided is not big enough.</li> <li><see cref = "!:InvalidCall"/> if the application called <strong>GetFrameMoveRects</strong> without owning the desktop image.</li> <li>E_INVALIDARG if one of the parameters to <strong>GetFrameMoveRects</strong> is incorrect; for example, if <em>pMoveRectBuffer</em> is <c>null</c>.</li> <li>Possibly other error codes that are described in the DXGI_ERROR topic.</li> </ul></returns>
<remarks>
<p><strong>GetFrameMoveRects</strong> stores a size value in the variable at <em>pMoveRectsBufferSizeRequired</em>. This value specifies the number of bytes that <strong>GetFrameMoveRects</strong> needs to store information about moved regions. You can use this value in the following situations to determine the amount of memory to allocate for future buffers that you pass to <em>pMoveRectBuffer</em>:</p><ul> <li><strong>GetFrameMoveRects</strong> fails with <see cref = "!:MoreData"/> because the buffer is not big enough.</li> <li><strong>GetFrameMoveRects</strong> supplies a buffer that is bigger than necessary. The size value returned at <em>pMoveRectsBufferSizeRequired</em> informs the caller how much buffer space was actually used compared to how much buffer space the caller allocated and specified in the <em>MoveRectsBufferSize</em> parameter.</li> </ul><p>The caller can also use the value returned at <em>pMoveRectsBufferSizeRequired</em> to determine the number of <strong><see cref = "T:SharpDX.DXGI.OutputDuplicateMoveRectangle"/></strong> structures returned.</p><p>The buffer contains the list of move RECTs for the current frame.</p><strong>Note</strong>??To produce a visually accurate copy of the desktop, an application must first process all move RECTs before it processes dirty RECTs.?
</remarks>
<doc-id>hh404620</doc-id>
<unmanaged>HRESULT IDXGIOutputDuplication::GetFrameMoveRects([In] unsigned int MoveRectsBufferSize,[Out, Buffer] DXGI_OUTDUPL_MOVE_RECT* pMoveRectBuffer,[Out] unsigned int* pMoveRectsBufferSizeRequired)</unmanaged>
<unmanaged-short>IDXGIOutputDuplication::GetFrameMoveRects</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.OutputDuplication.GetFramePointerShape(System.Int32,System.IntPtr,System.Int32@,SharpDX.DXGI.OutputDuplicatePointerShapeInformation@)">
<summary>
<p>Gets information about the new reference shape for the current desktop frame.</p>
</summary>
<param name = "pointerShapeBufferSize"><dd> <p>The size in bytes of the buffer that the caller passed to the <em>pPointerShapeBuffer</em> parameter.</p> </dd></param>
<param name = "pointerShapeBufferRef"><dd> <p>A reference to a buffer to which <strong>GetFramePointerShape</strong> copies and returns pixel data for the new reference shape.</p> </dd></param>
<param name = "pointerShapeBufferSizeRequiredRef"><dd> <p>Pointer to a variable that receives the number of bytes that <strong>GetFramePointerShape</strong> needs to store the new reference shape pixel data in the buffer at <em>pPointerShapeBuffer</em>.</p> <p>For more information about returning the required buffer size, see Remarks.</p> </dd></param>
<param name = "pointerShapeInfoRef"><dd> <p>Pointer to a <strong><see cref = "T:SharpDX.DXGI.OutputDuplicatePointerShapeInformation"/></strong> structure that receives the reference shape information.</p> </dd></param>
<returns><p><strong>GetFramePointerShape</strong> returns: </p><ul> <li><see cref = "F:SharpDX.Result.Ok"/> if it successfully retrieved information about the new reference shape.</li> <li><see cref = "!:AccessLost"/> if the desktop duplication interface is invalid. The desktop duplication interface typically becomes invalid when a different type of image is displayed on the desktop. Examples of this situation are: <ul> <li>Desktop switch</li> <li>Mode change</li> <li>Switch from DWM on, DWM off, or other full-screen application</li> </ul>In this situation, the application must release the <strong><see cref = "T:SharpDX.DXGI.OutputDuplication"/></strong> interface and create a new <strong><see cref = "T:SharpDX.DXGI.OutputDuplication"/></strong> for the new content.</li> <li><see cref = "!:MoreData"/> if the buffer that the calling application provided was not big enough.</li> <li><see cref = "!:InvalidCall"/> if the application called <strong>GetFramePointerShape</strong> without owning the desktop image.</li> <li>E_INVALIDARG if one of the parameters to <strong>GetFramePointerShape</strong> is incorrect; for example, if <em>pPointerShapeInfo</em> is <c>null</c>.</li> <li>Possibly other error codes that are described in the DXGI_ERROR topic.</li> </ul></returns>
<remarks>
<p><strong>GetFramePointerShape</strong> stores a size value in the variable at <em>pPointerShapeBufferSizeRequired</em>. This value specifies the number of bytes that <em>pPointerShapeBufferSizeRequired</em> needs to store the new reference shape pixel data. You can use the value in the following situations to determine the amount of memory to allocate for future buffers that you pass to <em>pPointerShapeBuffer</em>:</p><ul> <li><strong>GetFramePointerShape</strong> fails with <see cref = "!:MoreData"/> because the buffer is not big enough.</li> <li><strong>GetFramePointerShape</strong> supplies a bigger than necessary buffer. The size value returned at <em>pPointerShapeBufferSizeRequired</em> informs the caller how much buffer space was actually used compared to how much buffer space the caller allocated and specified in the <em>PointerShapeBufferSize</em> parameter.</li> </ul><p>The <em>pPointerShapeInfo</em> parameter describes the new reference shape.</p>
</remarks>
<doc-id>hh404621</doc-id>
<unmanaged>HRESULT IDXGIOutputDuplication::GetFramePointerShape([In] unsigned int PointerShapeBufferSize,[Out, Buffer] void* pPointerShapeBuffer,[Out] unsigned int* pPointerShapeBufferSizeRequired,[Out] DXGI_OUTDUPL_POINTER_SHAPE_INFO* pPointerShapeInfo)</unmanaged>
<unmanaged-short>IDXGIOutputDuplication::GetFramePointerShape</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.OutputDuplication.MapDesktopSurface(SharpDX.DXGI.MappedRectangle@)">
<summary>
<p>Provides the CPU with efficient access to a desktop image if that desktop image is already in system memory.</p>
</summary>
<param name = "lockedRectRef"><dd> <p>A reference to a <strong><see cref = "T:SharpDX.DXGI.MappedRectangle"/></strong> structure that receives the surface data that the CPU needs to directly access the surface data. </p> </dd></param>
<returns><p><strong>MapDesktopSurface</strong> returns: </p><ul> <li><see cref = "F:SharpDX.Result.Ok"/> if it successfully retrieved the surface data.</li> <li><see cref = "!:AccessLost"/> if the desktop duplication interface is invalid. The desktop duplication interface typically becomes invalid when a different type of image is displayed on the desktop. Examples of this situation are: <ul> <li>Desktop switch</li> <li>Mode change</li> <li>Switch from DWM on, DWM off, or other full-screen application</li> </ul>In this situation, the application must release the <strong><see cref = "T:SharpDX.DXGI.OutputDuplication"/></strong> interface and create a new <strong><see cref = "T:SharpDX.DXGI.OutputDuplication"/></strong> for the new content.</li> <li><see cref = "!:InvalidCall"/> if the application already has an outstanding map on the desktop image. The application must call <strong>UnMapDesktopSurface</strong> before it calls <strong>MapDesktopSurface</strong> again. <see cref = "!:InvalidCall"/> is also returned if the application did not own the desktop image when it called <strong>MapDesktopSurface</strong>.</li> <li><see cref = "!:Unsupported"/> if the desktop image is not in system memory. In this situation, the application must first transfer the image to a staging surface and then lock the image by calling the <strong>IDXGISurface::Map</strong> method.</li> <li>E_INVALIDARG if the <em>pLockedRect</em> parameter is incorrect; for example, if <em>pLockedRect</em> is <strong><c>null</c></strong>.</li> <li>Possibly other error codes that are described in the DXGI_ERROR topic.</li> </ul></returns>
<remarks>
<p>You can successfully call <strong>MapDesktopSurface</strong> if the <strong>DesktopImageInSystemMemory</strong> member of the <strong><see cref = "T:SharpDX.DXGI.OutputDuplicateDescription"/></strong> structure is set to <strong>TRUE</strong>. If <strong>DesktopImageInSystemMemory</strong> is <strong><see cref = "F:SharpDX.Result.False"/></strong>, <strong>MapDesktopSurface</strong> returns <see cref = "!:Unsupported"/>. Call <strong>IDXGIOutputDuplication::GetDesc</strong> to retrieve the <strong><see cref = "T:SharpDX.DXGI.OutputDuplicateDescription"/></strong> structure.</p>
</remarks>
<doc-id>hh404622</doc-id>
<unmanaged>HRESULT IDXGIOutputDuplication::MapDesktopSurface([Out] DXGI_MAPPED_RECT* pLockedRect)</unmanaged>
<unmanaged-short>IDXGIOutputDuplication::MapDesktopSurface</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.OutputDuplication.UnMapDesktopSurface">
<summary>
<p>Invalidates the reference to the desktop image that was retrieved by using <strong>IDXGIOutputDuplication::MapDesktopSurface</strong>.</p>
</summary>
<returns><p><strong>UnMapDesktopSurface</strong> returns: </p><ul> <li><see cref = "F:SharpDX.Result.Ok"/> if it successfully completed.</li> <li><see cref = "!:InvalidCall"/> if the application did not map the desktop surface by calling <strong>IDXGIOutputDuplication::MapDesktopSurface</strong>.</li> <li>Possibly other error codes that are described in the DXGI_ERROR topic.</li> </ul></returns>
<doc-id>hh404624</doc-id>
<unmanaged>HRESULT IDXGIOutputDuplication::UnMapDesktopSurface()</unmanaged>
<unmanaged-short>IDXGIOutputDuplication::UnMapDesktopSurface</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.OutputDuplication.ReleaseFrame">
<summary>
<p>Indicates that the application finished processing the frame.</p>
</summary>
<returns><p><strong>ReleaseFrame</strong> returns: </p><ul> <li><see cref = "F:SharpDX.Result.Ok"/> if it successfully completed.</li> <li><see cref = "!:InvalidCall"/> if the application already released the frame.</li> <li><see cref = "!:AccessLost"/> if the desktop duplication interface is invalid. The desktop duplication interface typically becomes invalid when a different type of image is displayed on the desktop. Examples of this situation are: <ul> <li>Desktop switch</li> <li>Mode change</li> <li>Switch from DWM on, DWM off, or other full-screen application</li> </ul>In this situation, the application must release the <strong><see cref = "T:SharpDX.DXGI.OutputDuplication"/></strong> interface and create a new <strong><see cref = "T:SharpDX.DXGI.OutputDuplication"/></strong> for the new content.</li> <li>Possibly other error codes that are described in the DXGI_ERROR topic.</li> </ul></returns>
<remarks>
<p>The application must release the frame before it acquires the next frame. After the frame is released, the surface that contains the desktop bitmap becomes invalid; you will not be able to use the surface in a DirectX graphics operation.</p><p>For performance reasons, we recommend that you release the frame just before you call the <strong>IDXGIOutputDuplication::AcquireNextFrame</strong> method to acquire the next frame. When the client does not own the frame, the operating system copies all desktop updates to the surface. This can result in wasted GPU cycles if the operating system updates the same region for each frame that occurs. When the client acquires the frame, the client is aware of only the final update to this region; therefore, any overlapping updates during previous frames are wasted. When the client acquires a frame, the client owns the surface; therefore, the operating system can track only the updated regions and cannot copy desktop updates to the surface. Because of this behavior, we recommend that you minimize the time between the call to release the current frame and the call to acquire the next frame.</p>
</remarks>
<doc-id>hh404623</doc-id>
<unmanaged>HRESULT IDXGIOutputDuplication::ReleaseFrame()</unmanaged>
<unmanaged-short>IDXGIOutputDuplication::ReleaseFrame</unmanaged-short>
</member>
<member name="T:SharpDX.DXGI.PresentParameters">
<summary>
<p>Describes information about present that helps the operating system optimize presentation.</p>
</summary>
<remarks>
<p>This structure is used by the <strong>Present1</strong> method.</p><p>The scroll rectangle and the list of dirty rectangles could overlap. In this situation, the dirty rectangles take priority. Applications can then have pieces of dynamic content on top of a scrolled area. For example, an application could scroll a page and play video at the same time.</p><p>The following diagram and coordinates illustrate this example.</p><code> DirtyRectsCount = 2
pDirtyRects[ 0 ] = { 10, 30, 40, 50 } // Video
pDirtyRects[ 1 ] = { 0, 70, 50, 80 } // New line
*pScrollRect = { 0, 0, 50, 70 }
*pScrollOffset = { 0, -10 }
</code><p>Parts of the previous frame and content that the application renders are combined to produce the final frame that the operating system presents on the display screen. Most of the window is scrolled from the previous frame. The application must update the video frame with the new chunk of content that appears due to scrolling.</p><p>The dashed rectangle shows the scroll rectangle in the current frame. The scroll rectangle is specified by the <strong>pScrollRect</strong> member.
The arrow shows the scroll offset. The scroll offset is specified by the <strong>pScrollOffset</strong> member.
Filled rectangles show dirty rectangles that the application updated with new content. The filled rectangles are specified by the <strong>DirtyRectsCount</strong> and <strong>pDirtyRects</strong> members.</p><p>The scroll rectangle and offset are not supported for the <strong>DXGI_SWAP_EFFECT_DISCARD</strong> or <strong>DXGI_SWAP_EFFECT_SEQUENTIAL</strong> present option. Dirty rectangles and scroll rectangle are not supported for multisampled swap chains.</p><p>The actual implementation of composition and necessary bitblts is different for the bitblt model and the flip model. For more info about these models, see DXGI Flip Model.</p><p>For more info about the flip-model swap chain and optimizing presentation, see Enhancing presentation with the flip model, dirty rectangles, and scrolled areas.</p>
</remarks>
<doc-id>hh404522</doc-id>
<unmanaged>DXGI_PRESENT_PARAMETERS</unmanaged>
<unmanaged-short>DXGI_PRESENT_PARAMETERS</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.PresentParameters.DirtyRectangles">
<summary>
<para>A list of updated rectangles that you update in the back buffer for the presented frame. An application must update every single pixel in each rectangle that it reports to the runtime; the application cannot assume that the pixels are saved from the previous frame. For more information about updating dirty rectangles, see Remarks. You can set this member to <c>null</c> if DirtyRectsCount is 0. An application must not update any pixel outside of the dirty rectangles.</para>
</summary>
<unmanaged>RECT* pDirtyRects</unmanaged>
</member>
<member name="F:SharpDX.DXGI.PresentParameters.ScrollRectangle">
<summary>
<para> A reference to the scrolled rectangle. The scrolled rectangle is the rectangle of the previous frame from which the runtime bit-block transfers (bitblts) content. The runtime also uses the scrolled rectangle to optimize presentation in terminal server and indirect display scenarios.</para>
<para>The scrolled rectangle also describes the destination rectangle, that is, the region on the current frame that is filled with scrolled content. You can set this member to <c>null</c> to indicate that no content is scrolled from the previous frame.</para>
</summary>
<unmanaged>RECT* pScrollRect</unmanaged>
</member>
<member name="F:SharpDX.DXGI.PresentParameters.ScrollOffset">
<summary>
<para>A reference to the offset of the scrolled area that goes from the source rectangle (of previous frame) to the destination rectangle (of current frame). You can set this member to <c>null</c> to indicate no offset.</para>
</summary>
<unmanaged>POINT* pScrollOffset</unmanaged>
</member>
<member name="F:SharpDX.DXGI.PresentParameters.DirtyRectsCount">
<summary>
<dd> <p>The number of updated rectangles that you update in the back buffer for the presented frame. The operating system uses this information to optimize presentation. You can set this member to 0 to indicate that you update the whole frame.</p> </dd>
</summary>
<doc-id>hh404522</doc-id>
<unmanaged>DirtyRectsCount</unmanaged>
<unmanaged-short>DirtyRectsCount</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.PresentParameters.PDirtyRects">
<summary>
<dd> <p>A list of updated rectangles that you update in the back buffer for the presented frame. An application must update every single pixel in each rectangle that it reports to the runtime; the application cannot assume that the pixels are saved from the previous frame. For more information about updating dirty rectangles, see Remarks. You can set this member to <strong><c>null</c></strong> if <strong>DirtyRectsCount</strong> is 0. An application must not update any pixel outside of the dirty rectangles.</p> </dd>
</summary>
<doc-id>hh404522</doc-id>
<unmanaged>pDirtyRects</unmanaged>
<unmanaged-short>pDirtyRects</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.PresentParameters.PScrollRect">
<summary>
<dd> <p> A reference to the scrolled rectangle. The scrolled rectangle is the rectangle of the previous frame from which the runtime bit-block transfers (bitblts) content. The runtime also uses the scrolled rectangle to optimize presentation in terminal server and indirect display scenarios.</p> <p>The scrolled rectangle also describes the destination rectangle, that is, the region on the current frame that is filled with scrolled content. You can set this member to <strong><c>null</c></strong> to indicate that no content is scrolled from the previous frame.</p> </dd>
</summary>
<doc-id>hh404522</doc-id>
<unmanaged>pScrollRect</unmanaged>
<unmanaged-short>pScrollRect</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.PresentParameters.PScrollOffset">
<summary>
<dd> <p>A reference to the offset of the scrolled area that goes from the source rectangle (of previous frame) to the destination rectangle (of current frame). You can set this member to <strong><c>null</c></strong> to indicate no offset.</p> </dd>
</summary>
<doc-id>hh404522</doc-id>
<unmanaged>pScrollOffset</unmanaged>
<unmanaged-short>pScrollOffset</unmanaged-short>
</member>
<member name="T:SharpDX.DXGI.Rational">
<summary>
<p>Represents a rational number.</p>
</summary>
<remarks>
<p>This structure is a member of the <strong><see cref = "T:SharpDX.DXGI.ModeDescription"/></strong> structure.</p><p>The <strong><see cref = "T:SharpDX.DXGI.Rational"/></strong> structure operates under the following rules:</p><ul> <li>0/0 is legal and will be interpreted as 0/1.</li> <li>0/anything is interpreted as zero.</li> <li>If you are representing a whole number, the denominator should be 1.</li> </ul>
</remarks>
<doc-id>bb173069</doc-id>
<unmanaged>DXGI_RATIONAL</unmanaged>
<unmanaged-short>DXGI_RATIONAL</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Rational.Empty">
<summary>
An empty rational that can be used for comparisons.
</summary>
</member>
<member name="M:SharpDX.DXGI.Rational.#ctor(System.Int32,System.Int32)">
<summary>
Initializes a new instance of the <see cref = "T:SharpDX.DXGI.Rational" /> structure.
</summary>
<param name = "numerator">The numerator of the rational pair.</param>
<param name = "denominator">The denominator of the rational pair.</param>
</member>
<member name="F:SharpDX.DXGI.Rational.Numerator">
<summary>
<dd> <p>An unsigned integer value representing the top of the rational number.</p> </dd>
</summary>
<doc-id>bb173069</doc-id>
<unmanaged>Numerator</unmanaged>
<unmanaged-short>Numerator</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Rational.Denominator">
<summary>
<dd> <p>An unsigned integer value representing the bottom of the rational number.</p> </dd>
</summary>
<doc-id>bb173069</doc-id>
<unmanaged>Denominator</unmanaged>
<unmanaged-short>Denominator</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.Resource1.CreateSharedHandle(System.String,SharpDX.DXGI.SharedResourceFlags,System.Nullable{SharpDX.Win32.SecurityAttributes})">
<summary>
Creates a handle to a shared resource. You can then use the returned handle with multiple Direct3D devices.
</summary>
<param name="attributesRef"><para>A reference to a <see cref="T:SharpDX.Win32.SecurityAttributes"/> structure that contains two separate but related data members: an optional security descriptor, and a Boolean value that determines whether child processes can inherit the returned handle.</para> <para>Set this parameter to <c>null</c> if you want child processes that the application might create to not inherit the handle returned by CreateSharedHandle, and if you want the resource that is associated with the returned handle to get a default security descriptor.</para> <para>The lpSecurityDescriptor member of the structure specifies a SECURITY_DESCRIPTOR for the resource. Set this member to <c>null</c> if you want the runtime to assign a default security descriptor to the resource that is associated with the returned handle.</para></param>
<param name="dwAccess"><para>The requested access rights to the resource. In addition to the generic access rights, DXGI defines the following values:</para> <see cref="F:SharpDX.DXGI.SharedResourceFlags.Read"/> ( 0x80000000L ) - specifies read access to the resource. <see cref="F:SharpDX.DXGI.SharedResourceFlags.Write"/> ( 1 ) - specifies write access to the resource. <para>You can combine these values by using a bitwise OR operation.</para></param>
<param name="name"><para>The name of the resource to share. You will need the resource name if you call the <see cref="!:SharpDX.Direct3D11.Device1.OpenSharedResourceByName"/> method to access the shared resource by name. If you instead call the <see cref="!:SharpDX.Direct3D11.Device1.OpenSharedResource1"/> method to access the shared resource by handle, set this parameter to <c>null</c>.</para></param>
<returns><para>A reference to a variable that receives the NT HANDLE value to the resource to share. You can use this handle in calls to access the resource.</para></returns>
<remarks>
If you created the resource as shared and specified that it uses NT handles (that is, you set the <see cref="!:SharpDX.Direct3D11.ResourceOptionFlags.SharedNthandle"/> flag), you must use CreateSharedHandle to get a handle for sharing. In this situation, you cannot use the <see cref="M:SharpDX.DXGI.Resource.GetSharedHandle(System.IntPtr@)"/> method because it will fail. Similarly, if you created the resource as shared and did not specify that it uses NT handles, you cannot use CreateSharedHandle to get a handle for sharing because CreateSharedHandle will fail.You can pass the handle that CreateSharedHandle returns in a call to the <see cref="!:SharpDX.Direct3D11.Device1.OpenSharedResourceByName"/> or <see cref="!:SharpDX.Direct3D11.Device1.OpenSharedResource1"/> method to give a device access to a shared resource that you created on a different device.CreateSharedHandle only returns the NT handle when you created the resource as shared (that is, you set the <see cref="!:SharpDX.Direct3D11.ResourceOptionFlags.SharedNthandle"/> and <see cref="!:SharpDX.Direct3D11.ResourceOptionFlags.SharedKeyedmutex"/> flags).Because the handle that CreateSharedHandle returns is an NT handle, you can use the handle with CloseHandle, DuplicateHandle, and so on. You can call CreateSharedHandle only once for a shared resource; later calls fail. If you need more handles to the same shared resource, call DuplicateHandle. When you no longer need the shared resource handle, call CloseHandle to close the handle, in order to avoid memory leaks.The creator of a shared resource must not destroy the resource until all entities that opened the resource have destroyed the resource. The validity of the handle is tied to the lifetime of the underlying video memory. If no resource objects exist on any devices that refer to this resource, the handle is no longer valid. To extend the lifetime of the handle and video memory, you must open the shared resource on a device.
</remarks>
<unmanaged>HRESULT IDXGIResource1::CreateSharedHandle([In, Optional] const SECURITY_ATTRIBUTES* pAttributes,[In] DXGI_SHARED_RESOURCE_FLAGS dwAccess,[In, Optional] const wchar_t* name,[Out] void** pHandle)</unmanaged>
</member>
<member name="M:SharpDX.DXGI.Resource1.CreateSubresourceSurface(System.Int32,SharpDX.DXGI.Surface2)">
<summary>
<p>Creates a subresource surface object.</p>
</summary>
<param name = "index"><dd> <p>The index of the subresource surface object to enumerate.</p> </dd></param>
<param name = "surfaceOut"><dd> <p>The address of a reference to a <strong><see cref = "T:SharpDX.DXGI.Surface2"/></strong> interface that represents the created subresource surface object at the position specified by the <em>index</em> parameter.</p> </dd></param>
<returns><p>Returns <see cref = "F:SharpDX.Result.Ok"/> if successful; otherwise, returns one of the following values:</p><ul> <li><see cref = "!:InvalidCall"/> if the index is out of range or if the subresource is not a valid surface.</li> <li>E_OUTOFMEMORY if insufficient memory is available to create the subresource surface object.</li> </ul><p>A subresource is a valid surface if the original resource would have been a valid surface had its array size been equal to 1.</p></returns>
<remarks>
<p>Subresource surface objects implement the <strong><see cref = "T:SharpDX.DXGI.Surface2"/></strong> interface, which inherits from <strong><see cref = "T:SharpDX.DXGI.Surface1"/></strong> and indirectly <strong><see cref = "T:SharpDX.DXGI.Surface"/></strong>. Therefore, the GDI-interoperable methods of <strong><see cref = "T:SharpDX.DXGI.Surface1"/></strong> work if the original resource interface object was created with the GDI-interoperable flag (<strong>D3D11_RESOURCE_MISC_GDI_COMPATIBLE</strong>).</p><p><strong>CreateSubresourceSurface</strong> creates a subresource surface that is based on the resource interface on which <strong>CreateSubresourceSurface</strong> is called. For example, if the original resource interface object is a 2D texture, the created subresource surface is also a 2D texture.</p><p>You can use <strong>CreateSubresourceSurface</strong> to create parts of a stereo resource so you can use Direct2D on either the left or right part of the stereo resource.</p>
</remarks>
<doc-id>hh404627</doc-id>
<unmanaged>HRESULT IDXGIResource1::CreateSubresourceSurface([In] unsigned int index,[Out, Fast] IDXGISurface2** ppSurface)</unmanaged>
<unmanaged-short>IDXGIResource1::CreateSubresourceSurface</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.Resource1.CreateSharedHandle(System.Nullable{SharpDX.Win32.SecurityAttributes},SharpDX.DXGI.SharedResourceFlags,System.String)">
<summary>
<p>Creates a handle to a shared resource. You can then use the returned handle with multiple Direct3D devices. </p>
</summary>
<param name = "attributesRef"><dd> <p>A reference to a <strong><see cref = "T:SharpDX.Win32.SecurityAttributes"/></strong> structure that contains two separate but related data members: an optional security descriptor, and a Boolean value that determines whether child processes can inherit the returned handle.</p> <p>Set this parameter to <strong><c>null</c></strong> if you want child processes that the application might create to not inherit the handle returned by <strong>CreateSharedHandle</strong>, and if you want the resource that is associated with the returned handle to get a default security descriptor.</p> <p>The <strong>lpSecurityDescriptor</strong> member of the structure specifies a <strong>SECURITY_DESCRIPTOR</strong> for the resource. Set this member to <strong><c>null</c></strong> if you want the runtime to assign a default security descriptor to the resource that is associated with the returned handle. The ACLs in the default security descriptor for the resource come from the primary or impersonation token of the creator. For more info, see Synchronization Object Security and Access Rights.</p> </dd></param>
<param name = "dwAccess"><dd> <p>The requested access rights to the resource. In addition to the generic access rights, DXGI defines the following values:</p> <ul> <li><strong>DXGI_SHARED_RESOURCE_READ</strong> ( 0x80000000L ) - specifies read access to the resource.</li> <li><strong>DXGI_SHARED_RESOURCE_WRITE</strong> ( 1 ) - specifies write access to the resource.</li> </ul> <p>You can combine these values by using a bitwise OR operation.</p> </dd></param>
<param name = "lpName"><dd> <p>The name of the resource to share. The name is limited to MAX_PATH characters. Name comparison is case sensitive. You will need the resource name if you call the <strong>ID3D11Device1::OpenSharedResourceByName</strong> method to access the shared resource by name. If you instead call the <strong>ID3D11Device1::OpenSharedResource1</strong> method to access the shared resource by handle, set this parameter to <strong><c>null</c></strong>.</p> <p>If <em>lpName</em> matches the name of an existing resource, <strong>CreateSharedHandle</strong> fails with <see cref = "!:NameAlreadyExists"/>. This occurs because these objects share the same namespace.</p> <p>The name can have a "Global\" or "Local\" prefix to explicitly create the object in the global or session namespace. The remainder of the name can contain any character except the backslash character (\). For more information, see Kernel Object Namespaces. Fast user switching is implemented using Terminal Services sessions. Kernel object names must follow the guidelines outlined for Terminal Services so that applications can support multiple users.</p> <p>The object can be created in a private namespace. For more information, see Object Namespaces.</p> </dd></param>
<returns><dd> <p>A reference to a variable that receives the NT HANDLE value to the resource to share. You can use this handle in calls to access the resource.</p> </dd></returns>
<remarks>
<p><strong>CreateSharedHandle</strong> only returns the NT handle when you created the resource as shared and specified that it uses NT handles (that is, you set the <strong>D3D11_RESOURCE_MISC_SHARED_NTHANDLE</strong> and <strong>D3D11_RESOURCE_MISC_SHARED_KEYEDMUTEX</strong> flags). If you created the resource as shared and specified that it uses NT handles, you must use <strong>CreateSharedHandle</strong> to get a handle for sharing. In this situation, you can't use the <strong>IDXGIResource::GetSharedHandle</strong> method because it will fail.</p><p>You can pass the handle that <strong>CreateSharedHandle</strong> returns in a call to the <strong>ID3D11Device1::OpenSharedResource1</strong> method to give a device access to a shared resource that you created on a different device.</p><p>Because the handle that <strong>CreateSharedHandle</strong> returns is an NT handle, you can use the handle with <strong>CloseHandle</strong>, <strong>DuplicateHandle</strong>, and so on. You can call <strong>CreateSharedHandle</strong> only once for a shared resource; later calls fail. If you need more handles to the same shared resource, call <strong>DuplicateHandle</strong>. When you no longer need the shared resource handle, call <strong>CloseHandle</strong> to close the handle, in order to avoid memory leaks.</p><p>If you pass a name for the resource to <em>lpName</em> when you call <strong>CreateSharedHandle</strong> to share the resource, you can subsequently pass this name in a call to the <strong>ID3D11Device1::OpenSharedResourceByName</strong> method to give another device access to the shared resource. If you use a named resource, a malicious user can use this named resource before you do and prevent your app from starting. To prevent this situation, create a randomly named resource and store the name so that it can only be obtained by an authorized user. Alternatively, you can use a file for this purpose. To limit your app to one instance per user, create a locked file in the user's profile directory.</p><p>If you created the resource as shared and did not specify that it uses NT handles, you cannot use <strong>CreateSharedHandle</strong> to get a handle for sharing because <strong>CreateSharedHandle</strong> will fail.</p>
</remarks>
<doc-id>hh404626</doc-id>
<unmanaged>HRESULT IDXGIResource1::CreateSharedHandle([In, Optional] const SECURITY_ATTRIBUTES* pAttributes,[In] DWORD dwAccess,[In, Optional] const wchar_t* lpName,[Out] void** pHandle)</unmanaged>
<unmanaged-short>IDXGIResource1::CreateSharedHandle</unmanaged-short>
</member>
<member name="T:SharpDX.DXGI.SampleDescription">
<summary>
<p>Describes multi-sampling parameters for a resource.</p>
</summary>
<remarks>
<p>This structure is a member of the <strong><see cref = "T:SharpDX.DXGI.SwapChainDescription1"/></strong> structure.</p><p>The default sampler mode, with no anti-aliasing, has a count of 1 and a quality level of 0.</p><p>If multi-sample antialiasing is being used, all bound render targets and depth buffers must have the same sample counts and quality levels.</p><table> <tr><td> <p>Differences between Direct3D 10.0 and Direct3D 10.1 and between Direct3D 10.0 and Direct3D 11:</p> <p>Direct3D 10.1 has defined two standard quality levels: <strong>D3D10_STANDARD_MULTISAMPLE_PATTERN</strong> and <strong>D3D10_CENTER_MULTISAMPLE_PATTERN</strong> in the <strong>D3D10_STANDARD_MULTISAMPLE_QUALITY_LEVELS</strong> enumeration in D3D10_1.h.</p> <p>Direct3D 11 has defined two standard quality levels: <strong>D3D11_STANDARD_MULTISAMPLE_PATTERN</strong> and <strong>D3D11_CENTER_MULTISAMPLE_PATTERN</strong> in the <strong><see cref = "!:SharpDX.Direct3D11.StandardMultisampleQualityLevels"/></strong> enumeration in D3D11.h.</p> </td></tr> </table><p>?</p>
</remarks>
<doc-id>bb173072</doc-id>
<unmanaged>DXGI_SAMPLE_DESC</unmanaged>
<unmanaged-short>DXGI_SAMPLE_DESC</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.SampleDescription.#ctor(System.Int32,System.Int32)">
<summary>
Initializes a new instance of the <see cref = "T:SharpDX.DXGI.SampleDescription" /> structure.
</summary>
<param name = "count">The sample count.</param>
<param name = "quality">The sample quality.</param>
</member>
<member name="F:SharpDX.DXGI.SampleDescription.Count">
<summary>
<dd> <p>The number of multisamples per pixel.</p> </dd>
</summary>
<doc-id>bb173072</doc-id>
<unmanaged>Count</unmanaged>
<unmanaged-short>Count</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.SampleDescription.Quality">
<summary>
<dd> <p>The image quality level. The higher the quality, the lower the performance. The valid range is between zero and one less than the level returned by <strong>ID3D10Device::CheckMultisampleQualityLevels</strong> for Direct3D 10 or <strong>ID3D11Device::CheckMultisampleQualityLevels</strong> for Direct3D 11.</p> <p>For Direct3D 10.1 and Direct3D 11, you can use two special quality level values. For more information about these quality level values, see Remarks.</p> </dd>
</summary>
<doc-id>bb173072</doc-id>
<unmanaged>Quality</unmanaged>
<unmanaged-short>Quality</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.Surface.Map(SharpDX.DXGI.MapFlags)">
<summary>
Acquires access to the surface data.
</summary>
<param name="flags">Flags specifying CPU access permissions.</param>
<returns>A <see cref="T:SharpDX.DataRectangle" /> for accessing the mapped data, or <c>null</c> on failure.</returns>.
</member>
<member name="M:SharpDX.DXGI.Surface.Map(SharpDX.DXGI.MapFlags,SharpDX.DataStream@)">
<summary>
Acquires access to the surface data.
</summary>
<param name="flags">Flags specifying CPU access permissions.</param>
<param name="dataStream">Stream to contain the surface data.</param>
<returns>A <see cref="T:SharpDX.DataRectangle" /> for accessing the mapped data, or <c>null</c> on failure.</returns>.
</member>
<member name="M:SharpDX.DXGI.Surface.FromSwapChain(SharpDX.DXGI.SwapChain,System.Int32)">
<summary>
Gets a swap chain back buffer.
</summary>
<param name="swapChain">The swap chain to get the buffer from.</param>
<param name="index">The index of the desired buffer.</param>
<returns>The buffer interface, or <c>null</c> on failure.</returns>
</member>
<member name="P:SharpDX.DXGI.Surface.Description">
<summary>
<p>Get a description of the surface.</p>
</summary>
<doc-id>bb174566</doc-id>
<unmanaged>GetDesc</unmanaged>
<unmanaged-short>GetDesc</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.Surface.GetDescription(SharpDX.DXGI.SurfaceDescription@)">
<summary>
<p>Get a description of the surface.</p>
</summary>
<param name = "descRef"><dd> <p>A reference to the surface description (see <strong><see cref = "T:SharpDX.DXGI.SurfaceDescription"/></strong>).</p> </dd></param>
<returns><p>Returns <see cref = "F:SharpDX.Result.Ok"/> if successful; otherwise, returns one of the error codes that are described in the DXGI_ERROR topic.</p></returns>
<doc-id>bb174566</doc-id>
<unmanaged>HRESULT IDXGISurface::GetDesc([Out] DXGI_SURFACE_DESC* pDesc)</unmanaged>
<unmanaged-short>IDXGISurface::GetDesc</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.Surface.Map(SharpDX.DXGI.MappedRectangle@,System.Int32)">
<summary>
<p>Get a reference to the data contained in the surface, and deny GPU access to the surface.</p>
</summary>
<param name = "lockedRectRef"><dd> <p>A reference to the surface data (see <strong><see cref = "T:SharpDX.DXGI.MappedRectangle"/></strong>).</p> </dd></param>
<param name = "mapFlags"><dd> <p>CPU read-write flags. These flags can be combined with a logical OR. </p> <ul> <li>DXGI_MAP_READ - Allow CPU read access.</li> <li>DXGI_MAP_WRITE - Allow CPU write access.</li> <li>DXGI_MAP_DISCARD - Discard the previous contents of a resource when it is mapped.</li> </ul> </dd></param>
<returns><p>Returns <see cref = "F:SharpDX.Result.Ok"/> if successful; otherwise, returns one of the error codes that are described in the DXGI_ERROR topic.</p></returns>
<remarks>
<p>Use <strong>IDXGISurface::Map</strong> to access a surface from the CPU. To release a mapped surface (and allow GPU access) call <strong>IDXGISurface::Unmap</strong>.</p>
</remarks>
<doc-id>bb174567</doc-id>
<unmanaged>HRESULT IDXGISurface::Map([Out] DXGI_MAPPED_RECT* pLockedRect,[In] unsigned int MapFlags)</unmanaged>
<unmanaged-short>IDXGISurface::Map</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.Surface.Unmap">
<summary>
<p>Get a reference to the data contained in the surface, and deny GPU access to the surface.</p>
</summary>
<returns><p>Returns <see cref = "F:SharpDX.Result.Ok"/> if successful; otherwise, returns one of the error codes that are described in the DXGI_ERROR topic.</p></returns>
<remarks>
<p>Use <strong>IDXGISurface::Map</strong> to access a surface from the CPU. To release a mapped surface (and allow GPU access) call <strong>IDXGISurface::Unmap</strong>.</p>
</remarks>
<doc-id>bb174567</doc-id>
<unmanaged>HRESULT IDXGISurface::Unmap()</unmanaged>
<unmanaged-short>IDXGISurface::Unmap</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.Surface1.ReleaseDC">
<summary>
Releases the GDI device context (DC) associated with the current surface and allows rendering using Direct3D. The whole surface to be considered dirty.
</summary>
<remarks>
Use the ReleaseDC method to release the DC and indicate that your application has finished all GDI rendering to this surface. You must call the ReleaseDC method before you perform addition rendering using Direct3D. Prior to resizing buffers all outstanding DCs must be released.
</remarks>
<returns>If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. </returns>
<unmanaged>HRESULT IDXGISurface1::ReleaseDC([In, Optional] RECT* pDirtyRect)</unmanaged>
</member>
<member name="M:SharpDX.DXGI.Surface1.ReleaseDC(SharpDX.Mathematics.Interop.RawRectangle)">
<summary>
Releases the GDI device context (DC) associated with the current surface and allows rendering using Direct3D.
</summary>
<remarks>
Use the ReleaseDC method to release the DC and indicate that your application has finished all GDI rendering to this surface. You must call the ReleaseDC method before you perform addition rendering using Direct3D. Prior to resizing buffers all outstanding DCs must be released.
</remarks>
<param name="dirtyRect">A reference to a <see cref="T:SharpDX.Mathematics.Interop.RawRectangle"/> structure that identifies the dirty region of the surface. A dirty region is any part of the surface that you have used for GDI rendering and that you want to preserve. This is used as a performance hint to graphics subsystem in certain scenarios. Do not use this parameter to restrict rendering to the specified rectangular region. The area specified by the <see cref="T:SharpDX.Mathematics.Interop.RawRectangle"/> will be used as a performance hint to indicate what areas have been manipulated by GDI rendering. </param>
<returns>If the method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. </returns>
<unmanaged>HRESULT IDXGISurface1::ReleaseDC([In, Optional] RECT* pDirtyRect)</unmanaged>
</member>
<member name="M:SharpDX.DXGI.Surface1.GetDC(SharpDX.Mathematics.Interop.RawBool)">
<summary>
<p>Returns a device context (DC) that allows you to render to a Microsoft DirectX Graphics Infrastructure (DXGI) surface using Windows Graphics Device Interface (GDI).</p>
</summary>
<param name = "discard"><dd> <p>A Boolean value that specifies whether to preserve Direct3D contents in the GDI DC. <strong>TRUE</strong> directs the runtime not to preserve Direct3D contents in the GDI DC; that is, the runtime discards the Direct3D contents. <strong><see cref = "F:SharpDX.Result.False"/></strong> guarantees that Direct3D contents are available in the GDI DC.</p> </dd></param>
<returns><dd> <p>A reference to an <strong><see cref = "T:System.IntPtr"/></strong> handle that represents the current device context for GDI rendering.</p> </dd></returns>
<remarks>
<p>This method is not supported by DXGI 1.0, which shipped in Windows?Vista and Windows Server?2008. DXGI 1.1 support is required, which is available on Windows?7, Windows Server?2008?R2, and as an update to Windows?Vista with Service Pack?2 (SP2) (KB 971644) and Windows Server?2008 (KB 971512).</p><p>After you use the <strong>GetDC</strong> method to retrieve a DC, you can render to the DXGI surface by using GDI. The <strong>GetDC</strong> method readies the surface for GDI rendering and allows inter-operation between DXGI and GDI technologies. </p><p>Keep the following in mind when using this method:</p><ul> <li>You must create the surface by using the <strong>D3D11_RESOURCE_MISC_GDI_COMPATIBLE</strong> flag for a surface or by using the <strong>DXGI_SWAP_CHAIN_FLAG_GDI_COMPATIBLE</strong> flag for swap chains, otherwise this method fails.</li> <li>You must release the device and call the <strong>IDXGISurface1::ReleaseDC</strong> method before you issue any new Direct3D commands.</li> <li>This method fails if an outstanding DC has already been created by this method.</li> <li>The format for the surface or swap chain must be <strong>DXGI_FORMAT_B8G8R8A8_UNORM_SRGB</strong> or <strong>DXGI_FORMAT_B8G8R8A8_UNORM</strong>.</li> <li>On <strong>GetDC</strong>, the render target in the output merger of the Direct3D pipeline is unbound from the surface. You must call the <strong>ID3D11DeviceContext::OMSetRenderTargets</strong> method on the device prior to Direct3D rendering after GDI rendering.</li> <li>Prior to resizing buffers you must release all outstanding DCs.</li> </ul><p> You can also call <strong>GetDC</strong> on the back buffer at index 0 of a swap chain by obtaining an <strong><see cref = "T:SharpDX.DXGI.Surface1"/></strong> from the swap chain. The following code illustrates the process.</p><pre> <see cref = "T:SharpDX.DXGI.SwapChain"/>* g_pSwapChain = <c>null</c>;
<see cref = "T:SharpDX.DXGI.Surface1"/>* g_pSurface1 = <c>null</c>;
...
//Setup the device and and swapchain
g_pSwapChain-&gt;GetBuffer(0, __uuidof(<see cref = "T:SharpDX.DXGI.Surface1"/>), (void**) &amp;g_pSurface1);
g_pSurface1-&gt;GetDC( <see cref = "F:SharpDX.Result.False"/>, &amp;g_hDC );
...
//Draw on the DC using GDI
...
//When finish drawing release the DC
g_pSurface1-&gt;ReleaseDC( <c>null</c> ); </pre>
</remarks>
<doc-id>ff471345</doc-id>
<unmanaged>HRESULT IDXGISurface1::GetDC([In] BOOL Discard,[Out] HDC* phdc)</unmanaged>
<unmanaged-short>IDXGISurface1::GetDC</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.Surface1.ReleaseDC_(System.Nullable{SharpDX.Mathematics.Interop.RawRectangle})">
<summary>
<p>Releases the GDI device context (DC) that is associated with the current surface and allows you to use Direct3D to render.</p>
</summary>
<param name = "dirtyRectRef"><dd> <p>A reference to a <strong><see cref = "T:SharpDX.Mathematics.Interop.RawRectangle"/></strong> structure that identifies the dirty region of the surface. A dirty region is any part of the surface that you used for GDI rendering and that you want to preserve. This area is used as a performance hint to graphics subsystem in certain scenarios. Do not use this parameter to restrict rendering to the specified rectangular region. If you pass in <strong><c>null</c></strong>, <strong>ReleaseDC</strong> considers the whole surface as dirty. Otherwise, <strong>ReleaseDC</strong> uses the area specified by the <see cref = "T:SharpDX.Mathematics.Interop.RawRectangle"/> as a performance hint to indicate what areas have been manipulated by GDI rendering.</p> <p>You can pass a reference to an empty <strong><see cref = "T:SharpDX.Mathematics.Interop.RawRectangle"/></strong> structure (a rectangle with no position or area) if you didn't change any content.</p> </dd></param>
<returns><p>If this method succeeds, it returns <strong><see cref = "F:SharpDX.Result.Ok"/></strong>. Otherwise, it returns an <strong><see cref = "T:SharpDX.Result"/></strong> error code.</p></returns>
<remarks>
<p>This method is not supported by DXGI 1.0, which shipped in Windows?Vista and Windows Server?2008. DXGI 1.1 support is required, which is available on Windows?7, Windows Server?2008?R2, and as an update to Windows?Vista with Service Pack?2 (SP2) (KB 971644) and Windows Server?2008 (KB 971512).</p><p>Use the <strong>ReleaseDC</strong> method to release the DC and indicate that your application finished all GDI rendering to this surface. You must call the <strong>ReleaseDC</strong> method before you can use Direct3D to perform additional rendering.</p><p>Prior to resizing buffers you must release all outstanding DCs.</p>
</remarks>
<doc-id>ff471346</doc-id>
<unmanaged>HRESULT IDXGISurface1::ReleaseDC([In, Optional] RECT* pDirtyRect)</unmanaged>
<unmanaged-short>IDXGISurface1::ReleaseDC</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.Surface2.#ctor(SharpDX.DXGI.Resource1,System.Int32)">
<summary>
Initializes a new sub resource surface instance of <see cref="T:SharpDX.DXGI.Surface2"/> class.
</summary>
<param name="resource"></param>
<param name="index"></param>
</member>
<member name="M:SharpDX.DXGI.Surface2.GetResource(System.Guid,System.IntPtr@,System.Int32@)">
<summary>
<p>Gets the parent resource and subresource index that support a subresource surface.</p>
</summary>
<param name = "riid"><dd> <p>The globally unique identifier (<see cref = "T:System.Guid"/>) of the requested interface type.</p> </dd></param>
<param name = "parentResourceOut"><dd> <p>A reference to a buffer that receives a reference to the parent resource object for the subresource surface.</p> </dd></param>
<param name = "subresourceIndexRef"><dd> <p>A reference to a variable that receives the index of the subresource surface.</p> </dd></param>
<returns><p>Returns <see cref = "F:SharpDX.Result.Ok"/> if successful; otherwise, returns one of the following values:</p><ul> <li>E_NOINTERFACE if the object does not implement the <see cref = "T:System.Guid"/> that the <em>riid</em> parameter specifies.</li> <li>Possibly other error codes that are described in the DXGI_ERROR topic.</li> </ul></returns>
<remarks>
<p>For subresource surface objects that the <strong>IDXGIResource1::CreateSubresourceSurface</strong> method creates, <strong>GetResource</strong> simply returns the values that were used to create the subresource surface.</p><p>Current objects that implement <strong><see cref = "T:SharpDX.DXGI.Surface"/></strong> are either resources or views. <strong>GetResource</strong> for these objects returns ?this? or the resource that supports the view respectively. In this situation, the subresource index is 0.</p>
</remarks>
<doc-id>hh404629</doc-id>
<unmanaged>HRESULT IDXGISurface2::GetResource([In] const GUID&amp; riid,[Out] void** ppParentResource,[Out] unsigned int* pSubresourceIndex)</unmanaged>
<unmanaged-short>IDXGISurface2::GetResource</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.SwapChain.#ctor(SharpDX.DXGI.Factory,SharpDX.ComObject,SharpDX.DXGI.SwapChainDescription)">
<summary>
Creates a swap chain.
</summary>
<remarks>
If you attempt to create a swap chain in full-screen mode, and full-screen mode is unavailable, the swap chain will be created in windowed mode and DXGI_STATUS_OCCLUDED will be returned. If the buffer width or the buffer height are zero, the sizes will be inferred from the output window size in the swap-chain description. Since the target output cannot be chosen explicitly when the swap-chain is created, you should not create a full-screen swap chain. This can reduce presentation performance if the swap chain size and the output window size do not match. Here are two ways to ensure the sizes match: Create a windowed swap chain and then set it full-screen using <see cref="M:SharpDX.DXGI.SwapChain.SetFullscreenState(SharpDX.Mathematics.Interop.RawBool,SharpDX.DXGI.Output)"/>. Save a reference to the swap-chain immediately after creation, and use it to get the output window size during a WM_SIZE event. Then resize the swap chain buffers (with <see cref="M:SharpDX.DXGI.SwapChain.ResizeBuffers(System.Int32,System.Int32,System.Int32,SharpDX.DXGI.Format,SharpDX.DXGI.SwapChainFlags)"/>) during the transition from windowed to full-screen. If the swap chain is in full-screen mode, before you release it, you must use {{SetFullscreenState}} to switch it to windowed mode. For more information about releasing a swap chain, see the Destroying a Swap Chain section of {{DXGI Overview}}.
</remarks>
<param name="factory">a reference to a <see cref="T:SharpDX.DXGI.Factory"/>.</param>
<param name="device">A reference to the device that will write 2D images to the swap chain. </param>
<param name="description">A reference to the swap-chain description (see <see cref="T:SharpDX.DXGI.SwapChainDescription"/>).</param>
<unmanaged>HRESULT IDXGIFactory::CreateSwapChain([In] IUnknown* pDevice,[In] DXGI_SWAP_CHAIN_DESC* pDesc,[Out] IDXGISwapChain** ppSwapChain)</unmanaged>
<msdn-id>bb174537</msdn-id>
<unmanaged>HRESULT IDXGIFactory::CreateSwapChain([In] IUnknown* pDevice,[In] DXGI_SWAP_CHAIN_DESC* pDesc,[Out, Fast] IDXGISwapChain** ppSwapChain)</unmanaged>
<unmanaged-short>IDXGIFactory::CreateSwapChain</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.SwapChain.GetBackBuffer``1(System.Int32)">
<summary>
Access one of the swap-chain back buffers.
</summary>
<typeparam name="T">The interface of the surface to resolve from the back buffer</typeparam>
<param name="index">A zero-based buffer index. If the swap effect is not DXGI_SWAP_EFFECT_SEQUENTIAL, this method only has access to the first buffer; for this case, set the index to zero.</param>
<returns>
Returns a reference to a back-buffer interface.
</returns>
<msdn-id>bb174570</msdn-id>
<unmanaged>HRESULT IDXGISwapChain::GetBuffer([In] unsigned int Buffer,[In] const GUID&amp; riid,[Out] void** ppSurface)</unmanaged>
<unmanaged-short>IDXGISwapChain::GetBuffer</unmanaged-short>
</member>
<member name="P:SharpDX.DXGI.SwapChain.FrameStatistics">
<summary>
<p>Gets performance statistics about the last render frame.</p>
</summary>
<remarks>
<p>You cannot use <strong>GetFrameStatistics</strong> for swap chains that both use the bit-block transfer (bitblt) presentation model and draw in windowed mode.</p><p>You can only use <strong>GetFrameStatistics</strong> for swap chains that either use the flip presentation model or draw in full-screen mode. You set the <strong><see cref="F:SharpDX.DXGI.SwapEffect.FlipSequential" /></strong> value in the <strong>SwapEffect</strong> member of the <strong><see cref="T:SharpDX.DXGI.SwapChainDescription1" /></strong> structure to specify that the swap chain uses the flip presentation model.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><include file="Documentation\CodeComments.xml" path="/comments/comment[@id='IDXGISwapChain::GetFrameStatistics']/*" />
<msdn-id>bb174573</msdn-id>
<unmanaged>GetFrameStatistics</unmanaged>
<unmanaged-short>GetFrameStatistics</unmanaged-short>
<unmanaged>HRESULT IDXGISwapChain::GetFrameStatistics([Out] DXGI_FRAME_STATISTICS* pStats)</unmanaged>
</member>
<member name="P:SharpDX.DXGI.SwapChain.IsFullScreen">
<summary>
Gets or sets a value indicating whether the swapchain is in fullscreen.
</summary>
<value>
<c>true</c> if this swapchain is in fullscreen; otherwise, <c>false</c>.
</value>
<msdn-id>bb174574</msdn-id>
<unmanaged>HRESULT IDXGISwapChain::GetFullscreenState([Out] BOOL* pFullscreen,[Out] IDXGIOutput** ppTarget)</unmanaged>
<unmanaged-short>IDXGISwapChain::GetFullscreenState</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.SwapChain.Present(System.Int32,SharpDX.DXGI.PresentFlags)">
<summary>
<p>[Starting with Direct3D 11.1, we recommend not to use <strong>Present</strong> anymore to present a rendered image. Instead, use <strong><see cref="M:SharpDX.DXGI.SwapChain1.Present1(System.Int32,SharpDX.DXGI.PresentFlags,System.IntPtr)" /></strong>. For more info, see Remarks.]</p><p>Presents a rendered image to the user.</p>
</summary>
<param name="syncInterval">No documentation.</param>
<param name="flags">No documentation.</param>
<returns><p>Possible return values include: <see cref="F:SharpDX.Result.Ok" />, <see cref="F:SharpDX.DXGI.ResultCode.DeviceReset" /> or <see cref="F:SharpDX.DXGI.ResultCode.DeviceRemoved" /> (see DXGI_ERROR), <see cref="F:SharpDX.DXGI.DXGIStatus.Occluded" /> (see <see cref="T:SharpDX.DXGI.DXGIStatus" />), or D3DDDIERR_DEVICEREMOVED. </p><p><strong>Note</strong>??The <strong>Present</strong> method can return either <see cref="F:SharpDX.DXGI.ResultCode.DeviceRemoved" /> or D3DDDIERR_DEVICEREMOVED if a video card has been physically removed from the computer, or a driver upgrade for the video card has occurred.</p></returns>
<remarks>
<p>Starting with Direct3D 11.1, we recommend to instead use <strong><see cref="M:SharpDX.DXGI.SwapChain1.Present1(System.Int32,SharpDX.DXGI.PresentFlags,System.IntPtr)" /></strong> because you can then use dirty rectangles and the scroll rectangle in the swap chain presentation and as such use less memory bandwidth and as a result less system power. For more info about using dirty rectangles and the scroll rectangle in swap chain presentation, see Using dirty rectangles and the scroll rectangle in swap chain presentation.</p><p>For the best performance when flipping swap-chain buffers in a full-screen application, see Full-Screen Application Performance Hints.</p><p>Because calling <strong>Present</strong> might cause the render thread to wait on the message-pump thread, be careful when calling this method in an application that uses multiple threads. For more details, see Multithreading Considerations.</p><table> <tr><td> <p>Differences between Direct3D 9 and Direct3D 10:</p> <p>Specifying <strong><see cref="F:SharpDX.DXGI.PresentFlags.Test" /></strong> in the <em>Flags</em> parameter is analogous to <strong>IDirect3DDevice9::TestCooperativeLevel</strong> in Direct3D 9.</p> </td></tr> </table><p>?</p><p>For flip presentation model swap chains that you create with the <strong><see cref="F:SharpDX.DXGI.SwapEffect.FlipSequential" /></strong> value set, a successful presentation unbinds back buffer 0 from the graphics pipeline, except for when you pass the <strong><see cref="F:SharpDX.DXGI.PresentFlags.DoNotSequence" /></strong> flag in the <em>Flags</em> parameter.</p><p>For info about how data values change when you present content to the screen, see Converting data for the color space.</p>
</remarks>
<!-- No matching elements were found for the following include tag --><include file="Documentation\CodeComments.xml" path="/comments/comment[@id='IDXGISwapChain::Present']/*" />
<msdn-id>bb174576</msdn-id>
<unmanaged>HRESULT IDXGISwapChain::Present([In] unsigned int SyncInterval,[In] DXGI_PRESENT_FLAGS Flags)</unmanaged>
<unmanaged-short>IDXGISwapChain::Present</unmanaged-short>
</member>
<member name="P:SharpDX.DXGI.SwapChain.Description">
<summary>
<p>[Starting with Direct3D 11.1, we recommend not to use <strong>GetDesc</strong> anymore to get a description of the swap chain. Instead, use <strong>IDXGISwapChain1::GetDesc1</strong>.]</p><p>Get a description of the swap chain.</p>
</summary>
<doc-id>bb174572</doc-id>
<unmanaged>GetDesc</unmanaged>
<unmanaged-short>GetDesc</unmanaged-short>
</member>
<member name="P:SharpDX.DXGI.SwapChain.ContainingOutput">
<summary>
<p>Get the output (the display monitor) that contains the majority of the client area of the target window.</p>
</summary>
<remarks>
<p>If the method succeeds, the output interface will be filled and its reference count incremented. When you are finished with it, be sure to release the interface to avoid a memory leak.</p><p>The output is also owned by the adapter on which the swap chain's device was created.</p><p>You cannot call <strong>GetContainingOutput</strong> on a swap chain that you created with <strong>IDXGIFactory2::CreateSwapChainForComposition</strong>.</p>
</remarks>
<doc-id>bb174571</doc-id>
<unmanaged>GetContainingOutput</unmanaged>
<unmanaged-short>GetContainingOutput</unmanaged-short>
</member>
<member name="P:SharpDX.DXGI.SwapChain.LastPresentCount">
<summary>
<p>Gets the number of times that <strong>IDXGISwapChain::Present</strong> or <strong>IDXGISwapChain1::Present1</strong> has been called.</p>
</summary>
<remarks>
<p>For info about presentation statistics for a frame, see <strong><see cref = "T:SharpDX.DXGI.FrameStatistics"/></strong>.</p>
</remarks>
<doc-id>bb174575</doc-id>
<unmanaged>GetLastPresentCount</unmanaged>
<unmanaged-short>GetLastPresentCount</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.SwapChain.TryPresent(System.Int32,SharpDX.DXGI.PresentFlags)">
<summary>
<p>Presents a rendered image to the user.</p>
</summary>
<param name = "syncInterval"><dd> <p>An integer that specifies how to synchronize presentation of a frame with the vertical blank.</p> <p>For the bit-block transfer (bitblt) model (<strong>DXGI_SWAP_EFFECT_DISCARD</strong> or <strong>DXGI_SWAP_EFFECT_SEQUENTIAL</strong>), values are:</p> <ul> <li>0 - The presentation occurs immediately, there is no synchronization.</li> <li>1 through 4 - Synchronize presentation after the <em>n</em>th vertical blank.</li> </ul> <p>For the flip model (<strong>DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL</strong>), values are:</p> <ul> <li>0 - Cancel the remaining time on the previously presented frame and discard this frame if a newer frame is queued.</li> <li>1 through 4 - Synchronize presentation for at least <em>n</em> vertical blanks. </li> </ul> <p>For an example that shows how sync-interval values affect a flip presentation queue, see Remarks.</p> <p>If the update region straddles more than one output (each represented by <strong><see cref = "T:SharpDX.DXGI.Output"/></strong>), <strong>Present</strong> performs the synchronization to the output that contains the largest sub-rectangle of the target window's client area.</p> </dd></param>
<param name = "flags"><dd> <p>An integer value that contains swap-chain presentation options. These options are defined by the DXGI_PRESENT constants.</p> </dd></param>
<returns><p>Possible return values include: <see cref = "F:SharpDX.Result.Ok"/>, <see cref = "!:DeviceReset"/> or <see cref = "!:DeviceRemoved"/> (see DXGI_ERROR), DXGI_STATUS_OCCLUDED (see <see cref = "T:SharpDX.DXGI.DXGIStatus"/>), or D3DDDIERR_DEVICEREMOVED. </p><strong>Note</strong>??The <strong>Present</strong> method can return either <see cref = "!:DeviceRemoved"/> or D3DDDIERR_DEVICEREMOVED if a video card has been physically removed from the computer, or a driver upgrade for the video card has occurred.?</returns>
<remarks>
<p>Starting with Direct3D 11.1, consider using <strong>IDXGISwapChain1::Present1</strong> because you can then use dirty rectangles and the scroll rectangle in the swap chain presentation and as such use less memory bandwidth and as a result less system power. For more info about using dirty rectangles and the scroll rectangle in swap chain presentation, see Using dirty rectangles and the scroll rectangle in swap chain presentation.</p><p>For the best performance when flipping swap-chain buffers in a full-screen application, see Full-Screen Application Performance Hints.</p><p>Because calling <strong>Present</strong> might cause the render thread to wait on the message-pump thread, be careful when calling this method in an application that uses multiple threads. For more details, see Multithreading Considerations.</p><table> <tr><td> <p>Differences between Direct3D 9 and Direct3D 10:</p> <p>Specifying <strong>DXGI_PRESENT_TEST</strong> in the <em>Flags</em> parameter is analogous to <strong>IDirect3DDevice9::TestCooperativeLevel</strong> in Direct3D 9.</p> </td></tr> </table><p>?</p><p>For flip presentation model swap chains that you create with the <strong>DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL</strong> value set, a successful presentation unbinds back buffer 0 from the graphics pipeline, except for when you pass the <strong>DXGI_PRESENT_DO_NOT_SEQUENCE</strong> flag in the <em>Flags</em> parameter.</p><p>For info about how data values change when you present content to the screen, see Converting data for the color space.</p>
</remarks>
<doc-id>bb174576</doc-id>
<unmanaged>HRESULT IDXGISwapChain::Present([In] unsigned int SyncInterval,[In] unsigned int Flags)</unmanaged>
<unmanaged-short>IDXGISwapChain::Present</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.SwapChain.GetBuffer(System.Int32,System.Guid,System.IntPtr@)">
<summary>
<p>Accesses one of the swap-chain's back buffers.</p>
</summary>
<param name = "buffer"><dd> <p>A zero-based buffer index. </p> <p>If the swap chain's swap effect is <strong>DXGI_SWAP_EFFECT_DISCARD</strong>, this method can only access the first buffer; for this situation, set the index to zero.</p> <p>If the swap chain's swap effect is either <strong>DXGI_SWAP_EFFECT_SEQUENTIAL</strong> or <strong>DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL</strong>, only the swap chain's zero-index buffer can be read from and written to. The swap chain's buffers with indexes greater than zero can only be read from; so if you call the <strong>IDXGIResource::GetUsage</strong> method for such buffers, they have the <strong>DXGI_USAGE_READ_ONLY</strong> flag set.</p> </dd></param>
<param name = "riid"><dd> <p>The type of interface used to manipulate the buffer.</p> </dd></param>
<param name = "surfaceOut"><dd> <p>A reference to a back-buffer interface.</p> </dd></param>
<returns><p>Returns one of the following DXGI_ERROR.</p></returns>
<doc-id>bb174570</doc-id>
<unmanaged>HRESULT IDXGISwapChain::GetBuffer([In] unsigned int Buffer,[In] const GUID&amp; riid,[Out] void** ppSurface)</unmanaged>
<unmanaged-short>IDXGISwapChain::GetBuffer</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.SwapChain.SetFullscreenState(SharpDX.Mathematics.Interop.RawBool,SharpDX.DXGI.Output)">
<summary>
<p>Sets the display state to windowed or full screen.</p>
</summary>
<param name = "fullscreen"><dd> <p>A Boolean value that specifies whether to set the display state to windowed or full screen. <strong>TRUE</strong> for full screen, and <strong><see cref = "F:SharpDX.Result.False"/></strong> for windowed.</p> </dd></param>
<param name = "targetRef"><dd> <p>If you pass <strong>TRUE</strong> to the <em>Fullscreen</em> parameter to set the display state to full screen, you can optionally set this parameter to a reference to an <strong><see cref = "T:SharpDX.DXGI.Output"/></strong> interface for the output target that contains the swap chain. If you set this parameter to <strong><c>null</c></strong>, DXGI will choose the output based on the swap-chain's device and the output window's placement. If you pass <strong><see cref = "F:SharpDX.Result.False"/></strong> to <em>Fullscreen</em>, you must set this parameter to <strong><c>null</c></strong>.</p> </dd></param>
<returns><p>This methods returns: </p><ul> <li><see cref = "F:SharpDX.Result.Ok"/> if the action succeeded and the swap chain was placed in the requested state.</li> <li><see cref = "!:NotCurrentlyAvailable"/> if the action failed. There are many reasons why a windowed-mode swap chain cannot switch to full-screen mode. For instance: <ul> <li>The application is running over Terminal Server.</li> <li>The output window is occluded.</li> <li>The output window does not have keyboard focus.</li> <li>Another application is already in full-screen mode.</li> </ul> <p>When this error is returned, an application can continue to run in windowed mode and try to switch to full-screen mode later.</p> </li> <li>DXGI_STATUS_MODE_CHANGE_IN_PROGRESS is returned if a fullscreen/windowed mode transition is occurring when this API is called.</li> <li>Other error codes if you run out of memory or encounter another unexpected fault; these codes may be treated as hard, non-continuable errors.</li> </ul></returns>
<remarks>
<p>DXGI may change the display state of a swap chain in response to end user or system requests.</p><p>We recommend that you create a windowed swap chain and allow the end user to change the swap chain to full screen through <strong>SetFullscreenState</strong>; that is, do not set the <strong>Windowed</strong> member of <strong><see cref = "T:SharpDX.DXGI.SwapChainDescription"/></strong> to <see cref = "F:SharpDX.Result.False"/> to force the swap chain to be full screen. However, if you create the swap chain as full screen, also provide the end user with a list of supported display modes because a swap chain that is created with an unsupported display mode might cause the display to go black and prevent the end user from seeing anything. Also, we recommend that you have a time-out confirmation screen or other fallback mechanism when you allow the end user to change display modes.</p>
</remarks>
<doc-id>bb174579</doc-id>
<unmanaged>HRESULT IDXGISwapChain::SetFullscreenState([In] BOOL Fullscreen,[In, Optional] IDXGIOutput* pTarget)</unmanaged>
<unmanaged-short>IDXGISwapChain::SetFullscreenState</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.SwapChain.GetFullscreenState(SharpDX.Mathematics.Interop.RawBool@,SharpDX.DXGI.Output@)">
<summary>
<p>Get the state associated with full-screen mode.</p>
</summary>
<param name = "fullscreenRef"><dd> <p>A reference to a boolean whose value is either:</p> <ul> <li><strong>TRUE</strong> if the swap chain is in full-screen mode</li> <li><strong><see cref = "F:SharpDX.Result.False"/></strong> if the swap chain is in windowed mode</li> </ul> </dd></param>
<param name = "targetOut"><dd> <p>A reference to the output target (see <strong><see cref = "T:SharpDX.DXGI.Output"/></strong>) when the mode is full screen; otherwise <strong><c>null</c></strong>.</p> </dd></param>
<returns><p>Returns one of the following DXGI_ERROR.</p></returns>
<remarks>
<p>When the swap chain is in full-screen mode, a reference to the target output will be returned and its reference count will be incremented.</p>
</remarks>
<doc-id>bb174574</doc-id>
<unmanaged>HRESULT IDXGISwapChain::GetFullscreenState([Out, Optional] BOOL* pFullscreen,[Out, Optional] IDXGIOutput** ppTarget)</unmanaged>
<unmanaged-short>IDXGISwapChain::GetFullscreenState</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.SwapChain.GetDescription(SharpDX.DXGI.SwapChainDescription@)">
<summary>
<p>[Starting with Direct3D 11.1, we recommend not to use <strong>GetDesc</strong> anymore to get a description of the swap chain. Instead, use <strong>IDXGISwapChain1::GetDesc1</strong>.]</p><p>Get a description of the swap chain.</p>
</summary>
<param name = "descRef">No documentation.</param>
<returns><p>Returns one of the following DXGI_ERROR.</p></returns>
<doc-id>bb174572</doc-id>
<unmanaged>HRESULT IDXGISwapChain::GetDesc([Out] DXGI_SWAP_CHAIN_DESC* pDesc)</unmanaged>
<unmanaged-short>IDXGISwapChain::GetDesc</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.SwapChain.ResizeBuffers(System.Int32,System.Int32,System.Int32,SharpDX.DXGI.Format,SharpDX.DXGI.SwapChainFlags)">
<summary>
<p> Changes the swap chain's back buffer size, format, and number of buffers. This should be called when the application window is resized. </p>
</summary>
<param name = "bufferCount"><dd> <p> The number of buffers in the swap chain (including all back and front buffers). This number can be different from the number of buffers with which you created the swap chain. This number can't be greater than <strong>DXGI_MAX_SWAP_CHAIN_BUFFERS</strong>. Set this number to zero to preserve the existing number of buffers in the swap chain. You can't specify less than two buffers for the flip presentation model. </p> </dd></param>
<param name = "width"><dd> <p> The new width of the back buffer. If you specify zero, DXGI will use the width of the client area of the target window. You can't specify the width as zero if you called the <strong>IDXGIFactory2::CreateSwapChainForComposition</strong> method to create the swap chain for a composition surface. </p> </dd></param>
<param name = "height"><dd> <p> The new height of the back buffer. If you specify zero, DXGI will use the height of the client area of the target window. You can't specify the height as zero if you called the <strong>IDXGIFactory2::CreateSwapChainForComposition</strong> method to create the swap chain for a composition surface. </p> </dd></param>
<param name = "newFormat"><dd> <p> A <strong><see cref = "T:SharpDX.DXGI.Format"/></strong>-typed value for the new format of the back buffer. Set this value to <strong>DXGI_FORMAT_UNKNOWN</strong> to preserve the existing format of the back buffer. The flip presentation model supports a more restricted set of formats than the bit-block transfer (bitblt) model. </p> </dd></param>
<param name = "swapChainFlags"><dd> <p> A combination of <strong><see cref = "T:SharpDX.DXGI.SwapChainFlags"/></strong>-typed values that are combined by using a bitwise OR operation. The resulting value specifies options for swap-chain behavior. </p> </dd></param>
<returns><p> Returns <see cref = "F:SharpDX.Result.Ok"/> if successful; an error code otherwise. For a list of error codes, see DXGI_ERROR. </p></returns>
<remarks>
<p> You can't resize a swap chain unless you release all outstanding references to its back buffers. You must release all of its direct and indirect references on the back buffers in order for <strong>ResizeBuffers</strong> to succeed. </p><p> Direct references are held by the application after it calls <strong>AddRef</strong> on a resource. </p><p> Indirect references are held by views to a resource, binding a view of the resource to a device context, a command list that used the resource, a command list that used a view to that resource, a command list that executed another command list that used the resource, and so on. </p><p> Before you call <strong>ResizeBuffers</strong>, ensure that the application releases all references (by calling the appropriate number of <strong>Release</strong> invocations) on the resources, any views to the resource, and any command lists that use either the resources or views, and ensure that neither the resource nor a view is still bound to a device context. You can use <strong>ID3D11DeviceContext::ClearState</strong> to ensure that all references are released. If a view is bound to a deferred context, you must discard the partially built command list as well (by calling <strong>ID3D11DeviceContext::ClearState</strong>, then <strong>ID3D11DeviceContext::FinishCommandList</strong>, then <strong>Release</strong> on the command list). After you call <strong>ResizeBuffers</strong>, you can re-query interfaces via <strong>IDXGISwapChain::GetBuffer</strong>. </p><p> For swap chains that you created with <strong>DXGI_SWAP_CHAIN_FLAG_GDI_COMPATIBLE</strong>, before you call <strong>ResizeBuffers</strong>, also call <strong>IDXGISurface1::ReleaseDC</strong> on the swap chain's back-buffer surface to ensure that you have no outstanding GDI device contexts (DCs) open. </p><p> We recommend that you call <strong>ResizeBuffers</strong> when a client window is resized (that is, when an application receives a WM_SIZE message). </p><p> The only difference between <strong>IDXGISwapChain::ResizeBuffers</strong> in Windows?8 versus Windows?7 is with flip presentation model swap chains that you create with the <strong>DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL</strong> or DXGI_SWAP_EFFECT_FLIP_DISCARD value set. In Windows?8, you must call <strong>ResizeBuffers</strong> to realize a transition between full-screen mode and windowed mode; otherwise, your next call to the <strong>IDXGISwapChain::Present</strong> method fails. </p>
</remarks>
<doc-id>bb174577</doc-id>
<unmanaged>HRESULT IDXGISwapChain::ResizeBuffers([In] unsigned int BufferCount,[In] unsigned int Width,[In] unsigned int Height,[In] DXGI_FORMAT NewFormat,[In] unsigned int SwapChainFlags)</unmanaged>
<unmanaged-short>IDXGISwapChain::ResizeBuffers</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.SwapChain.ResizeTarget(SharpDX.DXGI.ModeDescription@)">
<summary>
<p>Resizes the output target.</p>
</summary>
<param name = "newTargetParametersRef"><dd> <p>A reference to a <strong><see cref = "T:SharpDX.DXGI.ModeDescription"/></strong> structure that describes the mode, which specifies the new width, height, format, and refresh rate of the target. If the format is <strong>DXGI_FORMAT_UNKNOWN</strong>, <strong>ResizeTarget</strong> uses the existing format. We only recommend that you use <strong>DXGI_FORMAT_UNKNOWN</strong> when the swap chain is in full-screen mode as this method is not thread safe.</p> </dd></param>
<returns><p>Returns a code that indicates success or failure. <strong>DXGI_STATUS_MODE_CHANGE_IN_PROGRESS</strong> is returned if a full-screen/windowed mode transition is occurring when this API is called. See DXGI_ERROR for additional DXGI error codes.</p></returns>
<remarks>
<p><strong>ResizeTarget</strong> resizes the target window when the swap chain is in windowed mode, and changes the display mode on the target output when the swap chain is in full-screen mode. Therefore, apps can call <strong>ResizeTarget</strong> to resize the target window (rather than a Microsoft Win32API such as <strong>SetWindowPos</strong>) without knowledge of the swap chain display mode.</p><p>If a Windows Store app calls <strong>ResizeTarget</strong>, it fails with <see cref = "!:NotCurrentlyAvailable"/>.</p><p>You cannot call <strong>ResizeTarget</strong> on a swap chain that you created with <strong>IDXGIFactory2::CreateSwapChainForComposition</strong>.</p><p>Apps must still call <strong>IDXGISwapChain::ResizeBuffers</strong> after they call <strong>ResizeTarget</strong> because only <strong>ResizeBuffers</strong> can change the back buffers. But, if those apps have implemented window resize processing to call <strong>ResizeBuffers</strong>, they don't need to explicitly call <strong>ResizeBuffers</strong> after they call <strong>ResizeTarget</strong> because the window resize processing will achieve what the app requires.</p>
</remarks>
<doc-id>bb174578</doc-id>
<unmanaged>HRESULT IDXGISwapChain::ResizeTarget([In] const DXGI_MODE_DESC* pNewTargetParameters)</unmanaged>
<unmanaged-short>IDXGISwapChain::ResizeTarget</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.SwapChain.GetContainingOutput(SharpDX.DXGI.Output@)">
<summary>
<p>Get the output (the display monitor) that contains the majority of the client area of the target window.</p>
</summary>
<param name = "outputOut"><dd> <p>A reference to the output interface (see <strong><see cref = "T:SharpDX.DXGI.Output"/></strong>).</p> </dd></param>
<returns><p>Returns one of the following DXGI_ERROR.</p></returns>
<remarks>
<p>If the method succeeds, the output interface will be filled and its reference count incremented. When you are finished with it, be sure to release the interface to avoid a memory leak.</p><p>The output is also owned by the adapter on which the swap chain's device was created.</p><p>You cannot call <strong>GetContainingOutput</strong> on a swap chain that you created with <strong>IDXGIFactory2::CreateSwapChainForComposition</strong>.</p>
</remarks>
<doc-id>bb174571</doc-id>
<unmanaged>HRESULT IDXGISwapChain::GetContainingOutput([Out] IDXGIOutput** ppOutput)</unmanaged>
<unmanaged-short>IDXGISwapChain::GetContainingOutput</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.SwapChain.TryGetFrameStatistics(SharpDX.DXGI.FrameStatistics@)">
<summary>
<p>Gets performance statistics about the last render frame.</p>
</summary>
<param name = "statsRef"><dd> <p>A reference to a <strong><see cref = "T:SharpDX.DXGI.FrameStatistics"/></strong> structure for the frame statistics.</p> </dd></param>
<returns><p>Returns one of the DXGI_ERROR values.</p></returns>
<remarks>
<p>You cannot use <strong>GetFrameStatistics</strong> for swap chains that both use the bit-block transfer (bitblt) presentation model and draw in windowed mode.</p><p>You can only use <strong>GetFrameStatistics</strong> for swap chains that either use the flip presentation model or draw in full-screen mode. You set the <strong>DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL</strong> value in the <strong>SwapEffect</strong> member of the <strong><see cref = "T:SharpDX.DXGI.SwapChainDescription1"/></strong> structure to specify that the swap chain uses the flip presentation model.</p>
</remarks>
<doc-id>bb174573</doc-id>
<unmanaged>HRESULT IDXGISwapChain::GetFrameStatistics([Out] DXGI_FRAME_STATISTICS* pStats)</unmanaged>
<unmanaged-short>IDXGISwapChain::GetFrameStatistics</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.SwapChain.GetLastPresentCount(System.Int32@)">
<summary>
<p>Gets the number of times that <strong>IDXGISwapChain::Present</strong> or <strong>IDXGISwapChain1::Present1</strong> has been called.</p>
</summary>
<param name = "lastPresentCountRef">No documentation.</param>
<returns><p>Returns one of the DXGI_ERROR values.</p></returns>
<remarks>
<p>For info about presentation statistics for a frame, see <strong><see cref = "T:SharpDX.DXGI.FrameStatistics"/></strong>.</p>
</remarks>
<doc-id>bb174575</doc-id>
<unmanaged>HRESULT IDXGISwapChain::GetLastPresentCount([Out] unsigned int* pLastPresentCount)</unmanaged>
<unmanaged-short>IDXGISwapChain::GetLastPresentCount</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.SwapChain1.#ctor(SharpDX.DXGI.Factory2,SharpDX.ComObject,System.IntPtr,SharpDX.DXGI.SwapChainDescription1@,System.Nullable{SharpDX.DXGI.SwapChainFullScreenDescription},SharpDX.DXGI.Output)">
<summary>
Creates a swapchain associated to the specified HWND. This is applicable only for Desktop platform.
</summary>
<param name="factory">The DXGI Factory used to create the swapchain.</param>
<param name="device">The associated device instance.</param>
<param name="hwnd">The HWND of the window to which this swapchain is associated.</param>
<param name="description">The swap chain description.</param>
<param name="fullScreenDescription">The fullscreen description of the swap chain. Default is null.</param>
<param name="restrictToOutput">The output to which this swap chain should be restricted. Default is null, meaning that there is no restriction.</param>
</member>
<member name="M:SharpDX.DXGI.SwapChain1.#ctor(SharpDX.DXGI.Factory2,SharpDX.ComObject,SharpDX.ComObject,SharpDX.DXGI.SwapChainDescription1@,SharpDX.DXGI.Output)">
<summary>
Creates a swapchain associated to the specified CoreWindow. This is applicable only for WinRT platform.
</summary>
<param name="factory">The DXGI Factory used to create the swapchain.</param>
<param name="device">The associated device instance.</param>
<param name="coreWindow">The HWND of the window to which this swapchain is associated.</param>
<param name="description">The swap chain description.</param>
<param name="restrictToOutput">The output to which this swap chain should be restricted. Default is null, meaning that there is no restriction.</param>
</member>
<member name="M:SharpDX.DXGI.SwapChain1.#ctor(SharpDX.DXGI.Factory2,SharpDX.ComObject,SharpDX.DXGI.SwapChainDescription1@,SharpDX.DXGI.Output)">
<summary>
Creates a swapchain for DirectComposition API or WinRT XAML framework. This is applicable only for WinRT platform.
</summary>
<param name="factory">The DXGI Factory used to create the swapchain.</param>
<param name="device">The associated device instance.</param>
<param name="description">The swap chain description.</param>
<param name="restrictToOutput">The output to which this swap chain should be restricted. Default is null, meaning that there is no restriction.</param>
</member>
<member name="M:SharpDX.DXGI.SwapChain1.Present(System.Int32,SharpDX.DXGI.PresentFlags,SharpDX.DXGI.PresentParameters)">
<summary>
Presents a frame on the display screen, internally using the Present1 method.
</summary>
<param name="syncInterval"><para>An integer that specifies how to synchronize presentation of a frame with the vertical blank.</para> <para>For the bit-block transfer (bitblt) model, values are:</para> 0 - The presentation occurs immediately, there is no synchronization. 1,2,3,4 - Synchronize presentation after the nth vertical blank. <para>For the flip model, values are:</para> 0 - Discard this frame if you submitted a more recent presentation. n &gt; 0 - Synchronize presentation for at least n vertical blanks. <para>For an example that shows how sync-interval values affect a flip presentation queue, see Remarks.</para> <para>If the update region straddles more than one output (each represented by <see cref="T:SharpDX.DXGI.Output1" />), Present1 performs the synchronization to the output that contains the largest subrectangle of the target window's client area.</para></param>
<param name="presentFlags"><para>An integer value that contains swap-chain presentation options. These options are defined by the DXGI_PRESENT constants.</para></param>
<param name="presentParameters"><para>A reference to a <see cref="T:SharpDX.DXGI.PresentParameters" /> structure that describes updated rectangles and scroll information of the frame to present.</para></param>
<returns>Possible return values include: <see cref="F:SharpDX.Result.Ok" />, <see cref="F:SharpDX.DXGI.ResultCode.DeviceRemoved" /> , <see cref="F:SharpDX.DXGI.DXGIStatus.Occluded" />, <see cref="F:SharpDX.DXGI.ResultCode.InvalidCall" />, or E_OUTOFMEMORY.</returns>
<remarks>
An application can use Present1 to optimize presentation by specifying scroll and dirty rectangles. When the runtime has information about these rectangles, the runtime can then perform necessary bitblts during presentation more efficiently and pass this metadata to the Desktop Window Manager (DWM). The DWM can then use the metadata to optimize presentation and pass the metadata to indirect displays and terminal servers to optimize traffic over the wire. An application must confine its modifications to only the dirty regions that it passes to Present1, as well as modify the entire dirty region to avoid undefined resource contents from being exposed.For flip presentation model swap chains that you create with the <see cref="F:SharpDX.DXGI.SwapEffect.FlipSequential" /> value set, a successful presentation results in an unbind of back buffer 0 from the graphics pipeline, except for when you pass the <see cref="F:SharpDX.DXGI.PresentFlags.DoNotSequence" /> flag in the Flags parameter.Flip presentation model queueSuppose the following frames with sync-interval values are queued from oldest (A) to newest (E) before you call Present1.A: 3, B: 0, C: 0, D: 1, E: 0When you call Present1, the runtime shows frame A for 3 vertical blank intervals, then frame D for 1 vertical blank interval, and then frame E until you submit a new presentation. The runtime discards frames C and D.
</remarks>
<!-- No matching elements were found for the following include tag --><include file="Documentation\CodeComments.xml" path="/comments/comment[@id='IDXGISwapChain1::Present1']/*" />
<unmanaged>HRESULT IDXGISwapChain1::Present1([In] unsigned int SyncInterval,[In] unsigned int PresentFlags,[In] const void* pPresentParameters)</unmanaged>
</member>
<member name="P:SharpDX.DXGI.SwapChain1.Description1">
<summary>
<p>Gets a description of the swap chain.</p>
</summary>
<doc-id>hh404640</doc-id>
<unmanaged>GetDesc1</unmanaged>
<unmanaged-short>GetDesc1</unmanaged-short>
</member>
<member name="P:SharpDX.DXGI.SwapChain1.FullscreenDescription">
<summary>
<p>Gets a description of a full-screen swap chain.</p>
</summary>
<remarks>
<p>The semantics of <strong>GetFullscreenDesc</strong> are identical to that of the <strong>IDXGISwapchain::GetDesc</strong> method for <strong><see cref = "T:System.IntPtr"/></strong>-based swap chains.</p>
</remarks>
<doc-id>hh404644</doc-id>
<unmanaged>GetFullscreenDesc</unmanaged>
<unmanaged-short>GetFullscreenDesc</unmanaged-short>
</member>
<member name="P:SharpDX.DXGI.SwapChain1.Hwnd">
<summary>
<p>Retrieves the underlying <strong><see cref = "T:System.IntPtr"/></strong> for this swap-chain object.</p>
</summary>
<remarks>
<p>Applications call the <strong>IDXGIFactory2::CreateSwapChainForHwnd</strong> method to create a swap chain that is associated with an <strong><see cref = "T:System.IntPtr"/></strong>.</p>
</remarks>
<doc-id>hh404647</doc-id>
<unmanaged>GetHwnd</unmanaged>
<unmanaged-short>GetHwnd</unmanaged-short>
</member>
<member name="P:SharpDX.DXGI.SwapChain1.IsTemporaryMonoSupported">
<summary>
<p>Determines whether a swap chain supports ?temporary mono.?</p>
</summary>
<remarks>
<p>Temporary mono is a feature where a stereo swap chain can be presented using only the content in the left buffer. To present using the left buffer as a mono buffer, an application calls the <strong>IDXGISwapChain1::Present1</strong> method with the <strong>DXGI_PRESENT_STEREO_TEMPORARY_MONO</strong> flag. All windowed swap chains support temporary mono. However, full-screen swap chains optionally support temporary mono because not all hardware supports temporary mono on full-screen swap chains efficiently.</p>
</remarks>
<doc-id>hh446794</doc-id>
<unmanaged>IsTemporaryMonoSupported</unmanaged>
<unmanaged-short>IsTemporaryMonoSupported</unmanaged-short>
</member>
<member name="P:SharpDX.DXGI.SwapChain1.RestrictToOutput">
<summary>
<p>Gets the output (the display monitor) to which you can restrict the contents of a present operation.</p>
</summary>
<remarks>
<p>If the method succeeds, the runtime fills the buffer at <em>ppRestrictToOutput</em> with a reference to the restrict-to output interface. This restrict-to output interface has its reference count incremented. When you are finished with it, be sure to release the interface to avoid a memory leak.</p><p>The output is also owned by the adapter on which the swap chain's device was created.</p>
</remarks>
<doc-id>hh446788</doc-id>
<unmanaged>GetRestrictToOutput</unmanaged>
<unmanaged-short>GetRestrictToOutput</unmanaged-short>
</member>
<member name="P:SharpDX.DXGI.SwapChain1.BackgroundColor">
<summary>
<p>Retrieves or sets the background color of the swap chain.</p>
</summary>
<remarks>
<strong>Note</strong>??The background color that <strong>GetBackgroundColor</strong> retrieves does not indicate what the screen currently displays. The background color indicates what the screen will display with your next call to the <strong>IDXGISwapChain1::Present1</strong> method. The default value of the background color is black with full opacity: 0,0,0,1.?
</remarks>
<doc-id>hh404634</doc-id>
<unmanaged>GetBackgroundColor / SetBackgroundColor</unmanaged>
<unmanaged-short>GetBackgroundColor</unmanaged-short>
</member>
<member name="P:SharpDX.DXGI.SwapChain1.Rotation">
<summary>
<p>Gets or sets the rotation of the back buffers for the swap chain.</p>
</summary>
<doc-id>hh446791</doc-id>
<unmanaged>GetRotation / SetRotation</unmanaged>
<unmanaged-short>GetRotation</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.SwapChain1.GetDescription1(SharpDX.DXGI.SwapChainDescription1@)">
<summary>
<p>Gets a description of the swap chain.</p>
</summary>
<param name = "descRef"><dd> <p>A reference to a <strong><see cref = "T:SharpDX.DXGI.SwapChainDescription1"/></strong> structure that describes the swap chain.</p> </dd></param>
<returns><p>Returns <see cref = "F:SharpDX.Result.Ok"/> if successful; an error code otherwise. For a list of error codes, see DXGI_ERROR.</p></returns>
<doc-id>hh404640</doc-id>
<unmanaged>HRESULT IDXGISwapChain1::GetDesc1([Out] DXGI_SWAP_CHAIN_DESC1* pDesc)</unmanaged>
<unmanaged-short>IDXGISwapChain1::GetDesc1</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.SwapChain1.GetFullscreenDescription(SharpDX.DXGI.SwapChainFullScreenDescription@)">
<summary>
<p>Gets a description of a full-screen swap chain.</p>
</summary>
<param name = "descRef"><dd> <p>A reference to a <strong><see cref = "T:SharpDX.DXGI.SwapChainFullScreenDescription"/></strong> structure that describes the full-screen swap chain.</p> </dd></param>
<returns><p><strong>GetFullscreenDesc</strong> returns: </p><ul> <li><see cref = "F:SharpDX.Result.Ok"/> if it successfully retrieved the description of the full-screen swap chain.</li> <li> <see cref = "!:InvalidCall"/> for non-<strong><see cref = "T:System.IntPtr"/></strong> swap chains or if <em>pDesc</em> is <strong><c>null</c></strong>.</li> <li>Possibly other error codes that are described in the DXGI_ERROR topic. </li> </ul></returns>
<remarks>
<p>The semantics of <strong>GetFullscreenDesc</strong> are identical to that of the <strong>IDXGISwapchain::GetDesc</strong> method for <strong><see cref = "T:System.IntPtr"/></strong>-based swap chains.</p>
</remarks>
<doc-id>hh404644</doc-id>
<unmanaged>HRESULT IDXGISwapChain1::GetFullscreenDesc([Out] DXGI_SWAP_CHAIN_FULLSCREEN_DESC* pDesc)</unmanaged>
<unmanaged-short>IDXGISwapChain1::GetFullscreenDesc</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.SwapChain1.GetHwnd(System.IntPtr@)">
<summary>
<p>Retrieves the underlying <strong><see cref = "T:System.IntPtr"/></strong> for this swap-chain object.</p>
</summary>
<param name = "hwndRef">No documentation.</param>
<returns><p>Returns <see cref = "F:SharpDX.Result.Ok"/> if successful; an error code otherwise. For a list of error codes, see DXGI_ERROR.</p><p>If <em>pHwnd</em> receives <strong><c>null</c></strong> (that is, the swap chain is not <strong><see cref = "T:System.IntPtr"/></strong>-based), <strong>GetHwnd</strong> returns <see cref = "!:InvalidCall"/>.</p></returns>
<remarks>
<p>Applications call the <strong>IDXGIFactory2::CreateSwapChainForHwnd</strong> method to create a swap chain that is associated with an <strong><see cref = "T:System.IntPtr"/></strong>.</p>
</remarks>
<doc-id>hh404647</doc-id>
<unmanaged>HRESULT IDXGISwapChain1::GetHwnd([Out] HWND* pHwnd)</unmanaged>
<unmanaged-short>IDXGISwapChain1::GetHwnd</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.SwapChain1.GetCoreWindow(System.Guid,System.IntPtr@)">
<summary>
<p>Retrieves the underlying <strong>CoreWindow</strong> object for this swap-chain object.</p>
</summary>
<param name = "refiid">No documentation.</param>
<param name = "unkOut">No documentation.</param>
<returns><p><strong>GetCoreWindow</strong> returns: </p><ul> <li><see cref = "F:SharpDX.Result.Ok"/> if it successfully retrieved the underlying <strong>CoreWindow</strong> object.</li> <li> <see cref = "!:InvalidCall"/> if <em>ppUnk</em> is <strong><c>null</c></strong>; that is, the swap chain is not associated with a <strong>CoreWindow</strong> object.</li> <li>Any <strong><see cref = "T:SharpDX.Result"/></strong> that a call to <strong>QueryInterface</strong> to query for an <strong>CoreWindow</strong> object might typically return.</li> <li>Possibly other error codes that are described in the DXGI_ERROR topic. </li> </ul><p><strong>Platform Update for Windows?7:??</strong>On Windows?7 or Windows Server?2008?R2 with the Platform Update for Windows?7 installed, <strong>GetCoreWindow</strong> fails with E_NOTIMPL. For more info about the Platform Update for Windows?7, see Platform Update for Windows 7. </p></returns>
<remarks>
<p>Applications call the <strong>IDXGIFactory2::CreateSwapChainForCoreWindow</strong> method to create a swap chain that is associated with an <strong>CoreWindow</strong> object.</p>
</remarks>
<doc-id>hh404650</doc-id>
<unmanaged>HRESULT IDXGISwapChain1::GetCoreWindow([In] const GUID&amp; refiid,[Out] void** ppUnk)</unmanaged>
<unmanaged-short>IDXGISwapChain1::GetCoreWindow</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.SwapChain1.Present1(System.Int32,SharpDX.DXGI.PresentFlags,System.IntPtr)">
<summary>
<p>Presents a frame on the display screen. </p>
</summary>
<param name = "syncInterval"><dd> <p>An integer that specifies how to synchronize presentation of a frame with the vertical blank.</p> <p>For the bit-block transfer (bitblt) model (<strong>DXGI_SWAP_EFFECT_DISCARD</strong> or <strong>DXGI_SWAP_EFFECT_SEQUENTIAL</strong>), values are:</p> <ul> <li>0 - The presentation occurs immediately, there is no synchronization.</li> <li>1 through 4 - Synchronize presentation after the <em>n</em>th vertical blank.</li> </ul> <p>For the flip model (<strong>DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL</strong>), values are:</p> <ul> <li>0 - Cancel the remaining time on the previously presented frame and discard this frame if a newer frame is queued.</li> <li>1 through 4 - Synchronize presentation for at least <em>n</em> vertical blanks.</li> </ul> <p>For an example that shows how sync-interval values affect a flip presentation queue, see Remarks.</p> <p>If the update region straddles more than one output (each represented by <strong><see cref = "T:SharpDX.DXGI.Output1"/></strong>), <strong>Present1</strong> performs the synchronization to the output that contains the largest sub-rectangle of the target window's client area.</p> </dd></param>
<param name = "presentFlags"><dd> <p>An integer value that contains swap-chain presentation options. These options are defined by the DXGI_PRESENT constants.</p> </dd></param>
<param name = "presentParametersRef"><dd> <p>A reference to a <strong><see cref = "T:SharpDX.DXGI.PresentParameters"/></strong> structure that describes updated rectangles and scroll information of the frame to present.</p> </dd></param>
<returns><p>Possible return values include: <see cref = "F:SharpDX.Result.Ok"/>, <see cref = "!:DeviceRemoved"/> , DXGI_STATUS_OCCLUDED, <see cref = "!:InvalidCall"/>, or E_OUTOFMEMORY. </p></returns>
<remarks>
<p>An app can use <strong>Present1</strong> to optimize presentation by specifying scroll and dirty rectangles. When the runtime has information about these rectangles, the runtime can then perform necessary bitblts during presentation more efficiently and pass this metadata to the Desktop Window Manager (DWM). The DWM can then use the metadata to optimize presentation and pass the metadata to indirect displays and terminal servers to optimize traffic over the wire. An app must confine its modifications to only the dirty regions that it passes to <strong>Present1</strong>, as well as modify the entire dirty region to avoid undefined resource contents from being exposed.</p><p>For flip presentation model swap chains that you create with the <strong>DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL</strong> value set, a successful presentation results in an unbind of back buffer 0 from the graphics pipeline, except for when you pass the <strong>DXGI_PRESENT_DO_NOT_SEQUENCE</strong> flag in the <em>Flags</em> parameter.</p><p>For info about how data values change when you present content to the screen, see Converting data for the color space.</p><p>For info about calling <strong>Present1</strong> when your app uses multiple threads, see Multithread Considerations and Multithreading and DXGI.</p>
</remarks>
<doc-id>hh446797</doc-id>
<unmanaged>HRESULT IDXGISwapChain1::Present1([In] unsigned int SyncInterval,[In] unsigned int PresentFlags,[In] const DXGI_PRESENT_PARAMETERS* pPresentParameters)</unmanaged>
<unmanaged-short>IDXGISwapChain1::Present1</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.SwapChain1.IsTemporaryMonoSupported_">
<summary>
<p>Determines whether a swap chain supports ?temporary mono.?</p>
</summary>
<returns><p>Indicates whether to use the swap chain in temporary mono mode. <strong>TRUE</strong> indicates that you can use temporary-mono mode; otherwise, <strong><see cref = "F:SharpDX.Result.False"/></strong>.</p><p><strong>Platform Update for Windows?7:??</strong>On Windows?7 or Windows Server?2008?R2 with the Platform Update for Windows?7 installed, <strong>IsTemporaryMonoSupported</strong> always returns <see cref = "F:SharpDX.Result.False"/> because stereoscopic 3D display behavior isn?t available with the Platform Update for Windows?7. For more info about the Platform Update for Windows?7, see Platform Update for Windows 7. </p></returns>
<remarks>
<p>Temporary mono is a feature where a stereo swap chain can be presented using only the content in the left buffer. To present using the left buffer as a mono buffer, an application calls the <strong>IDXGISwapChain1::Present1</strong> method with the <strong>DXGI_PRESENT_STEREO_TEMPORARY_MONO</strong> flag. All windowed swap chains support temporary mono. However, full-screen swap chains optionally support temporary mono because not all hardware supports temporary mono on full-screen swap chains efficiently.</p>
</remarks>
<doc-id>hh446794</doc-id>
<unmanaged>BOOL IDXGISwapChain1::IsTemporaryMonoSupported()</unmanaged>
<unmanaged-short>IDXGISwapChain1::IsTemporaryMonoSupported</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.SwapChain1.GetRestrictToOutput(SharpDX.DXGI.Output@)">
<summary>
<p>Gets the output (the display monitor) to which you can restrict the contents of a present operation.</p>
</summary>
<param name = "restrictToOutputOut"><dd> <p> A reference to a buffer that receives a reference to the <strong><see cref = "T:SharpDX.DXGI.Output"/></strong> interface for the restrict-to output. An application passes this reference to <strong><see cref = "T:SharpDX.DXGI.Output"/></strong> in a call to the <strong>IDXGIFactory2::CreateSwapChainForHwnd</strong>, <strong>IDXGIFactory2::CreateSwapChainForCoreWindow</strong>, or <strong>IDXGIFactory2::CreateSwapChainForComposition</strong> method to create the swap chain.</p> </dd></param>
<returns><p>Returns <see cref = "F:SharpDX.Result.Ok"/> if the restrict-to output was successfully retrieved; otherwise, returns E_INVALIDARG if the reference is invalid.</p></returns>
<remarks>
<p>If the method succeeds, the runtime fills the buffer at <em>ppRestrictToOutput</em> with a reference to the restrict-to output interface. This restrict-to output interface has its reference count incremented. When you are finished with it, be sure to release the interface to avoid a memory leak.</p><p>The output is also owned by the adapter on which the swap chain's device was created.</p>
</remarks>
<doc-id>hh446788</doc-id>
<unmanaged>HRESULT IDXGISwapChain1::GetRestrictToOutput([Out] IDXGIOutput** ppRestrictToOutput)</unmanaged>
<unmanaged-short>IDXGISwapChain1::GetRestrictToOutput</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.SwapChain1.SetBackgroundColor(SharpDX.Mathematics.Interop.RawColor4)">
<summary>
<p>Changes the background color of the swap chain.</p>
</summary>
<param name = "colorRef"><dd> <p>A reference to a <strong>DXGI_RGBA</strong> structure that specifies the background color to set.</p> </dd></param>
<returns><p><strong>SetBackgroundColor</strong> returns: </p><ul> <li><see cref = "F:SharpDX.Result.Ok"/> if it successfully set the background color.</li> <li>E_INVALIDARG if the <em>pColor</em> parameter is incorrect, for example, <em>pColor</em> is <c>null</c> or any of the floating-point values of the members of <strong>DXGI_RGBA</strong> to which <em>pColor</em> points are outside the range from 0.0 through 1.0.</li> <li>Possibly other error codes that are described in the DXGI_ERROR topic.</li> </ul><p><strong>Platform Update for Windows?7:??</strong>On Windows?7 or Windows Server?2008?R2 with the Platform Update for Windows?7 installed, <strong>SetBackgroundColor</strong> fails with E_NOTIMPL. For more info about the Platform Update for Windows?7, see Platform Update for Windows 7. </p></returns>
<remarks>
<p>The background color affects only swap chains that you create with <strong>DXGI_SCALING_NONE</strong> in windowed mode. You pass this value in a call to <strong>IDXGIFactory2::CreateSwapChainForHwnd</strong>, <strong>IDXGIFactory2::CreateSwapChainForCoreWindow</strong>, or <strong>IDXGIFactory2::CreateSwapChainForComposition</strong>. Typically, the background color is not visible unless the swap-chain contents are smaller than the destination window.</p><p>When you set the background color, it is not immediately realized. It takes effect in conjunction with your next call to the <strong>IDXGISwapChain1::Present1</strong> method. The <strong>DXGI_PRESENT</strong> flags that you pass to <strong>IDXGISwapChain1::Present1</strong> can help achieve the effect that you require. For example, if you call <strong>SetBackgroundColor</strong> and then call <strong>IDXGISwapChain1::Present1</strong> with the <em>Flags</em> parameter set to <strong>DXGI_PRESENT_DO_NOT_SEQUENCE</strong>, you change only the background color without changing the displayed contents of the swap chain.</p><p>When you call the <strong>IDXGISwapChain1::Present1</strong> method to display contents of the swap chain, <strong>IDXGISwapChain1::Present1</strong> uses the <strong><see cref = "T:SharpDX.DXGI.AlphaMode"/></strong> value that is specified in the <strong>AlphaMode</strong> member of the <strong><see cref = "T:SharpDX.DXGI.SwapChainDescription1"/></strong> structure to determine how to handle the <strong>a</strong> member of the <strong>DXGI_RGBA</strong> structure, the alpha value of the background color, that achieves window transparency. For example, if <strong>AlphaMode</strong> is <strong>DXGI_ALPHA_MODE_IGNORE</strong>, <strong>IDXGISwapChain1::Present1</strong> ignores the a member of <strong>DXGI_RGBA</strong>.</p><strong>Note</strong>??Like all presentation data, we recommend that you perform floating point operations in a linear color space. When the desktop is in a fixed bit color depth mode, the operating system converts linear color data to standard RGB data (sRGB, gamma 2.2 corrected space) to compose to the screen. For more info, see Converting data for the color space.?
</remarks>
<doc-id>hh446799</doc-id>
<unmanaged>HRESULT IDXGISwapChain1::SetBackgroundColor([In] const D3DCOLORVALUE* pColor)</unmanaged>
<unmanaged-short>IDXGISwapChain1::SetBackgroundColor</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.SwapChain1.GetBackgroundColor(SharpDX.Mathematics.Interop.RawColor4@)">
<summary>
<p>Retrieves the background color of the swap chain.</p>
</summary>
<param name = "colorRef"><dd> <p>A reference to a <strong>DXGI_RGBA</strong> structure that receives the background color of the swap chain.</p> </dd></param>
<returns><p><strong>GetBackgroundColor</strong> returns: </p><ul> <li><see cref = "F:SharpDX.Result.Ok"/> if it successfully retrieves the background color.</li> <li> <see cref = "!:InvalidCall"/> if the <em>pColor</em> parameter is invalid, for example, <em>pColor</em> is <c>null</c>.</li> <li>Possibly other error codes that are described in the DXGI_ERROR topic.</li> </ul></returns>
<remarks>
<strong>Note</strong>??The background color that <strong>GetBackgroundColor</strong> retrieves does not indicate what the screen currently displays. The background color indicates what the screen will display with your next call to the <strong>IDXGISwapChain1::Present1</strong> method. The default value of the background color is black with full opacity: 0,0,0,1.?
</remarks>
<doc-id>hh404634</doc-id>
<unmanaged>HRESULT IDXGISwapChain1::GetBackgroundColor([Out] D3DCOLORVALUE* pColor)</unmanaged>
<unmanaged-short>IDXGISwapChain1::GetBackgroundColor</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.SwapChain1.SetRotation(SharpDX.DXGI.DisplayModeRotation)">
<summary>
<p>Sets the rotation of the back buffers for the swap chain.</p>
</summary>
<param name = "rotation"><dd> <p>A <strong><see cref = "T:SharpDX.DXGI.DisplayModeRotation"/></strong>-typed value that specifies how to set the rotation of the back buffers for the swap chain.</p> </dd></param>
<returns><p><strong>SetRotation</strong> returns: </p><ul> <li><see cref = "F:SharpDX.Result.Ok"/> if it successfully set the rotation.</li> <li><see cref = "!:InvalidCall"/> if the swap chain is bit-block transfer (bitblt) model. The swap chain must be flip model to successfully call <strong>SetRotation</strong>.</li> <li>Possibly other error codes that are described in the DXGI_ERROR topic.</li> </ul><p><strong>Platform Update for Windows?7:??</strong>On Windows?7 or Windows Server?2008?R2 with the Platform Update for Windows?7 installed, <strong>SetRotation</strong> fails with <see cref = "!:InvalidCall"/>. For more info about the Platform Update for Windows?7, see Platform Update for Windows 7. </p></returns>
<remarks>
<p>You can only use <strong>SetRotation</strong> to rotate the back buffers for flip-model swap chains that you present in windowed mode. </p><p><strong>SetRotation</strong> isn't supported for rotating the back buffers for flip-model swap chains that you present in full-screen mode. In this situation, <strong>SetRotation</strong> doesn't fail, but you must ensure that you specify no rotation (<strong>DXGI_MODE_ROTATION_IDENTITY</strong>) for the swap chain. Otherwise, when you call <strong>IDXGISwapChain1::Present1</strong> or <strong>IDXGISwapChain::Present</strong> to present a frame, the presentation fails.</p>
</remarks>
<doc-id>hh446801</doc-id>
<unmanaged>HRESULT IDXGISwapChain1::SetRotation([In] DXGI_MODE_ROTATION Rotation)</unmanaged>
<unmanaged-short>IDXGISwapChain1::SetRotation</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.SwapChain1.GetRotation(SharpDX.DXGI.DisplayModeRotation@)">
<summary>
<p>Gets the rotation of the back buffers for the swap chain.</p>
</summary>
<param name = "rotationRef"><dd> <p>A reference to a variable that receives a <strong><see cref = "T:SharpDX.DXGI.DisplayModeRotation"/></strong>-typed value that specifies the rotation of the back buffers for the swap chain.</p> </dd></param>
<returns><p>Returns <see cref = "F:SharpDX.Result.Ok"/> if successful; an error code otherwise. For a list of error codes, see DXGI_ERROR.</p><p><strong>Platform Update for Windows?7:??</strong>On Windows?7 or Windows Server?2008?R2 with the Platform Update for Windows?7 installed, <strong>GetRotation</strong> fails with <see cref = "!:InvalidCall"/>. For more info about the Platform Update for Windows?7, see Platform Update for Windows 7. </p></returns>
<doc-id>hh446791</doc-id>
<unmanaged>HRESULT IDXGISwapChain1::GetRotation([Out] DXGI_MODE_ROTATION* pRotation)</unmanaged>
<unmanaged-short>IDXGISwapChain1::GetRotation</unmanaged-short>
</member>
<member name="P:SharpDX.DXGI.SwapChain2.SourceSize">
<summary>
<p>[This documentation is preliminary and is subject to change.]</p><p>Gets the source region used for the swap chain.</p><p>Use <strong>GetSourceSize</strong> to get the portion of the swap chain from which the operating system presents. The source rectangle is always defined by the region [0, 0, Width, Height]. Use <strong>SetSourceSize</strong> to set this portion of the swap chain. </p>
</summary>
<returns><p> This method can return error codes that are described in the DXGI_ERROR topic.</p></returns>
<!-- No matching elements were found for the following include tag --><include file=".\Documentation\CodeComments.xml" path="/comments/comment[@id='IDXGISwapChain2::GetSourceSize']/*" />
<msdn-id>dn280408</msdn-id>
<unmanaged>HRESULT IDXGISwapChain2::GetSourceSize([Out] unsigned int* pWidth,[Out] unsigned int* pHeight)</unmanaged>
<unmanaged-short>IDXGISwapChain2::GetSourceSize</unmanaged-short>
</member>
<member name="P:SharpDX.DXGI.SwapChain2.MaximumFrameLatency">
<summary>
<p>Gets or sets the number of frames that the swap chain is allowed to queue for rendering.</p>
</summary>
<doc-id>dn268311</doc-id>
<unmanaged>GetMaximumFrameLatency / SetMaximumFrameLatency</unmanaged>
<unmanaged-short>GetMaximumFrameLatency</unmanaged-short>
</member>
<member name="P:SharpDX.DXGI.SwapChain2.FrameLatencyWaitableObject">
<summary>
<p>Returns a waitable handle that signals when the DXGI adapter has finished presenting a new frame.</p><p>Windows?8.1 introduces new APIs that allow lower-latency rendering by waiting until the previous frame is presented to the display before drawing the next frame. To use this method, first create the DXGI swap chain with the <strong>DXGI_SWAP_CHAIN_FLAG_FRAME_LATENCY_WAITABLE_OBJECT</strong> flag set, then call <strong>GetFrameLatencyWaitableObject</strong> to retrieve the waitable handle. Use the waitable handle with <strong>WaitForSingleObjectEx</strong> to synchronize rendering of each new frame with the end of the previous frame. For every frame it renders, the app should wait on this handle before starting any rendering operations. Note that this requirement includes the first frame the app renders with the swap chain. See the DirectXLatency sample.</p>
</summary>
<doc-id>dn268309</doc-id>
<unmanaged>GetFrameLatencyWaitableObject</unmanaged>
<unmanaged-short>GetFrameLatencyWaitableObject</unmanaged-short>
</member>
<member name="P:SharpDX.DXGI.SwapChain2.MatrixTransform">
<summary>
<p>Gets or sets the transform matrix that will be applied to a composition swap chain upon the next present. </p><p>Starting with Windows?8.1, Windows Store apps are able to place DirectX swap chain visuals in XAML pages using the <strong>SwapChainPanel</strong> element, which can be placed and sized arbitrarily. This exposes the DirectX swap chain visuals to touch scaling and translation scenarios using touch UI. The <strong>GetMatrixTransform</strong> and <strong>SetMatrixTransform</strong> methods are used to synchronize scaling of the DirectX swap chain with its associated <strong>SwapChainPanel</strong> element. Only simple scale/translation elements in the matrix are allowed ? the call will fail if the matrix contains skew/rotation elements.</p>
</summary>
<doc-id>dn268310</doc-id>
<unmanaged>GetMatrixTransform / SetMatrixTransform</unmanaged>
<unmanaged-short>GetMatrixTransform</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.SwapChain2.SetSourceSize(System.Int32,System.Int32)">
<summary>
<p>Sets the source region to be used for the swap chain.</p><p>Use <strong>SetSourceSize</strong> to specify the portion of the swap chain from which the operating system presents. This allows an effective resize without calling the more-expensive <strong>IDXGISwapChain::ResizeBuffers</strong> method. Prior to Windows?8.1, calling <strong>IDXGISwapChain::ResizeBuffers</strong> was the only way to resize the swap chain. The source rectangle is always defined by the region [0, 0, Width, Height].</p>
</summary>
<param name = "width">No documentation.</param>
<param name = "height">No documentation.</param>
<returns><p>This method can return:</p><ul> <li>E_INVALIDARG if one or more parameters exceed the size of the back buffer.</li> <li>Possibly other error codes that are described in the DXGI_ERROR topic.</li> </ul></returns>
<doc-id>dn280409</doc-id>
<unmanaged>HRESULT IDXGISwapChain2::SetSourceSize([In] unsigned int Width,[In] unsigned int Height)</unmanaged>
<unmanaged-short>IDXGISwapChain2::SetSourceSize</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.SwapChain2.GetSourceSize(System.Int32@,System.Int32@)">
<summary>
<p>Gets the source region used for the swap chain.</p><p>Use <strong>GetSourceSize</strong> to get the portion of the swap chain from which the operating system presents. The source rectangle is always defined by the region [0, 0, Width, Height]. Use <strong>SetSourceSize</strong> to set this portion of the swap chain. </p>
</summary>
<param name = "widthRef">No documentation.</param>
<param name = "heightRef">No documentation.</param>
<returns><p> This method can return error codes that are described in the DXGI_ERROR topic.</p></returns>
<doc-id>dn280408</doc-id>
<unmanaged>HRESULT IDXGISwapChain2::GetSourceSize([Out] unsigned int* pWidth,[Out] unsigned int* pHeight)</unmanaged>
<unmanaged-short>IDXGISwapChain2::GetSourceSize</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.SwapChain2.SetMaximumFrameLatency(System.Int32)">
<summary>
<p>Sets the number of frames that the swap chain is allowed to queue for rendering.</p>
</summary>
<param name = "maxLatency"><dd> <p>The maximum number of back buffer frames that will be queued for the swap chain. This value is 3 by default.</p> </dd></param>
<returns><p>Returns <see cref = "F:SharpDX.Result.Ok"/> if successful; otherwise, <see cref = "!:DeviceRemoved"/> if the device was removed.</p></returns>
<remarks>
<p>This method is only valid for use on swap chains created with <strong>DXGI_SWAP_CHAIN_FLAG_FRAME_LATENCY_WAITABLE_OBJECT</strong>. Otherwise, the result will be <see cref = "!:InvalidCall"/>.</p>
</remarks>
<doc-id>dn268313</doc-id>
<unmanaged>HRESULT IDXGISwapChain2::SetMaximumFrameLatency([In] unsigned int MaxLatency)</unmanaged>
<unmanaged-short>IDXGISwapChain2::SetMaximumFrameLatency</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.SwapChain2.GetMaximumFrameLatency(System.Int32@)">
<summary>
<p>Gets the number of frames that the swap chain is allowed to queue for rendering.</p>
</summary>
<param name = "maxLatencyRef"><dd> <p>The maximum number of back buffer frames that will be queued for the swap chain. This value is 1 by default, but should be set to 2 if the scene takes longer than it takes for one vertical refresh (typically about 16ms) to draw.</p> </dd></param>
<returns><p>Returns <see cref = "F:SharpDX.Result.Ok"/> if successful; otherwise, returns one of the following members of the D3DERR enumerated type:</p><ul> <li><strong>D3DERR_DEVICELOST</strong></li> <li><strong>D3DERR_DEVICEREMOVED</strong></li> <li><strong>D3DERR_DRIVERINTERNALERROR</strong></li> <li><strong>D3DERR_INVALIDCALL</strong></li> <li><strong>D3DERR_OUTOFVIDEOMEMORY</strong></li> </ul></returns>
<doc-id>dn268311</doc-id>
<unmanaged>HRESULT IDXGISwapChain2::GetMaximumFrameLatency([Out] unsigned int* pMaxLatency)</unmanaged>
<unmanaged-short>IDXGISwapChain2::GetMaximumFrameLatency</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.SwapChain2.GetFrameLatencyWaitableObject">
<summary>
<p>Returns a waitable handle that signals when the DXGI adapter has finished presenting a new frame.</p><p>Windows?8.1 introduces new APIs that allow lower-latency rendering by waiting until the previous frame is presented to the display before drawing the next frame. To use this method, first create the DXGI swap chain with the <strong>DXGI_SWAP_CHAIN_FLAG_FRAME_LATENCY_WAITABLE_OBJECT</strong> flag set, then call <strong>GetFrameLatencyWaitableObject</strong> to retrieve the waitable handle. Use the waitable handle with <strong>WaitForSingleObjectEx</strong> to synchronize rendering of each new frame with the end of the previous frame. For every frame it renders, the app should wait on this handle before starting any rendering operations. Note that this requirement includes the first frame the app renders with the swap chain. See the DirectXLatency sample.</p>
</summary>
<returns><p>A handle to the waitable object, or <c>null</c> if the swap chain was not created with <strong>DXGI_SWAP_CHAIN_FLAG_FRAME_LATENCY_WAITABLE_OBJECT</strong>.</p></returns>
<doc-id>dn268309</doc-id>
<unmanaged>void* IDXGISwapChain2::GetFrameLatencyWaitableObject()</unmanaged>
<unmanaged-short>IDXGISwapChain2::GetFrameLatencyWaitableObject</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.SwapChain2.SetMatrixTransform(SharpDX.Mathematics.Interop.RawMatrix3x2@)">
<summary>
<p>Sets the transform matrix that will be applied to a composition swap chain upon the next present. </p><p>Starting with Windows?8.1, Windows Store apps are able to place DirectX swap chain visuals in XAML pages using the <strong>SwapChainPanel</strong> element, which can be placed and sized arbitrarily. This exposes the DirectX swap chain visuals to touch scaling and translation scenarios using touch UI. The <strong>GetMatrixTransform</strong> and <strong>SetMatrixTransform</strong> methods are used to synchronize scaling of the DirectX swap chain with its associated <strong>SwapChainPanel</strong> element. Only simple scale/translation elements in the matrix are allowed ? the call will fail if the matrix contains skew/rotation elements.</p>
</summary>
<param name = "matrixRef">No documentation.</param>
<returns><p><strong>SetMatrixTransform</strong> returns: </p><ul> <li><see cref = "F:SharpDX.Result.Ok"/> if it successfully retrieves the transform matrix.</li> <li>E_INVALIDARG if the <em>pMatrix</em> parameter is incorrect, for example, <em>pMatrix</em> is <c>null</c> or the matrix represented by <strong><see cref = "T:SharpDX.Mathematics.Interop.RawMatrix3x2"/></strong> includes components other than scale and translation.</li> <li><see cref = "!:InvalidCall"/> if the method is called on a swap chain that was not created with <strong>CreateSwapChainForComposition</strong>.</li> <li>Possibly other error codes that are described in the DXGI_ERROR topic.</li> </ul></returns>
<doc-id>dn268312</doc-id>
<unmanaged>HRESULT IDXGISwapChain2::SetMatrixTransform([In] const DXGI_MATRIX_3X2_F* pMatrix)</unmanaged>
<unmanaged-short>IDXGISwapChain2::SetMatrixTransform</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.SwapChain2.GetMatrixTransform(SharpDX.Mathematics.Interop.RawMatrix3x2@)">
<summary>
<p>Gets the transform matrix that will be applied to a composition swap chain upon the next present. </p><p>Starting with Windows?8.1, Windows Store apps are able to place DirectX swap chain visuals in XAML pages using the <strong>SwapChainPanel</strong> element, which can be placed and sized arbitrarily. This exposes the DirectX swap chain visuals to touch scaling and translation scenarios using touch UI. The <strong>GetMatrixTransform</strong> and <strong>SetMatrixTransform</strong> methods are used to synchronize scaling of the DirectX swap chain with its associated <strong>SwapChainPanel</strong> element. Only simple scale/translation elements in the matrix are allowed ? the call will fail if the matrix contains skew/rotation elements.</p>
</summary>
<param name = "matrixRef">No documentation.</param>
<returns><p><strong>GetMatrixTransform</strong> returns: </p><ul> <li><see cref = "F:SharpDX.Result.Ok"/> if it successfully retrieves the transform matrix.</li> <li><see cref = "!:InvalidCall"/> if the method is called on a swap chain that was not created with <strong>CreateSwapChainForComposition</strong>.</li> <li>Possibly other error codes that are described in the DXGI_ERROR topic.</li> </ul></returns>
<doc-id>dn268310</doc-id>
<unmanaged>HRESULT IDXGISwapChain2::GetMatrixTransform([Out] DXGI_MATRIX_3X2_F* pMatrix)</unmanaged>
<unmanaged-short>IDXGISwapChain2::GetMatrixTransform</unmanaged-short>
</member>
<member name="T:SharpDX.DXGI.VirtualSurfaceUpdatesCallbackNativeShadow">
<summary>
Internal VirtualSurfaceUpdatesCallbackNative Callback
</summary>
</member>
<member name="M:SharpDX.DXGI.VirtualSurfaceUpdatesCallbackNativeShadow.ToIntPtr(SharpDX.DXGI.IVirtualSurfaceUpdatesCallbackNative)">
<summary>
Get a native callback pointer from a managed callback.
</summary>
<param name="virtualSurfaceUpdatesCallbackNative">The geometry sink.</param>
<returns>A pointer to the unmanaged geometry sink counterpart</returns>
</member>
<member name="F:SharpDX.DXGI.AdapterFlags.None">
<summary>
<dd> <p>Specifies no flags.</p> </dd>
</summary>
<doc-id>ff471327</doc-id>
<unmanaged>DXGI_ADAPTER_FLAG_NONE</unmanaged>
<unmanaged-short>DXGI_ADAPTER_FLAG_NONE</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.AdapterFlags.Remote">
<summary>
<dd> <p>Value always set to 0. This flag is reserved.</p> </dd>
</summary>
<doc-id>ff471327</doc-id>
<unmanaged>DXGI_ADAPTER_FLAG_REMOTE</unmanaged>
<unmanaged-short>DXGI_ADAPTER_FLAG_REMOTE</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.AdapterFlags.Software">
<summary>
<dd> <p>Specifies a software adapter. For more info about this flag, see new info in Windows?8 about enumerating adapters.</p> <p><strong>Direct3D 11:??</strong>This enumeration value is supported starting with Windows?8.</p> </dd>
</summary>
<doc-id>ff471327</doc-id>
<unmanaged>DXGI_ADAPTER_FLAG_SOFTWARE</unmanaged>
<unmanaged-short>DXGI_ADAPTER_FLAG_SOFTWARE</unmanaged-short>
</member>
<member name="T:SharpDX.DXGI.AdapterFlags3">
<summary>
<p>Identifies the type of DXGI adapter.</p>
</summary>
<remarks>
<p>The <strong><see cref = "T:SharpDX.DXGI.AdapterFlags"/></strong> enumerated type is used by the <strong>Flags</strong> member of the <strong><see cref = "T:SharpDX.DXGI.AdapterDescription1"/></strong> or <strong><see cref = "T:SharpDX.DXGI.AdapterDescription2"/></strong> structure to identify the type of DXGI adapter.</p>
</remarks>
<doc-id>ff471327</doc-id>
<unmanaged>DXGI_ADAPTER_FLAG3</unmanaged>
<unmanaged-short>DXGI_ADAPTER_FLAG3</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.AdapterFlags3.None">
<summary>
<dd> <p>Specifies no flags.</p> </dd>
</summary>
<doc-id>ff471327</doc-id>
<unmanaged>DXGI_ADAPTER_FLAG3_NONE</unmanaged>
<unmanaged-short>DXGI_ADAPTER_FLAG3_NONE</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.AdapterFlags3.Remote">
<summary>
<dd> <p>Value always set to 0. This flag is reserved.</p> </dd>
</summary>
<doc-id>ff471327</doc-id>
<unmanaged>DXGI_ADAPTER_FLAG3_REMOTE</unmanaged>
<unmanaged-short>DXGI_ADAPTER_FLAG3_REMOTE</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.AdapterFlags3.Software">
<summary>
<dd> <p>Specifies a software adapter. For more info about this flag, see new info in Windows?8 about enumerating adapters.</p> <p><strong>Direct3D 11:??</strong>This enumeration value is supported starting with Windows?8.</p> </dd>
</summary>
<doc-id>ff471327</doc-id>
<unmanaged>DXGI_ADAPTER_FLAG3_SOFTWARE</unmanaged>
<unmanaged-short>DXGI_ADAPTER_FLAG3_SOFTWARE</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.AdapterFlags3.AcgCompatible">
<summary>
<dd> <p>Forces this enumeration to compile to 32 bits in size. Without this value, some compilers would allow this enumeration to compile to a size other than 32 bits. This value is not used.</p> </dd>
</summary>
<doc-id>ff471327</doc-id>
<unmanaged>DXGI_ADAPTER_FLAG3_ACG_COMPATIBLE</unmanaged>
<unmanaged-short>DXGI_ADAPTER_FLAG3_ACG_COMPATIBLE</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.AdapterFlags3.SupportMonitoredFences">
<summary>
No documentation.
</summary>
<doc-id>ff471327</doc-id>
<unmanaged>DXGI_ADAPTER_FLAG3_SUPPORT_MONITORED_FENCES</unmanaged>
<unmanaged-short>DXGI_ADAPTER_FLAG3_SUPPORT_MONITORED_FENCES</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.AdapterFlags3.SupportNonMonitoredFences">
<summary>
No documentation.
</summary>
<doc-id>ff471327</doc-id>
<unmanaged>DXGI_ADAPTER_FLAG3_SUPPORT_NON_MONITORED_FENCES</unmanaged>
<unmanaged-short>DXGI_ADAPTER_FLAG3_SUPPORT_NON_MONITORED_FENCES</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.AdapterFlags3.KeyedMutexConformance">
<summary>
No documentation.
</summary>
<doc-id>ff471327</doc-id>
<unmanaged>DXGI_ADAPTER_FLAG3_KEYED_MUTEX_CONFORMANCE</unmanaged>
<unmanaged-short>DXGI_ADAPTER_FLAG3_KEYED_MUTEX_CONFORMANCE</unmanaged-short>
</member>
<member name="T:SharpDX.DXGI.AlphaMode">
<summary>
<p>Identifies the alpha value, transparency behavior, of a surface.</p>
</summary>
<remarks>
<p>For more information about alpha mode, see <strong><see cref = "!:SharpDX.Direct2D1.AlphaMode"/></strong>.</p>
</remarks>
<doc-id>hh404496</doc-id>
<unmanaged>DXGI_ALPHA_MODE</unmanaged>
<unmanaged-short>DXGI_ALPHA_MODE</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.AlphaMode.Unspecified">
<summary>
<dd> <p>Indicates that the transparency behavior is not specified.</p> </dd>
</summary>
<doc-id>hh404496</doc-id>
<unmanaged>DXGI_ALPHA_MODE_UNSPECIFIED</unmanaged>
<unmanaged-short>DXGI_ALPHA_MODE_UNSPECIFIED</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.AlphaMode.Premultiplied">
<summary>
<dd> <p>Indicates that the transparency behavior is premultiplied. Each color is first scaled by the alpha value. The alpha value itself is the same in both straight and premultiplied alpha. Typically, no color channel value is greater than the alpha channel value. If a color channel value in a premultiplied format is greater than the alpha channel, the standard source-over blending math results in an additive blend.</p> </dd>
</summary>
<doc-id>hh404496</doc-id>
<unmanaged>DXGI_ALPHA_MODE_PREMULTIPLIED</unmanaged>
<unmanaged-short>DXGI_ALPHA_MODE_PREMULTIPLIED</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.AlphaMode.Straight">
<summary>
<dd> <p>Indicates that the transparency behavior is not premultiplied. The alpha channel indicates the transparency of the color.</p> </dd>
</summary>
<doc-id>hh404496</doc-id>
<unmanaged>DXGI_ALPHA_MODE_STRAIGHT</unmanaged>
<unmanaged-short>DXGI_ALPHA_MODE_STRAIGHT</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.AlphaMode.Ignore">
<summary>
<dd> <p>Indicates to ignore the transparency behavior.</p> </dd>
</summary>
<doc-id>hh404496</doc-id>
<unmanaged>DXGI_ALPHA_MODE_IGNORE</unmanaged>
<unmanaged-short>DXGI_ALPHA_MODE_IGNORE</unmanaged-short>
</member>
<member name="T:SharpDX.DXGI.ColorSpaceType">
<summary>
<p>Specifies color space types.</p>
</summary>
<remarks>
<p>This enum is used within DXGI in the <strong>CheckColorSpaceSupport</strong>, <strong>SetColorSpace1</strong> and <strong>CheckOverlayColorSpaceSupport</strong> methods. It is also referenced in D3D11 video methods such as <strong>ID3D11VideoContext1::VideoProcessorSetOutputColorSpace1</strong>, and D2D methods such as <strong>ID2D1DeviceContext2::CreateImageSourceFromDxgi</strong>.</p><p>The following color parameters are defined:</p>
</remarks>
<doc-id>dn903661</doc-id>
<unmanaged>DXGI_COLOR_SPACE_TYPE</unmanaged>
<unmanaged-short>DXGI_COLOR_SPACE_TYPE</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.ColorSpaceType.RgbFullG22NoneP709">
<summary>
<dd> <table> <tr><td><strong>Property</strong></td><td><strong>Value</strong></td></tr> <tr><td>Colorspace</td><td>RGB</td></tr> <tr><td>Range</td><td>0-255</td></tr> <tr><td>Gamma</td><td>2.2</td></tr> <tr><td>Siting</td><td>Image</td></tr> <tr><td>Primaries</td><td>BT.709</td></tr> </table> <p>?</p> <p>This is the standard definition for sRGB. Note that this is often implemented with a linear segment, but in that case the exponent is corrected to stay aligned with a gamma 2.2 curve. This is usually used with 8 bit and 10 bit color channels.
</p> </dd>
</summary>
<doc-id>dn903661</doc-id>
<unmanaged>DXGI_COLOR_SPACE_RGB_FULL_G22_NONE_P709</unmanaged>
<unmanaged-short>DXGI_COLOR_SPACE_RGB_FULL_G22_NONE_P709</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.ColorSpaceType.RgbFullG10NoneP709">
<summary>
<dd> <table> <tr><td><strong>Property</strong></td><td><strong>Value</strong></td></tr> <tr><td>Colorspace</td><td>RGB</td></tr> <tr><td>Range</td><td>0-255</td></tr> <tr><td>Gamma</td><td>1.0</td></tr> <tr><td>Siting</td><td>Image</td></tr> <tr><td>Primaries</td><td>BT.709</td></tr> </table> <p>?</p> <p>This is the standard definition for scRGB, and is usually used with 16 bit integer, 16 bit floating point, and 32 bit floating point channels.
</p> </dd>
</summary>
<doc-id>dn903661</doc-id>
<unmanaged>DXGI_COLOR_SPACE_RGB_FULL_G10_NONE_P709</unmanaged>
<unmanaged-short>DXGI_COLOR_SPACE_RGB_FULL_G10_NONE_P709</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.ColorSpaceType.RgbStudioG22NoneP709">
<summary>
<dd> <table> <tr><td><strong>Property</strong></td><td><strong>Value</strong></td></tr> <tr><td>Colorspace</td><td>RGB</td></tr> <tr><td>Range</td><td>16-235</td></tr> <tr><td>Gamma</td><td>2.2</td></tr> <tr><td>Siting</td><td>Image</td></tr> <tr><td>Primaries</td><td>BT.709</td></tr> </table> <p>?</p> <p>This is the standard definition for ITU-R Recommendation BT.709. Note that due to the inclusion of a linear segment, the transfer curve looks similar to a pure exponential gamma of 1.9. This is usually used with 8 bit and 10 bit color channels.
</p> </dd>
</summary>
<doc-id>dn903661</doc-id>
<unmanaged>DXGI_COLOR_SPACE_RGB_STUDIO_G22_NONE_P709</unmanaged>
<unmanaged-short>DXGI_COLOR_SPACE_RGB_STUDIO_G22_NONE_P709</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.ColorSpaceType.RgbStudioG22NoneP2020">
<summary>
<dd> <table> <tr><td><strong>Property</strong></td><td><strong>Value</strong></td></tr> <tr><td>Colorspace</td><td>RGB</td></tr> <tr><td>Range</td><td>16-235</td></tr> <tr><td>Gamma</td><td>2.2</td></tr> <tr><td>Siting</td><td>Image</td></tr> <tr><td>Primaries</td><td>BT.2020</td></tr> </table> <p>?</p> <p>This is usually used with 10, 12, or 16 bit color channels.
</p> </dd>
</summary>
<doc-id>dn903661</doc-id>
<unmanaged>DXGI_COLOR_SPACE_RGB_STUDIO_G22_NONE_P2020</unmanaged>
<unmanaged-short>DXGI_COLOR_SPACE_RGB_STUDIO_G22_NONE_P2020</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.ColorSpaceType.Reserved">
<summary>
<dd> <p>Reserved.</p> </dd>
</summary>
<doc-id>dn903661</doc-id>
<unmanaged>DXGI_COLOR_SPACE_RESERVED</unmanaged>
<unmanaged-short>DXGI_COLOR_SPACE_RESERVED</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.ColorSpaceType.YcbcrFullG22NoneP709X601">
<summary>
<dd> <table> <tr><td><strong>Property</strong></td><td><strong>Value</strong></td></tr> <tr><td>Colorspace</td><td>YCbCr</td></tr> <tr><td>Range</td><td>0-255</td></tr> <tr><td>Gamma</td><td>2.2</td></tr> <tr><td>Siting</td><td>Image</td></tr> <tr><td>Primaries</td><td>BT.709</td></tr> <tr><td>Transfer</td><td>BT.601</td></tr> </table> <p>?</p> <p>This definition is commonly used for JPG, and is usually used with 8, 10, 12, or 16 bit color channels.
</p> </dd>
</summary>
<doc-id>dn903661</doc-id>
<unmanaged>DXGI_COLOR_SPACE_YCBCR_FULL_G22_NONE_P709_X601</unmanaged>
<unmanaged-short>DXGI_COLOR_SPACE_YCBCR_FULL_G22_NONE_P709_X601</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.ColorSpaceType.YcbcrStudioG22LeftP601">
<summary>
<dd> <table> <tr><td><strong>Property</strong></td><td><strong>Value</strong></td></tr> <tr><td>Colorspace</td><td>YCbCr</td></tr> <tr><td>Range</td><td>16-235</td></tr> <tr><td>Gamma</td><td>2.2</td></tr> <tr><td>Siting</td><td>Video</td></tr> <tr><td>Primaries</td><td>BT.601</td></tr> </table> <p>?</p> <p>This definition is commonly used for MPEG2, and is usually used with 8, 10, 12, or 16 bit color channels.
</p> </dd>
</summary>
<doc-id>dn903661</doc-id>
<unmanaged>DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_LEFT_P601</unmanaged>
<unmanaged-short>DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_LEFT_P601</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.ColorSpaceType.YcbcrFullG22LeftP601">
<summary>
<dd> <table> <tr><td><strong>Property</strong></td><td><strong>Value</strong></td></tr> <tr><td>Colorspace</td><td>YCbCr</td></tr> <tr><td>Range</td><td>0-255</td></tr> <tr><td>Gamma</td><td>2.2</td></tr> <tr><td>Siting</td><td>Video</td></tr> <tr><td>Primaries</td><td>BT.601</td></tr> </table> <p>?</p> <p>This is sometimes used for H.264 camera capture, and is usually used with 8, 10, 12, or 16 bit color channels.
</p> </dd>
</summary>
<doc-id>dn903661</doc-id>
<unmanaged>DXGI_COLOR_SPACE_YCBCR_FULL_G22_LEFT_P601</unmanaged>
<unmanaged-short>DXGI_COLOR_SPACE_YCBCR_FULL_G22_LEFT_P601</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.ColorSpaceType.YcbcrStudioG22LeftP709">
<summary>
<dd> <table> <tr><td><strong>Property</strong></td><td><strong>Value</strong></td></tr> <tr><td>Colorspace</td><td>YCbCr</td></tr> <tr><td>Range</td><td>16-235</td></tr> <tr><td>Gamma</td><td>2.2</td></tr> <tr><td>Siting</td><td>Video</td></tr> <tr><td>Primaries</td><td>BT.709</td></tr> </table> <p>?</p> <p>This definition is commonly used for H.264 and HEVC, and is usually used with 8, 10, 12, or 16 bit color channels.
</p> </dd>
</summary>
<doc-id>dn903661</doc-id>
<unmanaged>DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_LEFT_P709</unmanaged>
<unmanaged-short>DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_LEFT_P709</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.ColorSpaceType.YcbcrFullG22LeftP709">
<summary>
<dd> <table> <tr><td><strong>Property</strong></td><td><strong>Value</strong></td></tr> <tr><td>Colorspace</td><td>YCbCr</td></tr> <tr><td>Range</td><td>0-255</td></tr> <tr><td>Gamma</td><td>2.2</td></tr> <tr><td>Siting</td><td>Video</td></tr> <tr><td>Primaries</td><td>BT.709</td></tr> </table> <p>?</p> <p>This is sometimes used for H.264 camera capture, and is usually used with 8, 10, 12, or 16 bit color channels.
</p> </dd>
</summary>
<doc-id>dn903661</doc-id>
<unmanaged>DXGI_COLOR_SPACE_YCBCR_FULL_G22_LEFT_P709</unmanaged>
<unmanaged-short>DXGI_COLOR_SPACE_YCBCR_FULL_G22_LEFT_P709</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.ColorSpaceType.YcbcrStudioG22LeftP2020">
<summary>
<dd> <table> <tr><td><strong>Property</strong></td><td><strong>Value</strong></td></tr> <tr><td>Colorspace</td><td>YCbCr</td></tr> <tr><td>Range</td><td>16-235</td></tr> <tr><td>Gamma</td><td>2.2</td></tr> <tr><td>Siting</td><td>Video</td></tr> <tr><td>Primaries</td><td>BT.2020</td></tr> </table> <p>?</p> <p>This definition may be used by HEVC, and is usually used with 10, 12, or 16 bit color channels.
</p> </dd>
</summary>
<doc-id>dn903661</doc-id>
<unmanaged>DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_LEFT_P2020</unmanaged>
<unmanaged-short>DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_LEFT_P2020</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.ColorSpaceType.YcbcrFullG22LeftP2020">
<summary>
<dd> <table> <tr><td><strong>Property</strong></td><td><strong>Value</strong></td></tr> <tr><td>Colorspace</td><td>YCbCr</td></tr> <tr><td>Range</td><td>0-255</td></tr> <tr><td>Gamma</td><td>2.2</td></tr> <tr><td>Siting</td><td>Video</td></tr> <tr><td>Primaries</td><td>BT.2020</td></tr> </table> <p>?</p> <p>This is usually used with 10, 12, or 16 bit color channels.</p> </dd>
</summary>
<doc-id>dn903661</doc-id>
<unmanaged>DXGI_COLOR_SPACE_YCBCR_FULL_G22_LEFT_P2020</unmanaged>
<unmanaged-short>DXGI_COLOR_SPACE_YCBCR_FULL_G22_LEFT_P2020</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.ColorSpaceType.RgbFullG2084NoneP2020">
<summary>
<dd> <table> <tr><td><strong>Property</strong></td><td><strong>Value</strong></td></tr> <tr><td>Colorspace</td><td>RGB</td></tr> <tr><td>Range</td><td>0-255</td></tr> <tr><td>Gamma</td><td>2084</td></tr> <tr><td>Siting</td><td>Image</td></tr> <tr><td>Primaries</td><td>BT.2020</td></tr> </table> <p>?</p> <p>This is usually used with 10, 12, or 16 bit color channels.</p> </dd>
</summary>
<doc-id>dn903661</doc-id>
<unmanaged>DXGI_COLOR_SPACE_RGB_FULL_G2084_NONE_P2020</unmanaged>
<unmanaged-short>DXGI_COLOR_SPACE_RGB_FULL_G2084_NONE_P2020</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.ColorSpaceType.YcbcrStudioG2084LeftP2020">
<summary>
<dd> <table> <tr><td><strong>Property</strong></td><td><strong>Value</strong></td></tr> <tr><td>Colorspace</td><td>YCbCr</td></tr> <tr><td>Range</td><td>16-235</td></tr> <tr><td>Gamma</td><td>2084</td></tr> <tr><td>Siting</td><td>Video</td></tr> <tr><td>Primaries</td><td>BT.2020</td></tr> </table> <p>?</p> <p>This is usually used with 10, 12, or 16 bit color channels.</p> </dd>
</summary>
<doc-id>dn903661</doc-id>
<unmanaged>DXGI_COLOR_SPACE_YCBCR_STUDIO_G2084_LEFT_P2020</unmanaged>
<unmanaged-short>DXGI_COLOR_SPACE_YCBCR_STUDIO_G2084_LEFT_P2020</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.ColorSpaceType.RgbStudioG2084NoneP2020">
<summary>
<dd> <table> <tr><td><strong>Property</strong></td><td><strong>Value</strong></td></tr> <tr><td>Colorspace</td><td>RGB</td></tr> <tr><td>Range</td><td>16-235</td></tr> <tr><td>Gamma</td><td>2084</td></tr> <tr><td>Siting</td><td>Image</td></tr> <tr><td>Primaries</td><td>BT.2020</td></tr> </table> <p>?</p> <p>This is usually used with 10, 12, or 16 bit color channels.</p> </dd>
</summary>
<doc-id>dn903661</doc-id>
<unmanaged>DXGI_COLOR_SPACE_RGB_STUDIO_G2084_NONE_P2020</unmanaged>
<unmanaged-short>DXGI_COLOR_SPACE_RGB_STUDIO_G2084_NONE_P2020</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.ColorSpaceType.YcbcrStudioG22TopleftP2020">
<summary>
<dd> <table> <tr><td><strong>Property</strong></td><td><strong>Value</strong></td></tr> <tr><td>Colorspace</td><td>YCbCr</td></tr> <tr><td>Range</td><td>16-235</td></tr> <tr><td>Gamma</td><td>2.2</td></tr> <tr><td>Siting</td><td>Video</td></tr> <tr><td>Primaries</td><td>BT.2020</td></tr> </table> <p>?</p> <p>This is usually used with 10, 12, or 16 bit color channels.</p> </dd>
</summary>
<doc-id>dn903661</doc-id>
<unmanaged>DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_TOPLEFT_P2020</unmanaged>
<unmanaged-short>DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_TOPLEFT_P2020</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.ColorSpaceType.YcbcrStudioG2084TopleftP2020">
<summary>
<dd> <table> <tr><td><strong>Property</strong></td><td><strong>Value</strong></td></tr> <tr><td>Colorspace</td><td>YCbCr</td></tr> <tr><td>Range</td><td>16-235</td></tr> <tr><td>Gamma</td><td>2084</td></tr> <tr><td>Siting</td><td>Video</td></tr> <tr><td>Primaries</td><td>BT.2020</td></tr> </table> <p>?</p> <p>This is usually used with 10, 12, or 16 bit color channels.</p> </dd>
</summary>
<doc-id>dn903661</doc-id>
<unmanaged>DXGI_COLOR_SPACE_YCBCR_STUDIO_G2084_TOPLEFT_P2020</unmanaged>
<unmanaged-short>DXGI_COLOR_SPACE_YCBCR_STUDIO_G2084_TOPLEFT_P2020</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.ColorSpaceType.RgbFullG22NoneP2020">
<summary>
<dd> <table> <tr><td><strong>Property</strong></td><td><strong>Value</strong></td></tr> <tr><td>Colorspace</td><td>RGB</td></tr> <tr><td>Range</td><td>0-255</td></tr> <tr><td>Gamma</td><td>2.2</td></tr> <tr><td>Siting</td><td>Image</td></tr> <tr><td>Primaries</td><td>BT.2020</td></tr> </table> <p>?</p> <p>This is usually used with 10, 12, or 16 bit color channels.</p> </dd>
</summary>
<doc-id>dn903661</doc-id>
<unmanaged>DXGI_COLOR_SPACE_RGB_FULL_G22_NONE_P2020</unmanaged>
<unmanaged-short>DXGI_COLOR_SPACE_RGB_FULL_G22_NONE_P2020</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.ColorSpaceType.YcbcrStudioGhlgTopleftP2020">
<summary>
<dd> <p>A custom color definition is used. </p> </dd>
</summary>
<doc-id>dn903661</doc-id>
<unmanaged>DXGI_COLOR_SPACE_YCBCR_STUDIO_GHLG_TOPLEFT_P2020</unmanaged>
<unmanaged-short>DXGI_COLOR_SPACE_YCBCR_STUDIO_GHLG_TOPLEFT_P2020</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.ColorSpaceType.YcbcrFullGhlgTopleftP2020">
<summary>
No documentation.
</summary>
<doc-id>dn903661</doc-id>
<unmanaged>DXGI_COLOR_SPACE_YCBCR_FULL_GHLG_TOPLEFT_P2020</unmanaged>
<unmanaged-short>DXGI_COLOR_SPACE_YCBCR_FULL_GHLG_TOPLEFT_P2020</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.ColorSpaceType.RgbStudioG24NoneP709">
<summary>
No documentation.
</summary>
<doc-id>dn903661</doc-id>
<unmanaged>DXGI_COLOR_SPACE_RGB_STUDIO_G24_NONE_P709</unmanaged>
<unmanaged-short>DXGI_COLOR_SPACE_RGB_STUDIO_G24_NONE_P709</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.ColorSpaceType.RgbStudioG24NoneP2020">
<summary>
No documentation.
</summary>
<doc-id>dn903661</doc-id>
<unmanaged>DXGI_COLOR_SPACE_RGB_STUDIO_G24_NONE_P2020</unmanaged>
<unmanaged-short>DXGI_COLOR_SPACE_RGB_STUDIO_G24_NONE_P2020</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.ColorSpaceType.YcbcrStudioG24LeftP709">
<summary>
No documentation.
</summary>
<doc-id>dn903661</doc-id>
<unmanaged>DXGI_COLOR_SPACE_YCBCR_STUDIO_G24_LEFT_P709</unmanaged>
<unmanaged-short>DXGI_COLOR_SPACE_YCBCR_STUDIO_G24_LEFT_P709</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.ColorSpaceType.YcbcrStudioG24LeftP2020">
<summary>
No documentation.
</summary>
<doc-id>dn903661</doc-id>
<unmanaged>DXGI_COLOR_SPACE_YCBCR_STUDIO_G24_LEFT_P2020</unmanaged>
<unmanaged-short>DXGI_COLOR_SPACE_YCBCR_STUDIO_G24_LEFT_P2020</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.ColorSpaceType.YcbcrStudioG24TopleftP2020">
<summary>
No documentation.
</summary>
<doc-id>dn903661</doc-id>
<unmanaged>DXGI_COLOR_SPACE_YCBCR_STUDIO_G24_TOPLEFT_P2020</unmanaged>
<unmanaged-short>DXGI_COLOR_SPACE_YCBCR_STUDIO_G24_TOPLEFT_P2020</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.ColorSpaceType.Custom">
<summary>
<dd> <p>A custom color definition is used. </p> </dd>
</summary>
<doc-id>dn903661</doc-id>
<unmanaged>DXGI_COLOR_SPACE_CUSTOM</unmanaged>
<unmanaged-short>DXGI_COLOR_SPACE_CUSTOM</unmanaged-short>
</member>
<member name="T:SharpDX.DXGI.ComputePreemptionGranularity">
<summary>
<p>Identifies the granularity at which the graphics processing unit (GPU) can be preempted from performing its current compute task.</p>
</summary>
<remarks>
<p>You call the <strong>IDXGIAdapter2::GetDesc2</strong> method to retrieve the granularity level at which the GPU can be preempted from performing its current compute task. The operating system specifies the compute granularity level in the <strong>ComputePreemptionGranularity</strong> member of the <strong><see cref = "T:SharpDX.DXGI.AdapterDescription2"/></strong> structure.</p>
</remarks>
<doc-id>hh404499</doc-id>
<unmanaged>DXGI_COMPUTE_PREEMPTION_GRANULARITY</unmanaged>
<unmanaged-short>DXGI_COMPUTE_PREEMPTION_GRANULARITY</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.ComputePreemptionGranularity.DmaBufferBoundary">
<summary>
<dd> <p>Indicates the preemption granularity as a compute packet.</p> </dd>
</summary>
<doc-id>hh404499</doc-id>
<unmanaged>DXGI_COMPUTE_PREEMPTION_DMA_BUFFER_BOUNDARY</unmanaged>
<unmanaged-short>DXGI_COMPUTE_PREEMPTION_DMA_BUFFER_BOUNDARY</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.ComputePreemptionGranularity.DispatchBoundary">
<summary>
<dd> <p>Indicates the preemption granularity as a dispatch (for example, a call to the <strong>ID3D11DeviceContext::Dispatch</strong> method). A dispatch is a part of a compute packet.</p> </dd>
</summary>
<doc-id>hh404499</doc-id>
<unmanaged>DXGI_COMPUTE_PREEMPTION_DISPATCH_BOUNDARY</unmanaged>
<unmanaged-short>DXGI_COMPUTE_PREEMPTION_DISPATCH_BOUNDARY</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.ComputePreemptionGranularity.ThreadGroupBoundary">
<summary>
<dd> <p>Indicates the preemption granularity as a thread group. A thread group is a part of a dispatch.</p> </dd>
</summary>
<doc-id>hh404499</doc-id>
<unmanaged>DXGI_COMPUTE_PREEMPTION_THREAD_GROUP_BOUNDARY</unmanaged>
<unmanaged-short>DXGI_COMPUTE_PREEMPTION_THREAD_GROUP_BOUNDARY</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.ComputePreemptionGranularity.ThreadBoundary">
<summary>
<dd> <p>Indicates the preemption granularity as a thread in a thread group. A thread is a part of a thread group.</p> </dd>
</summary>
<doc-id>hh404499</doc-id>
<unmanaged>DXGI_COMPUTE_PREEMPTION_THREAD_BOUNDARY</unmanaged>
<unmanaged-short>DXGI_COMPUTE_PREEMPTION_THREAD_BOUNDARY</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.ComputePreemptionGranularity.InstructionBoundary">
<summary>
<dd> <p>Indicates the preemption granularity as a compute instruction in a thread.</p> </dd>
</summary>
<doc-id>hh404499</doc-id>
<unmanaged>DXGI_COMPUTE_PREEMPTION_INSTRUCTION_BOUNDARY</unmanaged>
<unmanaged-short>DXGI_COMPUTE_PREEMPTION_INSTRUCTION_BOUNDARY</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.DebugRloFlags.Summary">
<summary>
No documentation.
</summary>
<doc-id>hh780345</doc-id>
<unmanaged>DXGI_DEBUG_RLO_SUMMARY</unmanaged>
<unmanaged-short>DXGI_DEBUG_RLO_SUMMARY</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.DebugRloFlags.Detail">
<summary>
No documentation.
</summary>
<doc-id>hh780345</doc-id>
<unmanaged>DXGI_DEBUG_RLO_DETAIL</unmanaged>
<unmanaged-short>DXGI_DEBUG_RLO_DETAIL</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.DebugRloFlags.IgnoreInternal">
<summary>
No documentation.
</summary>
<doc-id>hh780345</doc-id>
<unmanaged>DXGI_DEBUG_RLO_IGNORE_INTERNAL</unmanaged>
<unmanaged-short>DXGI_DEBUG_RLO_IGNORE_INTERNAL</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.DebugRloFlags.All">
<summary>
No documentation.
</summary>
<doc-id>hh780345</doc-id>
<unmanaged>DXGI_DEBUG_RLO_ALL</unmanaged>
<unmanaged-short>DXGI_DEBUG_RLO_ALL</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.DebugRloFlags.None">
<summary>
None
</summary>
<unmanaged>None</unmanaged>
<unmanaged-short>None</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.DisplayModeEnumerationFlags.Interlaced">
<summary>
No documentation.
</summary>
<unmanaged>DXGI_ENUM_MODES_INTERLACED</unmanaged>
<unmanaged-short>DXGI_ENUM_MODES_INTERLACED</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.DisplayModeEnumerationFlags.Scaling">
<summary>
No documentation.
</summary>
<unmanaged>DXGI_ENUM_MODES_SCALING</unmanaged>
<unmanaged-short>DXGI_ENUM_MODES_SCALING</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.DisplayModeEnumerationFlags.Stereo">
<summary>
No documentation.
</summary>
<unmanaged>DXGI_ENUM_MODES_STEREO</unmanaged>
<unmanaged-short>DXGI_ENUM_MODES_STEREO</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.DisplayModeEnumerationFlags.DisabledStereo">
<summary>
No documentation.
</summary>
<unmanaged>DXGI_ENUM_MODES_DISABLED_STEREO</unmanaged>
<unmanaged-short>DXGI_ENUM_MODES_DISABLED_STEREO</unmanaged-short>
</member>
<member name="T:SharpDX.DXGI.DisplayModeRotation">
<summary>
<p>Flags that indicate how the back buffers should be rotated to fit the physical rotation of a monitor.</p>
</summary>
<doc-id>bb173065</doc-id>
<unmanaged>DXGI_MODE_ROTATION</unmanaged>
<unmanaged-short>DXGI_MODE_ROTATION</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.DisplayModeRotation.Unspecified">
<summary>
<dd> <p>Unspecified rotation.</p> </dd>
</summary>
<doc-id>bb173065</doc-id>
<unmanaged>DXGI_MODE_ROTATION_UNSPECIFIED</unmanaged>
<unmanaged-short>DXGI_MODE_ROTATION_UNSPECIFIED</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.DisplayModeRotation.Identity">
<summary>
<dd> <p>Specifies no rotation.</p> </dd>
</summary>
<doc-id>bb173065</doc-id>
<unmanaged>DXGI_MODE_ROTATION_IDENTITY</unmanaged>
<unmanaged-short>DXGI_MODE_ROTATION_IDENTITY</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.DisplayModeRotation.Rotate90">
<summary>
<dd> <p>Specifies 90 degrees of rotation.</p> </dd>
</summary>
<doc-id>bb173065</doc-id>
<unmanaged>DXGI_MODE_ROTATION_ROTATE90</unmanaged>
<unmanaged-short>DXGI_MODE_ROTATION_ROTATE90</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.DisplayModeRotation.Rotate180">
<summary>
<dd> <p>Specifies 180 degrees of rotation.</p> </dd>
</summary>
<doc-id>bb173065</doc-id>
<unmanaged>DXGI_MODE_ROTATION_ROTATE180</unmanaged>
<unmanaged-short>DXGI_MODE_ROTATION_ROTATE180</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.DisplayModeRotation.Rotate270">
<summary>
<dd> <p>Specifies 270 degrees of rotation.</p> </dd>
</summary>
<doc-id>bb173065</doc-id>
<unmanaged>DXGI_MODE_ROTATION_ROTATE270</unmanaged>
<unmanaged-short>DXGI_MODE_ROTATION_ROTATE270</unmanaged-short>
</member>
<member name="T:SharpDX.DXGI.DisplayModeScaling">
<summary>
<p>Flags indicating how an image is stretched to fit a given monitor's resolution.</p>
</summary>
<remarks>
<p>Selecting the CENTERED or STRETCHED modes can result in a mode change even if you specify the native resolution of the display in the <see cref = "T:SharpDX.DXGI.ModeDescription"/>. If you know the native resolution of the display and want to make sure that you do not initiate a mode change when transitioning a swap chain to full screen (either via ALT+ENTER or <strong>IDXGISwapChain::SetFullscreenState</strong>), you should use UNSPECIFIED.</p><p>This enum is used by the <strong><see cref = "T:SharpDX.DXGI.ModeDescription1"/></strong> and <strong><see cref = "T:SharpDX.DXGI.SwapChainFullScreenDescription"/></strong> structures.</p>
</remarks>
<doc-id>bb173066</doc-id>
<unmanaged>DXGI_MODE_SCALING</unmanaged>
<unmanaged-short>DXGI_MODE_SCALING</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.DisplayModeScaling.Unspecified">
<summary>
<dd> <p>Unspecified scaling.</p> </dd>
</summary>
<doc-id>bb173066</doc-id>
<unmanaged>DXGI_MODE_SCALING_UNSPECIFIED</unmanaged>
<unmanaged-short>DXGI_MODE_SCALING_UNSPECIFIED</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.DisplayModeScaling.Centered">
<summary>
<dd> <p>Specifies no scaling. The image is centered on the display. This flag is typically used for a fixed-dot-pitch display (such as an LED display).</p> </dd>
</summary>
<doc-id>bb173066</doc-id>
<unmanaged>DXGI_MODE_SCALING_CENTERED</unmanaged>
<unmanaged-short>DXGI_MODE_SCALING_CENTERED</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.DisplayModeScaling.Stretched">
<summary>
<dd> <p>Specifies stretched scaling.</p> </dd>
</summary>
<doc-id>bb173066</doc-id>
<unmanaged>DXGI_MODE_SCALING_STRETCHED</unmanaged>
<unmanaged-short>DXGI_MODE_SCALING_STRETCHED</unmanaged-short>
</member>
<member name="T:SharpDX.DXGI.DisplayModeScanlineOrder">
<summary>
<p>Flags indicating the method the raster uses to create an image on a surface.</p>
</summary>
<remarks>
<p>This enum is used by the <strong><see cref = "T:SharpDX.DXGI.ModeDescription1"/></strong> and <strong><see cref = "T:SharpDX.DXGI.SwapChainFullScreenDescription"/></strong> structures.</p>
</remarks>
<doc-id>bb173067</doc-id>
<unmanaged>DXGI_MODE_SCANLINE_ORDER</unmanaged>
<unmanaged-short>DXGI_MODE_SCANLINE_ORDER</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.DisplayModeScanlineOrder.Unspecified">
<summary>
<dd> <p>Scanline order is unspecified.</p> </dd>
</summary>
<doc-id>bb173067</doc-id>
<unmanaged>DXGI_MODE_SCANLINE_ORDER_UNSPECIFIED</unmanaged>
<unmanaged-short>DXGI_MODE_SCANLINE_ORDER_UNSPECIFIED</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.DisplayModeScanlineOrder.Progressive">
<summary>
<dd> <p>The image is created from the first scanline to the last without skipping any.</p> </dd>
</summary>
<doc-id>bb173067</doc-id>
<unmanaged>DXGI_MODE_SCANLINE_ORDER_PROGRESSIVE</unmanaged>
<unmanaged-short>DXGI_MODE_SCANLINE_ORDER_PROGRESSIVE</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.DisplayModeScanlineOrder.UpperFieldFirst">
<summary>
<dd> <p>The image is created beginning with the upper field.</p> </dd>
</summary>
<doc-id>bb173067</doc-id>
<unmanaged>DXGI_MODE_SCANLINE_ORDER_UPPER_FIELD_FIRST</unmanaged>
<unmanaged-short>DXGI_MODE_SCANLINE_ORDER_UPPER_FIELD_FIRST</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.DisplayModeScanlineOrder.LowerFieldFirst">
<summary>
<dd> <p>The image is created beginning with the lower field.</p> </dd>
</summary>
<doc-id>bb173067</doc-id>
<unmanaged>DXGI_MODE_SCANLINE_ORDER_LOWER_FIELD_FIRST</unmanaged>
<unmanaged-short>DXGI_MODE_SCANLINE_ORDER_LOWER_FIELD_FIRST</unmanaged-short>
</member>
<member name="T:SharpDX.DXGI.DXGIStatus">
<summary>
<p>Status codes that can be returned by DXGI functions.</p><p></p>
</summary>
<remarks>
<p>The <strong><see cref = "T:SharpDX.Result"/></strong> value for each <strong><see cref = "T:SharpDX.DXGI.DXGIStatus"/></strong> value is determined from this macro that is defined in DXGItype.h:</p><pre> #define _FACDXGI 0x87a
#define MAKE_DXGI_STATUS(code) MAKE_HRESULT(0, _FACDXGI, code)
</pre><p>For example, <strong>DXGI_STATUS_OCCLUDED</strong> is defined as <strong>0x087A0001</strong>:</p><pre> #define DXGI_STATUS_OCCLUDED MAKE_DXGI_STATUS(1)
</pre>
</remarks>
<doc-id>cc308061</doc-id>
<unmanaged>DXGI_STATUS</unmanaged>
<unmanaged-short>DXGI_STATUS</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.DXGIStatus.Occluded">
<summary>
No documentation.
</summary>
<doc-id>cc308061</doc-id>
<unmanaged>DXGI_STATUS_OCCLUDED</unmanaged>
<unmanaged-short>DXGI_STATUS_OCCLUDED</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.DXGIStatus.Clipped">
<summary>
No documentation.
</summary>
<doc-id>cc308061</doc-id>
<unmanaged>DXGI_STATUS_CLIPPED</unmanaged>
<unmanaged-short>DXGI_STATUS_CLIPPED</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.DXGIStatus.NoRedirection">
<summary>
No documentation.
</summary>
<doc-id>cc308061</doc-id>
<unmanaged>DXGI_STATUS_NO_REDIRECTION</unmanaged>
<unmanaged-short>DXGI_STATUS_NO_REDIRECTION</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.DXGIStatus.NoDesktopAccess">
<summary>
No documentation.
</summary>
<doc-id>cc308061</doc-id>
<unmanaged>DXGI_STATUS_NO_DESKTOP_ACCESS</unmanaged>
<unmanaged-short>DXGI_STATUS_NO_DESKTOP_ACCESS</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.DXGIStatus.GraphicsVidpnSourceInUse">
<summary>
No documentation.
</summary>
<doc-id>cc308061</doc-id>
<unmanaged>DXGI_STATUS_GRAPHICS_VIDPN_SOURCE_IN_USE</unmanaged>
<unmanaged-short>DXGI_STATUS_GRAPHICS_VIDPN_SOURCE_IN_USE</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.DXGIStatus.ModeChanged">
<summary>
No documentation.
</summary>
<doc-id>cc308061</doc-id>
<unmanaged>DXGI_STATUS_MODE_CHANGED</unmanaged>
<unmanaged-short>DXGI_STATUS_MODE_CHANGED</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.DXGIStatus.ModeChangeInProgress">
<summary>
No documentation.
</summary>
<doc-id>cc308061</doc-id>
<unmanaged>DXGI_STATUS_MODE_CHANGE_IN_PROGRESS</unmanaged>
<unmanaged-short>DXGI_STATUS_MODE_CHANGE_IN_PROGRESS</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.DXGIStatus.Unoccluded">
<summary>
No documentation.
</summary>
<doc-id>cc308061</doc-id>
<unmanaged>DXGI_STATUS_UNOCCLUDED</unmanaged>
<unmanaged-short>DXGI_STATUS_UNOCCLUDED</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.DXGIStatus.DdaWasStillDrawing">
<summary>
No documentation.
</summary>
<doc-id>cc308061</doc-id>
<unmanaged>DXGI_STATUS_DDA_WAS_STILL_DRAWING</unmanaged>
<unmanaged-short>DXGI_STATUS_DDA_WAS_STILL_DRAWING</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.DXGIStatus.PresentRequired">
<summary>
No documentation.
</summary>
<doc-id>cc308061</doc-id>
<unmanaged>DXGI_STATUS_PRESENT_REQUIRED</unmanaged>
<unmanaged-short>DXGI_STATUS_PRESENT_REQUIRED</unmanaged-short>
</member>
<member name="T:SharpDX.DXGI.Feature">
<summary>
<p>Specifies a range of hardware features, to be used when checking for feature support.</p>
</summary>
<remarks>
<p>This enum is used by the <strong>CheckFeatureSupport</strong> method.</p>
</remarks>
<doc-id>mt722565</doc-id>
<unmanaged>DXGI_FEATURE</unmanaged>
<unmanaged-short>DXGI_FEATURE</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Feature.PresentAllowTearing">
<summary>
<dd> <p>The display supports tearing, a requirement of variable refresh rate displays.</p> </dd>
</summary>
<doc-id>mt722565</doc-id>
<unmanaged>DXGI_FEATURE_PRESENT_ALLOW_TEARING</unmanaged>
<unmanaged-short>DXGI_FEATURE_PRESENT_ALLOW_TEARING</unmanaged-short>
</member>
<member name="T:SharpDX.DXGI.Format">
<summary>
<p> Resource data formats, including fully-typed and typeless formats. A list of modifiers at the bottom of the page more fully describes each format type. </p>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT</unmanaged>
<unmanaged-short>DXGI_FORMAT</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.Unknown">
<summary>
<dd> <p>The format is not known.</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_UNKNOWN</unmanaged>
<unmanaged-short>DXGI_FORMAT_UNKNOWN</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.R32G32B32A32_Typeless">
<summary>
<dd> <p>A four-component, 128-bit typeless format that supports 32 bits per channel including alpha. ?</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_R32G32B32A32_TYPELESS</unmanaged>
<unmanaged-short>DXGI_FORMAT_R32G32B32A32_TYPELESS</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.R32G32B32A32_Float">
<summary>
<dd> <p>A four-component, 128-bit floating-point format that supports 32 bits per channel including alpha. 1,5,8</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_R32G32B32A32_FLOAT</unmanaged>
<unmanaged-short>DXGI_FORMAT_R32G32B32A32_FLOAT</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.R32G32B32A32_UInt">
<summary>
<dd> <p>A four-component, 128-bit unsigned-integer format that supports 32 bits per channel including alpha. ?</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_R32G32B32A32_UINT</unmanaged>
<unmanaged-short>DXGI_FORMAT_R32G32B32A32_UINT</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.R32G32B32A32_SInt">
<summary>
<dd> <p>A four-component, 128-bit signed-integer format that supports 32 bits per channel including alpha. ?</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_R32G32B32A32_SINT</unmanaged>
<unmanaged-short>DXGI_FORMAT_R32G32B32A32_SINT</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.R32G32B32_Typeless">
<summary>
<dd> <p>A three-component, 96-bit typeless format that supports 32 bits per color channel.</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_R32G32B32_TYPELESS</unmanaged>
<unmanaged-short>DXGI_FORMAT_R32G32B32_TYPELESS</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.R32G32B32_Float">
<summary>
<dd> <p>A three-component, 96-bit floating-point format that supports 32 bits per color channel.5,8</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_R32G32B32_FLOAT</unmanaged>
<unmanaged-short>DXGI_FORMAT_R32G32B32_FLOAT</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.R32G32B32_UInt">
<summary>
<dd> <p>A three-component, 96-bit unsigned-integer format that supports 32 bits per color channel.</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_R32G32B32_UINT</unmanaged>
<unmanaged-short>DXGI_FORMAT_R32G32B32_UINT</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.R32G32B32_SInt">
<summary>
<dd> <p>A three-component, 96-bit signed-integer format that supports 32 bits per color channel.</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_R32G32B32_SINT</unmanaged>
<unmanaged-short>DXGI_FORMAT_R32G32B32_SINT</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.R16G16B16A16_Typeless">
<summary>
<dd> <p>A four-component, 64-bit typeless format that supports 16 bits per channel including alpha.</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_R16G16B16A16_TYPELESS</unmanaged>
<unmanaged-short>DXGI_FORMAT_R16G16B16A16_TYPELESS</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.R16G16B16A16_Float">
<summary>
<dd> <p>A four-component, 64-bit floating-point format that supports 16 bits per channel including alpha.5,7</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_R16G16B16A16_FLOAT</unmanaged>
<unmanaged-short>DXGI_FORMAT_R16G16B16A16_FLOAT</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.R16G16B16A16_UNorm">
<summary>
<dd> <p>A four-component, 64-bit unsigned-normalized-integer format that supports 16 bits per channel including alpha.</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_R16G16B16A16_UNORM</unmanaged>
<unmanaged-short>DXGI_FORMAT_R16G16B16A16_UNORM</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.R16G16B16A16_UInt">
<summary>
<dd> <p>A four-component, 64-bit unsigned-integer format that supports 16 bits per channel including alpha.</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_R16G16B16A16_UINT</unmanaged>
<unmanaged-short>DXGI_FORMAT_R16G16B16A16_UINT</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.R16G16B16A16_SNorm">
<summary>
<dd> <p>A four-component, 64-bit signed-normalized-integer format that supports 16 bits per channel including alpha.</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_R16G16B16A16_SNORM</unmanaged>
<unmanaged-short>DXGI_FORMAT_R16G16B16A16_SNORM</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.R16G16B16A16_SInt">
<summary>
<dd> <p>A four-component, 64-bit signed-integer format that supports 16 bits per channel including alpha.</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_R16G16B16A16_SINT</unmanaged>
<unmanaged-short>DXGI_FORMAT_R16G16B16A16_SINT</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.R32G32_Typeless">
<summary>
<dd> <p>A two-component, 64-bit typeless format that supports 32 bits for the red channel and 32 bits for the green channel.</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_R32G32_TYPELESS</unmanaged>
<unmanaged-short>DXGI_FORMAT_R32G32_TYPELESS</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.R32G32_Float">
<summary>
<dd> <p>A two-component, 64-bit floating-point format that supports 32 bits for the red channel and 32 bits for the green channel.5,8</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_R32G32_FLOAT</unmanaged>
<unmanaged-short>DXGI_FORMAT_R32G32_FLOAT</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.R32G32_UInt">
<summary>
<dd> <p>A two-component, 64-bit unsigned-integer format that supports 32 bits for the red channel and 32 bits for the green channel.</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_R32G32_UINT</unmanaged>
<unmanaged-short>DXGI_FORMAT_R32G32_UINT</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.R32G32_SInt">
<summary>
<dd> <p>A two-component, 64-bit signed-integer format that supports 32 bits for the red channel and 32 bits for the green channel.</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_R32G32_SINT</unmanaged>
<unmanaged-short>DXGI_FORMAT_R32G32_SINT</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.R32G8X24_Typeless">
<summary>
<dd> <p>A two-component, 64-bit typeless format that supports 32 bits for the red channel, 8 bits for the green channel, and 24 bits are unused.</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_R32G8X24_TYPELESS</unmanaged>
<unmanaged-short>DXGI_FORMAT_R32G8X24_TYPELESS</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.D32_Float_S8X24_UInt">
<summary>
<dd> <p>A 32-bit floating-point component, and two unsigned-integer components (with an additional 32 bits). This format supports 32-bit depth, 8-bit stencil, and 24 bits are unused.?</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_D32_FLOAT_S8X24_UINT</unmanaged>
<unmanaged-short>DXGI_FORMAT_D32_FLOAT_S8X24_UINT</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.R32_Float_X8X24_Typeless">
<summary>
<dd> <p>A 32-bit floating-point component, and two typeless components (with an additional 32 bits). This format supports 32-bit red channel, 8 bits are unused, and 24 bits are unused.?</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS</unmanaged>
<unmanaged-short>DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.X32_Typeless_G8X24_UInt">
<summary>
<dd> <p>A 32-bit typeless component, and two unsigned-integer components (with an additional 32 bits). This format has 32 bits unused, 8 bits for green channel, and 24 bits are unused.</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_X32_TYPELESS_G8X24_UINT</unmanaged>
<unmanaged-short>DXGI_FORMAT_X32_TYPELESS_G8X24_UINT</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.R10G10B10A2_Typeless">
<summary>
<dd> <p>A four-component, 32-bit typeless format that supports 10 bits for each color and 2 bits for alpha.</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_R10G10B10A2_TYPELESS</unmanaged>
<unmanaged-short>DXGI_FORMAT_R10G10B10A2_TYPELESS</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.R10G10B10A2_UNorm">
<summary>
<dd> <p>A four-component, 32-bit unsigned-normalized-integer format that supports 10 bits for each color and 2 bits for alpha.</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_R10G10B10A2_UNORM</unmanaged>
<unmanaged-short>DXGI_FORMAT_R10G10B10A2_UNORM</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.R10G10B10A2_UInt">
<summary>
<dd> <p>A four-component, 32-bit unsigned-integer format that supports 10 bits for each color and 2 bits for alpha.</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_R10G10B10A2_UINT</unmanaged>
<unmanaged-short>DXGI_FORMAT_R10G10B10A2_UINT</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.R11G11B10_Float">
<summary>
<dd> <p>Three partial-precision floating-point numbers encoded into a single 32-bit value (a variant of s10e5, which is sign bit, 10-bit mantissa, and 5-bit biased (15) exponent). There are no sign bits, and there is a 5-bit biased (15) exponent for each channel, 6-bit mantissa for R and G, and a 5-bit mantissa for B, as shown in the following illustration.5,7</p> <p></p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_R11G11B10_FLOAT</unmanaged>
<unmanaged-short>DXGI_FORMAT_R11G11B10_FLOAT</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.R8G8B8A8_Typeless">
<summary>
<dd> <p>A four-component, 32-bit typeless format that supports 8 bits per channel including alpha.</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_R8G8B8A8_TYPELESS</unmanaged>
<unmanaged-short>DXGI_FORMAT_R8G8B8A8_TYPELESS</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.R8G8B8A8_UNorm">
<summary>
<dd> <p>A four-component, 32-bit unsigned-normalized-integer format that supports 8 bits per channel including alpha.</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_R8G8B8A8_UNORM</unmanaged>
<unmanaged-short>DXGI_FORMAT_R8G8B8A8_UNORM</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.R8G8B8A8_UNorm_SRgb">
<summary>
<dd> <p>A four-component, 32-bit unsigned-normalized integer sRGB format that supports 8 bits per channel including alpha.</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_R8G8B8A8_UNORM_SRGB</unmanaged>
<unmanaged-short>DXGI_FORMAT_R8G8B8A8_UNORM_SRGB</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.R8G8B8A8_UInt">
<summary>
<dd> <p>A four-component, 32-bit unsigned-integer format that supports 8 bits per channel including alpha.</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_R8G8B8A8_UINT</unmanaged>
<unmanaged-short>DXGI_FORMAT_R8G8B8A8_UINT</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.R8G8B8A8_SNorm">
<summary>
<dd> <p>A four-component, 32-bit signed-normalized-integer format that supports 8 bits per channel including alpha.</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_R8G8B8A8_SNORM</unmanaged>
<unmanaged-short>DXGI_FORMAT_R8G8B8A8_SNORM</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.R8G8B8A8_SInt">
<summary>
<dd> <p>A four-component, 32-bit signed-integer format that supports 8 bits per channel including alpha.</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_R8G8B8A8_SINT</unmanaged>
<unmanaged-short>DXGI_FORMAT_R8G8B8A8_SINT</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.R16G16_Typeless">
<summary>
<dd> <p>A two-component, 32-bit typeless format that supports 16 bits for the red channel and 16 bits for the green channel.</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_R16G16_TYPELESS</unmanaged>
<unmanaged-short>DXGI_FORMAT_R16G16_TYPELESS</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.R16G16_Float">
<summary>
<dd> <p>A two-component, 32-bit floating-point format that supports 16 bits for the red channel and 16 bits for the green channel.5,7</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_R16G16_FLOAT</unmanaged>
<unmanaged-short>DXGI_FORMAT_R16G16_FLOAT</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.R16G16_UNorm">
<summary>
<dd> <p>A two-component, 32-bit unsigned-normalized-integer format that supports 16 bits each for the green and red channels.</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_R16G16_UNORM</unmanaged>
<unmanaged-short>DXGI_FORMAT_R16G16_UNORM</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.R16G16_UInt">
<summary>
<dd> <p>A two-component, 32-bit unsigned-integer format that supports 16 bits for the red channel and 16 bits for the green channel.</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_R16G16_UINT</unmanaged>
<unmanaged-short>DXGI_FORMAT_R16G16_UINT</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.R16G16_SNorm">
<summary>
<dd> <p>A two-component, 32-bit signed-normalized-integer format that supports 16 bits for the red channel and 16 bits for the green channel.</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_R16G16_SNORM</unmanaged>
<unmanaged-short>DXGI_FORMAT_R16G16_SNORM</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.R16G16_SInt">
<summary>
<dd> <p>A two-component, 32-bit signed-integer format that supports 16 bits for the red channel and 16 bits for the green channel.</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_R16G16_SINT</unmanaged>
<unmanaged-short>DXGI_FORMAT_R16G16_SINT</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.R32_Typeless">
<summary>
<dd> <p>A single-component, 32-bit typeless format that supports 32 bits for the red channel.</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_R32_TYPELESS</unmanaged>
<unmanaged-short>DXGI_FORMAT_R32_TYPELESS</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.D32_Float">
<summary>
<dd> <p>A single-component, 32-bit floating-point format that supports 32 bits for depth.5,8</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_D32_FLOAT</unmanaged>
<unmanaged-short>DXGI_FORMAT_D32_FLOAT</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.R32_Float">
<summary>
<dd> <p>A single-component, 32-bit floating-point format that supports 32 bits for the red channel.5,8</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_R32_FLOAT</unmanaged>
<unmanaged-short>DXGI_FORMAT_R32_FLOAT</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.R32_UInt">
<summary>
<dd> <p>A single-component, 32-bit unsigned-integer format that supports 32 bits for the red channel.</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_R32_UINT</unmanaged>
<unmanaged-short>DXGI_FORMAT_R32_UINT</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.R32_SInt">
<summary>
<dd> <p>A single-component, 32-bit signed-integer format that supports 32 bits for the red channel.</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_R32_SINT</unmanaged>
<unmanaged-short>DXGI_FORMAT_R32_SINT</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.R24G8_Typeless">
<summary>
<dd> <p>A two-component, 32-bit typeless format that supports 24 bits for the red channel and 8 bits for the green channel.</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_R24G8_TYPELESS</unmanaged>
<unmanaged-short>DXGI_FORMAT_R24G8_TYPELESS</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.D24_UNorm_S8_UInt">
<summary>
<dd> <p>A 32-bit z-buffer format that supports 24 bits for depth and 8 bits for stencil.</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_D24_UNORM_S8_UINT</unmanaged>
<unmanaged-short>DXGI_FORMAT_D24_UNORM_S8_UINT</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.R24_UNorm_X8_Typeless">
<summary>
<dd> <p>A 32-bit format, that contains a 24 bit, single-component, unsigned-normalized integer, with an additional typeless 8 bits. This format has 24 bits red channel and 8 bits unused.</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_R24_UNORM_X8_TYPELESS</unmanaged>
<unmanaged-short>DXGI_FORMAT_R24_UNORM_X8_TYPELESS</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.X24_Typeless_G8_UInt">
<summary>
<dd> <p>A 32-bit format, that contains a 24 bit, single-component, typeless format, with an additional 8 bit unsigned integer component. This format has 24 bits unused and 8 bits green channel.</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_X24_TYPELESS_G8_UINT</unmanaged>
<unmanaged-short>DXGI_FORMAT_X24_TYPELESS_G8_UINT</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.R8G8_Typeless">
<summary>
<dd> <p>A two-component, 16-bit typeless format that supports 8 bits for the red channel and 8 bits for the green channel.</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_R8G8_TYPELESS</unmanaged>
<unmanaged-short>DXGI_FORMAT_R8G8_TYPELESS</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.R8G8_UNorm">
<summary>
<dd> <p>A two-component, 16-bit unsigned-normalized-integer format that supports 8 bits for the red channel and 8 bits for the green channel.</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_R8G8_UNORM</unmanaged>
<unmanaged-short>DXGI_FORMAT_R8G8_UNORM</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.R8G8_UInt">
<summary>
<dd> <p>A two-component, 16-bit unsigned-integer format that supports 8 bits for the red channel and 8 bits for the green channel.</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_R8G8_UINT</unmanaged>
<unmanaged-short>DXGI_FORMAT_R8G8_UINT</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.R8G8_SNorm">
<summary>
<dd> <p>A two-component, 16-bit signed-normalized-integer format that supports 8 bits for the red channel and 8 bits for the green channel.</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_R8G8_SNORM</unmanaged>
<unmanaged-short>DXGI_FORMAT_R8G8_SNORM</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.R8G8_SInt">
<summary>
<dd> <p>A two-component, 16-bit signed-integer format that supports 8 bits for the red channel and 8 bits for the green channel.</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_R8G8_SINT</unmanaged>
<unmanaged-short>DXGI_FORMAT_R8G8_SINT</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.R16_Typeless">
<summary>
<dd> <p>A single-component, 16-bit typeless format that supports 16 bits for the red channel.</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_R16_TYPELESS</unmanaged>
<unmanaged-short>DXGI_FORMAT_R16_TYPELESS</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.R16_Float">
<summary>
<dd> <p>A single-component, 16-bit floating-point format that supports 16 bits for the red channel.5,7</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_R16_FLOAT</unmanaged>
<unmanaged-short>DXGI_FORMAT_R16_FLOAT</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.D16_UNorm">
<summary>
<dd> <p>A single-component, 16-bit unsigned-normalized-integer format that supports 16 bits for depth.</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_D16_UNORM</unmanaged>
<unmanaged-short>DXGI_FORMAT_D16_UNORM</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.R16_UNorm">
<summary>
<dd> <p>A single-component, 16-bit unsigned-normalized-integer format that supports 16 bits for the red channel.</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_R16_UNORM</unmanaged>
<unmanaged-short>DXGI_FORMAT_R16_UNORM</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.R16_UInt">
<summary>
<dd> <p>A single-component, 16-bit unsigned-integer format that supports 16 bits for the red channel.</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_R16_UINT</unmanaged>
<unmanaged-short>DXGI_FORMAT_R16_UINT</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.R16_SNorm">
<summary>
<dd> <p>A single-component, 16-bit signed-normalized-integer format that supports 16 bits for the red channel.</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_R16_SNORM</unmanaged>
<unmanaged-short>DXGI_FORMAT_R16_SNORM</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.R16_SInt">
<summary>
<dd> <p>A single-component, 16-bit signed-integer format that supports 16 bits for the red channel.</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_R16_SINT</unmanaged>
<unmanaged-short>DXGI_FORMAT_R16_SINT</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.R8_Typeless">
<summary>
<dd> <p>A single-component, 8-bit typeless format that supports 8 bits for the red channel.</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_R8_TYPELESS</unmanaged>
<unmanaged-short>DXGI_FORMAT_R8_TYPELESS</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.R8_UNorm">
<summary>
<dd> <p>A single-component, 8-bit unsigned-normalized-integer format that supports 8 bits for the red channel.</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_R8_UNORM</unmanaged>
<unmanaged-short>DXGI_FORMAT_R8_UNORM</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.R8_UInt">
<summary>
<dd> <p>A single-component, 8-bit unsigned-integer format that supports 8 bits for the red channel.</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_R8_UINT</unmanaged>
<unmanaged-short>DXGI_FORMAT_R8_UINT</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.R8_SNorm">
<summary>
<dd> <p>A single-component, 8-bit signed-normalized-integer format that supports 8 bits for the red channel.</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_R8_SNORM</unmanaged>
<unmanaged-short>DXGI_FORMAT_R8_SNORM</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.R8_SInt">
<summary>
<dd> <p>A single-component, 8-bit signed-integer format that supports 8 bits for the red channel.</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_R8_SINT</unmanaged>
<unmanaged-short>DXGI_FORMAT_R8_SINT</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.A8_UNorm">
<summary>
<dd> <p>A single-component, 8-bit unsigned-normalized-integer format for alpha only.</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_A8_UNORM</unmanaged>
<unmanaged-short>DXGI_FORMAT_A8_UNORM</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.R1_UNorm">
<summary>
<dd> <p>A single-component, 1-bit unsigned-normalized integer format that supports 1 bit for the red channel. ?.</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_R1_UNORM</unmanaged>
<unmanaged-short>DXGI_FORMAT_R1_UNORM</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.R9G9B9E5_Sharedexp">
<summary>
<dd> <p>Three partial-precision floating-point numbers encoded into a single 32-bit value all sharing the same 5-bit exponent (variant of s10e5, which is sign bit, 10-bit mantissa, and 5-bit biased (15) exponent). There is no sign bit, and there is a shared 5-bit biased (15) exponent and a 9-bit mantissa for each channel, as shown in the following illustration. 2,6,7.</p> <p></p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_R9G9B9E5_SHAREDEXP</unmanaged>
<unmanaged-short>DXGI_FORMAT_R9G9B9E5_SHAREDEXP</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.R8G8_B8G8_UNorm">
<summary>
<dd> <p>A four-component, 32-bit unsigned-normalized-integer format. This packed RGB format is analogous to the UYVY format. Each 32-bit block describes a pair of pixels: (R8, G8, B8) and (R8, G8, B8) where the R8/B8 values are repeated, and the G8 values are unique to each pixel. ?</p> <p>Width must be even.</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_R8G8_B8G8_UNORM</unmanaged>
<unmanaged-short>DXGI_FORMAT_R8G8_B8G8_UNORM</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.G8R8_G8B8_UNorm">
<summary>
<dd> <p>A four-component, 32-bit unsigned-normalized-integer format. This packed RGB format is analogous to the YUY2 format. Each 32-bit block describes a pair of pixels: (R8, G8, B8) and (R8, G8, B8) where the R8/B8 values are repeated, and the G8 values are unique to each pixel. ?</p> <p>Width must be even.</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_G8R8_G8B8_UNORM</unmanaged>
<unmanaged-short>DXGI_FORMAT_G8R8_G8B8_UNORM</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.BC1_Typeless">
<summary>
<dd> <p>Four-component typeless block-compression format. For information about block-compression formats, see Texture Block Compression in Direct3D 11.</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_BC1_TYPELESS</unmanaged>
<unmanaged-short>DXGI_FORMAT_BC1_TYPELESS</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.BC1_UNorm">
<summary>
<dd> <p>Four-component block-compression format. For information about block-compression formats, see Texture Block Compression in Direct3D 11.</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_BC1_UNORM</unmanaged>
<unmanaged-short>DXGI_FORMAT_BC1_UNORM</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.BC1_UNorm_SRgb">
<summary>
<dd> <p>Four-component block-compression format for sRGB data. For information about block-compression formats, see Texture Block Compression in Direct3D 11.</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_BC1_UNORM_SRGB</unmanaged>
<unmanaged-short>DXGI_FORMAT_BC1_UNORM_SRGB</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.BC2_Typeless">
<summary>
<dd> <p>Four-component typeless block-compression format. For information about block-compression formats, see Texture Block Compression in Direct3D 11.</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_BC2_TYPELESS</unmanaged>
<unmanaged-short>DXGI_FORMAT_BC2_TYPELESS</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.BC2_UNorm">
<summary>
<dd> <p>Four-component block-compression format. For information about block-compression formats, see Texture Block Compression in Direct3D 11.</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_BC2_UNORM</unmanaged>
<unmanaged-short>DXGI_FORMAT_BC2_UNORM</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.BC2_UNorm_SRgb">
<summary>
<dd> <p>Four-component block-compression format for sRGB data. For information about block-compression formats, see Texture Block Compression in Direct3D 11.</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_BC2_UNORM_SRGB</unmanaged>
<unmanaged-short>DXGI_FORMAT_BC2_UNORM_SRGB</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.BC3_Typeless">
<summary>
<dd> <p>Four-component typeless block-compression format. For information about block-compression formats, see Texture Block Compression in Direct3D 11.</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_BC3_TYPELESS</unmanaged>
<unmanaged-short>DXGI_FORMAT_BC3_TYPELESS</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.BC3_UNorm">
<summary>
<dd> <p>Four-component block-compression format. For information about block-compression formats, see Texture Block Compression in Direct3D 11.</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_BC3_UNORM</unmanaged>
<unmanaged-short>DXGI_FORMAT_BC3_UNORM</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.BC3_UNorm_SRgb">
<summary>
<dd> <p>Four-component block-compression format for sRGB data. For information about block-compression formats, see Texture Block Compression in Direct3D 11.</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_BC3_UNORM_SRGB</unmanaged>
<unmanaged-short>DXGI_FORMAT_BC3_UNORM_SRGB</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.BC4_Typeless">
<summary>
<dd> <p>One-component typeless block-compression format. For information about block-compression formats, see Texture Block Compression in Direct3D 11.</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_BC4_TYPELESS</unmanaged>
<unmanaged-short>DXGI_FORMAT_BC4_TYPELESS</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.BC4_UNorm">
<summary>
<dd> <p>One-component block-compression format. For information about block-compression formats, see Texture Block Compression in Direct3D 11.</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_BC4_UNORM</unmanaged>
<unmanaged-short>DXGI_FORMAT_BC4_UNORM</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.BC4_SNorm">
<summary>
<dd> <p>One-component block-compression format. For information about block-compression formats, see Texture Block Compression in Direct3D 11.</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_BC4_SNORM</unmanaged>
<unmanaged-short>DXGI_FORMAT_BC4_SNORM</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.BC5_Typeless">
<summary>
<dd> <p>Two-component typeless block-compression format. For information about block-compression formats, see Texture Block Compression in Direct3D 11.</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_BC5_TYPELESS</unmanaged>
<unmanaged-short>DXGI_FORMAT_BC5_TYPELESS</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.BC5_UNorm">
<summary>
<dd> <p>Two-component block-compression format. For information about block-compression formats, see Texture Block Compression in Direct3D 11.</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_BC5_UNORM</unmanaged>
<unmanaged-short>DXGI_FORMAT_BC5_UNORM</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.BC5_SNorm">
<summary>
<dd> <p>Two-component block-compression format. For information about block-compression formats, see Texture Block Compression in Direct3D 11.</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_BC5_SNORM</unmanaged>
<unmanaged-short>DXGI_FORMAT_BC5_SNORM</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.B5G6R5_UNorm">
<summary>
<dd> <p>A three-component, 16-bit unsigned-normalized-integer format that supports 5 bits for blue, 6 bits for green, and 5 bits for red.</p> <p><strong>Direct3D 10 through Direct3D 11:??</strong>This value is defined for DXGI. However, Direct3D 10, 10.1, or 11 devices do not support this format.</p> <p><strong>Direct3D 11.1:??</strong>This value is not supported until Windows?8.</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_B5G6R5_UNORM</unmanaged>
<unmanaged-short>DXGI_FORMAT_B5G6R5_UNORM</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.B5G5R5A1_UNorm">
<summary>
<dd> <p>A four-component, 16-bit unsigned-normalized-integer format that supports 5 bits for each color channel and 1-bit alpha.</p> <p><strong>Direct3D 10 through Direct3D 11:??</strong>This value is defined for DXGI. However, Direct3D 10, 10.1, or 11 devices do not support this format.</p> <p><strong>Direct3D 11.1:??</strong>This value is not supported until Windows?8.</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_B5G5R5A1_UNORM</unmanaged>
<unmanaged-short>DXGI_FORMAT_B5G5R5A1_UNORM</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.B8G8R8A8_UNorm">
<summary>
<dd> <p>A four-component, 32-bit unsigned-normalized-integer format that supports 8 bits for each color channel and 8-bit alpha.</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_B8G8R8A8_UNORM</unmanaged>
<unmanaged-short>DXGI_FORMAT_B8G8R8A8_UNORM</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.B8G8R8X8_UNorm">
<summary>
<dd> <p>A four-component, 32-bit unsigned-normalized-integer format that supports 8 bits for each color channel and 8 bits unused.</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_B8G8R8X8_UNORM</unmanaged>
<unmanaged-short>DXGI_FORMAT_B8G8R8X8_UNORM</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.R10G10B10_Xr_Bias_A2_UNorm">
<summary>
<dd> <p>A four-component, 32-bit 2.8-biased fixed-point format that supports 10 bits for each color channel and 2-bit alpha.</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_R10G10B10_XR_BIAS_A2_UNORM</unmanaged>
<unmanaged-short>DXGI_FORMAT_R10G10B10_XR_BIAS_A2_UNORM</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.B8G8R8A8_Typeless">
<summary>
<dd> <p>A four-component, 32-bit typeless format that supports 8 bits for each channel including alpha. ?</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_B8G8R8A8_TYPELESS</unmanaged>
<unmanaged-short>DXGI_FORMAT_B8G8R8A8_TYPELESS</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.B8G8R8A8_UNorm_SRgb">
<summary>
<dd> <p>A four-component, 32-bit unsigned-normalized standard RGB format that supports 8 bits for each channel including alpha. ?</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_B8G8R8A8_UNORM_SRGB</unmanaged>
<unmanaged-short>DXGI_FORMAT_B8G8R8A8_UNORM_SRGB</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.B8G8R8X8_Typeless">
<summary>
<dd> <p>A four-component, 32-bit typeless format that supports 8 bits for each color channel, and 8 bits are unused. ?</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_B8G8R8X8_TYPELESS</unmanaged>
<unmanaged-short>DXGI_FORMAT_B8G8R8X8_TYPELESS</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.B8G8R8X8_UNorm_SRgb">
<summary>
<dd> <p>A four-component, 32-bit unsigned-normalized standard RGB format that supports 8 bits for each color channel, and 8 bits are unused. ?</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_B8G8R8X8_UNORM_SRGB</unmanaged>
<unmanaged-short>DXGI_FORMAT_B8G8R8X8_UNORM_SRGB</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.BC6H_Typeless">
<summary>
<dd> <p>A typeless block-compression format. ? For information about block-compression formats, see Texture Block Compression in Direct3D 11.</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_BC6H_TYPELESS</unmanaged>
<unmanaged-short>DXGI_FORMAT_BC6H_TYPELESS</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.BC6H_Uf16">
<summary>
<dd> <p>A block-compression format. ? For information about block-compression formats, see Texture Block Compression in Direct3D 11.?</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_BC6H_UF16</unmanaged>
<unmanaged-short>DXGI_FORMAT_BC6H_UF16</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.BC6H_Sf16">
<summary>
<dd> <p>A block-compression format. ? For information about block-compression formats, see Texture Block Compression in Direct3D 11.?</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_BC6H_SF16</unmanaged>
<unmanaged-short>DXGI_FORMAT_BC6H_SF16</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.BC7_Typeless">
<summary>
<dd> <p>A typeless block-compression format. ? For information about block-compression formats, see Texture Block Compression in Direct3D 11.</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_BC7_TYPELESS</unmanaged>
<unmanaged-short>DXGI_FORMAT_BC7_TYPELESS</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.BC7_UNorm">
<summary>
<dd> <p>A block-compression format. ? For information about block-compression formats, see Texture Block Compression in Direct3D 11.</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_BC7_UNORM</unmanaged>
<unmanaged-short>DXGI_FORMAT_BC7_UNORM</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.BC7_UNorm_SRgb">
<summary>
<dd> <p>A block-compression format. ? For information about block-compression formats, see Texture Block Compression in Direct3D 11.</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_BC7_UNORM_SRGB</unmanaged>
<unmanaged-short>DXGI_FORMAT_BC7_UNORM_SRGB</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.AYUV">
<summary>
<dd> <p>Most common YUV 4:4:4 video resource format. Valid view formats for this video resource format are DXGI_FORMAT_R8G8B8A8_UNORM and DXGI_FORMAT_R8G8B8A8_UINT. For UAVs, an additional valid view format is DXGI_FORMAT_R32_UINT. By using DXGI_FORMAT_R32_UINT for UAVs, you can both read and write as opposed to just write for DXGI_FORMAT_R8G8B8A8_UNORM and DXGI_FORMAT_R8G8B8A8_UINT. Supported view types are SRV, RTV, and UAV. One view provides a straightforward mapping of the entire surface. The mapping to the view channel is V-&gt;R8,
U-&gt;G8,
Y-&gt;B8,
and A-&gt;A8.</p> <p>For more info about YUV formats for video rendering, see Recommended 8-Bit YUV Formats for Video Rendering. </p> <p><strong>Direct3D 11.1:??</strong>This value is not supported until Windows?8.</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_AYUV</unmanaged>
<unmanaged-short>DXGI_FORMAT_AYUV</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.Y410">
<summary>
<dd> <p>10-bit per channel packed YUV 4:4:4 video resource format. Valid view formats for this video resource format are DXGI_FORMAT_R10G10B10A2_UNORM and DXGI_FORMAT_R10G10B10A2_UINT. For UAVs, an additional valid view format is DXGI_FORMAT_R32_UINT. By using DXGI_FORMAT_R32_UINT for UAVs, you can both read and write as opposed to just write for DXGI_FORMAT_R10G10B10A2_UNORM and DXGI_FORMAT_R10G10B10A2_UINT. Supported view types are SRV and UAV. One view provides a straightforward mapping of the entire surface. The mapping to the view channel is U-&gt;R10,
Y-&gt;G10,
V-&gt;B10,
and A-&gt;A2.</p> <p>For more info about YUV formats for video rendering, see Recommended 8-Bit YUV Formats for Video Rendering. </p> <p><strong>Direct3D 11.1:??</strong>This value is not supported until Windows?8.</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_Y410</unmanaged>
<unmanaged-short>DXGI_FORMAT_Y410</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.Y416">
<summary>
<dd> <p>16-bit per channel packed YUV 4:4:4 video resource format. Valid view formats for this video resource format are DXGI_FORMAT_R16G16B16A16_UNORM and DXGI_FORMAT_R16G16B16A16_UINT. Supported view types are SRV and UAV. One view provides a straightforward mapping of the entire surface. The mapping to the view channel is U-&gt;R16,
Y-&gt;G16,
V-&gt;B16,
and A-&gt;A16.</p> <p>For more info about YUV formats for video rendering, see Recommended 8-Bit YUV Formats for Video Rendering. </p> <p><strong>Direct3D 11.1:??</strong>This value is not supported until Windows?8.</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_Y416</unmanaged>
<unmanaged-short>DXGI_FORMAT_Y416</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.NV12">
<summary>
<dd> <p>Most common YUV 4:2:0 video resource format. Valid luminance data view formats for this video resource format are DXGI_FORMAT_R8_UNORM and DXGI_FORMAT_R8_UINT. Valid chrominance data view formats (width and height are each 1/2 of luminance view) for this video resource format are DXGI_FORMAT_R8G8_UNORM and DXGI_FORMAT_R8G8_UINT. Supported view types are SRV, RTV, and UAV. For luminance data view, the mapping to the view channel is Y-&gt;R8. For chrominance data view, the mapping to the view channel is U-&gt;R8 and
V-&gt;G8.</p> <p>For more info about YUV formats for video rendering, see Recommended 8-Bit YUV Formats for Video Rendering. </p> <p>Width and height must be even. Direct3D 11 staging resources and initData parameters for this format use (rowPitch * (height + (height / 2))) bytes. The first (SysMemPitch * height) bytes are the Y plane, the remaining (SysMemPitch * (height / 2)) bytes are the UV plane.</p> <p>An app using the YUY 4:2:0 formats must map the luma (Y) plane separately from the chroma (UV) planes. Developers do this by calling <strong>ID3D12Device::CreateShaderResourceView</strong> twice for the same texture and passing in 1-channel and 2-channel formats. Passing in a 1-channel format compatible with the Y plane maps only the Y plane. Passing in a 2-channel format compatible with the UV planes (together) maps only the U and V planes as a single resource view.</p> <p><strong>Direct3D 11.1:??</strong>This value is not supported until Windows?8.</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_NV12</unmanaged>
<unmanaged-short>DXGI_FORMAT_NV12</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.P010">
<summary>
<dd> <p>10-bit per channel planar YUV 4:2:0 video resource format. Valid luminance data view formats for this video resource format are DXGI_FORMAT_R16_UNORM and DXGI_FORMAT_R16_UINT. The runtime does not enforce whether the lowest 6 bits are 0 (given that this video resource format is a 10-bit format that uses 16 bits). If required, application shader code would have to enforce this manually. From the runtime's point of view, DXGI_FORMAT_P010 is no different than DXGI_FORMAT_P016. Valid chrominance data view formats (width and height are each 1/2 of luminance view) for this video resource format are DXGI_FORMAT_R16G16_UNORM and DXGI_FORMAT_R16G16_UINT. For UAVs, an additional valid chrominance data view format is DXGI_FORMAT_R32_UINT. By using DXGI_FORMAT_R32_UINT for UAVs, you can both read and write as opposed to just write for DXGI_FORMAT_R16G16_UNORM and DXGI_FORMAT_R16G16_UINT. Supported view types are SRV, RTV, and UAV. For luminance data view, the mapping to the view channel is Y-&gt;R16. For chrominance data view, the mapping to the view channel is U-&gt;R16 and
V-&gt;G16.</p> <p>For more info about YUV formats for video rendering, see Recommended 8-Bit YUV Formats for Video Rendering. </p> <p>Width and height must be even. Direct3D 11 staging resources and initData parameters for this format use (rowPitch * (height + (height / 2))) bytes. The first (SysMemPitch * height) bytes are the Y plane, the remaining (SysMemPitch * (height / 2)) bytes are the UV plane.</p> <p>An app using the YUY 4:2:0 formats must map the luma (Y) plane separately from the chroma (UV) planes. Developers do this by calling <strong>ID3D12Device::CreateShaderResourceView</strong> twice for the same texture and passing in 1-channel and 2-channel formats. Passing in a 1-channel format compatible with the Y plane maps only the Y plane. Passing in a 2-channel format compatible with the UV planes (together) maps only the U and V planes as a single resource view.</p> <p><strong>Direct3D 11.1:??</strong>This value is not supported until Windows?8.</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_P010</unmanaged>
<unmanaged-short>DXGI_FORMAT_P010</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.P016">
<summary>
<dd> <p>16-bit per channel planar YUV 4:2:0 video resource format. Valid luminance data view formats for this video resource format are DXGI_FORMAT_R16_UNORM and DXGI_FORMAT_R16_UINT. Valid chrominance data view formats (width and height are each 1/2 of luminance view) for this video resource format are DXGI_FORMAT_R16G16_UNORM and DXGI_FORMAT_R16G16_UINT. For UAVs, an additional valid chrominance data view format is DXGI_FORMAT_R32_UINT. By using DXGI_FORMAT_R32_UINT for UAVs, you can both read and write as opposed to just write for DXGI_FORMAT_R16G16_UNORM and DXGI_FORMAT_R16G16_UINT. Supported view types are SRV, RTV, and UAV. For luminance data view, the mapping to the view channel is Y-&gt;R16. For chrominance data view, the mapping to the view channel is U-&gt;R16 and
V-&gt;G16.</p> <p>For more info about YUV formats for video rendering, see Recommended 8-Bit YUV Formats for Video Rendering. </p> <p>Width and height must be even. Direct3D 11 staging resources and initData parameters for this format use (rowPitch * (height + (height / 2))) bytes. The first (SysMemPitch * height) bytes are the Y plane, the remaining (SysMemPitch * (height / 2)) bytes are the UV plane.</p> <p>An app using the YUY 4:2:0 formats must map the luma (Y) plane separately from the chroma (UV) planes. Developers do this by calling <strong>ID3D12Device::CreateShaderResourceView</strong> twice for the same texture and passing in 1-channel and 2-channel formats. Passing in a 1-channel format compatible with the Y plane maps only the Y plane. Passing in a 2-channel format compatible with the UV planes (together) maps only the U and V planes as a single resource view.</p> <p><strong>Direct3D 11.1:??</strong>This value is not supported until Windows?8.</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_P016</unmanaged>
<unmanaged-short>DXGI_FORMAT_P016</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.Opaque420">
<summary>
<dd> <p>8-bit per channel planar YUV 4:2:0 video resource format. This format is subsampled where each pixel has its own Y value, but each 2x2 pixel block shares a single U and V value. The runtime requires that the width and height of all resources that are created with this format are multiples of 2. The runtime also requires that the left, right, top, and bottom members of any <see cref = "T:SharpDX.Mathematics.Interop.RawRectangle"/> that are used for this format are multiples of 2. This format differs from DXGI_FORMAT_NV12 in that the layout of the data within the resource is completely opaque to applications. Applications cannot use the CPU to map the resource and then access the data within the resource. You cannot use shaders with this format. Because of this behavior, legacy hardware that supports a non-NV12 4:2:0 layout (for example, YV12, and so on) can be used. Also, new hardware that has a 4:2:0 implementation better than NV12 can be used when the application does not need the data to be in a standard layout. </p> <p>For more info about YUV formats for video rendering, see Recommended 8-Bit YUV Formats for Video Rendering. </p> <p>Width and height must be even. Direct3D 11 staging resources and initData parameters for this format use (rowPitch * (height + (height / 2))) bytes. </p> <p>An app using the YUY 4:2:0 formats must map the luma (Y) plane separately from the chroma (UV) planes. Developers do this by calling <strong>ID3D12Device::CreateShaderResourceView</strong> twice for the same texture and passing in 1-channel and 2-channel formats. Passing in a 1-channel format compatible with the Y plane maps only the Y plane. Passing in a 2-channel format compatible with the UV planes (together) maps only the U and V planes as a single resource view.</p> <p><strong>Direct3D 11.1:??</strong>This value is not supported until Windows?8.</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_420_OPAQUE</unmanaged>
<unmanaged-short>DXGI_FORMAT_420_OPAQUE</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.YUY2">
<summary>
<dd> <p>Most common YUV 4:2:2 video resource format. Valid view formats for this video resource format are DXGI_FORMAT_R8G8B8A8_UNORM and DXGI_FORMAT_R8G8B8A8_UINT. For UAVs, an additional valid view format is DXGI_FORMAT_R32_UINT. By using DXGI_FORMAT_R32_UINT for UAVs, you can both read and write as opposed to just write for DXGI_FORMAT_R8G8B8A8_UNORM and DXGI_FORMAT_R8G8B8A8_UINT. Supported view types are SRV and UAV. One view provides a straightforward mapping of the entire surface. The mapping to the view channel is Y0-&gt;R8,
U0-&gt;G8,
Y1-&gt;B8,
and V0-&gt;A8.</p> <p>A unique valid view format for this video resource format is DXGI_FORMAT_R8G8_B8G8_UNORM. With this view format, the width of the view appears to be twice what the DXGI_FORMAT_R8G8B8A8_UNORM or DXGI_FORMAT_R8G8B8A8_UINT view would be when hardware reconstructs RGBA automatically on read and before filtering. This Direct3D hardware behavior is legacy and is likely not useful any more. With this view format, the mapping to the view channel is Y0-&gt;R8,
U0-&gt;
G8[0],
Y1-&gt;B8,
and V0-&gt;
G8[1].</p> <p>For more info about YUV formats for video rendering, see Recommended 8-Bit YUV Formats for Video Rendering. </p> <p>Width must be even.</p> <p><strong>Direct3D 11.1:??</strong>This value is not supported until Windows?8.</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_YUY2</unmanaged>
<unmanaged-short>DXGI_FORMAT_YUY2</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.Y210">
<summary>
<dd> <p>10-bit per channel packed YUV 4:2:2 video resource format. Valid view formats for this video resource format are DXGI_FORMAT_R16G16B16A16_UNORM and DXGI_FORMAT_R16G16B16A16_UINT. The runtime does not enforce whether the lowest 6 bits are 0 (given that this video resource format is a 10-bit format that uses 16 bits). If required, application shader code would have to enforce this manually. From the runtime's point of view, DXGI_FORMAT_Y210 is no different than DXGI_FORMAT_Y216. Supported view types are SRV and UAV. One view provides a straightforward mapping of the entire surface. The mapping to the view channel is Y0-&gt;R16,
U-&gt;G16,
Y1-&gt;B16,
and V-&gt;A16.</p> <p>For more info about YUV formats for video rendering, see Recommended 8-Bit YUV Formats for Video Rendering. </p> <p>Width must be even.</p> <p><strong>Direct3D 11.1:??</strong>This value is not supported until Windows?8.</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_Y210</unmanaged>
<unmanaged-short>DXGI_FORMAT_Y210</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.Y216">
<summary>
<dd> <p>16-bit per channel packed YUV 4:2:2 video resource format. Valid view formats for this video resource format are DXGI_FORMAT_R16G16B16A16_UNORM and DXGI_FORMAT_R16G16B16A16_UINT. Supported view types are SRV and UAV. One view provides a straightforward mapping of the entire surface. The mapping to the view channel is Y0-&gt;R16,
U-&gt;G16,
Y1-&gt;B16,
and V-&gt;A16.</p> <p>For more info about YUV formats for video rendering, see Recommended 8-Bit YUV Formats for Video Rendering. </p> <p>Width must be even.</p> <p><strong>Direct3D 11.1:??</strong>This value is not supported until Windows?8.</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_Y216</unmanaged>
<unmanaged-short>DXGI_FORMAT_Y216</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.NV11">
<summary>
<dd> <p>Most common planar YUV 4:1:1 video resource format. Valid luminance data view formats for this video resource format are DXGI_FORMAT_R8_UNORM and DXGI_FORMAT_R8_UINT. Valid chrominance data view formats (width and height are each 1/4 of luminance view) for this video resource format are DXGI_FORMAT_R8G8_UNORM and DXGI_FORMAT_R8G8_UINT. Supported view types are SRV, RTV, and UAV. For luminance data view, the mapping to the view channel is Y-&gt;R8. For chrominance data view, the mapping to the view channel is U-&gt;R8 and
V-&gt;G8.</p> <p>For more info about YUV formats for video rendering, see Recommended 8-Bit YUV Formats for Video Rendering. </p> <p>Width must be a multiple of 4. Direct3D11 staging resources and initData parameters for this format use (rowPitch * height * 2) bytes. The first (SysMemPitch * height) bytes are the Y plane, the next ((SysMemPitch / 2) * height) bytes are the UV plane, and the remainder is padding. </p> <p><strong>Direct3D 11.1:??</strong>This value is not supported until Windows?8.</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_NV11</unmanaged>
<unmanaged-short>DXGI_FORMAT_NV11</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.AI44">
<summary>
<dd> <p>4-bit palletized YUV format that is commonly used for DVD subpicture.</p> <p>For more info about YUV formats for video rendering, see Recommended 8-Bit YUV Formats for Video Rendering. </p> <p><strong>Direct3D 11.1:??</strong>This value is not supported until Windows?8.</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_AI44</unmanaged>
<unmanaged-short>DXGI_FORMAT_AI44</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.IA44">
<summary>
<dd> <p>4-bit palletized YUV format that is commonly used for DVD subpicture.</p> <p>For more info about YUV formats for video rendering, see Recommended 8-Bit YUV Formats for Video Rendering. </p> <p><strong>Direct3D 11.1:??</strong>This value is not supported until Windows?8.</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_IA44</unmanaged>
<unmanaged-short>DXGI_FORMAT_IA44</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.P8">
<summary>
<dd> <p>8-bit palletized format that is used for palletized RGB data when the processor processes ISDB-T data and for palletized YUV data when the processor processes BluRay data.</p> <p>For more info about YUV formats for video rendering, see Recommended 8-Bit YUV Formats for Video Rendering. </p> <p><strong>Direct3D 11.1:??</strong>This value is not supported until Windows?8.</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_P8</unmanaged>
<unmanaged-short>DXGI_FORMAT_P8</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.A8P8">
<summary>
<dd> <p>8-bit palletized format with 8 bits of alpha that is used for palletized YUV data when the processor processes BluRay data.</p> <p>For more info about YUV formats for video rendering, see Recommended 8-Bit YUV Formats for Video Rendering. </p> <p><strong>Direct3D 11.1:??</strong>This value is not supported until Windows?8.</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_A8P8</unmanaged>
<unmanaged-short>DXGI_FORMAT_A8P8</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.B4G4R4A4_UNorm">
<summary>
<dd> <p>A four-component, 16-bit unsigned-normalized integer format that supports 4 bits for each channel including alpha.</p> <p><strong>Direct3D 11.1:??</strong>This value is not supported until Windows?8.</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_B4G4R4A4_UNORM</unmanaged>
<unmanaged-short>DXGI_FORMAT_B4G4R4A4_UNORM</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.P208">
<summary>
<dd> <p>A video format; an 8-bit version of a hybrid planar 4:2:2 format.</p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_P208</unmanaged>
<unmanaged-short>DXGI_FORMAT_P208</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.V208">
<summary>
<dd> <p>An 8 bit YCbCrA 4:4 rendering format. </p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_V208</unmanaged>
<unmanaged-short>DXGI_FORMAT_V208</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Format.V408">
<summary>
<dd> <p>An 8 bit YCbCrA 4:4:4:4 rendering format. </p> </dd>
</summary>
<doc-id>bb173059</doc-id>
<unmanaged>DXGI_FORMAT_V408</unmanaged>
<unmanaged-short>DXGI_FORMAT_V408</unmanaged-short>
</member>
<member name="T:SharpDX.DXGI.FramePresentationMode">
<summary>
<p> Indicates options for presenting frames to the swap chain. </p>
</summary>
<remarks>
<p>This enum is used by the <strong><see cref = "T:SharpDX.DXGI.FrameStatisticsMedia"/></strong> structure.</p>
</remarks>
<doc-id>dn384107</doc-id>
<unmanaged>DXGI_FRAME_PRESENTATION_MODE</unmanaged>
<unmanaged-short>DXGI_FRAME_PRESENTATION_MODE</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.FramePresentationMode.Composed">
<summary>
<dd> <p> Specifies that the presentation mode is a composition surface, meaning that the conversion from YUV to RGB is happening once per output refresh (for example, 60 Hz). When this value is returned, the media app should discontinue use of the decode swap chain and perform YUV to RGB conversion itself, reducing the frequency of YUV to RGB conversion to once per video frame. </p> </dd>
</summary>
<doc-id>dn384107</doc-id>
<unmanaged>DXGI_FRAME_PRESENTATION_MODE_COMPOSED</unmanaged>
<unmanaged-short>DXGI_FRAME_PRESENTATION_MODE_COMPOSED</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.FramePresentationMode.Overlay">
<summary>
<dd> <p> Specifies that the presentation mode is an overlay surface, meaning that the YUV to RGB conversion is happening efficiently in hardware (once per video frame). When this value is returned, the media app can continue to use the decode swap chain. See <strong><see cref = "T:SharpDX.DXGI.DecodeSwapChain"/></strong>. </p> </dd>
</summary>
<doc-id>dn384107</doc-id>
<unmanaged>DXGI_FRAME_PRESENTATION_MODE_OVERLAY</unmanaged>
<unmanaged-short>DXGI_FRAME_PRESENTATION_MODE_OVERLAY</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.FramePresentationMode.None">
<summary>
<dd> <p> No presentation is specified. </p> </dd>
</summary>
<doc-id>dn384107</doc-id>
<unmanaged>DXGI_FRAME_PRESENTATION_MODE_NONE</unmanaged>
<unmanaged-short>DXGI_FRAME_PRESENTATION_MODE_NONE</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.FramePresentationMode.CompositionFailure">
<summary>
<dd> <p>An issue occurred that caused content protection to be invalidated in a swap-chain with hardware content protection, and is usually because the system ran out of hardware protected memory. The app will need to do one of the following:</p> <ul> <li>Drastically reduce the amount of hardware protected memory used. For example, media applications might be able to reduce their buffering.
</li> <li>Stop using hardware protection if possible.</li> </ul> <p>Note that simply re-creating the swap chain or the device will usually have no impact as the DWM will continue to run out of memory and will return the same failure. </p> </dd>
</summary>
<doc-id>dn384107</doc-id>
<unmanaged>DXGI_FRAME_PRESENTATION_MODE_COMPOSITION_FAILURE</unmanaged>
<unmanaged-short>DXGI_FRAME_PRESENTATION_MODE_COMPOSITION_FAILURE</unmanaged-short>
</member>
<member name="T:SharpDX.DXGI.GraphicsPreemptionGranularity">
<summary>
<p>Identifies the granularity at which the graphics processing unit (GPU) can be preempted from performing its current graphics rendering task.</p>
</summary>
<remarks>
<p>You call the <strong>IDXGIAdapter2::GetDesc2</strong> method to retrieve the granularity level at which the GPU can be preempted from performing its current graphics rendering task. The operating system specifies the graphics granularity level in the <strong>GraphicsPreemptionGranularity</strong> member of the <strong><see cref = "T:SharpDX.DXGI.AdapterDescription2"/></strong> structure.</p><p>The following figure shows granularity of graphics rendering tasks.</p>
</remarks>
<doc-id>hh404504</doc-id>
<unmanaged>DXGI_GRAPHICS_PREEMPTION_GRANULARITY</unmanaged>
<unmanaged-short>DXGI_GRAPHICS_PREEMPTION_GRANULARITY</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.GraphicsPreemptionGranularity.DmaBufferBoundary">
<summary>
<dd> <p>Indicates the preemption granularity as a DMA buffer.</p> </dd>
</summary>
<doc-id>hh404504</doc-id>
<unmanaged>DXGI_GRAPHICS_PREEMPTION_DMA_BUFFER_BOUNDARY</unmanaged>
<unmanaged-short>DXGI_GRAPHICS_PREEMPTION_DMA_BUFFER_BOUNDARY</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.GraphicsPreemptionGranularity.PrimitiveBoundary">
<summary>
<dd> <p>Indicates the preemption granularity as a graphics primitive. A primitive is a section in a DMA buffer and can be a group of triangles.</p> </dd>
</summary>
<doc-id>hh404504</doc-id>
<unmanaged>DXGI_GRAPHICS_PREEMPTION_PRIMITIVE_BOUNDARY</unmanaged>
<unmanaged-short>DXGI_GRAPHICS_PREEMPTION_PRIMITIVE_BOUNDARY</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.GraphicsPreemptionGranularity.TriangleBoundary">
<summary>
<dd> <p>Indicates the preemption granularity as a triangle. A triangle is a part of a primitive.</p> </dd>
</summary>
<doc-id>hh404504</doc-id>
<unmanaged>DXGI_GRAPHICS_PREEMPTION_TRIANGLE_BOUNDARY</unmanaged>
<unmanaged-short>DXGI_GRAPHICS_PREEMPTION_TRIANGLE_BOUNDARY</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.GraphicsPreemptionGranularity.PixelBoundary">
<summary>
<dd> <p>Indicates the preemption granularity as a pixel. A pixel is a part of a triangle.</p> </dd>
</summary>
<doc-id>hh404504</doc-id>
<unmanaged>DXGI_GRAPHICS_PREEMPTION_PIXEL_BOUNDARY</unmanaged>
<unmanaged-short>DXGI_GRAPHICS_PREEMPTION_PIXEL_BOUNDARY</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.GraphicsPreemptionGranularity.InstructionBoundary">
<summary>
<dd> <p>Indicates the preemption granularity as a graphics instruction. A graphics instruction operates on a pixel.</p> </dd>
</summary>
<doc-id>hh404504</doc-id>
<unmanaged>DXGI_GRAPHICS_PREEMPTION_INSTRUCTION_BOUNDARY</unmanaged>
<unmanaged-short>DXGI_GRAPHICS_PREEMPTION_INSTRUCTION_BOUNDARY</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.HardwareCompositionSupportFlags.FullScreen">
<summary>
No documentation.
</summary>
<unmanaged>DXGI_HARDWARE_COMPOSITION_SUPPORT_FLAG_FULLSCREEN</unmanaged>
<unmanaged-short>DXGI_HARDWARE_COMPOSITION_SUPPORT_FLAG_FULLSCREEN</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.HardwareCompositionSupportFlags.Windowed">
<summary>
No documentation.
</summary>
<unmanaged>DXGI_HARDWARE_COMPOSITION_SUPPORT_FLAG_WINDOWED</unmanaged>
<unmanaged-short>DXGI_HARDWARE_COMPOSITION_SUPPORT_FLAG_WINDOWED</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.HardwareCompositionSupportFlags.CursorStretched">
<summary>
No documentation.
</summary>
<unmanaged>DXGI_HARDWARE_COMPOSITION_SUPPORT_FLAG_CURSOR_STRETCHED</unmanaged>
<unmanaged-short>DXGI_HARDWARE_COMPOSITION_SUPPORT_FLAG_CURSOR_STRETCHED</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.HardwareCompositionSupportFlags.None">
<summary>
None
</summary>
<unmanaged>None</unmanaged>
<unmanaged-short>None</unmanaged-short>
</member>
<member name="T:SharpDX.DXGI.HdrMetadataType">
<summary>
<p>Specifies the header metadata type.</p>
</summary>
<remarks>
<p>This enum is used by the <strong>SetHDRMetaData</strong> method.</p>
</remarks>
<doc-id>mt732701</doc-id>
<unmanaged>DXGI_HDR_METADATA_TYPE</unmanaged>
<unmanaged-short>DXGI_HDR_METADATA_TYPE</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.HdrMetadataType.None">
<summary>
<dd> <p>Indicates there is no header metadata.</p> </dd>
</summary>
<doc-id>mt732701</doc-id>
<unmanaged>DXGI_HDR_METADATA_TYPE_NONE</unmanaged>
<unmanaged-short>DXGI_HDR_METADATA_TYPE_NONE</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.HdrMetadataType.Hdr10">
<summary>
<dd> <p>Indicates the header metadata is held by a <strong><see cref = "T:SharpDX.DXGI.HdrMetadataHdr10"/></strong> structure.</p> </dd>
</summary>
<doc-id>mt732701</doc-id>
<unmanaged>DXGI_HDR_METADATA_TYPE_HDR10</unmanaged>
<unmanaged-short>DXGI_HDR_METADATA_TYPE_HDR10</unmanaged-short>
</member>
<member name="T:SharpDX.DXGI.InformationQueueMessageCategory">
<summary>
<p>Values that specify categories of debug messages.</p>
</summary>
<remarks>
<p>Use this enumeration when you call <strong>IDXGIInfoQueue::GetMessage</strong> to retrieve a message and when you call <strong>IDXGIInfoQueue::AddMessage</strong> to add a message. When you create an info queue filter, you can use these values to allow or deny any categories of messages to pass through the storage and retrieval filters.</p><strong>Note</strong>??This API requires the Windows Software Development Kit (SDK) for Windows?8.?
</remarks>
<doc-id>hh780349</doc-id>
<unmanaged>DXGI_INFO_QUEUE_MESSAGE_CATEGORY</unmanaged>
<unmanaged-short>DXGI_INFO_QUEUE_MESSAGE_CATEGORY</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.InformationQueueMessageCategory.Unknown">
<summary>
<dd> <p>Unknown category.</p> </dd>
</summary>
<doc-id>hh780349</doc-id>
<unmanaged>DXGI_INFO_QUEUE_MESSAGE_CATEGORY_UNKNOWN</unmanaged>
<unmanaged-short>DXGI_INFO_QUEUE_MESSAGE_CATEGORY_UNKNOWN</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.InformationQueueMessageCategory.Miscellaneous">
<summary>
<dd> <p>Miscellaneous category.</p> </dd>
</summary>
<doc-id>hh780349</doc-id>
<unmanaged>DXGI_INFO_QUEUE_MESSAGE_CATEGORY_MISCELLANEOUS</unmanaged>
<unmanaged-short>DXGI_INFO_QUEUE_MESSAGE_CATEGORY_MISCELLANEOUS</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.InformationQueueMessageCategory.Initialization">
<summary>
<dd> <p>Initialization category.</p> </dd>
</summary>
<doc-id>hh780349</doc-id>
<unmanaged>DXGI_INFO_QUEUE_MESSAGE_CATEGORY_INITIALIZATION</unmanaged>
<unmanaged-short>DXGI_INFO_QUEUE_MESSAGE_CATEGORY_INITIALIZATION</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.InformationQueueMessageCategory.Cleanup">
<summary>
<dd> <p>Cleanup category.</p> </dd>
</summary>
<doc-id>hh780349</doc-id>
<unmanaged>DXGI_INFO_QUEUE_MESSAGE_CATEGORY_CLEANUP</unmanaged>
<unmanaged-short>DXGI_INFO_QUEUE_MESSAGE_CATEGORY_CLEANUP</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.InformationQueueMessageCategory.Compilation">
<summary>
<dd> <p>Compilation category.</p> </dd>
</summary>
<doc-id>hh780349</doc-id>
<unmanaged>DXGI_INFO_QUEUE_MESSAGE_CATEGORY_COMPILATION</unmanaged>
<unmanaged-short>DXGI_INFO_QUEUE_MESSAGE_CATEGORY_COMPILATION</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.InformationQueueMessageCategory.StateCreation">
<summary>
<dd> <p>State creation category.</p> </dd>
</summary>
<doc-id>hh780349</doc-id>
<unmanaged>DXGI_INFO_QUEUE_MESSAGE_CATEGORY_STATE_CREATION</unmanaged>
<unmanaged-short>DXGI_INFO_QUEUE_MESSAGE_CATEGORY_STATE_CREATION</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.InformationQueueMessageCategory.StateSetting">
<summary>
<dd> <p>State setting category.</p> </dd>
</summary>
<doc-id>hh780349</doc-id>
<unmanaged>DXGI_INFO_QUEUE_MESSAGE_CATEGORY_STATE_SETTING</unmanaged>
<unmanaged-short>DXGI_INFO_QUEUE_MESSAGE_CATEGORY_STATE_SETTING</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.InformationQueueMessageCategory.StateGetting">
<summary>
<dd> <p>State getting category.</p> </dd>
</summary>
<doc-id>hh780349</doc-id>
<unmanaged>DXGI_INFO_QUEUE_MESSAGE_CATEGORY_STATE_GETTING</unmanaged>
<unmanaged-short>DXGI_INFO_QUEUE_MESSAGE_CATEGORY_STATE_GETTING</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.InformationQueueMessageCategory.ResourceManipulation">
<summary>
<dd> <p>Resource manipulation category.</p> </dd>
</summary>
<doc-id>hh780349</doc-id>
<unmanaged>DXGI_INFO_QUEUE_MESSAGE_CATEGORY_RESOURCE_MANIPULATION</unmanaged>
<unmanaged-short>DXGI_INFO_QUEUE_MESSAGE_CATEGORY_RESOURCE_MANIPULATION</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.InformationQueueMessageCategory.Execution">
<summary>
<dd> <p>Execution category.</p> </dd>
</summary>
<doc-id>hh780349</doc-id>
<unmanaged>DXGI_INFO_QUEUE_MESSAGE_CATEGORY_EXECUTION</unmanaged>
<unmanaged-short>DXGI_INFO_QUEUE_MESSAGE_CATEGORY_EXECUTION</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.InformationQueueMessageCategory.Shader">
<summary>
<dd> <p>Shader category.</p> </dd>
</summary>
<doc-id>hh780349</doc-id>
<unmanaged>DXGI_INFO_QUEUE_MESSAGE_CATEGORY_SHADER</unmanaged>
<unmanaged-short>DXGI_INFO_QUEUE_MESSAGE_CATEGORY_SHADER</unmanaged-short>
</member>
<member name="T:SharpDX.DXGI.InformationQueueMessageSeverity">
<summary>
<p>Values that specify debug message severity levels for an information queue.</p>
</summary>
<remarks>
<p>Use this enumeration when you call <strong>IDXGIInfoQueue::GetMessage</strong> to retrieve a message and when you call <strong>IDXGIInfoQueue::AddMessage</strong> to add a message. Also, use this enumeration with <strong>IDXGIInfoQueue::AddApplicationMessage</strong>. </p><strong>Note</strong>??This API requires the Windows Software Development Kit (SDK) for Windows?8.?
</remarks>
<doc-id>hh780350</doc-id>
<unmanaged>DXGI_INFO_QUEUE_MESSAGE_SEVERITY</unmanaged>
<unmanaged-short>DXGI_INFO_QUEUE_MESSAGE_SEVERITY</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.InformationQueueMessageSeverity.Corruption">
<summary>
<dd> <p>Defines some type of corruption that has occurred.</p> </dd>
</summary>
<doc-id>hh780350</doc-id>
<unmanaged>DXGI_INFO_QUEUE_MESSAGE_SEVERITY_CORRUPTION</unmanaged>
<unmanaged-short>DXGI_INFO_QUEUE_MESSAGE_SEVERITY_CORRUPTION</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.InformationQueueMessageSeverity.Error">
<summary>
<dd> <p>Defines an error message.</p> </dd>
</summary>
<doc-id>hh780350</doc-id>
<unmanaged>DXGI_INFO_QUEUE_MESSAGE_SEVERITY_ERROR</unmanaged>
<unmanaged-short>DXGI_INFO_QUEUE_MESSAGE_SEVERITY_ERROR</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.InformationQueueMessageSeverity.Warning">
<summary>
<dd> <p>Defines a warning message.</p> </dd>
</summary>
<doc-id>hh780350</doc-id>
<unmanaged>DXGI_INFO_QUEUE_MESSAGE_SEVERITY_WARNING</unmanaged>
<unmanaged-short>DXGI_INFO_QUEUE_MESSAGE_SEVERITY_WARNING</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.InformationQueueMessageSeverity.Information">
<summary>
<dd> <p>Defines an information message.</p> </dd>
</summary>
<doc-id>hh780350</doc-id>
<unmanaged>DXGI_INFO_QUEUE_MESSAGE_SEVERITY_INFO</unmanaged>
<unmanaged-short>DXGI_INFO_QUEUE_MESSAGE_SEVERITY_INFO</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.InformationQueueMessageSeverity.Message">
<summary>
<dd> <p>Defines a message other than corruption, error, warning, or information.</p> </dd>
</summary>
<doc-id>hh780350</doc-id>
<unmanaged>DXGI_INFO_QUEUE_MESSAGE_SEVERITY_MESSAGE</unmanaged>
<unmanaged-short>DXGI_INFO_QUEUE_MESSAGE_SEVERITY_MESSAGE</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.MapFlags.Read">
<summary>
<dd> <p>A reference to the surface data (see <strong><see cref = "T:SharpDX.DXGI.MappedRectangle"/></strong>).</p> </dd>
</summary>
<doc-id>bb174567</doc-id>
<unmanaged>DXGI_MAP_READ</unmanaged>
<unmanaged-short>DXGI_MAP_READ</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.MapFlags.Write">
<summary>
<dd> <p>CPU read-write flags. These flags can be combined with a logical OR. </p> <ul> <li>DXGI_MAP_READ - Allow CPU read access.</li> <li>DXGI_MAP_WRITE - Allow CPU write access.</li> <li>DXGI_MAP_DISCARD - Discard the previous contents of a resource when it is mapped.</li> </ul> </dd>
</summary>
<doc-id>bb174567</doc-id>
<unmanaged>DXGI_MAP_WRITE</unmanaged>
<unmanaged-short>DXGI_MAP_WRITE</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.MapFlags.Discard">
<summary>
No documentation.
</summary>
<doc-id>bb174567</doc-id>
<unmanaged>DXGI_MAP_DISCARD</unmanaged>
<unmanaged-short>DXGI_MAP_DISCARD</unmanaged-short>
</member>
<member name="T:SharpDX.DXGI.MemorySegmentGroup">
<summary>
<p>Specifies the memory segment group to use.</p>
</summary>
<remarks>
<p>This enum is used by <strong>QueryVideoMemoryInfo</strong> and <strong>SetVideoMemoryReservation</strong>.</p><p>Refer to the remarks for <strong><see cref = "!:SharpDX.Direct3D12.MemoryPool"/></strong>.</p>
</remarks>
<doc-id>dn933219</doc-id>
<unmanaged>DXGI_MEMORY_SEGMENT_GROUP</unmanaged>
<unmanaged-short>DXGI_MEMORY_SEGMENT_GROUP</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.MemorySegmentGroup.Local">
<summary>
<dd> <p> The grouping of segments which is considered local to the video adapter, and represents the fastest available memory to the GPU. Applications should target the local segment group as the target size for their working set.</p> </dd>
</summary>
<doc-id>dn933219</doc-id>
<unmanaged>DXGI_MEMORY_SEGMENT_GROUP_LOCAL</unmanaged>
<unmanaged-short>DXGI_MEMORY_SEGMENT_GROUP_LOCAL</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.MemorySegmentGroup.NonLocal">
<summary>
<dd> <p>The grouping of segments which is considered non-local to the video adapter, and may have slower performance than the local segment group.</p> </dd>
</summary>
<doc-id>dn933219</doc-id>
<unmanaged>DXGI_MEMORY_SEGMENT_GROUP_NON_LOCAL</unmanaged>
<unmanaged-short>DXGI_MEMORY_SEGMENT_GROUP_NON_LOCAL</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.MultiplaneOverlayYCbCrFlags.NominalRange">
<summary>
<dd> <p>Specifies nominal range YCbCr, which isn't an absolute color space, but a way of encoding RGB info.</p> </dd>
</summary>
<doc-id>dn313170</doc-id>
<unmanaged>DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAG_NOMINAL_RANGE</unmanaged>
<unmanaged-short>DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAG_NOMINAL_RANGE</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.MultiplaneOverlayYCbCrFlags.Bt709">
<summary>
<dd> <p>Specifies BT.709, which standardizes the format of high-definition television and has 16:9 (widescreen) aspect ratio.</p> </dd>
</summary>
<doc-id>dn313170</doc-id>
<unmanaged>DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAG_BT709</unmanaged>
<unmanaged-short>DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAG_BT709</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.MultiplaneOverlayYCbCrFlags.XvYCC">
<summary>
<dd> <p>Specifies xvYCC or extended-gamut YCC (also x.v.Color) color space that can be used in the video electronics of television sets to support a gamut 1.8 times as large as that of the sRGB color space.</p> </dd>
</summary>
<doc-id>dn313170</doc-id>
<unmanaged>DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAG_xvYCC</unmanaged>
<unmanaged-short>DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAG_xvYCC</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.MultiplaneOverlayYCbCrFlags.None">
<summary>
None
</summary>
<unmanaged>None</unmanaged>
<unmanaged-short>None</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.OfferResourceFlags.AllowDecommit">
<summary>
No documentation.
</summary>
<doc-id>mt732702</doc-id>
<unmanaged>DXGI_OFFER_RESOURCE_FLAG_ALLOW_DECOMMIT</unmanaged>
<unmanaged-short>DXGI_OFFER_RESOURCE_FLAG_ALLOW_DECOMMIT</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.OfferResourceFlags.None">
<summary>
None
</summary>
<unmanaged>None</unmanaged>
<unmanaged-short>None</unmanaged-short>
</member>
<member name="T:SharpDX.DXGI.OfferResourcePriority">
<summary>
<p> Identifies the importance of a resource?s content when you call the <strong>IDXGIDevice2::OfferResources</strong> method to offer the resource. </p>
</summary>
<remarks>
<p>Priority determines how likely the operating system is to discard an offered resource. Resources offered with lower priority are discarded first.</p>
</remarks>
<doc-id>dn933257</doc-id>
<unmanaged>DXGI_OFFER_RESOURCE_PRIORITY</unmanaged>
<unmanaged-short>DXGI_OFFER_RESOURCE_PRIORITY</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.OfferResourcePriority.Low">
<summary>
No documentation.
</summary>
<doc-id>dn933257</doc-id>
<unmanaged>DXGI_OFFER_RESOURCE_PRIORITY_LOW</unmanaged>
<unmanaged-short>DXGI_OFFER_RESOURCE_PRIORITY_LOW</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.OfferResourcePriority.Normal">
<summary>
No documentation.
</summary>
<doc-id>dn933257</doc-id>
<unmanaged>DXGI_OFFER_RESOURCE_PRIORITY_NORMAL</unmanaged>
<unmanaged-short>DXGI_OFFER_RESOURCE_PRIORITY_NORMAL</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.OfferResourcePriority.High">
<summary>
No documentation.
</summary>
<doc-id>dn933257</doc-id>
<unmanaged>DXGI_OFFER_RESOURCE_PRIORITY_HIGH</unmanaged>
<unmanaged-short>DXGI_OFFER_RESOURCE_PRIORITY_HIGH</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.OutputDuplicateFlags.CompositedUiCaptureOnly">
<summary>
No documentation.
</summary>
<unmanaged>DXGI_OUTDUPL_COMPOSITED_UI_CAPTURE_ONLY</unmanaged>
<unmanaged-short>DXGI_OUTDUPL_COMPOSITED_UI_CAPTURE_ONLY</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.OutputDuplicateFlags.None">
<summary>
None
</summary>
<unmanaged>None</unmanaged>
<unmanaged-short>None</unmanaged-short>
</member>
<member name="T:SharpDX.DXGI.OutputDuplicatePointerShapeType">
<summary>
<p>Identifies the type of reference shape.</p>
</summary>
<doc-id>hh404520</doc-id>
<unmanaged>DXGI_OUTDUPL_POINTER_SHAPE_TYPE</unmanaged>
<unmanaged-short>DXGI_OUTDUPL_POINTER_SHAPE_TYPE</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.OutputDuplicatePointerShapeType.Monochrome">
<summary>
<dd> <p>The reference type is a monochrome mouse reference, which is a monochrome bitmap. The bitmap's size is specified by width and height in a 1 bits per pixel (bpp) device independent bitmap (DIB) format AND mask that is followed by another 1 bpp DIB format XOR mask of the same size.</p> </dd>
</summary>
<doc-id>hh404520</doc-id>
<unmanaged>DXGI_OUTDUPL_POINTER_SHAPE_TYPE_MONOCHROME</unmanaged>
<unmanaged-short>DXGI_OUTDUPL_POINTER_SHAPE_TYPE_MONOCHROME</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.OutputDuplicatePointerShapeType.Color">
<summary>
<dd> <p>The reference type is a color mouse reference, which is a color bitmap. The bitmap's size is specified by width and height in a 32 bpp ARGB DIB format.</p> </dd>
</summary>
<doc-id>hh404520</doc-id>
<unmanaged>DXGI_OUTDUPL_POINTER_SHAPE_TYPE_COLOR</unmanaged>
<unmanaged-short>DXGI_OUTDUPL_POINTER_SHAPE_TYPE_COLOR</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.OutputDuplicatePointerShapeType.MaskedColor">
<summary>
<dd> <p>The reference type is a masked color mouse reference. A masked color mouse reference is a 32 bpp ARGB format bitmap with the mask value in the alpha bits. The only allowed mask values are 0 and 0xFF. When the mask value is 0, the RGB value should replace the screen pixel. When the mask value is 0xFF, an XOR operation is performed on the RGB value and the screen pixel; the result replaces the screen pixel.</p> </dd>
</summary>
<doc-id>hh404520</doc-id>
<unmanaged>DXGI_OUTDUPL_POINTER_SHAPE_TYPE_MASKED_COLOR</unmanaged>
<unmanaged-short>DXGI_OUTDUPL_POINTER_SHAPE_TYPE_MASKED_COLOR</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.OverlayColorSpaceSupportFlags.Present">
<summary>
<dd> <p>Overlay color space support is present.</p> </dd>
</summary>
<doc-id>dn903665</doc-id>
<unmanaged>DXGI_OVERLAY_COLOR_SPACE_SUPPORT_FLAG_PRESENT</unmanaged>
<unmanaged-short>DXGI_OVERLAY_COLOR_SPACE_SUPPORT_FLAG_PRESENT</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.OverlayColorSpaceSupportFlags.None">
<summary>
None
</summary>
<unmanaged>None</unmanaged>
<unmanaged-short>None</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.OverlaySupportFlags.Direct">
<summary>
No documentation.
</summary>
<doc-id>dn903667</doc-id>
<unmanaged>DXGI_OVERLAY_SUPPORT_FLAG_DIRECT</unmanaged>
<unmanaged-short>DXGI_OVERLAY_SUPPORT_FLAG_DIRECT</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.OverlaySupportFlags.Scaling">
<summary>
No documentation.
</summary>
<doc-id>dn903667</doc-id>
<unmanaged>DXGI_OVERLAY_SUPPORT_FLAG_SCALING</unmanaged>
<unmanaged-short>DXGI_OVERLAY_SUPPORT_FLAG_SCALING</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.PresentFlags.Test">
<summary>
<dd> <p>An integer that specifies how to synchronize presentation of a frame with the vertical blank.
</p> <p>For the bit-block transfer (bitblt) model (<strong>DXGI_SWAP_EFFECT_DISCARD</strong> or <strong>DXGI_SWAP_EFFECT_SEQUENTIAL</strong>), values are:</p> <ul> <li>0 - The presentation occurs immediately, there is no synchronization.</li> <li>1 through 4 - Synchronize presentation after the <em>n</em>th vertical blank.</li> </ul> <p>For the flip model (<strong>DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL</strong>), values are:</p> <ul> <li>0 - Cancel the remaining time on the previously presented frame and discard this frame if a newer frame is queued.
</li> <li>1 through 4 - Synchronize presentation for at least <em>n</em> vertical blanks. </li> </ul> <p>For an example that shows how sync-interval values affect a flip presentation queue, see Remarks.</p> <p>If the update region straddles more than one output (each represented by <strong><see cref = "T:SharpDX.DXGI.Output"/></strong>), <strong>Present</strong> performs the synchronization to the output that contains the largest sub-rectangle of the target window's client area.</p> </dd>
</summary>
<doc-id>bb174576</doc-id>
<unmanaged>DXGI_PRESENT_TEST</unmanaged>
<unmanaged-short>DXGI_PRESENT_TEST</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.PresentFlags.DoNotSequence">
<summary>
<dd> <p>An integer value that contains swap-chain presentation options. These options are defined by the DXGI_PRESENT constants.</p> </dd>
</summary>
<doc-id>bb174576</doc-id>
<unmanaged>DXGI_PRESENT_DO_NOT_SEQUENCE</unmanaged>
<unmanaged-short>DXGI_PRESENT_DO_NOT_SEQUENCE</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.PresentFlags.Restart">
<summary>
No documentation.
</summary>
<doc-id>bb174576</doc-id>
<unmanaged>DXGI_PRESENT_RESTART</unmanaged>
<unmanaged-short>DXGI_PRESENT_RESTART</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.PresentFlags.DoNotWait">
<summary>
No documentation.
</summary>
<doc-id>bb174576</doc-id>
<unmanaged>DXGI_PRESENT_DO_NOT_WAIT</unmanaged>
<unmanaged-short>DXGI_PRESENT_DO_NOT_WAIT</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.PresentFlags.StereoPreferRight">
<summary>
No documentation.
</summary>
<doc-id>bb174576</doc-id>
<unmanaged>DXGI_PRESENT_STEREO_PREFER_RIGHT</unmanaged>
<unmanaged-short>DXGI_PRESENT_STEREO_PREFER_RIGHT</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.PresentFlags.StereoTemporaryMono">
<summary>
No documentation.
</summary>
<doc-id>bb174576</doc-id>
<unmanaged>DXGI_PRESENT_STEREO_TEMPORARY_MONO</unmanaged>
<unmanaged-short>DXGI_PRESENT_STEREO_TEMPORARY_MONO</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.PresentFlags.RestrictToOutput">
<summary>
No documentation.
</summary>
<doc-id>bb174576</doc-id>
<unmanaged>DXGI_PRESENT_RESTRICT_TO_OUTPUT</unmanaged>
<unmanaged-short>DXGI_PRESENT_RESTRICT_TO_OUTPUT</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.PresentFlags.UseDuration">
<summary>
No documentation.
</summary>
<doc-id>bb174576</doc-id>
<unmanaged>DXGI_PRESENT_USE_DURATION</unmanaged>
<unmanaged-short>DXGI_PRESENT_USE_DURATION</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.PresentFlags.AllowTearing">
<summary>
No documentation.
</summary>
<doc-id>bb174576</doc-id>
<unmanaged>DXGI_PRESENT_ALLOW_TEARING</unmanaged>
<unmanaged-short>DXGI_PRESENT_ALLOW_TEARING</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.PresentFlags.None">
<summary>
None
</summary>
<unmanaged>None</unmanaged>
<unmanaged-short>None</unmanaged-short>
</member>
<member name="T:SharpDX.DXGI.ReclaimResourceResults">
<summary>
<p>Specifies result flags for the <strong>ReclaimResources1</strong> method.</p>
</summary>
<doc-id>mt732703</doc-id>
<unmanaged>DXGI_RECLAIM_RESOURCE_RESULTS</unmanaged>
<unmanaged-short>DXGI_RECLAIM_RESOURCE_RESULTS</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.ReclaimResourceResults.Ok">
<summary>
No documentation.
</summary>
<doc-id>mt732703</doc-id>
<unmanaged>DXGI_RECLAIM_RESOURCE_RESULT_OK</unmanaged>
<unmanaged-short>DXGI_RECLAIM_RESOURCE_RESULT_OK</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.ReclaimResourceResults.Discarded">
<summary>
No documentation.
</summary>
<doc-id>mt732703</doc-id>
<unmanaged>DXGI_RECLAIM_RESOURCE_RESULT_DISCARDED</unmanaged>
<unmanaged-short>DXGI_RECLAIM_RESOURCE_RESULT_DISCARDED</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.ReclaimResourceResults.NotCommitted">
<summary>
No documentation.
</summary>
<doc-id>mt732703</doc-id>
<unmanaged>DXGI_RECLAIM_RESOURCE_RESULT_NOT_COMMITTED</unmanaged>
<unmanaged-short>DXGI_RECLAIM_RESOURCE_RESULT_NOT_COMMITTED</unmanaged-short>
</member>
<member name="T:SharpDX.DXGI.Residency">
<summary>
<p>Flags indicating the memory location of a resource.</p>
</summary>
<remarks>
<p>This enum is used by <strong>QueryResourceResidency</strong>.</p>
</remarks>
<doc-id>bb173070</doc-id>
<unmanaged>DXGI_RESIDENCY</unmanaged>
<unmanaged-short>DXGI_RESIDENCY</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Residency.FullyResident">
<summary>
<dd> <p>The resource is located in video memory.</p> </dd>
</summary>
<doc-id>bb173070</doc-id>
<unmanaged>DXGI_RESIDENCY_FULLY_RESIDENT</unmanaged>
<unmanaged-short>DXGI_RESIDENCY_FULLY_RESIDENT</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Residency.ResidentInSharedMemory">
<summary>
<dd> <p>At least some of the resource is located in CPU memory.</p> </dd>
</summary>
<doc-id>bb173070</doc-id>
<unmanaged>DXGI_RESIDENCY_RESIDENT_IN_SHARED_MEMORY</unmanaged>
<unmanaged-short>DXGI_RESIDENCY_RESIDENT_IN_SHARED_MEMORY</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Residency.EvictedToDisk">
<summary>
<dd> <p>At least some of the resource has been paged out to the hard drive.</p> </dd>
</summary>
<doc-id>bb173070</doc-id>
<unmanaged>DXGI_RESIDENCY_EVICTED_TO_DISK</unmanaged>
<unmanaged-short>DXGI_RESIDENCY_EVICTED_TO_DISK</unmanaged-short>
</member>
<member name="T:SharpDX.DXGI.ResourcePriority">
<summary>
<p>Set the priority for evicting the resource from memory.</p>
</summary>
<remarks>
<p>The eviction priority is a memory-management variable that is used by DXGI for determining how to populate overcommitted memory.</p><p>You can set priority levels other than the defined values when appropriate. For example, you can set a resource with a priority level of 0x78000001 to indicate that the resource is slightly above normal.</p>
</remarks>
<doc-id>bb174564</doc-id>
<unmanaged>DXGI_RESOURCE_PRIORITY</unmanaged>
<unmanaged-short>DXGI_RESOURCE_PRIORITY</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.ResourcePriority.Minimum">
<summary>
<dd> <p>The priority is one of the following values: </p> <table> <tr><th>Value</th><th>Meaning</th></tr> <tr><td><dl> <dt><strong>DXGI_RESOURCE_PRIORITY_MINIMUM (0x28000000)</strong></dt> </dl> </td><td> <p>The resource is unused and can be evicted as soon as another resource requires the memory that the resource occupies.</p> </td></tr> <tr><td><dl> <dt><strong>DXGI_RESOURCE_PRIORITY_LOW (0x50000000)</strong></dt> </dl> </td><td> <p>The eviction priority of the resource is low. The placement of the resource is not critical, and minimal work is performed to find a location for the resource. For example, if a GPU can render with a vertex buffer from either local or non-local memory with little difference in performance, that vertex buffer is low priority. Other more critical resources (for example, a render target or texture) can then occupy the faster memory.</p> </td></tr> <tr><td><dl> <dt><strong>DXGI_RESOURCE_PRIORITY_NORMAL (0x78000000)</strong></dt> </dl> </td><td> <p>The eviction priority of the resource is normal. The placement of the resource is important, but not critical, for performance. The resource is placed in its preferred location instead of a low-priority resource. </p> </td></tr> <tr><td><dl> <dt><strong>DXGI_RESOURCE_PRIORITY_HIGH (0xa0000000)</strong></dt> </dl> </td><td> <p>The eviction priority of the resource is high. The resource is placed in its preferred location instead of a low-priority or normal-priority resource.</p> </td></tr> <tr><td><dl> <dt><strong>DXGI_RESOURCE_PRIORITY_MAXIMUM (0xc8000000)</strong></dt> </dl> </td><td> <p>The resource is evicted from memory only if there is no other way of resolving the memory requirement.</p> </td></tr> </table> <p>?</p> </dd>
</summary>
<doc-id>bb174564</doc-id>
<unmanaged>DXGI_RESOURCE_PRIORITY_MINIMUM</unmanaged>
<unmanaged-short>DXGI_RESOURCE_PRIORITY_MINIMUM</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.ResourcePriority.Low">
<summary>
No documentation.
</summary>
<doc-id>bb174564</doc-id>
<unmanaged>DXGI_RESOURCE_PRIORITY_LOW</unmanaged>
<unmanaged-short>DXGI_RESOURCE_PRIORITY_LOW</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.ResourcePriority.Normal">
<summary>
No documentation.
</summary>
<doc-id>bb174564</doc-id>
<unmanaged>DXGI_RESOURCE_PRIORITY_NORMAL</unmanaged>
<unmanaged-short>DXGI_RESOURCE_PRIORITY_NORMAL</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.ResourcePriority.High">
<summary>
No documentation.
</summary>
<doc-id>bb174564</doc-id>
<unmanaged>DXGI_RESOURCE_PRIORITY_HIGH</unmanaged>
<unmanaged-short>DXGI_RESOURCE_PRIORITY_HIGH</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.ResourcePriority.Maximum">
<summary>
No documentation.
</summary>
<doc-id>bb174564</doc-id>
<unmanaged>DXGI_RESOURCE_PRIORITY_MAXIMUM</unmanaged>
<unmanaged-short>DXGI_RESOURCE_PRIORITY_MAXIMUM</unmanaged-short>
</member>
<member name="T:SharpDX.DXGI.Scaling">
<summary>
<p>Identifies resize behavior when the back-buffer size does not match the size of the target output.</p>
</summary>
<remarks>
<p>The DXGI_SCALING_NONE value is supported only for flip presentation model swap chains that you create with the <strong>DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL</strong> value. You pass these values in a call to <strong>IDXGIFactory2::CreateSwapChainForHwnd</strong>, <strong>IDXGIFactory2::CreateSwapChainForCoreWindow</strong>, or <strong>IDXGIFactory2::CreateSwapChainForComposition</strong>. </p><p>DXGI_SCALING_ASPECT_RATIO_STRETCH will prefer to use a horizontal fill, otherwise it will use a vertical fill, using the following logic.</p><code>float aspectRatio = backBufferWidth / float(backBufferHeight); // Horizontal fill float scaledWidth = outputWidth; float scaledHeight = outputWidth / aspectRatio; if (scaledHeight &gt;= outputHeight) { // Do vertical fill scaledWidth = outputHeight * aspectRatio; scaledHeight = outputHeight; } float offsetX = (outputWidth - scaledWidth) * 0.5f; float offsetY = (outputHeight - scaledHeight) * 0.5f; rect.left = static_cast&lt;<see cref = "T:System.Int32"/>&gt;(offsetX); rect.top = static_cast&lt;<see cref = "T:System.Int32"/>&gt;(offsetY); rect.right = static_cast&lt;<see cref = "T:System.Int32"/>&gt;(offsetX + scaledWidth); rect.bottom = static_cast&lt;<see cref = "T:System.Int32"/>&gt;(offsetY + scaledHeight); rect.left = std::max&lt;<see cref = "T:System.Int32"/>&gt;(0, rect.left); rect.top = std::max&lt;<see cref = "T:System.Int32"/>&gt;(0, rect.top); rect.right = std::min&lt;<see cref = "T:System.Int32"/>&gt;(static_cast&lt;<see cref = "T:System.Int32"/>&gt;(outputWidth), rect.right); rect.bottom = std::min&lt;<see cref = "T:System.Int32"/>&gt;(static_cast&lt;<see cref = "T:System.Int32"/>&gt;(outputHeight), rect.bottom);
</code><p>Note that <em>outputWidth</em> and <em>outputHeight</em> are the pixel sizes of the presentation target size. In the case of <strong>CoreWindow</strong>, this requires converting the <em>logicalWidth</em> and <em>logicalHeight</em> values from DIPS to pixels using the window's DPI property.</p>
</remarks>
<doc-id>hh404526</doc-id>
<unmanaged>DXGI_SCALING</unmanaged>
<unmanaged-short>DXGI_SCALING</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Scaling.Stretch">
<summary>
<dd> <p>Directs DXGI to make the back-buffer contents scale to fit the presentation target size. This is the implicit behavior of DXGI when you call the <strong>IDXGIFactory::CreateSwapChain</strong> method.</p> </dd>
</summary>
<doc-id>hh404526</doc-id>
<unmanaged>DXGI_SCALING_STRETCH</unmanaged>
<unmanaged-short>DXGI_SCALING_STRETCH</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Scaling.None">
<summary>
<dd> <p>Directs DXGI to make the back-buffer contents appear without any scaling when the presentation target size is not equal to the back-buffer size. The top edges of the back buffer and presentation target are aligned together. If the WS_EX_LAYOUTRTL style is associated with the <strong><see cref = "T:System.IntPtr"/></strong> handle to the target output window, the right edges of the back buffer and presentation target are aligned together; otherwise, the left edges are aligned together. All target area outside the back buffer is filled with window background color.</p> <p>This value specifies that all target areas outside the back buffer of a swap chain are filled with the background color that you specify in a call to <strong>IDXGISwapChain1::SetBackgroundColor</strong>.</p> </dd>
</summary>
<doc-id>hh404526</doc-id>
<unmanaged>DXGI_SCALING_NONE</unmanaged>
<unmanaged-short>DXGI_SCALING_NONE</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Scaling.AspectRatioStretch">
<summary>
<dd> <p>Directs DXGI to make the back-buffer contents scale to fit the presentation target size, while preserving the aspect ratio of the back-buffer. If the scaled back-buffer does not fill the presentation area, it will be centered with black borders.</p> <p>This constant is supported on Windows Phone 8 and Windows 10. </p> <p>Note that with legacy Win32 window swapchains, this works the same as DXGI_SCALING_STRETCH.
</p> </dd>
</summary>
<doc-id>hh404526</doc-id>
<unmanaged>DXGI_SCALING_ASPECT_RATIO_STRETCH</unmanaged>
<unmanaged-short>DXGI_SCALING_ASPECT_RATIO_STRETCH</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.SharedResourceFlags.Read">
<summary>
No documentation.
</summary>
<unmanaged>DXGI_SHARED_RESOURCE_READ</unmanaged>
<unmanaged-short>DXGI_SHARED_RESOURCE_READ</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.SharedResourceFlags.Write">
<summary>
No documentation.
</summary>
<unmanaged>DXGI_SHARED_RESOURCE_WRITE</unmanaged>
<unmanaged-short>DXGI_SHARED_RESOURCE_WRITE</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.SharedResourceFlags.None">
<summary>
None
</summary>
<unmanaged>None</unmanaged>
<unmanaged-short>None</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.SwapChainColorSpaceSupportFlags.Present">
<summary>
<dd> <p>Color space support is present.</p> </dd>
</summary>
<doc-id>dn903668</doc-id>
<unmanaged>DXGI_SWAP_CHAIN_COLOR_SPACE_SUPPORT_FLAG_PRESENT</unmanaged>
<unmanaged-short>DXGI_SWAP_CHAIN_COLOR_SPACE_SUPPORT_FLAG_PRESENT</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.SwapChainColorSpaceSupportFlags.OverlayPresent">
<summary>
<dd> <p>Overlay color space support is present.</p> </dd>
</summary>
<doc-id>dn903668</doc-id>
<unmanaged>DXGI_SWAP_CHAIN_COLOR_SPACE_SUPPORT_FLAG_OVERLAY_PRESENT</unmanaged>
<unmanaged-short>DXGI_SWAP_CHAIN_COLOR_SPACE_SUPPORT_FLAG_OVERLAY_PRESENT</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.SwapChainColorSpaceSupportFlags.None">
<summary>
None
</summary>
<unmanaged>None</unmanaged>
<unmanaged-short>None</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.SwapChainFlags.Nonprerotated">
<summary>
<dd> <p>Set this flag to turn off automatic image rotation; that is, do not perform a rotation when transferring the contents of the front buffer to the monitor. Use this flag to avoid a bandwidth penalty when an application expects to handle rotation. This option is valid only during full-screen mode. </p> </dd>
</summary>
<doc-id>bb173076</doc-id>
<unmanaged>DXGI_SWAP_CHAIN_FLAG_NONPREROTATED</unmanaged>
<unmanaged-short>DXGI_SWAP_CHAIN_FLAG_NONPREROTATED</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.SwapChainFlags.AllowModeSwitch">
<summary>
<dd> <p>Set this flag to enable an application to switch modes by calling <strong>IDXGISwapChain::ResizeTarget</strong>. When switching from windowed to full-screen mode, the display mode (or monitor resolution) will be changed to match the dimensions of the application window.</p> </dd>
</summary>
<doc-id>bb173076</doc-id>
<unmanaged>DXGI_SWAP_CHAIN_FLAG_ALLOW_MODE_SWITCH</unmanaged>
<unmanaged-short>DXGI_SWAP_CHAIN_FLAG_ALLOW_MODE_SWITCH</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.SwapChainFlags.GdiCompatible">
<summary>
<dd> <p>Set this flag to enable an application to render using GDI on a swap chain or a surface. This will allow the application to call <strong>IDXGISurface1::GetDC</strong> on the 0th back buffer or a surface.</p> </dd>
</summary>
<doc-id>bb173076</doc-id>
<unmanaged>DXGI_SWAP_CHAIN_FLAG_GDI_COMPATIBLE</unmanaged>
<unmanaged-short>DXGI_SWAP_CHAIN_FLAG_GDI_COMPATIBLE</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.SwapChainFlags.RestrictedContent">
<summary>
<dd> <p>Set this flag to indicate that the swap chain might contain protected content; therefore, the operating system supports the creation of the swap chain only when driver and hardware protection is used. If the driver and hardware do not support content protection, the call to create a resource for the swap chain fails.</p> <p><strong>Direct3D 11:??</strong>This enumeration value is supported starting with Windows?8.</p> </dd>
</summary>
<doc-id>bb173076</doc-id>
<unmanaged>DXGI_SWAP_CHAIN_FLAG_RESTRICTED_CONTENT</unmanaged>
<unmanaged-short>DXGI_SWAP_CHAIN_FLAG_RESTRICTED_CONTENT</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.SwapChainFlags.RestrictSharedResourceDriver">
<summary>
<dd> <p>Set this flag to indicate that shared resources that are created within the swap chain must be protected by using the driver?s mechanism for restricting access to shared surfaces.</p> <p><strong>Direct3D 11:??</strong>This enumeration value is supported starting with Windows?8.</p> </dd>
</summary>
<doc-id>bb173076</doc-id>
<unmanaged>DXGI_SWAP_CHAIN_FLAG_RESTRICT_SHARED_RESOURCE_DRIVER</unmanaged>
<unmanaged-short>DXGI_SWAP_CHAIN_FLAG_RESTRICT_SHARED_RESOURCE_DRIVER</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.SwapChainFlags.DisplayOnly">
<summary>
<dd> <p>Set this flag to restrict presented content to the local displays. Therefore, the presented content is not accessible via remote accessing or through the <strong>desktop duplication APIs</strong>. </p> <p>This flag supports the window content protection features of Windows. Applications can use this flag to protect their own onscreen window content from being captured or copied through a specific set of public operating system features and APIs.</p> <p>If you use this flag with windowed (<strong><see cref = "T:System.IntPtr"/></strong> or <strong>IWindow</strong>) swap chains where another process created the <strong><see cref = "T:System.IntPtr"/></strong>, the owner of the <strong><see cref = "T:System.IntPtr"/></strong> must use the <strong>SetWindowDisplayAffinity</strong> function appropriately in order to allow calls to <strong>IDXGISwapChain::Present</strong> or <strong>IDXGISwapChain1::Present1</strong> to succeed.
</p> <p><strong>Direct3D 11:??</strong>This enumeration value is supported starting with Windows?8.</p> </dd>
</summary>
<doc-id>bb173076</doc-id>
<unmanaged>DXGI_SWAP_CHAIN_FLAG_DISPLAY_ONLY</unmanaged>
<unmanaged-short>DXGI_SWAP_CHAIN_FLAG_DISPLAY_ONLY</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.SwapChainFlags.FrameLatencyWaitAbleObject">
<summary>
<dd> <p>Set this flag to create a waitable object you can use to ensure rendering does not begin while a frame is still being presented. When this flag is used, the swapchain's latency must be set with the <strong>IDXGISwapChain2::SetMaximumFrameLatency</strong> API instead of <strong>IDXGIDevice1::SetMaximumFrameLatency</strong>.</p> <p><strong>Note</strong>??This enumeration value is supported starting with Windows?8.1.</p> </dd>
</summary>
<doc-id>bb173076</doc-id>
<unmanaged>DXGI_SWAP_CHAIN_FLAG_FRAME_LATENCY_WAITABLE_OBJECT</unmanaged>
<unmanaged-short>DXGI_SWAP_CHAIN_FLAG_FRAME_LATENCY_WAITABLE_OBJECT</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.SwapChainFlags.ForegroundLayer">
<summary>
<dd> <p>Set this flag to create a swap chain in the foreground layer for multi-plane rendering. This flag can only be used with <strong>CoreWindow</strong> swap chains, which are created with <strong>CreateSwapChainForCoreWindow</strong>. Apps should not create foreground swap chains if <strong>IDXGIOutput2::SupportsOverlays</strong> indicates that hardware support for overlays is not available.</p> <p>Note that <strong>IDXGISwapChain::ResizeBuffers</strong> cannot be used to add or remove this flag.</p> <p><strong>Note</strong>??This enumeration value is supported starting with Windows?8.1.</p> </dd>
</summary>
<doc-id>bb173076</doc-id>
<unmanaged>DXGI_SWAP_CHAIN_FLAG_FOREGROUND_LAYER</unmanaged>
<unmanaged-short>DXGI_SWAP_CHAIN_FLAG_FOREGROUND_LAYER</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.SwapChainFlags.FullScreenVideo">
<summary>
<dd> <p>Set this flag to create a swap chain for full-screen video. </p> <p><strong>Note</strong>??This enumeration value is supported starting with Windows?8.1.</p> </dd>
</summary>
<doc-id>bb173076</doc-id>
<unmanaged>DXGI_SWAP_CHAIN_FLAG_FULLSCREEN_VIDEO</unmanaged>
<unmanaged-short>DXGI_SWAP_CHAIN_FLAG_FULLSCREEN_VIDEO</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.SwapChainFlags.YuvVideo">
<summary>
<dd> <p>Set this flag to create a swap chain for YUV video.</p> <p><strong>Note</strong>??This enumeration value is supported starting with Windows?8.1.</p> </dd>
</summary>
<doc-id>bb173076</doc-id>
<unmanaged>DXGI_SWAP_CHAIN_FLAG_YUV_VIDEO</unmanaged>
<unmanaged-short>DXGI_SWAP_CHAIN_FLAG_YUV_VIDEO</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.SwapChainFlags.HwProtected">
<summary>
<dd> <p>Indicates that the swap chain should be created such that all underlying resources can be protected by the hardware. Resource creation will fail if hardware content protection is not supported.</p> <p>This flag has the following restrictions:</p> <ul> <li>This flag can only be used with swap effect <strong>DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL</strong>.</li> </ul> <strong>Note</strong>??Creating a swap chain using this flag does not automatically guarantee that hardware protection will be enabled for the underlying allocation. Some implementations require that the DRM components are first initialized prior to any guarantees of protection. ? <p><strong>Note</strong>??This enumeration value is supported starting with Windows?10.</p> </dd>
</summary>
<doc-id>bb173076</doc-id>
<unmanaged>DXGI_SWAP_CHAIN_FLAG_HW_PROTECTED</unmanaged>
<unmanaged-short>DXGI_SWAP_CHAIN_FLAG_HW_PROTECTED</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.SwapChainFlags.AllowTearing">
<summary>
<dd> <p>Tearing support is a requirement to enable displays that support variable refresh rates to function properly when the application presents a swap chain tied to a full screen borderless window. Win32 apps can already achieve tearing in fullscreen exclusive mode by calling <strong>SetFullscreenState</strong>(TRUE), but the recommended approach for Win32 developers is to use this tearing flag instead.</p> <p>To check for hardware support of this feature, refer to <strong>IDXGIFactory5::CheckFeatureSupport</strong>. For usage information refer to <strong>IDXGISwapChain::Present</strong> and the <strong>DXGI_PRESENT</strong> flags.</p> </dd>
</summary>
<doc-id>bb173076</doc-id>
<unmanaged>DXGI_SWAP_CHAIN_FLAG_ALLOW_TEARING</unmanaged>
<unmanaged-short>DXGI_SWAP_CHAIN_FLAG_ALLOW_TEARING</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.SwapChainFlags.RestrictedToAllHolographicDisplayS">
<summary>
No documentation.
</summary>
<doc-id>bb173076</doc-id>
<unmanaged>DXGI_SWAP_CHAIN_FLAG_RESTRICTED_TO_ALL_HOLOGRAPHIC_DISPLAYS</unmanaged>
<unmanaged-short>DXGI_SWAP_CHAIN_FLAG_RESTRICTED_TO_ALL_HOLOGRAPHIC_DISPLAYS</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.SwapChainFlags.None">
<summary>
None
</summary>
<unmanaged>None</unmanaged>
<unmanaged-short>None</unmanaged-short>
</member>
<member name="T:SharpDX.DXGI.SwapEffect">
<summary>
<p> Options for handling pixels in a display surface after calling <strong>IDXGISwapChain1::Present1</strong>. </p>
</summary>
<remarks>
<p> This enumeration is used by the <strong><see cref = "T:SharpDX.DXGI.SwapChainDescription"/></strong> and <strong><see cref = "T:SharpDX.DXGI.SwapChainDescription1"/></strong>structures. </p><p> To use multisampling with <strong>DXGI_SWAP_EFFECT_SEQUENTIAL</strong> or <strong>DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL</strong>, you must perform the multisampling in a separate render target. For example, create a multisampled texture by calling <strong>ID3D11Device::CreateTexture2D</strong> with a filled <strong><see cref = "!:SharpDX.Direct3D11.Texture2DDescription"/></strong> structure (<strong>BindFlags</strong> member set to <strong>D3D11_BIND_RENDER_TARGET</strong> and <strong>SampleDesc</strong> member with multisampling parameters). Next call <strong>ID3D11Device::CreateRenderTargetView</strong> to create a render-target view for the texture, and render your scene into the texture. Finally call <strong>ID3D11DeviceContext::ResolveSubresource</strong> to resolve the multisampled texture into your non-multisampled swap chain. </p><p> The primary difference between presentation models is how back-buffer contents get to the Desktop Window Manager (DWM) for composition. In the bitblt model, which is used with the <strong>DXGI_SWAP_EFFECT_DISCARD</strong> and <strong>DXGI_SWAP_EFFECT_SEQUENTIAL</strong> values, contents of the back buffer get copied into the redirection surface on each call to <strong>IDXGISwapChain1::Present1</strong>. In the flip model, which is used with the <strong>DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL</strong> value, all back buffers are shared with the DWM. Therefore, the DWM can compose straight from those back buffers without any additional copy operations. In general, the flip model is the more efficient model. The flip model also provides more features, such as enhanced present statistics. </p><p> When you call <strong>IDXGISwapChain1::Present1</strong> on a flip model swap chain (<strong>DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL</strong>) with 0 specified in the <em>SyncInterval</em> parameter, <strong>IDXGISwapChain1::Present1</strong>'s behavior is the same as the behavior of Direct3D 9Ex's <strong>IDirect3DDevice9Ex::PresentEx</strong> with <strong>D3DSWAPEFFECT_FLIPEX</strong> and D3DPRESENT_FORCEIMMEDIATE. That is, the runtime not only presents the next frame instead of any previously queued frames, it also terminates any remaining time left on the previously queued frames. </p><p> Regardless of whether the flip model is more efficient, an application still might choose the bitblt model because the bitblt model is the only way to mix GDI and DirectX presentation. In the flip model, the application must create the swap chain with <strong>DXGI_SWAP_CHAIN_FLAG_GDI_COMPATIBLE</strong>, and then must use <strong>GetDC</strong> on the back buffer explicitly. After the first successful call to <strong>IDXGISwapChain1::Present1</strong> on a flip-model swap chain, GDI no longer works with the <strong><see cref = "T:System.IntPtr"/></strong> that is associated with that swap chain, even after the destruction of the swap chain. This restriction even extends to methods like <strong>ScrollWindowEx</strong>. </p><p> For more info about the flip-model swap chain and optimizing presentation, see Enhancing presentation with the flip model, dirty rectangles, and scrolled areas. </p>
</remarks>
<doc-id>bb173077</doc-id>
<unmanaged>DXGI_SWAP_EFFECT</unmanaged>
<unmanaged-short>DXGI_SWAP_EFFECT</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.SwapEffect.Discard">
<summary>
No documentation.
</summary>
<doc-id>bb173077</doc-id>
<unmanaged>DXGI_SWAP_EFFECT_DISCARD</unmanaged>
<unmanaged-short>DXGI_SWAP_EFFECT_DISCARD</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.SwapEffect.Sequential">
<summary>
No documentation.
</summary>
<doc-id>bb173077</doc-id>
<unmanaged>DXGI_SWAP_EFFECT_SEQUENTIAL</unmanaged>
<unmanaged-short>DXGI_SWAP_EFFECT_SEQUENTIAL</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.SwapEffect.FlipSequential">
<summary>
No documentation.
</summary>
<doc-id>bb173077</doc-id>
<unmanaged>DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL</unmanaged>
<unmanaged-short>DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.SwapEffect.FlipDiscard">
<summary>
No documentation.
</summary>
<doc-id>bb173077</doc-id>
<unmanaged>DXGI_SWAP_EFFECT_FLIP_DISCARD</unmanaged>
<unmanaged-short>DXGI_SWAP_EFFECT_FLIP_DISCARD</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Usage.ShaderInput">
<summary>
No documentation.
</summary>
<unmanaged>DXGI_USAGE_SHADER_INPUT</unmanaged>
<unmanaged-short>DXGI_USAGE_SHADER_INPUT</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Usage.RenderTargetOutput">
<summary>
No documentation.
</summary>
<unmanaged>DXGI_USAGE_RENDER_TARGET_OUTPUT</unmanaged>
<unmanaged-short>DXGI_USAGE_RENDER_TARGET_OUTPUT</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Usage.BackBuffer">
<summary>
No documentation.
</summary>
<unmanaged>DXGI_USAGE_BACK_BUFFER</unmanaged>
<unmanaged-short>DXGI_USAGE_BACK_BUFFER</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Usage.Shared">
<summary>
No documentation.
</summary>
<unmanaged>DXGI_USAGE_SHARED</unmanaged>
<unmanaged-short>DXGI_USAGE_SHARED</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Usage.ReadOnly">
<summary>
No documentation.
</summary>
<unmanaged>DXGI_USAGE_READ_ONLY</unmanaged>
<unmanaged-short>DXGI_USAGE_READ_ONLY</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Usage.DiscardOnPresent">
<summary>
No documentation.
</summary>
<unmanaged>DXGI_USAGE_DISCARD_ON_PRESENT</unmanaged>
<unmanaged-short>DXGI_USAGE_DISCARD_ON_PRESENT</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.Usage.UnorderedAccess">
<summary>
No documentation.
</summary>
<unmanaged>DXGI_USAGE_UNORDERED_ACCESS</unmanaged>
<unmanaged-short>DXGI_USAGE_UNORDERED_ACCESS</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.WindowAssociationFlags.IgnoreAll">
<summary>
No documentation.
</summary>
<unmanaged>DXGI_MWA_NO_WINDOW_CHANGES</unmanaged>
<unmanaged-short>DXGI_MWA_NO_WINDOW_CHANGES</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.WindowAssociationFlags.IgnoreAltEnter">
<summary>
No documentation.
</summary>
<unmanaged>DXGI_MWA_NO_ALT_ENTER</unmanaged>
<unmanaged-short>DXGI_MWA_NO_ALT_ENTER</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.WindowAssociationFlags.IgnorePrintScreen">
<summary>
No documentation.
</summary>
<unmanaged>DXGI_MWA_NO_PRINT_SCREEN</unmanaged>
<unmanaged-short>DXGI_MWA_NO_PRINT_SCREEN</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.WindowAssociationFlags.Valid">
<summary>
No documentation.
</summary>
<unmanaged>DXGI_MWA_VALID</unmanaged>
<unmanaged-short>DXGI_MWA_VALID</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.WindowAssociationFlags.None">
<summary>
None
</summary>
<unmanaged>None</unmanaged>
<unmanaged-short>None</unmanaged-short>
</member>
<member name="T:SharpDX.DXGI.DXGI">
<summary>
Functions
</summary>
</member>
<member name="F:SharpDX.DXGI.DXGI.CreateFactoryDebug">
<summary>Constant CreateFactoryDebug</summary>
<unmanaged>DXGI_CREATE_FACTORY_DEBUG</unmanaged>
</member>
<member name="M:SharpDX.DXGI.DXGI.CreateDXGIFactory1(System.Guid,System.IntPtr@)">
<summary>
<p>Creates a DXGI 1.1 factory that you can use to generate other DXGI objects.</p>
</summary>
<param name = "riid"><dd> <p>The globally unique identifier (<see cref = "T:System.Guid"/>) of the <strong><see cref = "T:SharpDX.DXGI.Factory1"/></strong> object referenced by the <em>ppFactory</em> parameter.</p> </dd></param>
<param name = "factoryOut"><dd> <p>Address of a reference to an <strong><see cref = "T:SharpDX.DXGI.Factory1"/></strong> object.</p> </dd></param>
<returns><p>Returns <see cref = "F:SharpDX.Result.Ok"/> if successful; an error code otherwise. For a list of error codes, see DXGI_ERROR.</p></returns>
<remarks>
<p>Use a DXGI 1.1 factory to generate objects that <strong>enumerate adapters</strong>, <strong>create swap chains</strong>, and <strong>associate a window</strong> with the alt+enter key sequence for toggling to and from the full-screen display mode. </p><p>If the <strong>CreateDXGIFactory1</strong> function succeeds, the reference count on the <strong><see cref = "T:SharpDX.DXGI.Factory1"/></strong> interface is incremented. To avoid a memory leak, when you finish using the interface, call the <strong>IDXGIFactory1::Release</strong> method to release the interface.</p><p>This entry point is not supported by DXGI 1.0, which shipped in Windows?Vista and Windows Server?2008. DXGI 1.1 support is required, which is available on Windows?7, Windows Server?2008?R2, and as an update to Windows?Vista with Service Pack?2 (SP2) (KB 971644) and Windows Server?2008 (KB 971512).</p><strong>Note</strong>??Do not mix the use of DXGI 1.0 (<strong><see cref = "T:SharpDX.DXGI.Factory"/></strong>) and DXGI 1.1 (<strong><see cref = "T:SharpDX.DXGI.Factory1"/></strong>) in an application. Use <strong><see cref = "T:SharpDX.DXGI.Factory"/></strong> or <strong><see cref = "T:SharpDX.DXGI.Factory1"/></strong>, but not both in an application.?<strong>Note</strong>??<strong>CreateDXGIFactory1</strong> fails if your app's <strong>DllMain</strong> function calls it. For more info about how DXGI responds from <strong>DllMain</strong>, see DXGI Responses from DLLMain.?<strong>Note</strong>??Starting with Windows?8, all DXGI factories (regardless if they were created with <strong>CreateDXGIFactory</strong> or <strong>CreateDXGIFactory1</strong>) enumerate adapters identically. The enumeration order of adapters, which you retrieve with <strong>IDXGIFactory::EnumAdapters</strong> or <strong>IDXGIFactory1::EnumAdapters1</strong>, is as follows: <ul> <li>Adapter with the output on which the desktop primary is displayed. This adapter corresponds with an index of zero.</li> <li>Adapters with outputs.</li> <li>Adapters without outputs.</li> </ul>?
</remarks>
<doc-id>ff471318</doc-id>
<unmanaged>HRESULT CreateDXGIFactory1([In] const GUID&amp; riid,[Out] void** ppFactory)</unmanaged>
<unmanaged-short>CreateDXGIFactory1</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.DXGI.CreateDXGIFactory2(System.Int32,System.Guid,System.IntPtr@)">
<summary>
<p>Creates a DXGI 1.3 factory that you can use to generate other DXGI objects.</p><p>In Windows?8, any DXGI factory created while DXGIDebug.dll was present on the system would load and use it. Starting in Windows?8.1, apps explicitly request that DXGIDebug.dll be loaded instead. Use <strong>CreateDXGIFactory2</strong> and specify the <see cref = "F:SharpDX.DXGI.DXGI.CreateFactoryDebug"/> flag to request DXGIDebug.dll; the DLL will be loaded if it is present on the system.</p>
</summary>
<param name = "flags"><dd> <p>Valid values include the <strong><see cref = "F:SharpDX.DXGI.DXGI.CreateFactoryDebug"/> (0x01)</strong> flag, and zero.</p> <strong>Note</strong>??This flag will be set by the D3D runtime if:<ul> <li>The system creates an implicit factory during device creation.</li> <li>The D3D11_CREATE_DEVICE_DEBUG flag is specified during device creation, for example using <strong>D3D11CreateDevice</strong> (or the swapchain method, or the Direct3D 10 equivalents).</li> </ul> ? </dd></param>
<param name = "riid"><dd> <p>The globally unique identifier (<see cref = "T:System.Guid"/>) of the <strong><see cref = "T:SharpDX.DXGI.Factory2"/></strong> object referenced by the <em>ppFactory</em> parameter.</p> </dd></param>
<param name = "factoryOut"><dd> <p>Address of a reference to an <strong><see cref = "T:SharpDX.DXGI.Factory2"/></strong> object.</p> </dd></param>
<returns><p>Returns <see cref = "F:SharpDX.Result.Ok"/> if successful; an error code otherwise. For a list of error codes, see DXGI_ERROR.</p></returns>
<remarks>
<p>This function accepts a flag indicating whether DXGIDebug.dll is loaded. The function otherwise behaves identically to <strong>CreateDXGIFactory1</strong>.</p>
</remarks>
<doc-id>dn268307</doc-id>
<unmanaged>HRESULT CreateDXGIFactory2([In] unsigned int Flags,[In] const GUID&amp; riid,[Out] void** ppFactory)</unmanaged>
<unmanaged-short>CreateDXGIFactory2</unmanaged-short>
</member>
<member name="T:SharpDX.DXGI.ResultCode">
<summary>
Functions
</summary>
</member>
<member name="F:SharpDX.DXGI.ResultCode.InvalidCall">
<summary>Constant InvalidCall</summary>
<unmanaged>DXGI_ERROR_INVALID_CALL</unmanaged>
</member>
<member name="F:SharpDX.DXGI.ResultCode.NotFound">
<summary>Constant NotFound</summary>
<unmanaged>DXGI_ERROR_NOT_FOUND</unmanaged>
</member>
<member name="F:SharpDX.DXGI.ResultCode.MoreData">
<summary>Constant MoreData</summary>
<unmanaged>DXGI_ERROR_MORE_DATA</unmanaged>
</member>
<member name="F:SharpDX.DXGI.ResultCode.Unsupported">
<summary>Constant Unsupported</summary>
<unmanaged>DXGI_ERROR_UNSUPPORTED</unmanaged>
</member>
<member name="F:SharpDX.DXGI.ResultCode.DeviceRemoved">
<summary>Constant DeviceRemoved</summary>
<unmanaged>DXGI_ERROR_DEVICE_REMOVED</unmanaged>
</member>
<member name="F:SharpDX.DXGI.ResultCode.DeviceHung">
<summary>Constant DeviceHung</summary>
<unmanaged>DXGI_ERROR_DEVICE_HUNG</unmanaged>
</member>
<member name="F:SharpDX.DXGI.ResultCode.DeviceReset">
<summary>Constant DeviceReset</summary>
<unmanaged>DXGI_ERROR_DEVICE_RESET</unmanaged>
</member>
<member name="F:SharpDX.DXGI.ResultCode.WasStillDrawing">
<summary>Constant WasStillDrawing</summary>
<unmanaged>DXGI_ERROR_WAS_STILL_DRAWING</unmanaged>
</member>
<member name="F:SharpDX.DXGI.ResultCode.FrameStatisticsDisjoint">
<summary>Constant FrameStatisticsDisjoint</summary>
<unmanaged>DXGI_ERROR_FRAME_STATISTICS_DISJOINT</unmanaged>
</member>
<member name="F:SharpDX.DXGI.ResultCode.GraphicsVidpnSourceInUse">
<summary>Constant GraphicsVidpnSourceInUse</summary>
<unmanaged>DXGI_ERROR_GRAPHICS_VIDPN_SOURCE_IN_USE</unmanaged>
</member>
<member name="F:SharpDX.DXGI.ResultCode.DriverInternalError">
<summary>Constant DriverInternalError</summary>
<unmanaged>DXGI_ERROR_DRIVER_INTERNAL_ERROR</unmanaged>
</member>
<member name="F:SharpDX.DXGI.ResultCode.Nonexclusive">
<summary>Constant Nonexclusive</summary>
<unmanaged>DXGI_ERROR_NONEXCLUSIVE</unmanaged>
</member>
<member name="F:SharpDX.DXGI.ResultCode.NotCurrentlyAvailable">
<summary>Constant NotCurrentlyAvailable</summary>
<unmanaged>DXGI_ERROR_NOT_CURRENTLY_AVAILABLE</unmanaged>
</member>
<member name="F:SharpDX.DXGI.ResultCode.RemoteClientDisconnected">
<summary>Constant RemoteClientDisconnected</summary>
<unmanaged>DXGI_ERROR_REMOTE_CLIENT_DISCONNECTED</unmanaged>
</member>
<member name="F:SharpDX.DXGI.ResultCode.RemoteOufOfMemory">
<summary>Constant RemoteOufOfMemory</summary>
<unmanaged>DXGI_ERROR_REMOTE_OUTOFMEMORY</unmanaged>
</member>
<member name="F:SharpDX.DXGI.ResultCode.AccessLost">
<summary>Constant AccessLost</summary>
<unmanaged>DXGI_ERROR_ACCESS_LOST</unmanaged>
</member>
<member name="F:SharpDX.DXGI.ResultCode.WaitTimeout">
<summary>Constant WaitTimeout</summary>
<unmanaged>DXGI_ERROR_WAIT_TIMEOUT</unmanaged>
</member>
<member name="F:SharpDX.DXGI.ResultCode.SessionDisconnected">
<summary>Constant SessionDisconnected</summary>
<unmanaged>DXGI_ERROR_SESSION_DISCONNECTED</unmanaged>
</member>
<member name="F:SharpDX.DXGI.ResultCode.RestrictToOutputStale">
<summary>Constant RestrictToOutputStale</summary>
<unmanaged>DXGI_ERROR_RESTRICT_TO_OUTPUT_STALE</unmanaged>
</member>
<member name="F:SharpDX.DXGI.ResultCode.CannotProtectContent">
<summary>Constant CannotProtectContent</summary>
<unmanaged>DXGI_ERROR_CANNOT_PROTECT_CONTENT</unmanaged>
</member>
<member name="F:SharpDX.DXGI.ResultCode.AccessDenied">
<summary>Constant AccessDenied</summary>
<unmanaged>DXGI_ERROR_ACCESS_DENIED</unmanaged>
</member>
<member name="F:SharpDX.DXGI.ResultCode.NameAlreadyExists">
<summary>Constant NameAlreadyExists</summary>
<unmanaged>DXGI_ERROR_NAME_ALREADY_EXISTS</unmanaged>
</member>
<member name="F:SharpDX.DXGI.ResultCode.SdkComponentMissing">
<summary>Constant SdkComponentMissing</summary>
<unmanaged>DXGI_ERROR_SDK_COMPONENT_MISSING</unmanaged>
</member>
<member name="F:SharpDX.DXGI.ResultCode.NotCurrent">
<summary>Constant NotCurrent</summary>
<unmanaged>DXGI_ERROR_NOT_CURRENT</unmanaged>
</member>
<member name="F:SharpDX.DXGI.ResultCode.HwProtectionOufOfMemory">
<summary>Constant HwProtectionOufOfMemory</summary>
<unmanaged>DXGI_ERROR_HW_PROTECTION_OUTOFMEMORY</unmanaged>
</member>
<member name="F:SharpDX.DXGI.ResultCode.DynamicCodePolicyViolation">
<summary>Constant DynamicCodePolicyViolation</summary>
<unmanaged>DXGI_ERROR_DYNAMIC_CODE_POLICY_VIOLATION</unmanaged>
</member>
<member name="F:SharpDX.DXGI.ResultCode.NonCompositedUi">
<summary>Constant NonCompositedUi</summary>
<unmanaged>DXGI_ERROR_NON_COMPOSITED_UI</unmanaged>
</member>
<member name="F:SharpDX.DXGI.ResultCode.ModeChangeInProgress">
<summary>Constant ModeChangeInProgress</summary>
<unmanaged>DXGI_ERROR_MODE_CHANGE_IN_PROGRESS</unmanaged>
</member>
<member name="F:SharpDX.DXGI.ResultCode.CacheCorrupt">
<summary>Constant CacheCorrupt</summary>
<unmanaged>DXGI_ERROR_CACHE_CORRUPT</unmanaged>
</member>
<member name="F:SharpDX.DXGI.ResultCode.CacheFull">
<summary>Constant CacheFull</summary>
<unmanaged>DXGI_ERROR_CACHE_FULL</unmanaged>
</member>
<member name="F:SharpDX.DXGI.ResultCode.CacheHashCollision">
<summary>Constant CacheHashCollision</summary>
<unmanaged>DXGI_ERROR_CACHE_HASH_COLLISION</unmanaged>
</member>
<member name="F:SharpDX.DXGI.ResultCode.AlreadyExists">
<summary>Constant AlreadyExists</summary>
<unmanaged>DXGI_ERROR_ALREADY_EXISTS</unmanaged>
</member>
<member name="P:SharpDX.DXGI.Adapter1.Description1">
<summary>
<p>Gets a DXGI 1.1 description of an adapter (or video card).</p>
</summary>
<remarks>
<p>This method is not supported by DXGI 1.0, which shipped in Windows?Vista and Windows Server?2008. DXGI 1.1 support is required, which is available on Windows?7, Windows Server?2008?R2, and as an update to Windows?Vista with Service Pack?2 (SP2) (KB 971644) and Windows Server?2008 (KB 971512).</p><p>Use the <strong>GetDesc1</strong> method to get a DXGI 1.1 description of an adapter. To get a DXGI 1.0 description, use the <strong><see cref = "T:SharpDX.DXGI.Adapter"/></strong> method.</p>
</remarks>
<doc-id>ff471330</doc-id>
<unmanaged>GetDesc1</unmanaged>
<unmanaged-short>GetDesc1</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.Adapter1.GetDescription1(SharpDX.DXGI.AdapterDescription1@)">
<summary>
<p>Gets a DXGI 1.1 description of an adapter (or video card).</p>
</summary>
<param name = "descRef"><dd> <p>A reference to a <strong><see cref = "T:SharpDX.DXGI.AdapterDescription1"/></strong> structure that describes the adapter. This parameter must not be <strong><c>null</c></strong>. On feature level 9 graphics hardware, <strong>GetDesc1</strong> returns zeros for the PCI ID in the <strong>VendorId</strong>, <strong>DeviceId</strong>, <strong>SubSysId</strong>, and <strong>Revision</strong> members of <strong><see cref = "T:SharpDX.DXGI.AdapterDescription1"/></strong> and ?Software Adapter? for the description string in the <strong>Description</strong> member.</p> </dd></param>
<returns><p>Returns <see cref = "F:SharpDX.Result.Ok"/> if successful; otherwise, returns E_INVALIDARG if the <em>pDesc</em> parameter is <strong><c>null</c></strong>. </p></returns>
<remarks>
<p>This method is not supported by DXGI 1.0, which shipped in Windows?Vista and Windows Server?2008. DXGI 1.1 support is required, which is available on Windows?7, Windows Server?2008?R2, and as an update to Windows?Vista with Service Pack?2 (SP2) (KB 971644) and Windows Server?2008 (KB 971512).</p><p>Use the <strong>GetDesc1</strong> method to get a DXGI 1.1 description of an adapter. To get a DXGI 1.0 description, use the <strong><see cref = "T:SharpDX.DXGI.Adapter"/></strong> method.</p>
</remarks>
<doc-id>ff471330</doc-id>
<unmanaged>HRESULT IDXGIAdapter1::GetDesc1([Out] DXGI_ADAPTER_DESC1* pDesc)</unmanaged>
<unmanaged-short>IDXGIAdapter1::GetDesc1</unmanaged-short>
</member>
<member name="P:SharpDX.DXGI.Adapter2.Description2">
<summary>
<p>Gets a Microsoft DirectX Graphics Infrastructure (DXGI) 1.2 description of an adapter or video card. This description includes information about the granularity at which the graphics processing unit (GPU) can be preempted from performing its current task.</p>
</summary>
<remarks>
<p>Use the <strong>GetDesc2</strong> method to get a DXGI 1.2 description of an adapter. To get a DXGI 1.1 description, use the <strong>IDXGIAdapter1::GetDesc1</strong> method. To get a DXGI 1.0 description, use the <strong>IDXGIAdapter::GetDesc</strong> method.</p><p>The Windows Display Driver Model (WDDM) scheduler can preempt the GPU's execution of application tasks. The granularity at which the GPU can be preempted from performing its current task in the WDDM 1.1 or earlier driver model is a direct memory access (DMA) buffer for graphics tasks or a compute packet for compute tasks. The GPU can switch between tasks only after it completes the currently executing unit of work, a DMA buffer or a compute packet. </p><p>A DMA buffer is the largest independent unit of graphics work that the WDDM scheduler can submit to the GPU. This buffer contains a set of GPU instructions that the WDDM driver and GPU use. A compute packet is the largest independent unit of compute work that the WDDM scheduler can submit to the GPU. A compute packet contains dispatches (for example, calls to the <strong>ID3D11DeviceContext::Dispatch</strong> method), which contain thread groups. The WDDM 1.2 or later driver model allows the GPU to be preempted at finer granularity levels than a DMA buffer or compute packet. You can use the <strong>GetDesc2</strong> method to retrieve the granularity levels for graphics and compute tasks.</p>
</remarks>
<doc-id>hh404540</doc-id>
<unmanaged>GetDesc2</unmanaged>
<unmanaged-short>GetDesc2</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.Adapter2.GetDescription2(SharpDX.DXGI.AdapterDescription2@)">
<summary>
<p>Gets a Microsoft DirectX Graphics Infrastructure (DXGI) 1.2 description of an adapter or video card. This description includes information about the granularity at which the graphics processing unit (GPU) can be preempted from performing its current task.</p>
</summary>
<param name = "descRef"><dd> <p>A reference to a <strong><see cref = "T:SharpDX.DXGI.AdapterDescription2"/></strong> structure that describes the adapter. This parameter must not be <strong><c>null</c></strong>. On feature level 9 graphics hardware, earlier versions of <strong>GetDesc2</strong> (<strong>GetDesc</strong> and <strong>GetDesc1</strong>) return zeros for the PCI ID in the <strong>VendorId</strong>, <strong>DeviceId</strong>, <strong>SubSysId</strong>, and <strong>Revision</strong> members of the adapter description structure and ?Software Adapter? for the description string in the <strong>Description</strong> member. <strong>GetDesc2</strong> returns the actual feature level 9 hardware values in these members.</p> </dd></param>
<returns><p>Returns <see cref = "F:SharpDX.Result.Ok"/> if successful; otherwise, returns E_INVALIDARG if the <em>pDesc</em> parameter is <strong><c>null</c></strong>. </p></returns>
<remarks>
<p>Use the <strong>GetDesc2</strong> method to get a DXGI 1.2 description of an adapter. To get a DXGI 1.1 description, use the <strong>IDXGIAdapter1::GetDesc1</strong> method. To get a DXGI 1.0 description, use the <strong>IDXGIAdapter::GetDesc</strong> method.</p><p>The Windows Display Driver Model (WDDM) scheduler can preempt the GPU's execution of application tasks. The granularity at which the GPU can be preempted from performing its current task in the WDDM 1.1 or earlier driver model is a direct memory access (DMA) buffer for graphics tasks or a compute packet for compute tasks. The GPU can switch between tasks only after it completes the currently executing unit of work, a DMA buffer or a compute packet. </p><p>A DMA buffer is the largest independent unit of graphics work that the WDDM scheduler can submit to the GPU. This buffer contains a set of GPU instructions that the WDDM driver and GPU use. A compute packet is the largest independent unit of compute work that the WDDM scheduler can submit to the GPU. A compute packet contains dispatches (for example, calls to the <strong>ID3D11DeviceContext::Dispatch</strong> method), which contain thread groups. The WDDM 1.2 or later driver model allows the GPU to be preempted at finer granularity levels than a DMA buffer or compute packet. You can use the <strong>GetDesc2</strong> method to retrieve the granularity levels for graphics and compute tasks.</p>
</remarks>
<doc-id>hh404540</doc-id>
<unmanaged>HRESULT IDXGIAdapter2::GetDesc2([Out] DXGI_ADAPTER_DESC2* pDesc)</unmanaged>
<unmanaged-short>IDXGIAdapter2::GetDesc2</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.Adapter3.RegisterHardwareContentProtectionTeardownStatusEvent(System.IntPtr)">
<summary>
<p>Registers to receive notification of hardware content protection teardown events.</p>
</summary>
<param name = "hEvent"><dd> <p>A handle to the event object that the operating system sets when hardware content protection teardown occurs. The <strong>CreateEvent</strong> or <strong>OpenEvent</strong> function returns this handle. </p> </dd></param>
<returns><dd> <p>A reference to a key value that an application can pass to the <strong>IDXGIAdapter3::UnregisterHardwareContentProtectionTeardownStatus</strong> method to unregister the notification event that <em>hEvent</em> specifies.</p> </dd></returns>
<remarks>
<p>Call <strong>ID3D11VideoDevice::GetContentProtectionCaps</strong>() to check for the presence of the <strong>D3D11_CONTENT_PROTECTION_CAPS_HARDWARE_TEARDOWN</strong> capability to know whether the hardware contains an automatic teardown mechanism. After the event is signaled, the application can call <strong>ID3D11VideoContext1::CheckCryptoSessionStatus</strong> to determine the impact of the hardware teardown for a specific <strong><see cref = "!:SharpDX.Direct3D11.CryptoSession"/></strong> interface.
</p>
</remarks>
<doc-id>dn933230</doc-id>
<unmanaged>HRESULT IDXGIAdapter3::RegisterHardwareContentProtectionTeardownStatusEvent([In] void* hEvent,[Out] DWORD* pdwCookie)</unmanaged>
<unmanaged-short>IDXGIAdapter3::RegisterHardwareContentProtectionTeardownStatusEvent</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.Adapter3.UnregisterHardwareContentProtectionTeardownStatus(System.Int32)">
<summary>
<p>Unregisters an event to stop it from receiving notification of hardware content protection teardown events.</p>
</summary>
<param name = "dwCookie"><dd> <p>A key value for the window or event to unregister. The <strong>IDXGIAdapter3::RegisterHardwareContentProtectionTeardownStatusEvent</strong> method returns this value. </p> </dd></param>
<doc-id>dn933233</doc-id>
<unmanaged>void IDXGIAdapter3::UnregisterHardwareContentProtectionTeardownStatus([In] DWORD dwCookie)</unmanaged>
<unmanaged-short>IDXGIAdapter3::UnregisterHardwareContentProtectionTeardownStatus</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.Adapter3.QueryVideoMemoryInfo(System.Int32,SharpDX.DXGI.MemorySegmentGroup)">
<summary>
<p> This method informs the process of the current budget and process usage. </p>
</summary>
<param name = "nodeIndex"><dd> <p> Specifies the device's physical adapter for which the video memory information is queried. For single-GPU operation, set this to zero. If there are multiple GPU nodes, set this to the index of the node (the device's physical adapter) for which the video memory information is queried. See Multi-Adapter. </p> </dd></param>
<param name = "memorySegmentGroup"><dd> <p> Specifies a <see cref = "T:SharpDX.DXGI.MemorySegmentGroup"/> that identifies the group as local or non-local. </p> </dd></param>
<returns><dd> <p> Fills in a <see cref = "T:SharpDX.DXGI.QueryVideoMemoryInformation"/> structure with the current values. </p> </dd></returns>
<remarks>
<p> Applications must explicitly manage their usage of physical memory explicitly and keep usage within the budget assigned to the application process. Processes that cannot kept their usage within their assigned budgets will likely experience stuttering, as they are intermittently frozen and paged-out to allow other processes to run. </p>
</remarks>
<doc-id>dn933223</doc-id>
<unmanaged>HRESULT IDXGIAdapter3::QueryVideoMemoryInfo([In] unsigned int NodeIndex,[In] DXGI_MEMORY_SEGMENT_GROUP MemorySegmentGroup,[Out] DXGI_QUERY_VIDEO_MEMORY_INFO* pVideoMemoryInfo)</unmanaged>
<unmanaged-short>IDXGIAdapter3::QueryVideoMemoryInfo</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.Adapter3.SetVideoMemoryReservation(System.Int32,SharpDX.DXGI.MemorySegmentGroup,System.Int64)">
<summary>
<p> This method sends the minimum required physical memory for an application, to the OS. </p>
</summary>
<param name = "nodeIndex"><dd> <p> Specifies the device's physical adapter for which the video memory information is being set. For single-GPU operation, set this to zero. If there are multiple GPU nodes, set this to the index of the node (the device's physical adapter) for which the video memory information is being set. See Multi-Adapter. </p> </dd></param>
<param name = "memorySegmentGroup"><dd> <p> Specifies a <see cref = "T:SharpDX.DXGI.MemorySegmentGroup"/> that identifies the group as local or non-local. </p> </dd></param>
<param name = "reservation"><dd> <p> Specifies a UINT64 that sets the minimum required physical memory, in bytes. </p> </dd></param>
<returns><p> Returns <see cref = "F:SharpDX.Result.Ok"/> if successful; an error code otherwise. For a list of error codes, see DXGI_ERROR. </p></returns>
<remarks>
<p> Applications are encouraged to set a video reservation to denote the amount of physical memory they cannot go without. This value helps the OS quickly minimize the impact of large memory pressure situations. </p>
</remarks>
<doc-id>dn933232</doc-id>
<unmanaged>HRESULT IDXGIAdapter3::SetVideoMemoryReservation([In] unsigned int NodeIndex,[In] DXGI_MEMORY_SEGMENT_GROUP MemorySegmentGroup,[In] unsigned longlong Reservation)</unmanaged>
<unmanaged-short>IDXGIAdapter3::SetVideoMemoryReservation</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.Adapter3.RegisterVideoMemoryBudgetChangeNotificationEvent(System.IntPtr)">
<summary>
<p>This method establishes a correlation between a CPU synchronization object and the budget change event.</p>
</summary>
<param name = "hEvent"><dd> <p>Specifies a HANDLE for the event.</p> </dd></param>
<returns><dd> <p>A key value for the window or event to unregister. The <strong>IDXGIAdapter3::RegisterHardwareContentProtectionTeardownStatusEvent</strong> method returns this value. </p> </dd></returns>
<remarks>
<p>Instead of calling <strong>QueryVideoMemoryInfo</strong> regularly, applications can use CPU synchronization objects to efficiently wake threads when budget changes occur. </p>
</remarks>
<doc-id>dn933231</doc-id>
<unmanaged>HRESULT IDXGIAdapter3::RegisterVideoMemoryBudgetChangeNotificationEvent([In] void* hEvent,[Out] DWORD* pdwCookie)</unmanaged>
<unmanaged-short>IDXGIAdapter3::RegisterVideoMemoryBudgetChangeNotificationEvent</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.Adapter3.UnregisterVideoMemoryBudgetChangeNotification(System.Int32)">
<summary>
<p>This method stops notifying a CPU synchronization object whenever a budget change occurs. An application may switch back to polling the information regularly.</p>
</summary>
<param name = "dwCookie"><dd> <p>A key value for the window or event to unregister. The <strong>IDXGIAdapter3::RegisterHardwareContentProtectionTeardownStatusEvent</strong> method returns this value. </p> </dd></param>
<remarks>
<p>An application may switch back to polling for the information regularly.</p>
</remarks>
<doc-id>dn933234</doc-id>
<unmanaged>void IDXGIAdapter3::UnregisterVideoMemoryBudgetChangeNotification([In] DWORD dwCookie)</unmanaged>
<unmanaged-short>IDXGIAdapter3::UnregisterVideoMemoryBudgetChangeNotification</unmanaged-short>
</member>
<member name="P:SharpDX.DXGI.Adapter4.Desc3">
<summary>
No documentation.
</summary>
<unmanaged>GetDesc3</unmanaged>
<unmanaged-short>GetDesc3</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.Adapter4.GetDesc3(SharpDX.DXGI.AdapterDescription3@)">
<summary>
No documentation.
</summary>
<param name = "descRef">No documentation.</param>
<returns>No documentation.</returns>
<unmanaged>HRESULT IDXGIAdapter4::GetDesc3([Out] DXGI_ADAPTER_DESC3* pDesc)</unmanaged>
<unmanaged-short>IDXGIAdapter4::GetDesc3</unmanaged-short>
</member>
<member name="P:SharpDX.DXGI.DecodeSwapChain.SourceRect">
<summary>
<p>Gets or sets the source region that is used for the swap chain.</p>
</summary>
<doc-id>dn384121</doc-id>
<unmanaged>GetSourceRect / SetSourceRect</unmanaged>
<unmanaged-short>GetSourceRect</unmanaged-short>
</member>
<member name="P:SharpDX.DXGI.DecodeSwapChain.TargetRect">
<summary>
<p>Gets or sets the rectangle that defines the target region for the video processing blit operation.</p>
</summary>
<doc-id>dn384122</doc-id>
<unmanaged>GetTargetRect / SetTargetRect</unmanaged>
<unmanaged-short>GetTargetRect</unmanaged-short>
</member>
<member name="P:SharpDX.DXGI.DecodeSwapChain.ColorSpace">
<summary>
<p>Gets or sets the color space used by the swap chain.</p>
</summary>
<doc-id>dn384119</doc-id>
<unmanaged>GetColorSpace / SetColorSpace</unmanaged>
<unmanaged-short>GetColorSpace</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.DecodeSwapChain.PresentBuffer(System.Int32,System.Int32,System.Int32)">
<summary>
<p>Presents a frame on the output adapter. The frame is a subresource of the <strong><see cref = "T:SharpDX.DXGI.Resource"/></strong> object that was used to create the decode swap chain.</p>
</summary>
<param name = "bufferToPresent">No documentation.</param>
<param name = "syncInterval">No documentation.</param>
<param name = "flags">No documentation.</param>
<returns><p>This method returns <strong><see cref = "F:SharpDX.Result.Ok"/></strong> on success, or it returns one of the following error codes:</p><ul> <li><see cref = "!:DeviceRemoved"/></li> <li>DXGI_STATUS_OCCLUDED</li> <li><see cref = "!:InvalidCall"/></li> <li><strong>E_OUTOFMEMORY</strong></li> </ul></returns>
<doc-id>dn384123</doc-id>
<unmanaged>HRESULT IDXGIDecodeSwapChain::PresentBuffer([In] unsigned int BufferToPresent,[In] unsigned int SyncInterval,[In] unsigned int Flags)</unmanaged>
<unmanaged-short>IDXGIDecodeSwapChain::PresentBuffer</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.DecodeSwapChain.SetSourceRect(SharpDX.Mathematics.Interop.RawRectangle)">
<summary>
<p>Sets the rectangle that defines the source region for the video processing blit operation.</p><p>The source rectangle is the portion of the input surface that is blitted to the destination surface. The source rectangle is given in pixel coordinates, relative to the input surface.</p>
</summary>
<param name = "rectRef"><dd> <p>A reference to a <strong><see cref = "T:SharpDX.Mathematics.Interop.RawRectangle"/></strong> structure that contains the source region to set for the swap chain.</p> </dd></param>
<returns><p>This method returns <see cref = "F:SharpDX.Result.Ok"/> on success, or it returns one of the error codes that are described in the DXGI_ERROR topic.</p></returns>
<doc-id>dn384126</doc-id>
<unmanaged>HRESULT IDXGIDecodeSwapChain::SetSourceRect([In] const RECT* pRect)</unmanaged>
<unmanaged-short>IDXGIDecodeSwapChain::SetSourceRect</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.DecodeSwapChain.SetTargetRect(SharpDX.Mathematics.Interop.RawRectangle)">
<summary>
<p>Sets the rectangle that defines the target region for the video processing blit operation.</p><p>The target rectangle is the area within the destination surface where the output will be drawn. The target rectangle is given in pixel coordinates, relative to the destination surface.</p>
</summary>
<param name = "rectRef"><dd> <p>A reference to a <strong><see cref = "T:SharpDX.Mathematics.Interop.RawRectangle"/></strong> structure that contains the target region to set for the swap chain.</p> </dd></param>
<returns><p>This method returns <see cref = "F:SharpDX.Result.Ok"/> on success, or it returns one of the error codes that are described in the DXGI_ERROR topic.</p></returns>
<doc-id>dn384127</doc-id>
<unmanaged>HRESULT IDXGIDecodeSwapChain::SetTargetRect([In] const RECT* pRect)</unmanaged>
<unmanaged-short>IDXGIDecodeSwapChain::SetTargetRect</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.DecodeSwapChain.SetDestSize(System.Int32,System.Int32)">
<summary>
<p>Sets the size of the destination surface to use for the video processing blit operation.</p><p>The destination rectangle is the portion of the output surface that receives the blit for this stream. The destination rectangle is given in pixel coordinates, relative to the output surface.</p>
</summary>
<param name = "width"><dd> <p>The width of the destination size, in pixels.</p> </dd></param>
<param name = "height"><dd> <p>The height of the destination size, in pixels.</p> </dd></param>
<returns><p>This method returns <see cref = "F:SharpDX.Result.Ok"/> on success, or it returns one of the error codes that are described in the DXGI_ERROR topic.</p></returns>
<doc-id>dn384125</doc-id>
<unmanaged>HRESULT IDXGIDecodeSwapChain::SetDestSize([In] unsigned int Width,[In] unsigned int Height)</unmanaged>
<unmanaged-short>IDXGIDecodeSwapChain::SetDestSize</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.DecodeSwapChain.GetSourceRect(SharpDX.Mathematics.Interop.RawRectangle@)">
<summary>
<p>Gets the source region that is used for the swap chain.</p>
</summary>
<param name = "rectRef"><dd> <p>A reference to a <strong><see cref = "T:SharpDX.Mathematics.Interop.RawRectangle"/></strong> structure that receives the source region for the swap chain.</p> </dd></param>
<returns><p>This method returns <see cref = "F:SharpDX.Result.Ok"/> on success, or it returns one of the error codes that are described in the DXGI_ERROR topic.</p></returns>
<doc-id>dn384121</doc-id>
<unmanaged>HRESULT IDXGIDecodeSwapChain::GetSourceRect([Out] RECT* pRect)</unmanaged>
<unmanaged-short>IDXGIDecodeSwapChain::GetSourceRect</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.DecodeSwapChain.GetTargetRect(SharpDX.Mathematics.Interop.RawRectangle@)">
<summary>
<p>Gets the rectangle that defines the target region for the video processing blit operation.</p>
</summary>
<param name = "rectRef"><dd> <p>A reference to a <strong><see cref = "T:SharpDX.Mathematics.Interop.RawRectangle"/></strong> structure that receives the target region for the swap chain.</p> </dd></param>
<returns><p>This method returns <see cref = "F:SharpDX.Result.Ok"/> on success, or it returns one of the error codes that are described in the DXGI_ERROR topic.</p></returns>
<doc-id>dn384122</doc-id>
<unmanaged>HRESULT IDXGIDecodeSwapChain::GetTargetRect([Out] RECT* pRect)</unmanaged>
<unmanaged-short>IDXGIDecodeSwapChain::GetTargetRect</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.DecodeSwapChain.GetDestSize(System.Int32@,System.Int32@)">
<summary>
<p>Gets the size of the destination surface to use for the video processing blit operation.</p>
</summary>
<param name = "widthRef"><dd> <p>A reference to a variable that receives the width in pixels.</p> </dd></param>
<param name = "heightRef"><dd> <p>A reference to a variable that receives the height in pixels.</p> </dd></param>
<returns><p>This method returns <see cref = "F:SharpDX.Result.Ok"/> on success, or it returns one of the error codes that are described in the DXGI_ERROR topic.</p></returns>
<doc-id>dn384120</doc-id>
<unmanaged>HRESULT IDXGIDecodeSwapChain::GetDestSize([Out] unsigned int* pWidth,[Out] unsigned int* pHeight)</unmanaged>
<unmanaged-short>IDXGIDecodeSwapChain::GetDestSize</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.DecodeSwapChain.SetColorSpace(SharpDX.DXGI.MultiplaneOverlayYCbCrFlags)">
<summary>
<p>Sets the color space used by the swap chain.</p>
</summary>
<param name = "colorSpace"><dd> <p>A reference to a combination of <strong><see cref = "T:SharpDX.DXGI.MultiplaneOverlayYCbCrFlags"/></strong>-typed values that are combined by using a bitwise OR operation. The resulting value specifies the color space to set for the swap chain.</p> </dd></param>
<returns><p>This method returns <see cref = "F:SharpDX.Result.Ok"/> on success, or it returns one of the error codes that are described in the DXGI_ERROR topic.</p></returns>
<doc-id>dn384124</doc-id>
<unmanaged>HRESULT IDXGIDecodeSwapChain::SetColorSpace([In] DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAGS ColorSpace)</unmanaged>
<unmanaged-short>IDXGIDecodeSwapChain::SetColorSpace</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.DecodeSwapChain.GetColorSpace">
<summary>
<p>Gets the color space used by the swap chain.</p>
</summary>
<returns><p>A combination of <strong><see cref = "T:SharpDX.DXGI.MultiplaneOverlayYCbCrFlags"/></strong>-typed values that are combined by using a bitwise OR operation. The resulting value specifies the color space for the swap chain.</p></returns>
<doc-id>dn384119</doc-id>
<unmanaged>DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAGS IDXGIDecodeSwapChain::GetColorSpace()</unmanaged>
<unmanaged-short>IDXGIDecodeSwapChain::GetColorSpace</unmanaged-short>
</member>
<member name="P:SharpDX.DXGI.Device1.MaximumFrameLatency">
<summary>
<p>Gets or sets the number of frames that the system is allowed to queue for rendering.</p>
</summary>
<remarks>
<p>This method is not supported by DXGI 1.0, which shipped in Windows?Vista and Windows Server?2008. DXGI 1.1 support is required, which is available on Windows?7, Windows Server?2008?R2, and as an update to Windows?Vista with Service Pack?2 (SP2) (KB 971644) and Windows Server?2008 (KB 971512).</p><p>Frame latency is the number of frames that are allowed to be stored in a queue before submission for rendering. Latency is often used to control how the CPU chooses between responding to user input and frames that are in the render queue. It is often beneficial for applications that have no user input (for example, video playback) to queue more than 3 frames of data.</p>
</remarks>
<doc-id>ff471332</doc-id>
<unmanaged>GetMaximumFrameLatency / SetMaximumFrameLatency</unmanaged>
<unmanaged-short>GetMaximumFrameLatency</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.Device1.SetMaximumFrameLatency(System.Int32)">
<summary>
<p>Sets the number of frames that the system is allowed to queue for rendering.</p>
</summary>
<param name = "maxLatency"><dd> <p>The maximum number of back buffer frames that a driver can queue. The value defaults to 3, but can range from 1 to 16. A value of 0 will reset latency to the default. For multi-head devices, this value is specified per-head.</p> </dd></param>
<returns><p>Returns <see cref = "F:SharpDX.Result.Ok"/> if successful; otherwise, <see cref = "!:DeviceRemoved"/> if the device was removed.</p></returns>
<remarks>
<p>This method is not supported by DXGI 1.0, which shipped in Windows?Vista and Windows Server?2008. DXGI 1.1 support is required, which is available on Windows?7, Windows Server?2008?R2, and as an update to Windows?Vista with Service Pack?2 (SP2) (KB 971644) and Windows Server?2008 (KB 971512).</p><p>Frame latency is the number of frames that are allowed to be stored in a queue before submission for rendering. Latency is often used to control how the CPU chooses between responding to user input and frames that are in the render queue. It is often beneficial for applications that have no user input (for example, video playback) to queue more than 3 frames of data.</p>
</remarks>
<doc-id>ff471334</doc-id>
<unmanaged>HRESULT IDXGIDevice1::SetMaximumFrameLatency([In] unsigned int MaxLatency)</unmanaged>
<unmanaged-short>IDXGIDevice1::SetMaximumFrameLatency</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.Device1.GetMaximumFrameLatency(System.Int32@)">
<summary>
<p>Gets the number of frames that the system is allowed to queue for rendering.</p>
</summary>
<param name = "maxLatencyRef"><dd> <p>This value is set to the number of frames that can be queued for render. This value defaults to 3, but can range from 1 to 16.</p> </dd></param>
<returns><p>Returns <see cref = "F:SharpDX.Result.Ok"/> if successful; otherwise, returns one of the following members of the D3DERR enumerated type:</p><ul> <li><strong>D3DERR_DEVICELOST</strong></li> <li><strong>D3DERR_DEVICEREMOVED</strong></li> <li><strong>D3DERR_DRIVERINTERNALERROR</strong></li> <li><strong>D3DERR_INVALIDCALL</strong></li> <li><strong>D3DERR_OUTOFVIDEOMEMORY</strong></li> </ul></returns>
<remarks>
<p>This method is not supported by DXGI 1.0, which shipped in Windows?Vista and Windows Server?2008. DXGI 1.1 support is required, which is available on Windows?7, Windows Server?2008?R2, and as an update to Windows?Vista with Service Pack?2 (SP2) (KB 971644) and Windows Server?2008 (KB 971512).</p><p>Frame latency is the number of frames that are allowed to be stored in a queue before submission for rendering. Latency is often used to control how the CPU chooses between responding to user input and frames that are in the render queue. It is often beneficial for applications that have no user input (for example, video playback) to queue more than 3 frames of data.</p>
</remarks>
<doc-id>ff471332</doc-id>
<unmanaged>HRESULT IDXGIDevice1::GetMaximumFrameLatency([Out] unsigned int* pMaxLatency)</unmanaged>
<unmanaged-short>IDXGIDevice1::GetMaximumFrameLatency</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.Device2.OfferResources(System.Int32,SharpDX.DXGI.Resource[],SharpDX.DXGI.OfferResourcePriority)">
<summary>
<p>Allows the operating system to free the video memory of resources by discarding their content.</p>
</summary>
<param name = "numResources"><dd> <p>The number of resources in the <em>ppResources</em> argument array.</p> </dd></param>
<param name = "resourcesOut"><dd> <p>An array of references to <strong><see cref = "T:SharpDX.DXGI.Resource"/></strong> interfaces for the resources to offer.</p> </dd></param>
<param name = "priority"><dd> <p>A <strong><see cref = "T:SharpDX.DXGI.OfferResourcePriority"/></strong>-typed value that indicates how valuable data is.</p> </dd></param>
<returns><p><strong>OfferResources</strong> returns: </p><ul> <li><see cref = "F:SharpDX.Result.Ok"/> if resources were successfully offered</li> <li>E_INVALIDARG if a resource in the array or the priority is invalid</li> </ul></returns>
<remarks>
<p>The priority value that the <em>Priority</em> parameter specifies describes how valuable the caller considers the content to be. The operating system uses the priority value to discard resources in order of priority. The operating system discards a resource that is offered with low priority before it discards a resource that is offered with a higher priority.</p><p>If you call <strong>OfferResources</strong> to offer a resource while the resource is bound to the pipeline, the resource is unbound. You cannot call <strong>OfferResources</strong> on a resource that is mapped. After you offer a resource, the resource cannot be mapped or bound to the pipeline until you call the <strong>IDXGIDevice2::ReclaimResource</strong> method to reclaim the resource. You cannot call <strong>OfferResources</strong> to offer immutable resources.</p><p>To offer shared resources, call <strong>OfferResources</strong> on only one of the sharing devices. To ensure exclusive access to the resources, you must use an <strong><see cref = "T:SharpDX.DXGI.KeyedMutex"/></strong> object and then call <strong>OfferResources</strong> only while you hold the mutex. In fact, you can't offer shared resources unless you use <strong><see cref = "T:SharpDX.DXGI.KeyedMutex"/></strong> because offering shared resources without using <strong><see cref = "T:SharpDX.DXGI.KeyedMutex"/></strong> isn't supported.</p><strong>Note</strong>??The user mode display driver might not immediately offer the resources that you specified in a call to <strong>OfferResources</strong>. The driver can postpone offering them until the next call to <strong>IDXGISwapChain::Present</strong>, <strong>IDXGISwapChain1::Present1</strong>, or <strong>ID3D11DeviceContext::Flush</strong>.?<p><strong>Platform Update for Windows?7:??</strong>The runtime validates that <strong>OfferResources</strong> is used correctly on non-shared resources but doesn't perform the intended functionality. For more info about the Platform Update for Windows?7, see Platform Update for Windows 7. </p>
</remarks>
<doc-id>hh404549</doc-id>
<unmanaged>HRESULT IDXGIDevice2::OfferResources([In] unsigned int NumResources,[In, Buffer] const IDXGIResource** ppResources,[In] DXGI_OFFER_RESOURCE_PRIORITY Priority)</unmanaged>
<unmanaged-short>IDXGIDevice2::OfferResources</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.Device2.ReclaimResources(System.Int32,SharpDX.DXGI.Resource[],SharpDX.Mathematics.Interop.RawBool[])">
<summary>
<p>Restores access to resources that were previously offered by calling <strong>IDXGIDevice2::OfferResources</strong>.</p>
</summary>
<param name = "numResources">No documentation.</param>
<param name = "resourcesOut">No documentation.</param>
<param name = "discardedRef">No documentation.</param>
<returns><p><strong>ReclaimResources</strong> returns: </p><ul> <li><see cref = "F:SharpDX.Result.Ok"/> if resources were successfully reclaimed</li> <li>E_INVALIDARG if the resources are invalid</li> </ul></returns>
<remarks>
<p>After you call <strong>IDXGIDevice2::OfferResources</strong> to offer one or more resources, you must call <strong>ReclaimResources</strong> before you can use those resources again. You must check the values in the array at <em>pDiscarded</em> to determine whether each resource?s content was discarded. If a resource?s content was discarded while it was offered, its current content is undefined. Therefore, you must overwrite the resource?s content before you use the resource.</p><p>To reclaim shared resources, call <strong>ReclaimResources</strong> only on one of the sharing devices. To ensure exclusive access to the resources, you must use an <strong><see cref = "T:SharpDX.DXGI.KeyedMutex"/></strong> object and then call <strong>ReclaimResources</strong> only while you hold the mutex.</p><p><strong>Platform Update for Windows?7:??</strong>The runtime validates that <strong>ReclaimResources</strong> is used correctly on non-shared resources but doesn't perform the intended functionality. For more info about the Platform Update for Windows?7, see Platform Update for Windows 7. </p>
</remarks>
<doc-id>hh404551</doc-id>
<unmanaged>HRESULT IDXGIDevice2::ReclaimResources([In] unsigned int NumResources,[In, Buffer] const IDXGIResource** ppResources,[Out, Buffer, Optional] BOOL* pDiscarded)</unmanaged>
<unmanaged-short>IDXGIDevice2::ReclaimResources</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.Device2.EnqueueSetEvent(System.IntPtr)">
<summary>
<p>Flushes any outstanding rendering commands and sets the specified event object to the signaled state after all previously submitted rendering commands complete.</p>
</summary>
<param name = "hEvent"><dd> <p>A handle to the event object. The <strong>CreateEvent</strong> or <strong>OpenEvent</strong> function returns this handle. All types of event objects (manual-reset, auto-reset, and so on) are supported.</p> <p>The handle must have the EVENT_MODIFY_STATE access right. For more information about access rights, see Synchronization Object Security and Access Rights.</p> </dd></param>
<returns><p>Returns <strong><see cref = "F:SharpDX.Result.Ok"/></strong> if successful; otherwise, returns one of the following values:</p><ul> <li><strong>E_OUTOFMEMORY</strong> if insufficient memory is available to complete the operation.</li> <li><strong>E_INVALIDARG</strong> if the parameter was validated and determined to be incorrect.</li> </ul><p><strong>Platform Update for Windows?7:??</strong>On Windows?7 or Windows Server?2008?R2 with the Platform Update for Windows?7 installed, <strong>EnqueueSetEvent</strong> fails with E_NOTIMPL. For more info about the Platform Update for Windows?7, see Platform Update for Windows 7. </p></returns>
<remarks>
<p><strong>EnqueueSetEvent</strong> calls the <strong>SetEvent</strong> function on the event object after all previously submitted rendering commands complete or the device is removed.</p><p>After an application calls <strong>EnqueueSetEvent</strong>, it can immediately call the <strong>WaitForSingleObject</strong> function to put itself to sleep until rendering commands complete.</p><p>You cannot use <strong>EnqueueSetEvent</strong> to determine work completion that is associated with presentation (<strong>IDXGISwapChain::Present</strong>); instead, we recommend that you use <strong>IDXGISwapChain::GetFrameStatistics</strong>.</p>
</remarks>
<doc-id>hh404546</doc-id>
<unmanaged>HRESULT IDXGIDevice2::EnqueueSetEvent([In] void* hEvent)</unmanaged>
<unmanaged-short>IDXGIDevice2::EnqueueSetEvent</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.Device2.OfferResources(System.Int32,SharpDX.ComArray{SharpDX.DXGI.Resource},SharpDX.DXGI.OfferResourcePriority)">
<summary>
<p>Allows the operating system to free the video memory of resources by discarding their content.</p>
</summary>
<param name = "numResources"><dd> <p>The number of resources in the <em>ppResources</em> argument array.</p> </dd></param>
<param name = "resourcesOut"><dd> <p>An array of references to <strong><see cref = "T:SharpDX.DXGI.Resource"/></strong> interfaces for the resources to offer.</p> </dd></param>
<param name = "priority"><dd> <p>A <strong><see cref = "T:SharpDX.DXGI.OfferResourcePriority"/></strong>-typed value that indicates how valuable data is.</p> </dd></param>
<returns><p><strong>OfferResources</strong> returns: </p><ul> <li><see cref = "F:SharpDX.Result.Ok"/> if resources were successfully offered</li> <li>E_INVALIDARG if a resource in the array or the priority is invalid</li> </ul></returns>
<remarks>
<p>The priority value that the <em>Priority</em> parameter specifies describes how valuable the caller considers the content to be. The operating system uses the priority value to discard resources in order of priority. The operating system discards a resource that is offered with low priority before it discards a resource that is offered with a higher priority.</p><p>If you call <strong>OfferResources</strong> to offer a resource while the resource is bound to the pipeline, the resource is unbound. You cannot call <strong>OfferResources</strong> on a resource that is mapped. After you offer a resource, the resource cannot be mapped or bound to the pipeline until you call the <strong>IDXGIDevice2::ReclaimResource</strong> method to reclaim the resource. You cannot call <strong>OfferResources</strong> to offer immutable resources.</p><p>To offer shared resources, call <strong>OfferResources</strong> on only one of the sharing devices. To ensure exclusive access to the resources, you must use an <strong><see cref = "T:SharpDX.DXGI.KeyedMutex"/></strong> object and then call <strong>OfferResources</strong> only while you hold the mutex. In fact, you can't offer shared resources unless you use <strong><see cref = "T:SharpDX.DXGI.KeyedMutex"/></strong> because offering shared resources without using <strong><see cref = "T:SharpDX.DXGI.KeyedMutex"/></strong> isn't supported.</p><strong>Note</strong>??The user mode display driver might not immediately offer the resources that you specified in a call to <strong>OfferResources</strong>. The driver can postpone offering them until the next call to <strong>IDXGISwapChain::Present</strong>, <strong>IDXGISwapChain1::Present1</strong>, or <strong>ID3D11DeviceContext::Flush</strong>.?<p><strong>Platform Update for Windows?7:??</strong>The runtime validates that <strong>OfferResources</strong> is used correctly on non-shared resources but doesn't perform the intended functionality. For more info about the Platform Update for Windows?7, see Platform Update for Windows 7. </p>
</remarks>
<doc-id>hh404549</doc-id>
<unmanaged>HRESULT IDXGIDevice2::OfferResources([In] unsigned int NumResources,[In, Buffer] const IDXGIResource** ppResources,[In] DXGI_OFFER_RESOURCE_PRIORITY Priority)</unmanaged>
<unmanaged-short>IDXGIDevice2::OfferResources</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.Device2.OfferResources(System.Int32,System.IntPtr,SharpDX.DXGI.OfferResourcePriority)">
<summary>
<p>Allows the operating system to free the video memory of resources by discarding their content.</p>
</summary>
<param name = "numResources"><dd> <p>The number of resources in the <em>ppResources</em> argument array.</p> </dd></param>
<param name = "resourcesOut"><dd> <p>An array of references to <strong><see cref = "T:SharpDX.DXGI.Resource"/></strong> interfaces for the resources to offer.</p> </dd></param>
<param name = "priority"><dd> <p>A <strong><see cref = "T:SharpDX.DXGI.OfferResourcePriority"/></strong>-typed value that indicates how valuable data is.</p> </dd></param>
<returns><p><strong>OfferResources</strong> returns: </p><ul> <li><see cref = "F:SharpDX.Result.Ok"/> if resources were successfully offered</li> <li>E_INVALIDARG if a resource in the array or the priority is invalid</li> </ul></returns>
<remarks>
<p>The priority value that the <em>Priority</em> parameter specifies describes how valuable the caller considers the content to be. The operating system uses the priority value to discard resources in order of priority. The operating system discards a resource that is offered with low priority before it discards a resource that is offered with a higher priority.</p><p>If you call <strong>OfferResources</strong> to offer a resource while the resource is bound to the pipeline, the resource is unbound. You cannot call <strong>OfferResources</strong> on a resource that is mapped. After you offer a resource, the resource cannot be mapped or bound to the pipeline until you call the <strong>IDXGIDevice2::ReclaimResource</strong> method to reclaim the resource. You cannot call <strong>OfferResources</strong> to offer immutable resources.</p><p>To offer shared resources, call <strong>OfferResources</strong> on only one of the sharing devices. To ensure exclusive access to the resources, you must use an <strong><see cref = "T:SharpDX.DXGI.KeyedMutex"/></strong> object and then call <strong>OfferResources</strong> only while you hold the mutex. In fact, you can't offer shared resources unless you use <strong><see cref = "T:SharpDX.DXGI.KeyedMutex"/></strong> because offering shared resources without using <strong><see cref = "T:SharpDX.DXGI.KeyedMutex"/></strong> isn't supported.</p><strong>Note</strong>??The user mode display driver might not immediately offer the resources that you specified in a call to <strong>OfferResources</strong>. The driver can postpone offering them until the next call to <strong>IDXGISwapChain::Present</strong>, <strong>IDXGISwapChain1::Present1</strong>, or <strong>ID3D11DeviceContext::Flush</strong>.?<p><strong>Platform Update for Windows?7:??</strong>The runtime validates that <strong>OfferResources</strong> is used correctly on non-shared resources but doesn't perform the intended functionality. For more info about the Platform Update for Windows?7, see Platform Update for Windows 7. </p>
</remarks>
<doc-id>hh404549</doc-id>
<unmanaged>HRESULT IDXGIDevice2::OfferResources([In] unsigned int NumResources,[In, Buffer] const IDXGIResource** ppResources,[In] DXGI_OFFER_RESOURCE_PRIORITY Priority)</unmanaged>
<unmanaged-short>IDXGIDevice2::OfferResources</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.Device2.ReclaimResources(System.Int32,SharpDX.ComArray{SharpDX.DXGI.Resource},SharpDX.Mathematics.Interop.RawBool[])">
<summary>
<p>Restores access to resources that were previously offered by calling <strong>IDXGIDevice2::OfferResources</strong>.</p>
</summary>
<param name = "numResources">No documentation.</param>
<param name = "resourcesOut">No documentation.</param>
<param name = "discardedRef">No documentation.</param>
<returns><p><strong>ReclaimResources</strong> returns: </p><ul> <li><see cref = "F:SharpDX.Result.Ok"/> if resources were successfully reclaimed</li> <li>E_INVALIDARG if the resources are invalid</li> </ul></returns>
<remarks>
<p>After you call <strong>IDXGIDevice2::OfferResources</strong> to offer one or more resources, you must call <strong>ReclaimResources</strong> before you can use those resources again. You must check the values in the array at <em>pDiscarded</em> to determine whether each resource?s content was discarded. If a resource?s content was discarded while it was offered, its current content is undefined. Therefore, you must overwrite the resource?s content before you use the resource.</p><p>To reclaim shared resources, call <strong>ReclaimResources</strong> only on one of the sharing devices. To ensure exclusive access to the resources, you must use an <strong><see cref = "T:SharpDX.DXGI.KeyedMutex"/></strong> object and then call <strong>ReclaimResources</strong> only while you hold the mutex.</p><p><strong>Platform Update for Windows?7:??</strong>The runtime validates that <strong>ReclaimResources</strong> is used correctly on non-shared resources but doesn't perform the intended functionality. For more info about the Platform Update for Windows?7, see Platform Update for Windows 7. </p>
</remarks>
<doc-id>hh404551</doc-id>
<unmanaged>HRESULT IDXGIDevice2::ReclaimResources([In] unsigned int NumResources,[In, Buffer] const IDXGIResource** ppResources,[Out, Buffer, Optional] BOOL* pDiscarded)</unmanaged>
<unmanaged-short>IDXGIDevice2::ReclaimResources</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.Device2.ReclaimResources(System.Int32,System.IntPtr,System.IntPtr)">
<summary>
<p>Restores access to resources that were previously offered by calling <strong>IDXGIDevice2::OfferResources</strong>.</p>
</summary>
<param name = "numResources">No documentation.</param>
<param name = "resourcesOut">No documentation.</param>
<param name = "discardedRef">No documentation.</param>
<returns><p><strong>ReclaimResources</strong> returns: </p><ul> <li><see cref = "F:SharpDX.Result.Ok"/> if resources were successfully reclaimed</li> <li>E_INVALIDARG if the resources are invalid</li> </ul></returns>
<remarks>
<p>After you call <strong>IDXGIDevice2::OfferResources</strong> to offer one or more resources, you must call <strong>ReclaimResources</strong> before you can use those resources again. You must check the values in the array at <em>pDiscarded</em> to determine whether each resource?s content was discarded. If a resource?s content was discarded while it was offered, its current content is undefined. Therefore, you must overwrite the resource?s content before you use the resource.</p><p>To reclaim shared resources, call <strong>ReclaimResources</strong> only on one of the sharing devices. To ensure exclusive access to the resources, you must use an <strong><see cref = "T:SharpDX.DXGI.KeyedMutex"/></strong> object and then call <strong>ReclaimResources</strong> only while you hold the mutex.</p><p><strong>Platform Update for Windows?7:??</strong>The runtime validates that <strong>ReclaimResources</strong> is used correctly on non-shared resources but doesn't perform the intended functionality. For more info about the Platform Update for Windows?7, see Platform Update for Windows 7. </p>
</remarks>
<doc-id>hh404551</doc-id>
<unmanaged>HRESULT IDXGIDevice2::ReclaimResources([In] unsigned int NumResources,[In, Buffer] const IDXGIResource** ppResources,[Out, Buffer, Optional] BOOL* pDiscarded)</unmanaged>
<unmanaged-short>IDXGIDevice2::ReclaimResources</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.Device3.Trim">
<summary>
<p>Trims the graphics memory allocated by the <strong><see cref = "T:SharpDX.DXGI.Device3"/></strong> DXGI device on the app's behalf.</p><p>For apps that render with DirectX, graphics drivers periodically allocate internal memory buffers in order to speed up subsequent rendering requests. These memory allocations count against the app's memory usage for PLM and in general lead to increased memory usage by the overall system.</p><p>Starting in Windows?8.1, apps that render with Direct2D and/or Direct3D (including <strong>CoreWindow</strong> and XAML interop) must call <strong>Trim</strong> in response to the PLM suspend callback. The Direct3D runtime and the graphics driver will discard internal memory buffers allocated for the app, reducing its memory footprint.</p><p>Calling this method does not change the rendering state of the graphics device and it has no effect on rendering operations. There is a brief performance hit when internal buffers are reallocated during the first rendering operations after the <strong>Trim</strong> call, therefore apps should only call <strong>Trim</strong> when going idle for a period of time (in response to PLM suspend, for example).</p><p>Apps should ensure that they call <strong>Trim</strong> as one of the last D3D operations done before going idle. Direct3D will normally defer the destruction of D3D objects. Calling <strong>Trim</strong>, however, forces Direct3D to destroy objects immediately. For this reason, it is not guaranteed that releasing the final reference on Direct3D objects after calling <strong>Trim</strong> will cause the object to be destroyed and memory to be deallocated before the app suspends.</p><p>Similar to <strong>ID3D11DeviceContext::Flush</strong>, apps should call <strong>ID3D11DeviceContext::ClearState</strong> before calling <strong>Trim</strong>. <strong>ClearState</strong> clears the Direct3D pipeline bindings, ensuring that Direct3D does not hold any references to the Direct3D objects you are trying to release.</p><p>It is also prudent to release references on middleware before calling <strong>Trim</strong>, as that middleware may also need to release references
to Direct3D objects.</p>
</summary>
<doc-id>dn280346</doc-id>
<unmanaged>void IDXGIDevice3::Trim()</unmanaged>
<unmanaged-short>IDXGIDevice3::Trim</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.Device4.OfferResources1(System.Int32,SharpDX.DXGI.Resource[],SharpDX.DXGI.OfferResourcePriority,System.Int32)">
<summary>
<p>Allows the operating system to free the video memory of resources, including both discarding the content and de-committing the memory.</p>
</summary>
<param name = "numResources"><dd> <p>The number of resources in the <em>ppResources</em> argument array.</p> </dd></param>
<param name = "resourcesOut"><dd> <p>An array of references to <strong><see cref = "T:SharpDX.DXGI.Resource"/></strong> interfaces for the resources to offer.</p> </dd></param>
<param name = "priority"><dd> <p>A <strong><see cref = "T:SharpDX.DXGI.OfferResourcePriority"/></strong>-typed value that indicates how valuable data is.</p> </dd></param>
<param name = "flags"><dd> <p>Specifies the <strong><see cref = "T:SharpDX.DXGI.OfferResourceFlags"/></strong>.</p> </dd></param>
<returns><p>This method returns an <see cref = "T:SharpDX.Result"/> success or error code, which can include E_INVALIDARG if a resource in the array, or the priority, is invalid.</p></returns>
<remarks>
<p><strong>OfferResources1</strong> (an extension of the original <strong>IDXGIDevice2::OfferResources</strong> API) enables D3D based applications to allow de-committing of an allocation?s backing store to reduce system commit under low memory conditions.
A de-committed allocation cannot be reused, so opting in to the new DXGI_OFFER_RESOURCE_FLAG_ALLOW_DECOMMIT flag means the new reclaim results must be properly handled. Refer to the flag descriptions in <strong><see cref = "T:SharpDX.DXGI.ReclaimResourceResults"/></strong> and the Example below.</p><p><strong>OfferResources1</strong> and <strong>ReclaimResources1</strong> may <em>not</em> be used interchangeably with <strong>OfferResources</strong> and <strong>ReclaimResources</strong>.
</p><p>The priority value that the <em>Priority</em> parameter specifies describes how valuable the caller considers the content to be. The operating system uses the priority value to discard resources in order of priority. The operating system discards a resource that is offered with low priority before it discards a resource that is offered with a higher priority.</p><p>If you call <strong>OfferResources1</strong> to offer a resource while the resource is bound to the pipeline, the resource is unbound. You cannot call <strong>OfferResources1</strong> on a resource that is mapped. After you offer a resource, the resource cannot be mapped or bound to the pipeline until you call the <strong>ReclaimResources1</strong> method to reclaim the resource. You cannot call <strong>OfferResources1</strong> to offer immutable resources.</p><p>To offer shared resources, call <strong>OfferResources1</strong> on only one of the sharing devices. To ensure exclusive access to the resources, you must use an <strong><see cref = "T:SharpDX.DXGI.KeyedMutex"/></strong> object and then call <strong>OfferResources1</strong> only while you hold the mutex. In fact, you can't offer shared resources unless you use <strong><see cref = "T:SharpDX.DXGI.KeyedMutex"/></strong> because offering shared resources without using <strong><see cref = "T:SharpDX.DXGI.KeyedMutex"/></strong> isn't supported.</p><p>The user mode display driver might not immediately offer the resources that you specified in a call to <strong>OfferResources1</strong>. The driver can postpone offering them until the next call to <strong>IDXGISwapChain::Present</strong>, <strong>IDXGISwapChain1::Present1</strong>, or <strong>ID3D11DeviceContext::Flush</strong>.</p>
</remarks>
<doc-id>mt732705</doc-id>
<unmanaged>HRESULT IDXGIDevice4::OfferResources1([In] unsigned int NumResources,[In, Buffer] const IDXGIResource** ppResources,[In] DXGI_OFFER_RESOURCE_PRIORITY Priority,[In] unsigned int Flags)</unmanaged>
<unmanaged-short>IDXGIDevice4::OfferResources1</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.Device4.ReclaimResources1(System.Int32,SharpDX.DXGI.Resource[],SharpDX.DXGI.ReclaimResourceResults[])">
<summary>
<p>Restores access to resources that were previously offered by calling <strong>IDXGIDevice4::OfferResources1</strong>.</p>
</summary>
<param name = "numResources">No documentation.</param>
<param name = "resourcesOut">No documentation.</param>
<param name = "resultsRef">No documentation.</param>
<returns><p>This method returns an <see cref = "T:SharpDX.Result"/> success or error code, including E_INVALIDARG if the resources are invalid.</p></returns>
<remarks>
<p>After you call <strong>OfferResources1</strong> to offer one or more resources, you must call <strong>ReclaimResources1</strong> before you can use those resources again.</p><p>To reclaim shared resources, call <strong>ReclaimResources1</strong> only on one of the sharing devices. To ensure exclusive access to the resources, you must use an <strong><see cref = "T:SharpDX.DXGI.KeyedMutex"/></strong> object and then call <strong>ReclaimResources1</strong> only while you hold the mutex.</p>
</remarks>
<doc-id>mt732706</doc-id>
<unmanaged>HRESULT IDXGIDevice4::ReclaimResources1([In] unsigned int NumResources,[In, Buffer] const IDXGIResource** ppResources,[Out, Buffer] DXGI_RECLAIM_RESOURCE_RESULTS* pResults)</unmanaged>
<unmanaged-short>IDXGIDevice4::ReclaimResources1</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.Device4.OfferResources1(System.Int32,SharpDX.ComArray{SharpDX.DXGI.Resource},SharpDX.DXGI.OfferResourcePriority,System.Int32)">
<summary>
<p>Allows the operating system to free the video memory of resources, including both discarding the content and de-committing the memory.</p>
</summary>
<param name = "numResources"><dd> <p>The number of resources in the <em>ppResources</em> argument array.</p> </dd></param>
<param name = "resourcesOut"><dd> <p>An array of references to <strong><see cref = "T:SharpDX.DXGI.Resource"/></strong> interfaces for the resources to offer.</p> </dd></param>
<param name = "priority"><dd> <p>A <strong><see cref = "T:SharpDX.DXGI.OfferResourcePriority"/></strong>-typed value that indicates how valuable data is.</p> </dd></param>
<param name = "flags"><dd> <p>Specifies the <strong><see cref = "T:SharpDX.DXGI.OfferResourceFlags"/></strong>.</p> </dd></param>
<returns><p>This method returns an <see cref = "T:SharpDX.Result"/> success or error code, which can include E_INVALIDARG if a resource in the array, or the priority, is invalid.</p></returns>
<remarks>
<p><strong>OfferResources1</strong> (an extension of the original <strong>IDXGIDevice2::OfferResources</strong> API) enables D3D based applications to allow de-committing of an allocation?s backing store to reduce system commit under low memory conditions.
A de-committed allocation cannot be reused, so opting in to the new DXGI_OFFER_RESOURCE_FLAG_ALLOW_DECOMMIT flag means the new reclaim results must be properly handled. Refer to the flag descriptions in <strong><see cref = "T:SharpDX.DXGI.ReclaimResourceResults"/></strong> and the Example below.</p><p><strong>OfferResources1</strong> and <strong>ReclaimResources1</strong> may <em>not</em> be used interchangeably with <strong>OfferResources</strong> and <strong>ReclaimResources</strong>.
</p><p>The priority value that the <em>Priority</em> parameter specifies describes how valuable the caller considers the content to be. The operating system uses the priority value to discard resources in order of priority. The operating system discards a resource that is offered with low priority before it discards a resource that is offered with a higher priority.</p><p>If you call <strong>OfferResources1</strong> to offer a resource while the resource is bound to the pipeline, the resource is unbound. You cannot call <strong>OfferResources1</strong> on a resource that is mapped. After you offer a resource, the resource cannot be mapped or bound to the pipeline until you call the <strong>ReclaimResources1</strong> method to reclaim the resource. You cannot call <strong>OfferResources1</strong> to offer immutable resources.</p><p>To offer shared resources, call <strong>OfferResources1</strong> on only one of the sharing devices. To ensure exclusive access to the resources, you must use an <strong><see cref = "T:SharpDX.DXGI.KeyedMutex"/></strong> object and then call <strong>OfferResources1</strong> only while you hold the mutex. In fact, you can't offer shared resources unless you use <strong><see cref = "T:SharpDX.DXGI.KeyedMutex"/></strong> because offering shared resources without using <strong><see cref = "T:SharpDX.DXGI.KeyedMutex"/></strong> isn't supported.</p><p>The user mode display driver might not immediately offer the resources that you specified in a call to <strong>OfferResources1</strong>. The driver can postpone offering them until the next call to <strong>IDXGISwapChain::Present</strong>, <strong>IDXGISwapChain1::Present1</strong>, or <strong>ID3D11DeviceContext::Flush</strong>.</p>
</remarks>
<doc-id>mt732705</doc-id>
<unmanaged>HRESULT IDXGIDevice4::OfferResources1([In] unsigned int NumResources,[In, Buffer] const IDXGIResource** ppResources,[In] DXGI_OFFER_RESOURCE_PRIORITY Priority,[In] unsigned int Flags)</unmanaged>
<unmanaged-short>IDXGIDevice4::OfferResources1</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.Device4.OfferResources1(System.Int32,System.IntPtr,SharpDX.DXGI.OfferResourcePriority,System.Int32)">
<summary>
<p>Allows the operating system to free the video memory of resources, including both discarding the content and de-committing the memory.</p>
</summary>
<param name = "numResources"><dd> <p>The number of resources in the <em>ppResources</em> argument array.</p> </dd></param>
<param name = "resourcesOut"><dd> <p>An array of references to <strong><see cref = "T:SharpDX.DXGI.Resource"/></strong> interfaces for the resources to offer.</p> </dd></param>
<param name = "priority"><dd> <p>A <strong><see cref = "T:SharpDX.DXGI.OfferResourcePriority"/></strong>-typed value that indicates how valuable data is.</p> </dd></param>
<param name = "flags"><dd> <p>Specifies the <strong><see cref = "T:SharpDX.DXGI.OfferResourceFlags"/></strong>.</p> </dd></param>
<returns><p>This method returns an <see cref = "T:SharpDX.Result"/> success or error code, which can include E_INVALIDARG if a resource in the array, or the priority, is invalid.</p></returns>
<remarks>
<p><strong>OfferResources1</strong> (an extension of the original <strong>IDXGIDevice2::OfferResources</strong> API) enables D3D based applications to allow de-committing of an allocation?s backing store to reduce system commit under low memory conditions.
A de-committed allocation cannot be reused, so opting in to the new DXGI_OFFER_RESOURCE_FLAG_ALLOW_DECOMMIT flag means the new reclaim results must be properly handled. Refer to the flag descriptions in <strong><see cref = "T:SharpDX.DXGI.ReclaimResourceResults"/></strong> and the Example below.</p><p><strong>OfferResources1</strong> and <strong>ReclaimResources1</strong> may <em>not</em> be used interchangeably with <strong>OfferResources</strong> and <strong>ReclaimResources</strong>.
</p><p>The priority value that the <em>Priority</em> parameter specifies describes how valuable the caller considers the content to be. The operating system uses the priority value to discard resources in order of priority. The operating system discards a resource that is offered with low priority before it discards a resource that is offered with a higher priority.</p><p>If you call <strong>OfferResources1</strong> to offer a resource while the resource is bound to the pipeline, the resource is unbound. You cannot call <strong>OfferResources1</strong> on a resource that is mapped. After you offer a resource, the resource cannot be mapped or bound to the pipeline until you call the <strong>ReclaimResources1</strong> method to reclaim the resource. You cannot call <strong>OfferResources1</strong> to offer immutable resources.</p><p>To offer shared resources, call <strong>OfferResources1</strong> on only one of the sharing devices. To ensure exclusive access to the resources, you must use an <strong><see cref = "T:SharpDX.DXGI.KeyedMutex"/></strong> object and then call <strong>OfferResources1</strong> only while you hold the mutex. In fact, you can't offer shared resources unless you use <strong><see cref = "T:SharpDX.DXGI.KeyedMutex"/></strong> because offering shared resources without using <strong><see cref = "T:SharpDX.DXGI.KeyedMutex"/></strong> isn't supported.</p><p>The user mode display driver might not immediately offer the resources that you specified in a call to <strong>OfferResources1</strong>. The driver can postpone offering them until the next call to <strong>IDXGISwapChain::Present</strong>, <strong>IDXGISwapChain1::Present1</strong>, or <strong>ID3D11DeviceContext::Flush</strong>.</p>
</remarks>
<doc-id>mt732705</doc-id>
<unmanaged>HRESULT IDXGIDevice4::OfferResources1([In] unsigned int NumResources,[In, Buffer] const IDXGIResource** ppResources,[In] DXGI_OFFER_RESOURCE_PRIORITY Priority,[In] unsigned int Flags)</unmanaged>
<unmanaged-short>IDXGIDevice4::OfferResources1</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.Device4.ReclaimResources1(System.Int32,SharpDX.ComArray{SharpDX.DXGI.Resource},SharpDX.DXGI.ReclaimResourceResults[])">
<summary>
<p>Restores access to resources that were previously offered by calling <strong>IDXGIDevice4::OfferResources1</strong>.</p>
</summary>
<param name = "numResources">No documentation.</param>
<param name = "resourcesOut">No documentation.</param>
<param name = "resultsRef">No documentation.</param>
<returns><p>This method returns an <see cref = "T:SharpDX.Result"/> success or error code, including E_INVALIDARG if the resources are invalid.</p></returns>
<remarks>
<p>After you call <strong>OfferResources1</strong> to offer one or more resources, you must call <strong>ReclaimResources1</strong> before you can use those resources again.</p><p>To reclaim shared resources, call <strong>ReclaimResources1</strong> only on one of the sharing devices. To ensure exclusive access to the resources, you must use an <strong><see cref = "T:SharpDX.DXGI.KeyedMutex"/></strong> object and then call <strong>ReclaimResources1</strong> only while you hold the mutex.</p>
</remarks>
<doc-id>mt732706</doc-id>
<unmanaged>HRESULT IDXGIDevice4::ReclaimResources1([In] unsigned int NumResources,[In, Buffer] const IDXGIResource** ppResources,[Out, Buffer] DXGI_RECLAIM_RESOURCE_RESULTS* pResults)</unmanaged>
<unmanaged-short>IDXGIDevice4::ReclaimResources1</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.Device4.ReclaimResources1(System.Int32,System.IntPtr,System.IntPtr)">
<summary>
<p>Restores access to resources that were previously offered by calling <strong>IDXGIDevice4::OfferResources1</strong>.</p>
</summary>
<param name = "numResources">No documentation.</param>
<param name = "resourcesOut">No documentation.</param>
<param name = "resultsRef">No documentation.</param>
<returns><p>This method returns an <see cref = "T:SharpDX.Result"/> success or error code, including E_INVALIDARG if the resources are invalid.</p></returns>
<remarks>
<p>After you call <strong>OfferResources1</strong> to offer one or more resources, you must call <strong>ReclaimResources1</strong> before you can use those resources again.</p><p>To reclaim shared resources, call <strong>ReclaimResources1</strong> only on one of the sharing devices. To ensure exclusive access to the resources, you must use an <strong><see cref = "T:SharpDX.DXGI.KeyedMutex"/></strong> object and then call <strong>ReclaimResources1</strong> only while you hold the mutex.</p>
</remarks>
<doc-id>mt732706</doc-id>
<unmanaged>HRESULT IDXGIDevice4::ReclaimResources1([In] unsigned int NumResources,[In, Buffer] const IDXGIResource** ppResources,[Out, Buffer] DXGI_RECLAIM_RESOURCE_RESULTS* pResults)</unmanaged>
<unmanaged-short>IDXGIDevice4::ReclaimResources1</unmanaged-short>
</member>
<member name="P:SharpDX.DXGI.DisplayControl.IsStereoEnabled">
<summary>
<p>Retrieves a Boolean value that indicates whether the operating system's stereoscopic 3D display behavior is enabled.</p>
</summary>
<remarks>
<p>You pass a Boolean value to the <strong>IDXGIDisplayControl::SetStereoEnabled</strong> method to either enable or disable the operating system's stereoscopic 3D display behavior. TRUE enables the operating system's stereoscopic 3D display behavior and <see cref = "F:SharpDX.Result.False"/> disables it.</p>
</remarks>
<doc-id>hh404553</doc-id>
<unmanaged>IsStereoEnabled</unmanaged>
<unmanaged-short>IsStereoEnabled</unmanaged-short>
</member>
<member name="P:SharpDX.DXGI.DisplayControl.StereoEnabled">
<summary>
<p>Set a Boolean value to either enable or disable the operating system's stereoscopic 3D display behavior.</p>
</summary>
<remarks>
<p><strong>Platform Update for Windows?7:??</strong>On Windows?7 or Windows Server?2008?R2 with the Platform Update for Windows?7 installed, <strong>SetStereoEnabled</strong> doesn't change stereoscopic 3D display behavior because stereoscopic 3D display behavior isn?t available with the Platform Update for Windows?7. For more info about the Platform Update for Windows?7, see Platform Update for Windows 7. </p>
</remarks>
<doc-id>hh404554</doc-id>
<unmanaged>SetStereoEnabled</unmanaged>
<unmanaged-short>SetStereoEnabled</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.DisplayControl.IsStereoEnabled_">
<summary>
<p>Retrieves a Boolean value that indicates whether the operating system's stereoscopic 3D display behavior is enabled.</p>
</summary>
<returns><p><strong>IsStereoEnabled</strong> returns TRUE when the operating system's stereoscopic 3D display behavior is enabled and <see cref = "F:SharpDX.Result.False"/> when this behavior is disabled.</p><p><strong>Platform Update for Windows?7:??</strong>On Windows?7 or Windows Server?2008?R2 with the Platform Update for Windows?7 installed, <strong>IsStereoEnabled</strong> always returns <see cref = "F:SharpDX.Result.False"/> because stereoscopic 3D display behavior isn?t available with the Platform Update for Windows?7. For more info about the Platform Update for Windows?7, see Platform Update for Windows 7. </p></returns>
<remarks>
<p>You pass a Boolean value to the <strong>IDXGIDisplayControl::SetStereoEnabled</strong> method to either enable or disable the operating system's stereoscopic 3D display behavior. TRUE enables the operating system's stereoscopic 3D display behavior and <see cref = "F:SharpDX.Result.False"/> disables it.</p>
</remarks>
<doc-id>hh404553</doc-id>
<unmanaged>BOOL IDXGIDisplayControl::IsStereoEnabled()</unmanaged>
<unmanaged-short>IDXGIDisplayControl::IsStereoEnabled</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.DisplayControl.SetStereoEnabled(SharpDX.Mathematics.Interop.RawBool)">
<summary>
<p>Set a Boolean value to either enable or disable the operating system's stereoscopic 3D display behavior.</p>
</summary>
<param name = "enabled"><dd> <p>A Boolean value that either enables or disables the operating system's stereoscopic 3D display behavior. TRUE enables the operating system's stereoscopic 3D display behavior and <see cref = "F:SharpDX.Result.False"/> disables it.</p> </dd></param>
<remarks>
<p><strong>Platform Update for Windows?7:??</strong>On Windows?7 or Windows Server?2008?R2 with the Platform Update for Windows?7 installed, <strong>SetStereoEnabled</strong> doesn't change stereoscopic 3D display behavior because stereoscopic 3D display behavior isn?t available with the Platform Update for Windows?7. For more info about the Platform Update for Windows?7, see Platform Update for Windows 7. </p>
</remarks>
<doc-id>hh404554</doc-id>
<unmanaged>void IDXGIDisplayControl::SetStereoEnabled([In] BOOL enabled)</unmanaged>
<unmanaged-short>IDXGIDisplayControl::SetStereoEnabled</unmanaged-short>
</member>
<member name="P:SharpDX.DXGI.Factory3.CreationFlags">
<summary>
<p>Gets the flags that were used when a Microsoft DirectX Graphics Infrastructure (DXGI) object was created.</p>
</summary>
<remarks>
<p>The <strong>GetCreationFlags</strong> method returns flags that were passed to the <strong>CreateDXGIFactory2</strong> function, or were implicitly constructed by <strong>CreateDXGIFactory</strong>, <strong>CreateDXGIFactory1</strong>, <strong>D3D11CreateDevice</strong>, or <strong>D3D11CreateDeviceAndSwapChain</strong>.</p>
</remarks>
<doc-id>dn457943</doc-id>
<unmanaged>GetCreationFlags</unmanaged>
<unmanaged-short>GetCreationFlags</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.Factory3.GetCreationFlags">
<summary>
<p>Gets the flags that were used when a Microsoft DirectX Graphics Infrastructure (DXGI) object was created.</p>
</summary>
<returns><p>The creation flags.</p></returns>
<remarks>
<p>The <strong>GetCreationFlags</strong> method returns flags that were passed to the <strong>CreateDXGIFactory2</strong> function, or were implicitly constructed by <strong>CreateDXGIFactory</strong>, <strong>CreateDXGIFactory1</strong>, <strong>D3D11CreateDevice</strong>, or <strong>D3D11CreateDeviceAndSwapChain</strong>.</p>
</remarks>
<doc-id>dn457943</doc-id>
<unmanaged>unsigned int IDXGIFactory3::GetCreationFlags()</unmanaged>
<unmanaged-short>IDXGIFactory3::GetCreationFlags</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.Factory5.CheckFeatureSupport(SharpDX.DXGI.Feature,System.IntPtr,System.Int32)">
<summary>
<p>Used to check for hardware feature support.</p>
</summary>
<param name = "feature"><dd> <p>Specifies one member of <strong><see cref = "T:SharpDX.DXGI.Feature"/></strong> to query support for.</p> </dd></param>
<param name = "featureSupportDataRef"><dd> <p>Specifies a reference to a buffer that will be filled with data that describes the feature support.</p> </dd></param>
<param name = "featureSupportDataSize"><dd> <p>The size, in bytes, of <em>pFeatureSupportData</em>.</p> </dd></param>
<returns><p>This method returns an <see cref = "T:SharpDX.Result"/> success or error code.</p></returns>
<remarks>
<p>Refer to the description of <strong>DXGI_SWAP_CHAIN_FLAG_ALLOW_TEARING</strong>.</p>
</remarks>
<doc-id>mt722567</doc-id>
<unmanaged>HRESULT IDXGIFactory5::CheckFeatureSupport([In] DXGI_FEATURE Feature,[Out, Buffer] void* pFeatureSupportData,[In] unsigned int FeatureSupportDataSize)</unmanaged>
<unmanaged-short>IDXGIFactory5::CheckFeatureSupport</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.FactoryMedia.CreateSwapChainForCompositionSurfaceHandle(SharpDX.IUnknown,System.IntPtr,SharpDX.DXGI.SwapChainDescription1@,SharpDX.DXGI.Output,SharpDX.DXGI.SwapChain1@)">
<summary>
<p>Creates a YUV swap chain for an existing DirectComposition surface handle.</p>
</summary>
<param name = "deviceRef">No documentation.</param>
<param name = "hSurface">No documentation.</param>
<param name = "descRef">No documentation.</param>
<param name = "restrictToOutputRef">No documentation.</param>
<param name = "swapChainOut">No documentation.</param>
<returns><p><strong>CreateSwapChainForCompositionSurfaceHandle</strong> returns: </p><ul> <li><see cref = "F:SharpDX.Result.Ok"/> if it successfully created a swap chain.</li> <li>E_OUTOFMEMORY if memory is unavailable to complete the operation.</li> <li> <see cref = "!:InvalidCall"/> if the calling application provided invalid data, for example, if <em>pDesc</em>, <em>pYuvDecodeBuffers</em>, or <em>ppSwapChain</em> is <strong><c>null</c></strong>.</li> <li>Possibly other error codes that are described in the DXGI_ERROR topic that are defined by the type of device that you pass to <em>pDevice</em>.</li> </ul></returns>
<doc-id>dn384130</doc-id>
<unmanaged>HRESULT IDXGIFactoryMedia::CreateSwapChainForCompositionSurfaceHandle([In] IUnknown* pDevice,[In, Optional] void* hSurface,[In] const DXGI_SWAP_CHAIN_DESC1* pDesc,[In, Optional] IDXGIOutput* pRestrictToOutput,[Out] IDXGISwapChain1** ppSwapChain)</unmanaged>
<unmanaged-short>IDXGIFactoryMedia::CreateSwapChainForCompositionSurfaceHandle</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.FactoryMedia.CreateDecodeSwapChainForCompositionSurfaceHandle(SharpDX.IUnknown,System.IntPtr,SharpDX.DXGI.DecodeSwapChainDescription,SharpDX.DXGI.Resource,SharpDX.DXGI.Output,SharpDX.DXGI.DecodeSwapChain@)">
<summary>
<p> Creates a YUV swap chain for an existing DirectComposition surface handle. The swap chain is created with pre-existing buffers and very few descriptive elements are required. Instead, this method requires a DirectComposition surface handle and an <strong><see cref = "T:SharpDX.DXGI.Resource"/></strong> buffer to hold decoded frame data. The swap chain format is determined by the format of the subresources of the <strong><see cref = "T:SharpDX.DXGI.Resource"/></strong>. </p>
</summary>
<param name = "deviceRef">No documentation.</param>
<param name = "hSurface">No documentation.</param>
<param name = "descRef">No documentation.</param>
<param name = "yuvDecodeBuffersRef">No documentation.</param>
<param name = "restrictToOutputRef">No documentation.</param>
<param name = "swapChainOut">No documentation.</param>
<returns><p><strong>CreateDecodeSwapChainForCompositionSurfaceHandle</strong> returns: </p><ul> <li><see cref = "F:SharpDX.Result.Ok"/> if it successfully created a swap chain.</li> <li>E_OUTOFMEMORY if memory is unavailable to complete the operation.</li> <li> <see cref = "!:InvalidCall"/> if the calling application provided invalid data, for example, if <em>pDesc</em>, <em>pYuvDecodeBuffers</em>, or <em>ppSwapChain</em> is <strong><c>null</c></strong>. </li> <li> Possibly other error codes that are described in the DXGI_ERROR topic that are defined by the type of device that you pass to <em>pDevice</em>. </li> </ul></returns>
<remarks>
<p>The <strong><see cref = "T:SharpDX.DXGI.Resource"/></strong> provided via the <em>pYuvDecodeBuffers</em> parameter must point to at least one subresource, and all subresources must be created with the <strong>D3D11_BIND_DECODER</strong> flag.</p>
</remarks>
<doc-id>dn384129</doc-id>
<unmanaged>HRESULT IDXGIFactoryMedia::CreateDecodeSwapChainForCompositionSurfaceHandle([In] IUnknown* pDevice,[In, Optional] void* hSurface,[In] DXGI_DECODE_SWAP_CHAIN_DESC* pDesc,[In] IDXGIResource* pYuvDecodeBuffers,[In, Optional] IDXGIOutput* pRestrictToOutput,[Out] IDXGIDecodeSwapChain** ppSwapChain)</unmanaged>
<unmanaged-short>IDXGIFactoryMedia::CreateDecodeSwapChainForCompositionSurfaceHandle</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.ISurfaceImageSourceManagerNative.FlushAllSurfacesWithDevice(SharpDX.IUnknown)">
<summary>
<p>Flushes all current GPU work for all <strong>SurfaceImageSource</strong> or <strong>VirtualSurfaceImageSource</strong> objects associated with the given device.</p>
</summary>
<param name = "device">No documentation.</param>
<returns><p>If this method succeeds, it returns <strong><see cref = "F:SharpDX.Result.Ok"/></strong>. Otherwise, it returns an <strong><see cref = "T:SharpDX.Result"/></strong> error code.</p></returns>
<remarks>
<p>The <strong>FlushAllSurfacesWithDevice</strong> method flushes current GPU work for all <strong>SurfaceImageSource</strong> objects that were created with <em>device</em>. This GPU work includes Direct2D rendering work and internal GPU work done by the framework associated with rendering. This is useful if an application has created multiple <strong>SurfaceImageSource</strong> objects and needs to flush the GPU work for all of these surfaces from the background rendering thread. By flushing this work from the background thread the work can be better parallelized, with work being done on the UI thread to improve performance.</p><p>You can call the <strong>FlushAllSurfacesWithDevice</strong> method from a non-UI thread. </p>
</remarks>
<doc-id>dn448960</doc-id>
<unmanaged>HRESULT ISurfaceImageSourceManagerNative::FlushAllSurfacesWithDevice([In] IUnknown* device)</unmanaged>
<unmanaged-short>ISurfaceImageSourceManagerNative::FlushAllSurfacesWithDevice</unmanaged-short>
</member>
<member name="P:SharpDX.DXGI.ISurfaceImageSourceNative.Device">
<summary>
<p>Sets the DXGI device, created with D3D11_CREATE_DEVICE_BGRA_SUPPORT, that will draw the surface. This method must be called from the UI thread.</p>
</summary>
<doc-id>hh848325</doc-id>
<unmanaged>SetDevice</unmanaged>
<unmanaged-short>SetDevice</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.ISurfaceImageSourceNative.SetDevice(SharpDX.DXGI.Device)">
<summary>
<p>Sets the DXGI device, created with D3D11_CREATE_DEVICE_BGRA_SUPPORT, that will draw the surface. This method must be called from the UI thread.</p>
</summary>
<param name = "device"><dd> <p>Pointer to the DXGI device interface.</p> </dd></param>
<returns><p>If this method succeeds, it returns <strong><see cref = "F:SharpDX.Result.Ok"/></strong>. Otherwise, it returns an <strong><see cref = "T:SharpDX.Result"/></strong> error code.</p></returns>
<doc-id>hh848325</doc-id>
<unmanaged>HRESULT ISurfaceImageSourceNative::SetDevice([In] IDXGIDevice* device)</unmanaged>
<unmanaged-short>ISurfaceImageSourceNative::SetDevice</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.ISurfaceImageSourceNative.BeginDraw(SharpDX.Mathematics.Interop.RawRectangle,SharpDX.Mathematics.Interop.RawPoint@)">
<summary>
<p>Opens the supplied DXGI surface for drawing.</p>
</summary>
<param name = "updateRect"><dd> <p>The region of the surface that will be drawn into.</p> </dd></param>
<param name = "offset"><dd> <p>Receives the point (x,y) offset of the surface that will be drawn into.</p> </dd></param>
<returns><dd> <p>Receives a reference to the surface for drawing. </p> </dd></returns>
<remarks>
<p>If the app window that contains the <strong>SurfaceImageSource</strong> isn't active, like when it's suspended, calling the <strong>BeginDraw</strong> method returns an error.</p>
</remarks>
<doc-id>hh848323</doc-id>
<unmanaged>HRESULT ISurfaceImageSourceNative::BeginDraw([In] RECT updateRect,[Out] IDXGISurface** surface,[Out] POINT* offset)</unmanaged>
<unmanaged-short>ISurfaceImageSourceNative::BeginDraw</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.ISurfaceImageSourceNative.EndDraw">
<summary>
<p>Closes the surface draw operation.</p>
</summary>
<returns><p>If this method succeeds, it returns <strong><see cref = "F:SharpDX.Result.Ok"/></strong>. Otherwise, it returns an <strong><see cref = "T:SharpDX.Result"/></strong> error code.</p></returns>
<doc-id>hh848324</doc-id>
<unmanaged>HRESULT ISurfaceImageSourceNative::EndDraw()</unmanaged>
<unmanaged-short>ISurfaceImageSourceNative::EndDraw</unmanaged-short>
</member>
<member name="P:SharpDX.DXGI.ISurfaceImageSourceNativeWithD2D.Device">
<summary>
<p>Sets the Microsoft DirectX Graphics Infrastructure (DXGI) or Direct2D device, created with <strong>D3D11_CREATE_DEVICE_BGRA_SUPPORT</strong>, that will draw the surface.</p>
</summary>
<doc-id>dn302141</doc-id>
<unmanaged>SetDevice</unmanaged>
<unmanaged-short>SetDevice</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.ISurfaceImageSourceNativeWithD2D.SetDevice(SharpDX.IUnknown)">
<summary>
<p>Sets the Microsoft DirectX Graphics Infrastructure (DXGI) or Direct2D device, created with <strong>D3D11_CREATE_DEVICE_BGRA_SUPPORT</strong>, that will draw the surface.</p>
</summary>
<param name = "device"><dd> <p>Pointer to the DXGI device interface. You can pass an <strong><see cref = "!:SharpDX.Direct2D1.Device"/></strong> to signal that this surface participates in Direct2D batching to improve performance when updating Direct2D content across multiple surfaces. The device must have multithreading supported enabled if the app draws to the surface from a background thread. </p> </dd></param>
<returns><p>This method fails when the SurfaceImageSource is larger than the maximum texture size supported by the Direct3D device. Apps should use VirtualSurfaceImageSource for surfaces larger than the maximum texture size supported by the Direct3D device.</p></returns>
<doc-id>dn302141</doc-id>
<unmanaged>HRESULT ISurfaceImageSourceNativeWithD2D::SetDevice([In] IUnknown* device)</unmanaged>
<unmanaged-short>ISurfaceImageSourceNativeWithD2D::SetDevice</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.ISurfaceImageSourceNativeWithD2D.BeginDraw(SharpDX.Mathematics.Interop.RawRectangle,System.Guid,System.IntPtr@,SharpDX.Mathematics.Interop.RawPoint@)">
<summary>
<p>Initiates an update to the associated <strong>SurfaceImageSource</strong> or <strong>VirtualSurfaceImageSource</strong>.</p>
</summary>
<param name = "updateRect">No documentation.</param>
<param name = "iid">No documentation.</param>
<param name = "updateObject">No documentation.</param>
<param name = "offset">No documentation.</param>
<returns><p>If this method succeeds, it returns <strong><see cref = "F:SharpDX.Result.Ok"/></strong>. Otherwise, it returns an <strong><see cref = "T:SharpDX.Result"/></strong> error code.</p></returns>
<doc-id>dn302138</doc-id>
<unmanaged>HRESULT ISurfaceImageSourceNativeWithD2D::BeginDraw([In] const RECT&amp; updateRect,[In] const GUID&amp; iid,[Out] void** updateObject,[Out] POINT* offset)</unmanaged>
<unmanaged-short>ISurfaceImageSourceNativeWithD2D::BeginDraw</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.ISurfaceImageSourceNativeWithD2D.EndDraw">
<summary>
<p>Closes the surface draw operation.</p>
</summary>
<returns><p>If this method succeeds, it returns <strong><see cref = "F:SharpDX.Result.Ok"/></strong>. Otherwise, it returns an <strong><see cref = "T:SharpDX.Result"/></strong> error code.</p></returns>
<remarks>
<p>Always call the <strong>EndDraw</strong> method on the UI thread in order to synchronize updating the Microsoft DirectX content with the current XAML UI thread frame. </p>
</remarks>
<doc-id>dn302139</doc-id>
<unmanaged>HRESULT ISurfaceImageSourceNativeWithD2D::EndDraw()</unmanaged>
<unmanaged-short>ISurfaceImageSourceNativeWithD2D::EndDraw</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.ISurfaceImageSourceNativeWithD2D.SuspendDraw">
<summary>
<p>Suspends the drawing operation.</p>
</summary>
<returns><p>If this method succeeds, it returns <strong><see cref = "F:SharpDX.Result.Ok"/></strong>. Otherwise, it returns an <strong><see cref = "T:SharpDX.Result"/></strong> error code.</p></returns>
<doc-id>dn302142</doc-id>
<unmanaged>HRESULT ISurfaceImageSourceNativeWithD2D::SuspendDraw()</unmanaged>
<unmanaged-short>ISurfaceImageSourceNativeWithD2D::SuspendDraw</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.ISurfaceImageSourceNativeWithD2D.ResumeDraw">
<summary>
<p>Resume the drawing operation.</p>
</summary>
<returns><p>If this method succeeds, it returns <strong><see cref = "F:SharpDX.Result.Ok"/></strong>. Otherwise, it returns an <strong><see cref = "T:SharpDX.Result"/></strong> error code.</p></returns>
<doc-id>dn302140</doc-id>
<unmanaged>HRESULT ISurfaceImageSourceNativeWithD2D::ResumeDraw()</unmanaged>
<unmanaged-short>ISurfaceImageSourceNativeWithD2D::ResumeDraw</unmanaged-short>
</member>
<member name="P:SharpDX.DXGI.ISwapChainBackgroundPanelNative.SwapChain">
<summary>
<p>Sets the DirectX swap chain for <strong>SwapChainBackgroundPanel</strong>.</p>
</summary>
<doc-id>hh848327</doc-id>
<unmanaged>SetSwapChain</unmanaged>
<unmanaged-short>SetSwapChain</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.ISwapChainBackgroundPanelNative.SetSwapChain(SharpDX.DXGI.SwapChain)">
<summary>
<p>Sets the DirectX swap chain for <strong>SwapChainBackgroundPanel</strong>.</p>
</summary>
<param name = "swapChain">No documentation.</param>
<returns><p>If this method succeeds, it returns <strong><see cref = "F:SharpDX.Result.Ok"/></strong>. Otherwise, it returns an <strong><see cref = "T:SharpDX.Result"/></strong> error code.</p></returns>
<doc-id>hh848327</doc-id>
<unmanaged>HRESULT ISwapChainBackgroundPanelNative::SetSwapChain([In] IDXGISwapChain* swapChain)</unmanaged>
<unmanaged-short>ISwapChainBackgroundPanelNative::SetSwapChain</unmanaged-short>
</member>
<member name="P:SharpDX.DXGI.ISwapChainPanelNative.SwapChain">
<summary>
<p>Sets the DirectX swap chain for <strong>SwapChainPanel</strong>.</p>
</summary>
<doc-id>dn302144</doc-id>
<unmanaged>SetSwapChain</unmanaged>
<unmanaged-short>SetSwapChain</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.ISwapChainPanelNative.SetSwapChain(SharpDX.DXGI.SwapChain)">
<summary>
<p>Sets the DirectX swap chain for <strong>SwapChainPanel</strong>.</p>
</summary>
<param name = "swapChain">No documentation.</param>
<returns><p>If this method succeeds, it returns <strong><see cref = "F:SharpDX.Result.Ok"/></strong>. Otherwise, it returns an <strong><see cref = "T:SharpDX.Result"/></strong> error code.</p></returns>
<doc-id>dn302144</doc-id>
<unmanaged>HRESULT ISwapChainPanelNative::SetSwapChain([In] IDXGISwapChain* swapChain)</unmanaged>
<unmanaged-short>ISwapChainPanelNative::SetSwapChain</unmanaged-short>
</member>
<member name="P:SharpDX.DXGI.ISwapChainPanelNative2.SwapChainHandle">
<summary>
<p>Sets the DirectX swap chain for <strong>SwapChainPanel</strong> using a handle to the swap chain.</p>
</summary>
<remarks>
<p>SetSwapChain(HANDLE swapChainHandle) allows a swap chain to be rendered by referencing a shared handle to the swap chain. This enables scenarios where a swap chain is created in one process and needs to be passed to another process.</p><p>XAML supports setting a DXGI swap chain as the content of a SwapChainPanel element. Apps accomplish this by querying for the <strong><see cref = "T:SharpDX.DXGI.ISwapChainPanelNative"/></strong> interface from a SwapChainPanel instance and calling <strong>SetSwapChain(<see cref = "T:SharpDX.DXGI.SwapChain"/> *swapChain)</strong>. </p><p>This process works for references to in process swap chains. However, this doesn?t work for VoIP apps, which use a two-process model to enable continuing calls on a background process when a foreground process is suspended or shut down. This two-process implementation requires the ability to pass a shared handle to a swap chain, rather than a reference, created on the background process to the foreground process to be rendered in a XAML SwapChainPanel in the foreground app.</p><pre> &lt;!-- XAML markup --&gt;
&lt;Page&gt; &lt;SwapChainPanel x:Name=?captureStreamDisplayPanel? /&gt;
&lt;/Page&gt; // Definitions
ComPtr&lt;<see cref = "T:SharpDX.DXGI.SwapChain1"/>&gt; m_swapChain;
HANDLE m_swapChainHandle;
ComPtr&lt;<see cref = "!:SharpDX.Direct3D11.Device"/>&gt; m_d3dDevice;
ComPtr&lt;<see cref = "T:SharpDX.DXGI.Adapter"/>&gt; dxgiAdapter;
ComPtr&lt;<see cref = "T:SharpDX.DXGI.Factory2"/>&gt; dxgiFactory;
ComPtr&lt;<see cref = "T:SharpDX.DXGI.FactoryMedia"/>&gt; dxgiFactoryMedia;
ComPtr&lt;<see cref = "T:SharpDX.DXGI.Device"/>&gt; dxgiDevice;
<see cref = "T:SharpDX.DXGI.SwapChainDescription1"/> swapChainDesc = {0}; // Get DXGI factory (assume standard boilerplate has created D3D11Device)
m_d3dDevice.As(&amp;dxgiDevice);
dxgiDevice-&gt;GetAdapter(&amp;dxgiAdapter);
dxgiAdapter-&gt;GetParent(__uuidof(<see cref = "T:SharpDX.DXGI.Factory2"/>), &amp;dxgiFactory); // Create swap chain and get handle
DCompositionCreateSurfaceHandle(GENERIC_ALL, nullptr, &amp;m_swapChainHandle);
dxgiFactory.As(&amp;dxgiFactoryMedia);
dxgiFactoryMedia-&gt;CreateSwapChainForCompositionSurfaceHandle( m_d3dDevice.Get(), m_swapChainHandle, &amp;swapChainDesc, nullptr, &amp;m_swapChain
); // Set swap chain to display in a SwapChainPanel
ComPtr&lt;<see cref = "T:SharpDX.DXGI.ISwapChainPanelNative2"/>&gt; panelNative;
reinterpret_cast&lt;<see cref = "T:SharpDX.IUnknown"/>*&gt;(captureStreamDisplayPanel)-&gt;QueryInterface(IID_PPV_ARGS(&amp;panelNative)));
panelNative-&gt;SetSwapChainHandle(m_swapChainHandle); </pre>
</remarks>
<doc-id>dn858173</doc-id>
<unmanaged>SetSwapChainHandle</unmanaged>
<unmanaged-short>SetSwapChainHandle</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.ISwapChainPanelNative2.SetSwapChainHandle(System.IntPtr)">
<summary>
<p>Sets the DirectX swap chain for <strong>SwapChainPanel</strong> using a handle to the swap chain.</p>
</summary>
<param name = "swapChainHandle">No documentation.</param>
<returns><p>If this method succeeds, it returns <strong><see cref = "F:SharpDX.Result.Ok"/></strong>. Otherwise, it returns an <strong><see cref = "T:SharpDX.Result"/></strong> error code.</p></returns>
<remarks>
<p>SetSwapChain(HANDLE swapChainHandle) allows a swap chain to be rendered by referencing a shared handle to the swap chain. This enables scenarios where a swap chain is created in one process and needs to be passed to another process.</p><p>XAML supports setting a DXGI swap chain as the content of a SwapChainPanel element. Apps accomplish this by querying for the <strong><see cref = "T:SharpDX.DXGI.ISwapChainPanelNative"/></strong> interface from a SwapChainPanel instance and calling <strong>SetSwapChain(<see cref = "T:SharpDX.DXGI.SwapChain"/> *swapChain)</strong>. </p><p>This process works for references to in process swap chains. However, this doesn?t work for VoIP apps, which use a two-process model to enable continuing calls on a background process when a foreground process is suspended or shut down. This two-process implementation requires the ability to pass a shared handle to a swap chain, rather than a reference, created on the background process to the foreground process to be rendered in a XAML SwapChainPanel in the foreground app.</p><pre> &lt;!-- XAML markup --&gt;
&lt;Page&gt; &lt;SwapChainPanel x:Name=?captureStreamDisplayPanel? /&gt;
&lt;/Page&gt; // Definitions
ComPtr&lt;<see cref = "T:SharpDX.DXGI.SwapChain1"/>&gt; m_swapChain;
HANDLE m_swapChainHandle;
ComPtr&lt;<see cref = "!:SharpDX.Direct3D11.Device"/>&gt; m_d3dDevice;
ComPtr&lt;<see cref = "T:SharpDX.DXGI.Adapter"/>&gt; dxgiAdapter;
ComPtr&lt;<see cref = "T:SharpDX.DXGI.Factory2"/>&gt; dxgiFactory;
ComPtr&lt;<see cref = "T:SharpDX.DXGI.FactoryMedia"/>&gt; dxgiFactoryMedia;
ComPtr&lt;<see cref = "T:SharpDX.DXGI.Device"/>&gt; dxgiDevice;
<see cref = "T:SharpDX.DXGI.SwapChainDescription1"/> swapChainDesc = {0}; // Get DXGI factory (assume standard boilerplate has created D3D11Device)
m_d3dDevice.As(&amp;dxgiDevice);
dxgiDevice-&gt;GetAdapter(&amp;dxgiAdapter);
dxgiAdapter-&gt;GetParent(__uuidof(<see cref = "T:SharpDX.DXGI.Factory2"/>), &amp;dxgiFactory); // Create swap chain and get handle
DCompositionCreateSurfaceHandle(GENERIC_ALL, nullptr, &amp;m_swapChainHandle);
dxgiFactory.As(&amp;dxgiFactoryMedia);
dxgiFactoryMedia-&gt;CreateSwapChainForCompositionSurfaceHandle( m_d3dDevice.Get(), m_swapChainHandle, &amp;swapChainDesc, nullptr, &amp;m_swapChain
); // Set swap chain to display in a SwapChainPanel
ComPtr&lt;<see cref = "T:SharpDX.DXGI.ISwapChainPanelNative2"/>&gt; panelNative;
reinterpret_cast&lt;<see cref = "T:SharpDX.IUnknown"/>*&gt;(captureStreamDisplayPanel)-&gt;QueryInterface(IID_PPV_ARGS(&amp;panelNative)));
panelNative-&gt;SetSwapChainHandle(m_swapChainHandle); </pre>
</remarks>
<doc-id>dn858173</doc-id>
<unmanaged>HRESULT ISwapChainPanelNative2::SetSwapChainHandle([In] void* swapChainHandle)</unmanaged>
<unmanaged-short>ISwapChainPanelNative2::SetSwapChainHandle</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.KeyedMutex.Acquire(System.Int64,System.Int32)">
<summary>
<p>Using a key, acquires exclusive rendering access to a shared resource.</p>
</summary>
<param name = "key"><dd> <p>A value that indicates which device to give access to. This method will succeed when the device that currently owns the surface calls the <strong>IDXGIKeyedMutex::ReleaseSync</strong> method using the same value. This value can be any UINT64 value.</p> </dd></param>
<param name = "dwMilliseconds"><dd> <p>The time-out interval, in milliseconds. This method will return if the interval elapses, and the keyed mutex has not been released using the specified <em>Key</em>. If this value is set to zero, the <strong>AcquireSync</strong> method will test to see if the keyed mutex has been released and returns immediately. If this value is set to INFINITE, the time-out interval will never elapse.</p> </dd></param>
<returns><p>Return <see cref = "F:SharpDX.Result.Ok"/> if successful.</p><p>If the owning device attempted to create another keyed mutex on the same shared resource, <strong>AcquireSync</strong> returns E_FAIL.</p><p><strong>AcquireSync</strong> can also return the following <strong><see cref = "T:System.Int32"/></strong> constants. Therefore, you should explicitly check for these constants. If you only use the <strong>SUCCEEDED</strong> macro on the return value to determine if <strong>AcquireSync</strong> succeeded, you will not catch these constants.</p><ul> <li>WAIT_ABANDONED - The shared surface and keyed mutex are no longer in a consistent state. If <strong>AcquireSync</strong> returns this value, you should release and recreate both the keyed mutex and the shared surface.</li> <li>WAIT_TIMEOUT - The time-out interval elapsed before the specified key was released.</li> </ul></returns>
<remarks>
<p>The <strong>AcquireSync</strong> method creates a lock to a surface that is shared between multiple devices, allowing only one device to render to a surface at a time. This method uses a key to determine which device currently has exclusive access to the surface.</p><p>When a surface is created using the <strong>D3D10_RESOURCE_MISC_SHARED_KEYEDMUTEX</strong> value of the <strong>D3D10_RESOURCE_MISC_FLAG</strong> enumeration, you must call the <strong>AcquireSync</strong> method before rendering to the surface. You must call the <strong>ReleaseSync</strong> method when you are done rendering to a surface.</p><p>To acquire a reference to the keyed mutex object of a shared resource, call the <strong>QueryInterface</strong> method of the resource and pass in the <strong>UUID</strong> of the <strong><see cref = "T:SharpDX.DXGI.KeyedMutex"/></strong> interface. For more information about acquiring this reference, see the following code example.</p><p>The <strong>AcquireSync</strong> method uses the key as follows, depending on the state of the surface:</p><ul> <li>On initial creation, the surface is unowned and any device can call the <strong>AcquireSync</strong> method to gain access. For an unowned device, only a key of 0 will succeed. Calling the <strong>AcquireSync</strong> method for any other key will stall the calling CPU thread.</li> <li>If the surface is owned by a device when you call the <strong>AcquireSync</strong> method, the CPU thread that called the <strong>AcquireSync</strong> method will stall until the owning device calls the <strong>ReleaseSync</strong> method using the same Key.</li> <li>If the surface is unowned when you call the <strong>AcquireSync</strong> method (for example, the last owning device has already called the <strong>ReleaseSync</strong> method), the <strong>AcquireSync</strong> method will succeed if you specify the same key that was specified when the <strong>ReleaseSync</strong> method was last called. Calling the <strong>AcquireSync</strong> method using any other key will cause a stall.</li> <li>When the owning device calls the <strong>ReleaseSync</strong> method with a particular key, and more than one device is waiting after calling the <strong>AcquireSync</strong> method using the same key, any one of the waiting devices could be woken up first. The order in which devices are woken up is undefined.</li> <li>A keyed mutex does not support recursive calls to the <strong>AcquireSync</strong> method.</li> </ul>
</remarks>
<doc-id>ff471339</doc-id>
<unmanaged>HRESULT IDXGIKeyedMutex::AcquireSync([In] unsigned longlong Key,[In] DWORD dwMilliseconds)</unmanaged>
<unmanaged-short>IDXGIKeyedMutex::AcquireSync</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.KeyedMutex.Release(System.Int64)">
<summary>
<p>Using a key, releases exclusive rendering access to a shared resource.</p>
</summary>
<param name = "key"><dd> <p>A value that indicates which device to give access to. This method succeeds when the device that currently owns the surface calls the <strong>ReleaseSync</strong> method using the same value. This value can be any UINT64 value.</p> </dd></param>
<returns><p>Returns <see cref = "F:SharpDX.Result.Ok"/> if successful.</p><p>If the device attempted to release a keyed mutex that is not valid or owned by the device, <strong>ReleaseSync</strong> returns E_FAIL.</p></returns>
<remarks>
<p>The <strong>ReleaseSync</strong> method releases a lock to a surface that is shared between multiple devices. This method uses a key to determine which device currently has exclusive access to the surface.</p><p>When a surface is created using the <strong>D3D10_RESOURCE_MISC_SHARED_KEYEDMUTEX</strong> value of the <strong>D3D10_RESOURCE_MISC_FLAG</strong> enumeration, you must call the <strong>IDXGIKeyedMutex::AcquireSync</strong> method before rendering to the surface. You must call the <strong>ReleaseSync</strong> method when you are done rendering to a surface.</p><p>After you call the <strong>ReleaseSync</strong> method, the shared resource is unset from the rendering pipeline. </p><p>To acquire a reference to the keyed mutex object of a shared resource, call the <strong>QueryInterface</strong> method of the resource and pass in the <strong>UUID</strong> of the <strong><see cref = "T:SharpDX.DXGI.KeyedMutex"/></strong> interface. For more information about acquiring this reference, see the following code example.</p>
</remarks>
<doc-id>ff471340</doc-id>
<unmanaged>HRESULT IDXGIKeyedMutex::ReleaseSync([In] unsigned longlong Key)</unmanaged>
<unmanaged-short>IDXGIKeyedMutex::ReleaseSync</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.Output3.CheckOverlaySupport(SharpDX.DXGI.Format,SharpDX.IUnknown)">
<summary>
<p>Checks for overlay support.</p>
</summary>
<param name = "enumFormat"><dd> <p>A <strong><see cref = "T:SharpDX.DXGI.Format"/></strong>-typed value for the color format.</p> </dd></param>
<param name = "concernedDeviceRef"><dd> <p>A reference to the Direct3D device interface. <strong>CheckOverlaySupport</strong> returns only support info about this scan-out device. </p> </dd></param>
<returns><dd> <p>A reference to a variable that receives a combination of <strong><see cref = "T:SharpDX.DXGI.OverlaySupportFlags"/></strong>-typed values that are combined by using a bitwise OR operation. The resulting value specifies options for overlay support. </p> </dd></returns>
<doc-id>dn903670</doc-id>
<unmanaged>HRESULT IDXGIOutput3::CheckOverlaySupport([In] DXGI_FORMAT EnumFormat,[In] IUnknown* pConcernedDevice,[Out] unsigned int* pFlags)</unmanaged>
<unmanaged-short>IDXGIOutput3::CheckOverlaySupport</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.Output4.CheckOverlayColorSpaceSupport(SharpDX.DXGI.Format,SharpDX.DXGI.ColorSpaceType,SharpDX.IUnknown)">
<summary>
<p>Checks for overlay color space support.</p>
</summary>
<param name = "format"><dd> <p>A <strong><see cref = "T:SharpDX.DXGI.Format"/></strong>-typed value for the color format.</p> </dd></param>
<param name = "colorSpace"><dd> <p>A <strong><see cref = "T:SharpDX.DXGI.ColorSpaceType"/></strong>-typed value that specifies color space type to check overlay support for.</p> </dd></param>
<param name = "concernedDeviceRef"><dd> <p>A reference to the Direct3D device interface. <strong>CheckOverlayColorSpaceSupport</strong> returns only support info about this scan-out device. </p> </dd></param>
<returns><dd> <p>A reference to a variable that receives a combination of <strong><see cref = "T:SharpDX.DXGI.OverlayColorSpaceSupportFlags"/></strong>-typed values that are combined by using a bitwise OR operation. The resulting value specifies options for overlay color space support. </p> </dd></returns>
<doc-id>dn903672</doc-id>
<unmanaged>HRESULT IDXGIOutput4::CheckOverlayColorSpaceSupport([In] DXGI_FORMAT Format,[In] DXGI_COLOR_SPACE_TYPE ColorSpace,[In] IUnknown* pConcernedDevice,[Out] unsigned int* pFlags)</unmanaged>
<unmanaged-short>IDXGIOutput4::CheckOverlayColorSpaceSupport</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.Output5.DuplicateOutput1(SharpDX.IUnknown,System.Int32,System.Int32,SharpDX.DXGI.Format[])">
<summary>
<p>Allows specifying a list of supported formats for fullscreen surfaces that can be returned by the <strong><see cref = "T:SharpDX.DXGI.OutputDuplication"/></strong> object.</p>
</summary>
<param name = "deviceRef">No documentation.</param>
<param name = "flags">No documentation.</param>
<param name = "supportedFormatsCount">No documentation.</param>
<param name = "supportedFormatsRef">No documentation.</param>
<returns>No documentation.</returns>
<remarks>
<p>This method allows directly receiving the original back buffer format used by a running fullscreen application. For comparison, using the original <strong>DuplicateOutput</strong> function always converts the fullscreen surface to a 32-bit BGRA format. In cases where the current fullscreen application is using a different buffer format, a conversion to 32-bit BGRA incurs a performance penalty. Besides the performance benefit of being able to skip format conversion, using <strong>DuplicateOutput1</strong> also allows receiving the full gamut of colors in cases where a high-color format (such as R10G10B10A2) is being presented. </p><p>The <em>pSupportedFormats</em> array should only contain display scan-out formats. See Format Support for Direct3D Feature Level 11.0 Hardware for required scan-out formats at each feature level. If the current fullscreen buffer format is not contained in the <em>pSupportedFormats</em> array, DXGI will pick one of the supplied formats and convert the fullscreen buffer to that format before returning from <strong>IDXGIOutputDuplication::AcquireNextFrame</strong>. The list of supported formats should always contain DXGI_FORMAT_B8G8R8A8_UNORM, as this is the most common format for the desktop.
</p>
</remarks>
<doc-id>mt679496</doc-id>
<unmanaged>HRESULT IDXGIOutput5::DuplicateOutput1([In] IUnknown* pDevice,[In] unsigned int Flags,[In] unsigned int SupportedFormatsCount,[In, Buffer] const DXGI_FORMAT* pSupportedFormats,[Out] IDXGIOutputDuplication** ppOutputDuplication)</unmanaged>
<unmanaged-short>IDXGIOutput5::DuplicateOutput1</unmanaged-short>
</member>
<member name="P:SharpDX.DXGI.Output6.Description1">
<summary>
No documentation.
</summary>
<unmanaged>GetDesc1</unmanaged>
<unmanaged-short>GetDesc1</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.Output6.GetDescription1(SharpDX.DXGI.OutputDescription1@)">
<summary>
No documentation.
</summary>
<param name = "descRef">No documentation.</param>
<returns>No documentation.</returns>
<unmanaged>HRESULT IDXGIOutput6::GetDesc1([Out] DXGI_OUTPUT_DESC1* pDesc)</unmanaged>
<unmanaged-short>IDXGIOutput6::GetDesc1</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.Output6.CheckHardwareCompositionSupport(System.Int32@)">
<summary>
No documentation.
</summary>
<param name = "flagsRef">No documentation.</param>
<returns>No documentation.</returns>
<unmanaged>HRESULT IDXGIOutput6::CheckHardwareCompositionSupport([Out] unsigned int* pFlags)</unmanaged>
<unmanaged-short>IDXGIOutput6::CheckHardwareCompositionSupport</unmanaged-short>
</member>
<member name="P:SharpDX.DXGI.Resource.SharedHandle">
<summary>
<p>[Starting with Direct3D 11.1, we recommend not to use <strong>GetSharedHandle</strong> anymore to retrieve the handle to a shared resource. Instead, use <strong>IDXGIResource1::CreateSharedHandle</strong> to get a handle for sharing. To use <strong>IDXGIResource1::CreateSharedHandle</strong>, you must create the resource as shared and specify that it uses NT handles (that is, you set the <strong>D3D11_RESOURCE_MISC_SHARED_NTHANDLE</strong> flag). We also recommend that you create shared resources that use NT handles so you can use <strong>CloseHandle</strong>, <strong>DuplicateHandle</strong>, and so on on those shared resources.]</p><p>Gets the handle to a shared resource.</p>
</summary>
<remarks>
<p><strong>GetSharedHandle</strong> returns a handle for the resource that you created as shared (that is, you set the <strong>D3D11_RESOURCE_MISC_SHARED</strong> with or without the <strong>D3D11_RESOURCE_MISC_SHARED_KEYEDMUTEX</strong> flag). You can pass this handle to the <strong>ID3D11Device::OpenSharedResource</strong> method to give another device access to the shared resource. You can also marshal this handle to another process to share a resource with a device in another process. However, this handle is not an NT handle. Therefore, don't use the handle with <strong>CloseHandle</strong>, <strong>DuplicateHandle</strong>, and so on.</p><p>The creator of a shared resource must not destroy the resource until all intended entities have opened the resource. The validity of the handle is tied to the lifetime of the underlying video memory. If no resource objects exist on any devices that refer to this resource, the handle is no longer valid. To extend the lifetime of the handle and video memory, you must open the shared resource on a device.</p><p><strong>GetSharedHandle</strong> can also return handles for resources that were passed into <strong>ID3D11Device::OpenSharedResource</strong> to open those resources.</p><p><strong>GetSharedHandle</strong> fails if the resource to which it wants to get a handle is not shared.</p>
</remarks>
<doc-id>bb174562</doc-id>
<unmanaged>GetSharedHandle</unmanaged>
<unmanaged-short>GetSharedHandle</unmanaged-short>
</member>
<member name="P:SharpDX.DXGI.Resource.EvictionPriority">
<summary>
<p>Get or sets the eviction priority.</p>
</summary>
<remarks>
<p>The eviction priority is a memory-management variable that is used by DXGI to determine how to manage overcommitted memory.</p><p>Priority levels other than the defined values are used when appropriate. For example, a resource with a priority level of 0x78000001 indicates that the resource is slightly above normal.</p>
</remarks>
<doc-id>bb174561</doc-id>
<unmanaged>GetEvictionPriority / SetEvictionPriority</unmanaged>
<unmanaged-short>GetEvictionPriority</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.Resource.GetSharedHandle(System.IntPtr@)">
<summary>
<p>[Starting with Direct3D 11.1, we recommend not to use <strong>GetSharedHandle</strong> anymore to retrieve the handle to a shared resource. Instead, use <strong>IDXGIResource1::CreateSharedHandle</strong> to get a handle for sharing. To use <strong>IDXGIResource1::CreateSharedHandle</strong>, you must create the resource as shared and specify that it uses NT handles (that is, you set the <strong>D3D11_RESOURCE_MISC_SHARED_NTHANDLE</strong> flag). We also recommend that you create shared resources that use NT handles so you can use <strong>CloseHandle</strong>, <strong>DuplicateHandle</strong>, and so on on those shared resources.]</p><p>Gets the handle to a shared resource.</p>
</summary>
<param name = "sharedHandleRef">No documentation.</param>
<returns><p>Returns one of the DXGI_ERROR values.</p></returns>
<remarks>
<p><strong>GetSharedHandle</strong> returns a handle for the resource that you created as shared (that is, you set the <strong>D3D11_RESOURCE_MISC_SHARED</strong> with or without the <strong>D3D11_RESOURCE_MISC_SHARED_KEYEDMUTEX</strong> flag). You can pass this handle to the <strong>ID3D11Device::OpenSharedResource</strong> method to give another device access to the shared resource. You can also marshal this handle to another process to share a resource with a device in another process. However, this handle is not an NT handle. Therefore, don't use the handle with <strong>CloseHandle</strong>, <strong>DuplicateHandle</strong>, and so on.</p><p>The creator of a shared resource must not destroy the resource until all intended entities have opened the resource. The validity of the handle is tied to the lifetime of the underlying video memory. If no resource objects exist on any devices that refer to this resource, the handle is no longer valid. To extend the lifetime of the handle and video memory, you must open the shared resource on a device.</p><p><strong>GetSharedHandle</strong> can also return handles for resources that were passed into <strong>ID3D11Device::OpenSharedResource</strong> to open those resources.</p><p><strong>GetSharedHandle</strong> fails if the resource to which it wants to get a handle is not shared.</p>
</remarks>
<doc-id>bb174562</doc-id>
<unmanaged>HRESULT IDXGIResource::GetSharedHandle([Out] void** pSharedHandle)</unmanaged>
<unmanaged-short>IDXGIResource::GetSharedHandle</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.Resource.GetUsage(System.Int32)">
<summary>
<p>Get the expected resource usage.</p>
</summary>
<param name = "usageRef"><dd> <p>A reference to a usage flag (see DXGI_USAGE). For Direct3D 10, a surface can be used as a shader input or a render-target output.</p> </dd></param>
<returns><p>Returns one of the following DXGI_ERROR.</p></returns>
<doc-id>bb174563</doc-id>
<unmanaged>HRESULT IDXGIResource::GetUsage([In] unsigned int* pUsage)</unmanaged>
<unmanaged-short>IDXGIResource::GetUsage</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.Resource.SetEvictionPriority(System.Int32)">
<summary>
<p>Set the priority for evicting the resource from memory.</p>
</summary>
<param name = "evictionPriority"><dd> <p>The priority is one of the following values: </p> <table> <tr><th>Value</th><th>Meaning</th></tr> <tr><td><dl> <dt><strong>DXGI_RESOURCE_PRIORITY_MINIMUM (0x28000000)</strong></dt> </dl> </td><td> <p>The resource is unused and can be evicted as soon as another resource requires the memory that the resource occupies.</p> </td></tr> <tr><td><dl> <dt><strong>DXGI_RESOURCE_PRIORITY_LOW (0x50000000)</strong></dt> </dl> </td><td> <p>The eviction priority of the resource is low. The placement of the resource is not critical, and minimal work is performed to find a location for the resource. For example, if a GPU can render with a vertex buffer from either local or non-local memory with little difference in performance, that vertex buffer is low priority. Other more critical resources (for example, a render target or texture) can then occupy the faster memory.</p> </td></tr> <tr><td><dl> <dt><strong>DXGI_RESOURCE_PRIORITY_NORMAL (0x78000000)</strong></dt> </dl> </td><td> <p>The eviction priority of the resource is normal. The placement of the resource is important, but not critical, for performance. The resource is placed in its preferred location instead of a low-priority resource. </p> </td></tr> <tr><td><dl> <dt><strong>DXGI_RESOURCE_PRIORITY_HIGH (0xa0000000)</strong></dt> </dl> </td><td> <p>The eviction priority of the resource is high. The resource is placed in its preferred location instead of a low-priority or normal-priority resource.</p> </td></tr> <tr><td><dl> <dt><strong>DXGI_RESOURCE_PRIORITY_MAXIMUM (0xc8000000)</strong></dt> </dl> </td><td> <p>The resource is evicted from memory only if there is no other way of resolving the memory requirement.</p> </td></tr> </table> <p>?</p> </dd></param>
<returns><p>Returns one of the following DXGI_ERROR.</p></returns>
<remarks>
<p>The eviction priority is a memory-management variable that is used by DXGI for determining how to populate overcommitted memory.</p><p>You can set priority levels other than the defined values when appropriate. For example, you can set a resource with a priority level of 0x78000001 to indicate that the resource is slightly above normal.</p>
</remarks>
<doc-id>bb174564</doc-id>
<unmanaged>HRESULT IDXGIResource::SetEvictionPriority([In] unsigned int EvictionPriority)</unmanaged>
<unmanaged-short>IDXGIResource::SetEvictionPriority</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.Resource.GetEvictionPriority(System.Int32@)">
<summary>
<p>Get the eviction priority.</p>
</summary>
<param name = "evictionPriorityRef"><dd> <p>A reference to the eviction priority, which determines when a resource can be evicted from memory. </p> <p>The following defined values are possible.</p> <table> <tr><th>Value</th><th>Meaning</th></tr> <tr><td><dl> <dt><strong>DXGI_RESOURCE_PRIORITY_MINIMUM (0x28000000)</strong></dt> </dl> </td><td> <p>The resource is unused and can be evicted as soon as another resource requires the memory that the resource occupies.</p> </td></tr> <tr><td><dl> <dt><strong>DXGI_RESOURCE_PRIORITY_LOW (0x50000000)</strong></dt> </dl> </td><td> <p>The eviction priority of the resource is low. The placement of the resource is not critical, and minimal work is performed to find a location for the resource. For example, if a GPU can render with a vertex buffer from either local or non-local memory with little difference in performance, that vertex buffer is low priority. Other more critical resources (for example, a render target or texture) can then occupy the faster memory.</p> </td></tr> <tr><td><dl> <dt><strong>DXGI_RESOURCE_PRIORITY_NORMAL (0x78000000)</strong></dt> </dl> </td><td> <p>The eviction priority of the resource is normal. The placement of the resource is important, but not critical, for performance. The resource is placed in its preferred location instead of a low-priority resource. </p> </td></tr> <tr><td><dl> <dt><strong>DXGI_RESOURCE_PRIORITY_HIGH (0xa0000000)</strong></dt> </dl> </td><td> <p>The eviction priority of the resource is high. The resource is placed in its preferred location instead of a low-priority or normal-priority resource.</p> </td></tr> <tr><td><dl> <dt><strong>DXGI_RESOURCE_PRIORITY_MAXIMUM (0xc8000000)</strong></dt> </dl> </td><td> <p>The resource is evicted from memory only if there is no other way of resolving the memory requirement.</p> </td></tr> </table> <p>?</p> </dd></param>
<returns><p>Returns one of the following DXGI_ERROR.</p></returns>
<remarks>
<p>The eviction priority is a memory-management variable that is used by DXGI to determine how to manage overcommitted memory.</p><p>Priority levels other than the defined values are used when appropriate. For example, a resource with a priority level of 0x78000001 indicates that the resource is slightly above normal.</p>
</remarks>
<doc-id>bb174561</doc-id>
<unmanaged>HRESULT IDXGIResource::GetEvictionPriority([Out] unsigned int* pEvictionPriority)</unmanaged>
<unmanaged-short>IDXGIResource::GetEvictionPriority</unmanaged-short>
</member>
<member name="P:SharpDX.DXGI.SwapChain3.CurrentBackBufferIndex">
<summary>
<p>Gets the index of the swap chain's current back buffer.</p>
</summary>
<doc-id>dn903675</doc-id>
<unmanaged>GetCurrentBackBufferIndex</unmanaged>
<unmanaged-short>GetCurrentBackBufferIndex</unmanaged-short>
</member>
<member name="P:SharpDX.DXGI.SwapChain3.ColorSpace1">
<summary>
<p>Sets the color space used by the swap chain.</p>
</summary>
<doc-id>dn903676</doc-id>
<unmanaged>SetColorSpace1</unmanaged>
<unmanaged-short>SetColorSpace1</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.SwapChain3.GetCurrentBackBufferIndex">
<summary>
<p>Gets the index of the swap chain's current back buffer.</p>
</summary>
<returns><p>Returns the index of the current back buffer.</p></returns>
<doc-id>dn903675</doc-id>
<unmanaged>unsigned int IDXGISwapChain3::GetCurrentBackBufferIndex()</unmanaged>
<unmanaged-short>IDXGISwapChain3::GetCurrentBackBufferIndex</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.SwapChain3.CheckColorSpaceSupport(SharpDX.DXGI.ColorSpaceType)">
<summary>
<p>Checks the swap chain's support for color space.</p>
</summary>
<param name = "colorSpace"><dd> <p>A <strong><see cref = "T:SharpDX.DXGI.ColorSpaceType"/></strong>-typed value that specifies color space type to check support for.</p> </dd></param>
<returns><dd> <p>A reference to a variable that receives a combination of <strong><see cref = "T:SharpDX.DXGI.SwapChainColorSpaceSupportFlags"/></strong>-typed values that are combined by using a bitwise OR operation. The resulting value specifies options for color space support. </p> </dd></returns>
<doc-id>dn903674</doc-id>
<unmanaged>HRESULT IDXGISwapChain3::CheckColorSpaceSupport([In] DXGI_COLOR_SPACE_TYPE ColorSpace,[Out] unsigned int* pColorSpaceSupport)</unmanaged>
<unmanaged-short>IDXGISwapChain3::CheckColorSpaceSupport</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.SwapChain3.SetColorSpace1(SharpDX.DXGI.ColorSpaceType)">
<summary>
<p>Sets the color space used by the swap chain.</p>
</summary>
<param name = "colorSpace"><dd> <p>A <strong><see cref = "T:SharpDX.DXGI.ColorSpaceType"/></strong>-typed value that specifies the color space to set.</p> </dd></param>
<returns><p>This method returns <strong><see cref = "F:SharpDX.Result.Ok"/></strong> on success, or it returns one of the error codes that are described in the DXGI_ERROR topic.</p></returns>
<doc-id>dn903676</doc-id>
<unmanaged>HRESULT IDXGISwapChain3::SetColorSpace1([In] DXGI_COLOR_SPACE_TYPE ColorSpace)</unmanaged>
<unmanaged-short>IDXGISwapChain3::SetColorSpace1</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.SwapChain3.ResizeBuffers1(System.Int32,System.Int32,System.Int32,SharpDX.DXGI.Format,SharpDX.DXGI.SwapChainFlags,System.Int32[],SharpDX.IUnknown[])">
<summary>
<p> Changes the swap chain's back buffer size, format, and number of buffers, where the swap chain was created using a D3D12 command queue as an input device. This should be called when the application window is resized. </p>
</summary>
<param name = "bufferCount"><dd> <p> The number of buffers in the swap chain (including all back and front buffers). This number can be different from the number of buffers with which you created the swap chain. This number can't be greater than <strong>DXGI_MAX_SWAP_CHAIN_BUFFERS</strong>. Set this number to zero to preserve the existing number of buffers in the swap chain. You can't specify less than two buffers for the flip presentation model. </p> </dd></param>
<param name = "width"><dd> <p> The new width of the back buffer. If you specify zero, DXGI will use the width of the client area of the target window. You can't specify the width as zero if you called the <strong>IDXGIFactory2::CreateSwapChainForComposition</strong> method to create the swap chain for a composition surface. </p> </dd></param>
<param name = "height"><dd> <p> The new height of the back buffer. If you specify zero, DXGI will use the height of the client area of the target window. You can't specify the height as zero if you called the <strong>IDXGIFactory2::CreateSwapChainForComposition</strong> method to create the swap chain for a composition surface. </p> </dd></param>
<param name = "format"><dd> <p> A <strong><see cref = "T:SharpDX.DXGI.Format"/></strong>-typed value for the new format of the back buffer. Set this value to <strong>DXGI_FORMAT_UNKNOWN</strong> to preserve the existing format of the back buffer. The flip presentation model supports a more restricted set of formats than the bit-block transfer (bitblt) model. </p> </dd></param>
<param name = "swapChainFlags"><dd> <p> A combination of <strong><see cref = "T:SharpDX.DXGI.SwapChainFlags"/></strong>-typed values that are combined by using a bitwise OR operation. The resulting value specifies options for swap-chain behavior. </p> </dd></param>
<param name = "creationNodeMaskRef"><dd> <p> An array of UINTs, of total size <em>BufferCount</em>, where the value indicates which node the back buffer should be created on. Buffers created using <strong>ResizeBuffers1</strong> with a non-null <em>pCreationNodeMask</em> array are visible to all nodes. </p> </dd></param>
<param name = "presentQueueOut"><dd> <p> An array of command queues (<strong><see cref = "!:SharpDX.Direct3D12.CommandQueue"/></strong> instances), of total size <em>BufferCount</em>. Each queue provided must match the corresponding creation node mask specified in the <em>pCreationNodeMask</em> array. When <strong>Present()</strong> is called, in addition to rotating to the next buffer for the next frame, the swapchain will also rotate through these command queues. This allows the app to control which queue requires synchronization for a given present operation. </p> </dd></param>
<returns><p> Returns <see cref = "F:SharpDX.Result.Ok"/> if successful; an error code otherwise. For a list of error codes, see DXGI_ERROR. </p></returns>
<remarks>
<p> This method is only valid to call when the swapchain was created using a D3D12 command queue (<strong><see cref = "!:SharpDX.Direct3D12.CommandQueue"/></strong>) as an input device. </p><p> When a swapchain is created on a multi-GPU adapter, the backbuffers are all created on node 1 and only a single command queue is supported. <strong>ResizeBuffers1</strong> enables applications to create backbuffers on different nodes, allowing a different command queue to be used with each node. These capabilities enable Alternate Frame Rendering (AFR) techniques to be used with the swapchain. See Direct3D 12 Multi-Adapters. </p><p> The only difference between <strong>IDXGISwapChain::ResizeBuffers</strong> in Windows?8 versus Windows?7 is with flip presentation model swap chains that you create with the <strong>DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL</strong> or DXGI_SWAP_EFFECT_FLIP_DISCARD value set. In Windows?8, you must call <strong>ResizeBuffers</strong> to realize a transition between full-screen mode and windowed mode; otherwise, your next call to the <strong>IDXGISwapChain::Present</strong> method fails. </p><p> Also see the Remarks section in <strong>IDXGISwapChain::ResizeBuffers</strong>, all of which is relevant to <strong>ResizeBuffers1</strong>. </p>
</remarks>
<doc-id>mt403341</doc-id>
<unmanaged>HRESULT IDXGISwapChain3::ResizeBuffers1([In] unsigned int BufferCount,[In] unsigned int Width,[In] unsigned int Height,[In] DXGI_FORMAT Format,[In] unsigned int SwapChainFlags,[In, Buffer] const unsigned int* pCreationNodeMask,[In, Buffer] const IUnknown** ppPresentQueue)</unmanaged>
<unmanaged-short>IDXGISwapChain3::ResizeBuffers1</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.SwapChain4.SetHDRMetaData(SharpDX.DXGI.HdrMetadataType,System.Int32,System.IntPtr)">
<summary>
<p>This method sets High Dynamic Range (HDR) and Wide Color Gamut (WCG) header metadata.</p>
</summary>
<param name = "type"><dd> <p>Specifies one member of the <strong><see cref = "T:SharpDX.DXGI.HdrMetadataType"/></strong> enum.</p> </dd></param>
<param name = "size"><dd> <p>Specifies the size of <em>pMetaData</em>, in bytes.</p> </dd></param>
<param name = "metaDataRef"><dd> <p>Specifies a void reference that references the metadata, if it exists. Refer to the <strong><see cref = "T:SharpDX.DXGI.HdrMetadataHdr10"/></strong> structure.</p> </dd></param>
<returns><p>This method returns an <see cref = "T:SharpDX.Result"/> success or error code.</p></returns>
<remarks>
<p>This method sets metadata to enable a monitor's output to be adjusted depending on its capabilities.</p>
</remarks>
<doc-id>mt732708</doc-id>
<unmanaged>HRESULT IDXGISwapChain4::SetHDRMetaData([In] DXGI_HDR_METADATA_TYPE Type,[In] unsigned int Size,[In, Buffer, Optional] void* pMetaData)</unmanaged>
<unmanaged-short>IDXGISwapChain4::SetHDRMetaData</unmanaged-short>
</member>
<member name="P:SharpDX.DXGI.SwapChainMedia.FrameStatisticsMedia">
<summary>
<p>Queries the system for a <strong><see cref = "T:SharpDX.DXGI.FrameStatisticsMedia"/></strong> structure that indicates whether a custom refresh rate is currently approved by the system.</p>
</summary>
<doc-id>dn384133</doc-id>
<unmanaged>GetFrameStatisticsMedia</unmanaged>
<unmanaged-short>GetFrameStatisticsMedia</unmanaged-short>
</member>
<member name="P:SharpDX.DXGI.SwapChainMedia.PresentDuration">
<summary>
<p>Requests a custom presentation duration (custom refresh rate).</p>
</summary>
<doc-id>dn384134</doc-id>
<unmanaged>SetPresentDuration</unmanaged>
<unmanaged-short>SetPresentDuration</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.SwapChainMedia.GetFrameStatisticsMedia(SharpDX.DXGI.FrameStatisticsMedia@)">
<summary>
<p>Queries the system for a <strong><see cref = "T:SharpDX.DXGI.FrameStatisticsMedia"/></strong> structure that indicates whether a custom refresh rate is currently approved by the system.</p>
</summary>
<param name = "statsRef">No documentation.</param>
<returns><p>This method returns <see cref = "F:SharpDX.Result.Ok"/> on success, or a DXGI error code on failure.</p></returns>
<doc-id>dn384133</doc-id>
<unmanaged>HRESULT IDXGISwapChainMedia::GetFrameStatisticsMedia([Out] DXGI_FRAME_STATISTICS_MEDIA* pStats)</unmanaged>
<unmanaged-short>IDXGISwapChainMedia::GetFrameStatisticsMedia</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.SwapChainMedia.SetPresentDuration(System.Int32)">
<summary>
<p>Requests a custom presentation duration (custom refresh rate).</p>
</summary>
<param name = "duration"><dd> <p>The custom presentation duration, specified in hundreds of nanoseconds.</p> </dd></param>
<returns><p>This method returns <see cref = "F:SharpDX.Result.Ok"/> on success, or a DXGI error code on failure.</p></returns>
<doc-id>dn384134</doc-id>
<unmanaged>HRESULT IDXGISwapChainMedia::SetPresentDuration([In] unsigned int Duration)</unmanaged>
<unmanaged-short>IDXGISwapChainMedia::SetPresentDuration</unmanaged-short>
</member>
<member name="M:SharpDX.DXGI.SwapChainMedia.CheckPresentDurationSupport(System.Int32,System.Int32@,System.Int32@)">
<summary>
<p>Queries the graphics driver for a supported frame present duration corresponding to a custom refresh rate.</p>
</summary>
<param name = "desiredPresentDuration"><dd> <p>Indicates the frame duration to check. This value is the duration of one frame at the desired refresh rate, specified in hundreds of nanoseconds. For example, set this field to 167777 to check for 60 Hz refresh rate support.</p> </dd></param>
<param name = "closestSmallerPresentDurationRef"><dd> <p>A variable that will be set to the closest supported frame present duration that's smaller than the requested value, or zero if the device does not support any lower duration.</p> </dd></param>
<param name = "closestLargerPresentDurationRef"><dd> <p>A variable that will be set to the closest supported frame present duration that's larger than the requested value, or zero if the device does not support any higher duration.</p> </dd></param>
<returns><p>This method returns <see cref = "F:SharpDX.Result.Ok"/> on success, or a DXGI error code on failure.</p></returns>
<remarks>
<p>If the DXGI output adapter does not support custom refresh rates (for example, an external display) then the display driver will set upper and lower bounds to (0, 0).</p>
</remarks>
<doc-id>dn384132</doc-id>
<unmanaged>HRESULT IDXGISwapChainMedia::CheckPresentDurationSupport([In] unsigned int DesiredPresentDuration,[Out] unsigned int* pClosestSmallerPresentDuration,[Out] unsigned int* pClosestLargerPresentDuration)</unmanaged>
<unmanaged-short>IDXGISwapChainMedia::CheckPresentDurationSupport</unmanaged-short>
</member>
<member name="T:SharpDX.DXGI.AdapterDescription">
<summary>
<p>Describes an adapter (or video card) by using DXGI 1.0.</p>
</summary>
<remarks>
<p>The <strong><see cref = "T:SharpDX.DXGI.AdapterDescription"/></strong> structure provides a description of an adapter. This structure is initialized by using the <strong>IDXGIAdapter::GetDesc</strong> method.</p>
</remarks>
<doc-id>bb173058</doc-id>
<unmanaged>DXGI_ADAPTER_DESC</unmanaged>
<unmanaged-short>DXGI_ADAPTER_DESC</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.AdapterDescription.Description">
<summary>
<dd> <p>A string that contains the adapter description. On feature level 9 graphics hardware, <strong>GetDesc</strong> returns ?Software Adapter? for the description string.</p> </dd>
</summary>
<doc-id>bb173058</doc-id>
<unmanaged>Description</unmanaged>
<unmanaged-short>Description</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.AdapterDescription.VendorId">
<summary>
<dd> <p>The PCI ID of the hardware vendor. On feature level 9 graphics hardware, <strong>GetDesc</strong> returns zeros for the PCI ID of the hardware vendor.</p> </dd>
</summary>
<doc-id>bb173058</doc-id>
<unmanaged>VendorId</unmanaged>
<unmanaged-short>VendorId</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.AdapterDescription.DeviceId">
<summary>
<dd> <p>The PCI ID of the hardware device. On feature level 9 graphics hardware, <strong>GetDesc</strong> returns zeros for the PCI ID of the hardware device.</p> </dd>
</summary>
<doc-id>bb173058</doc-id>
<unmanaged>DeviceId</unmanaged>
<unmanaged-short>DeviceId</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.AdapterDescription.SubsystemId">
<summary>
<dd> <p>The PCI ID of the sub system. On feature level 9 graphics hardware, <strong>GetDesc</strong> returns zeros for the PCI ID of the sub system.</p> </dd>
</summary>
<doc-id>bb173058</doc-id>
<unmanaged>SubSysId</unmanaged>
<unmanaged-short>SubSysId</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.AdapterDescription.Revision">
<summary>
<dd> <p>The PCI ID of the revision number of the adapter. On feature level 9 graphics hardware, <strong>GetDesc</strong> returns zeros for the PCI ID of the revision number of the adapter.</p> </dd>
</summary>
<doc-id>bb173058</doc-id>
<unmanaged>Revision</unmanaged>
<unmanaged-short>Revision</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.AdapterDescription.DedicatedVideoMemory">
<summary>
<dd> <p>The number of bytes of dedicated video memory that are not shared with the CPU.</p> </dd>
</summary>
<doc-id>bb173058</doc-id>
<unmanaged>DedicatedVideoMemory</unmanaged>
<unmanaged-short>DedicatedVideoMemory</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.AdapterDescription.DedicatedSystemMemory">
<summary>
<dd> <p>The number of bytes of dedicated system memory that are not shared with the CPU. This memory is allocated from available system memory at boot time.</p> </dd>
</summary>
<doc-id>bb173058</doc-id>
<unmanaged>DedicatedSystemMemory</unmanaged>
<unmanaged-short>DedicatedSystemMemory</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.AdapterDescription.SharedSystemMemory">
<summary>
<dd> <p>The number of bytes of shared system memory. This is the maximum value of system memory that may be consumed by the adapter during operation. Any incidental memory consumed by the driver as it manages and uses video memory is additional.</p> </dd>
</summary>
<doc-id>bb173058</doc-id>
<unmanaged>SharedSystemMemory</unmanaged>
<unmanaged-short>SharedSystemMemory</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.AdapterDescription.Luid">
<summary>
<dd> <p>A unique value that identifies the adapter. See <strong><see cref = "T:System.Int64"/></strong> for a definition of the structure. <strong><see cref = "T:System.Int64"/></strong> is defined in dxgi.h.</p> </dd>
</summary>
<doc-id>bb173058</doc-id>
<unmanaged>AdapterLuid</unmanaged>
<unmanaged-short>AdapterLuid</unmanaged-short>
</member>
<member name="T:SharpDX.DXGI.AdapterDescription1">
<summary>
<p>Describes an adapter (or video card) using DXGI 1.1.</p>
</summary>
<remarks>
<p>The <strong><see cref = "T:SharpDX.DXGI.AdapterDescription1"/></strong> structure provides a DXGI 1.1 description of an adapter. This structure is initialized by using the <strong>IDXGIAdapter1::GetDesc1</strong> method.</p>
</remarks>
<doc-id>ff471326</doc-id>
<unmanaged>DXGI_ADAPTER_DESC1</unmanaged>
<unmanaged-short>DXGI_ADAPTER_DESC1</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.AdapterDescription1.Description">
<summary>
<dd> <p>A string that contains the adapter description. On feature level 9 graphics hardware, <strong>GetDesc1</strong> returns ?Software Adapter? for the description string.</p> </dd>
</summary>
<doc-id>ff471326</doc-id>
<unmanaged>Description</unmanaged>
<unmanaged-short>Description</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.AdapterDescription1.VendorId">
<summary>
<dd> <p>The PCI ID of the hardware vendor. On feature level 9 graphics hardware, <strong>GetDesc1</strong> returns zeros for the PCI ID of the hardware vendor.</p> </dd>
</summary>
<doc-id>ff471326</doc-id>
<unmanaged>VendorId</unmanaged>
<unmanaged-short>VendorId</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.AdapterDescription1.DeviceId">
<summary>
<dd> <p>The PCI ID of the hardware device. On feature level 9 graphics hardware, <strong>GetDesc1</strong> returns zeros for the PCI ID of the hardware device.</p> </dd>
</summary>
<doc-id>ff471326</doc-id>
<unmanaged>DeviceId</unmanaged>
<unmanaged-short>DeviceId</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.AdapterDescription1.SubsystemId">
<summary>
<dd> <p>The PCI ID of the sub system. On feature level 9 graphics hardware, <strong>GetDesc1</strong> returns zeros for the PCI ID of the sub system.</p> </dd>
</summary>
<doc-id>ff471326</doc-id>
<unmanaged>SubSysId</unmanaged>
<unmanaged-short>SubSysId</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.AdapterDescription1.Revision">
<summary>
<dd> <p>The PCI ID of the revision number of the adapter. On feature level 9 graphics hardware, <strong>GetDesc1</strong> returns zeros for the PCI ID of the revision number of the adapter.</p> </dd>
</summary>
<doc-id>ff471326</doc-id>
<unmanaged>Revision</unmanaged>
<unmanaged-short>Revision</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.AdapterDescription1.DedicatedVideoMemory">
<summary>
<dd> <p>The number of bytes of dedicated video memory that are not shared with the CPU.</p> </dd>
</summary>
<doc-id>ff471326</doc-id>
<unmanaged>DedicatedVideoMemory</unmanaged>
<unmanaged-short>DedicatedVideoMemory</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.AdapterDescription1.DedicatedSystemMemory">
<summary>
<dd> <p>The number of bytes of dedicated system memory that are not shared with the CPU. This memory is allocated from available system memory at boot time.</p> </dd>
</summary>
<doc-id>ff471326</doc-id>
<unmanaged>DedicatedSystemMemory</unmanaged>
<unmanaged-short>DedicatedSystemMemory</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.AdapterDescription1.SharedSystemMemory">
<summary>
<dd> <p>The number of bytes of shared system memory. This is the maximum value of system memory that may be consumed by the adapter during operation. Any incidental memory consumed by the driver as it manages and uses video memory is additional.</p> </dd>
</summary>
<doc-id>ff471326</doc-id>
<unmanaged>SharedSystemMemory</unmanaged>
<unmanaged-short>SharedSystemMemory</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.AdapterDescription1.Luid">
<summary>
<dd> <p>A unique value that identifies the adapter. See <strong><see cref = "T:System.Int64"/></strong> for a definition of the structure. <strong><see cref = "T:System.Int64"/></strong> is defined in dxgi.h.</p> </dd>
</summary>
<doc-id>ff471326</doc-id>
<unmanaged>AdapterLuid</unmanaged>
<unmanaged-short>AdapterLuid</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.AdapterDescription1.Flags">
<summary>
<dd> <p>A value of the <strong><see cref = "T:SharpDX.DXGI.AdapterFlags"/></strong> enumerated type that describes the adapter type. The <strong>DXGI_ADAPTER_FLAG_REMOTE</strong> flag is reserved.</p> </dd>
</summary>
<doc-id>ff471326</doc-id>
<unmanaged>Flags</unmanaged>
<unmanaged-short>Flags</unmanaged-short>
</member>
<member name="T:SharpDX.DXGI.AdapterDescription2">
<summary>
<p>Describes an adapter (or video card) that uses Microsoft DirectX Graphics Infrastructure (DXGI) 1.2.</p>
</summary>
<remarks>
<p>The <strong><see cref = "T:SharpDX.DXGI.AdapterDescription2"/></strong> structure provides a DXGI 1.2 description of an adapter. This structure is initialized by using the <strong>IDXGIAdapter2::GetDesc2</strong> method.</p>
</remarks>
<doc-id>hh404493</doc-id>
<unmanaged>DXGI_ADAPTER_DESC2</unmanaged>
<unmanaged-short>DXGI_ADAPTER_DESC2</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.AdapterDescription2.Description">
<summary>
<dd> <p>A string that contains the adapter description.</p> </dd>
</summary>
<doc-id>hh404493</doc-id>
<unmanaged>Description</unmanaged>
<unmanaged-short>Description</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.AdapterDescription2.VendorId">
<summary>
<dd> <p>The PCI ID of the hardware vendor.</p> </dd>
</summary>
<doc-id>hh404493</doc-id>
<unmanaged>VendorId</unmanaged>
<unmanaged-short>VendorId</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.AdapterDescription2.DeviceId">
<summary>
<dd> <p>The PCI ID of the hardware device.</p> </dd>
</summary>
<doc-id>hh404493</doc-id>
<unmanaged>DeviceId</unmanaged>
<unmanaged-short>DeviceId</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.AdapterDescription2.SubsystemId">
<summary>
<dd> <p>The PCI ID of the sub system.</p> </dd>
</summary>
<doc-id>hh404493</doc-id>
<unmanaged>SubSysId</unmanaged>
<unmanaged-short>SubSysId</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.AdapterDescription2.Revision">
<summary>
<dd> <p>The PCI ID of the revision number of the adapter.</p> </dd>
</summary>
<doc-id>hh404493</doc-id>
<unmanaged>Revision</unmanaged>
<unmanaged-short>Revision</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.AdapterDescription2.DedicatedVideoMemory">
<summary>
<dd> <p>The number of bytes of dedicated video memory that are not shared with the CPU.</p> </dd>
</summary>
<doc-id>hh404493</doc-id>
<unmanaged>DedicatedVideoMemory</unmanaged>
<unmanaged-short>DedicatedVideoMemory</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.AdapterDescription2.DedicatedSystemMemory">
<summary>
<dd> <p>The number of bytes of dedicated system memory that are not shared with the CPU. This memory is allocated from available system memory at boot time.</p> </dd>
</summary>
<doc-id>hh404493</doc-id>
<unmanaged>DedicatedSystemMemory</unmanaged>
<unmanaged-short>DedicatedSystemMemory</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.AdapterDescription2.SharedSystemMemory">
<summary>
<dd> <p>The number of bytes of shared system memory. This is the maximum value of system memory that may be consumed by the adapter during operation. Any incidental memory consumed by the driver as it manages and uses video memory is additional.</p> </dd>
</summary>
<doc-id>hh404493</doc-id>
<unmanaged>SharedSystemMemory</unmanaged>
<unmanaged-short>SharedSystemMemory</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.AdapterDescription2.Luid">
<summary>
<dd> <p>A unique value that identifies the adapter. See <strong><see cref = "T:System.Int64"/></strong> for a definition of the structure. <strong><see cref = "T:System.Int64"/></strong> is defined in dxgi.h.</p> </dd>
</summary>
<doc-id>hh404493</doc-id>
<unmanaged>AdapterLuid</unmanaged>
<unmanaged-short>AdapterLuid</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.AdapterDescription2.Flags">
<summary>
<dd> <p>A value of the <strong><see cref = "T:SharpDX.DXGI.AdapterFlags"/></strong> enumerated type that describes the adapter type. The <strong>DXGI_ADAPTER_FLAG_REMOTE</strong> flag is reserved.</p> </dd>
</summary>
<doc-id>hh404493</doc-id>
<unmanaged>Flags</unmanaged>
<unmanaged-short>Flags</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.AdapterDescription2.GraphicsPreemptionGranularity">
<summary>
<dd> <p>A value of the <strong><see cref = "T:SharpDX.DXGI.GraphicsPreemptionGranularity"/></strong> enumerated type that describes the granularity level at which the GPU can be preempted from performing its current graphics rendering task.</p> </dd>
</summary>
<doc-id>hh404493</doc-id>
<unmanaged>GraphicsPreemptionGranularity</unmanaged>
<unmanaged-short>GraphicsPreemptionGranularity</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.AdapterDescription2.ComputePreemptionGranularity">
<summary>
<dd> <p>A value of the <strong><see cref = "T:SharpDX.DXGI.ComputePreemptionGranularity"/></strong> enumerated type that describes the granularity level at which the GPU can be preempted from performing its current compute task.</p> </dd>
</summary>
<doc-id>hh404493</doc-id>
<unmanaged>ComputePreemptionGranularity</unmanaged>
<unmanaged-short>ComputePreemptionGranularity</unmanaged-short>
</member>
<member name="T:SharpDX.DXGI.AdapterDescription3">
<summary>
<p>Describes an adapter (or video card) by using DXGI 1.0.</p>
</summary>
<remarks>
<p>The <strong><see cref = "T:SharpDX.DXGI.AdapterDescription"/></strong> structure provides a description of an adapter. This structure is initialized by using the <strong>IDXGIAdapter::GetDesc</strong> method.</p>
</remarks>
<doc-id>bb173058</doc-id>
<unmanaged>DXGI_ADAPTER_DESC3</unmanaged>
<unmanaged-short>DXGI_ADAPTER_DESC3</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.AdapterDescription3.Description">
<summary>
<dd> <p>A string that contains the adapter description. On feature level 9 graphics hardware, <strong>GetDesc</strong> returns ?Software Adapter? for the description string.</p> </dd>
</summary>
<doc-id>bb173058</doc-id>
<unmanaged>Description</unmanaged>
<unmanaged-short>Description</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.AdapterDescription3.VendorId">
<summary>
<dd> <p>The PCI ID of the hardware vendor. On feature level 9 graphics hardware, <strong>GetDesc</strong> returns zeros for the PCI ID of the hardware vendor.</p> </dd>
</summary>
<doc-id>bb173058</doc-id>
<unmanaged>VendorId</unmanaged>
<unmanaged-short>VendorId</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.AdapterDescription3.DeviceId">
<summary>
<dd> <p>The PCI ID of the hardware device. On feature level 9 graphics hardware, <strong>GetDesc</strong> returns zeros for the PCI ID of the hardware device.</p> </dd>
</summary>
<doc-id>bb173058</doc-id>
<unmanaged>DeviceId</unmanaged>
<unmanaged-short>DeviceId</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.AdapterDescription3.SubsystemId">
<summary>
<dd> <p>The PCI ID of the sub system. On feature level 9 graphics hardware, <strong>GetDesc</strong> returns zeros for the PCI ID of the sub system.</p> </dd>
</summary>
<doc-id>bb173058</doc-id>
<unmanaged>SubSysId</unmanaged>
<unmanaged-short>SubSysId</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.AdapterDescription3.Revision">
<summary>
<dd> <p>The PCI ID of the revision number of the adapter. On feature level 9 graphics hardware, <strong>GetDesc</strong> returns zeros for the PCI ID of the revision number of the adapter.</p> </dd>
</summary>
<doc-id>bb173058</doc-id>
<unmanaged>Revision</unmanaged>
<unmanaged-short>Revision</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.AdapterDescription3.DedicatedVideoMemory">
<summary>
<dd> <p>The number of bytes of dedicated video memory that are not shared with the CPU.</p> </dd>
</summary>
<doc-id>bb173058</doc-id>
<unmanaged>DedicatedVideoMemory</unmanaged>
<unmanaged-short>DedicatedVideoMemory</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.AdapterDescription3.DedicatedSystemMemory">
<summary>
<dd> <p>The number of bytes of dedicated system memory that are not shared with the CPU. This memory is allocated from available system memory at boot time.</p> </dd>
</summary>
<doc-id>bb173058</doc-id>
<unmanaged>DedicatedSystemMemory</unmanaged>
<unmanaged-short>DedicatedSystemMemory</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.AdapterDescription3.SharedSystemMemory">
<summary>
<dd> <p>The number of bytes of shared system memory. This is the maximum value of system memory that may be consumed by the adapter during operation. Any incidental memory consumed by the driver as it manages and uses video memory is additional.</p> </dd>
</summary>
<doc-id>bb173058</doc-id>
<unmanaged>SharedSystemMemory</unmanaged>
<unmanaged-short>SharedSystemMemory</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.AdapterDescription3.Luid">
<summary>
<dd> <p>A unique value that identifies the adapter. See <strong><see cref = "T:System.Int64"/></strong> for a definition of the structure. <strong><see cref = "T:System.Int64"/></strong> is defined in dxgi.h.</p> </dd>
</summary>
<doc-id>bb173058</doc-id>
<unmanaged>AdapterLuid</unmanaged>
<unmanaged-short>AdapterLuid</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.AdapterDescription3.Flags">
<summary>
No documentation.
</summary>
<doc-id>bb173058</doc-id>
<unmanaged>Flags</unmanaged>
<unmanaged-short>Flags</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.AdapterDescription3.GraphicsPreemptionGranularity">
<summary>
No documentation.
</summary>
<doc-id>bb173058</doc-id>
<unmanaged>GraphicsPreemptionGranularity</unmanaged>
<unmanaged-short>GraphicsPreemptionGranularity</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.AdapterDescription3.ComputePreemptionGranularity">
<summary>
No documentation.
</summary>
<doc-id>bb173058</doc-id>
<unmanaged>ComputePreemptionGranularity</unmanaged>
<unmanaged-short>ComputePreemptionGranularity</unmanaged-short>
</member>
<member name="T:SharpDX.DXGI.DecodeSwapChainDescription">
<summary>
<p>Used with <strong><see cref = "T:SharpDX.DXGI.FactoryMedia"/></strong>::<strong>CreateDecodeSwapChainForCompositionSurfaceHandle</strong> to describe a decode swap chain.</p>
</summary>
<doc-id>dn384106</doc-id>
<unmanaged>DXGI_DECODE_SWAP_CHAIN_DESC</unmanaged>
<unmanaged-short>DXGI_DECODE_SWAP_CHAIN_DESC</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.DecodeSwapChainDescription.Flags">
<summary>
No documentation.
</summary>
<doc-id>dn384106</doc-id>
<unmanaged>Flags</unmanaged>
<unmanaged-short>Flags</unmanaged-short>
</member>
<member name="T:SharpDX.DXGI.FrameStatistics">
<summary>
<p>Describes timing and presentation statistics for a frame.</p>
</summary>
<remarks>
<p>You initialize the <strong><see cref = "T:SharpDX.DXGI.FrameStatistics"/></strong> structure with the <strong>IDXGIOutput::GetFrameStatistics</strong> or <strong>IDXGISwapChain::GetFrameStatistics</strong> method.</p><p>You can only use <strong>IDXGISwapChain::GetFrameStatistics</strong> for swap chains that either use the flip presentation model or draw in full-screen mode. You set the <strong>DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL</strong> value in the <strong>SwapEffect</strong> member of the <strong><see cref = "T:SharpDX.DXGI.SwapChainDescription1"/></strong> structure to specify that the swap chain uses the flip presentation model.</p><p>The values in the <strong>PresentCount</strong> and <strong>PresentRefreshCount</strong> members indicate information about when a frame was presented on the display screen. You can use these values to determine whether a glitch occurred. The values in the <strong>SyncRefreshCount</strong> and <strong>SyncQPCTime</strong> members indicate timing information that you can use for audio and video synchronization or very precise animation. If the swap chain draws in full-screen mode, these values are based on when the computer booted.
If the swap chain draws in windowed mode, these values are based on when the swap chain is created.</p>
</remarks>
<doc-id>bb173060</doc-id>
<unmanaged>DXGI_FRAME_STATISTICS</unmanaged>
<unmanaged-short>DXGI_FRAME_STATISTICS</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.FrameStatistics.PresentCount">
<summary>
<dd> <p>A value that represents the running total count of times that an image was presented to the monitor since the computer booted.</p> <strong>Note</strong>??The number of times that an image was presented to the monitor is not necessarily the same as the number of times that you called <strong>IDXGISwapChain::Present</strong> or <strong>IDXGISwapChain1::Present1</strong>. ? </dd>
</summary>
<doc-id>bb173060</doc-id>
<unmanaged>PresentCount</unmanaged>
<unmanaged-short>PresentCount</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.FrameStatistics.PresentRefreshCount">
<summary>
<dd> <p>A value that represents the running total count of v-blanks at which the last image was presented to the monitor and that have happened since the computer booted (for windowed mode, since the swap chain was created).</p> </dd>
</summary>
<doc-id>bb173060</doc-id>
<unmanaged>PresentRefreshCount</unmanaged>
<unmanaged-short>PresentRefreshCount</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.FrameStatistics.SyncRefreshCount">
<summary>
<dd> <p>A value that represents the running total count of v-blanks when the scheduler last sampled the machine time by calling <strong>QueryPerformanceCounter</strong> and that have happened since the computer booted (for windowed mode, since the swap chain was created).</p> </dd>
</summary>
<doc-id>bb173060</doc-id>
<unmanaged>SyncRefreshCount</unmanaged>
<unmanaged-short>SyncRefreshCount</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.FrameStatistics.SyncQPCTime">
<summary>
<dd> <p>A value that represents the high-resolution performance counter timer. This value is the same as the value returned by the <strong>QueryPerformanceCounter</strong> function.</p> </dd>
</summary>
<doc-id>bb173060</doc-id>
<unmanaged>SyncQPCTime</unmanaged>
<unmanaged-short>SyncQPCTime</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.FrameStatistics.SyncGPUTime">
<summary>
<dd> <p>Reserved. Always returns 0.</p> </dd>
</summary>
<doc-id>bb173060</doc-id>
<unmanaged>SyncGPUTime</unmanaged>
<unmanaged-short>SyncGPUTime</unmanaged-short>
</member>
<member name="T:SharpDX.DXGI.FrameStatisticsMedia">
<summary>
<p>Used to verify system approval for the app's custom present duration (custom refresh rate). Approval should be continuously verified on a frame-by-frame basis.</p>
</summary>
<remarks>
<p>This structure is used with the <strong>GetFrameStatisticsMedia</strong> method.</p>
</remarks>
<doc-id>dn384108</doc-id>
<unmanaged>DXGI_FRAME_STATISTICS_MEDIA</unmanaged>
<unmanaged-short>DXGI_FRAME_STATISTICS_MEDIA</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.FrameStatisticsMedia.PresentCount">
<summary>
<dd> <p>A value that represents the running total count of times that an image was presented to the monitor since the computer booted.</p> <strong>Note</strong>??The number of times that an image was presented to the monitor is not necessarily the same as the number of times that you called <strong>IDXGISwapChain::Present</strong> or <strong>IDXGISwapChain1::Present1</strong>. ? </dd>
</summary>
<doc-id>dn384108</doc-id>
<unmanaged>PresentCount</unmanaged>
<unmanaged-short>PresentCount</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.FrameStatisticsMedia.PresentRefreshCount">
<summary>
<dd> <p>A value that represents the running total count of v-blanks at which the last image was presented to the monitor and that have happened since the computer booted (for windowed mode, since the swap chain was created).</p> </dd>
</summary>
<doc-id>dn384108</doc-id>
<unmanaged>PresentRefreshCount</unmanaged>
<unmanaged-short>PresentRefreshCount</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.FrameStatisticsMedia.SyncRefreshCount">
<summary>
<dd> <p>A value that represents the running total count of v-blanks when the scheduler last sampled the machine time by calling <strong>QueryPerformanceCounter</strong> and that have happened since the computer booted (for windowed mode, since the swap chain was created).</p> </dd>
</summary>
<doc-id>dn384108</doc-id>
<unmanaged>SyncRefreshCount</unmanaged>
<unmanaged-short>SyncRefreshCount</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.FrameStatisticsMedia.SyncQPCTime">
<summary>
<dd> <p>A value that represents the high-resolution performance counter timer. This value is the same as the value returned by the <strong>QueryPerformanceCounter</strong> function.</p> </dd>
</summary>
<doc-id>dn384108</doc-id>
<unmanaged>SyncQPCTime</unmanaged>
<unmanaged-short>SyncQPCTime</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.FrameStatisticsMedia.SyncGPUTime">
<summary>
<dd> <p>Reserved. Always returns 0.</p> </dd>
</summary>
<doc-id>dn384108</doc-id>
<unmanaged>SyncGPUTime</unmanaged>
<unmanaged-short>SyncGPUTime</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.FrameStatisticsMedia.CompositionMode">
<summary>
<dd> <p>A value indicating the composition presentation mode. This value is used to determine whether the app should continue to use the decode swap chain. See <strong><see cref = "T:SharpDX.DXGI.FramePresentationMode"/></strong>.</p> </dd>
</summary>
<doc-id>dn384108</doc-id>
<unmanaged>CompositionMode</unmanaged>
<unmanaged-short>CompositionMode</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.FrameStatisticsMedia.ApprovedPresentDuration">
<summary>
<dd> <p>If the system approves an app's custom present duration request, this field is set to the approved custom present duration.</p> <p>If the app's custom present duration request is not approved, this field is set to zero.</p> </dd>
</summary>
<doc-id>dn384108</doc-id>
<unmanaged>ApprovedPresentDuration</unmanaged>
<unmanaged-short>ApprovedPresentDuration</unmanaged-short>
</member>
<member name="T:SharpDX.DXGI.GammaControl">
<summary>
<p>Controls the settings of a gamma curve.</p>
</summary>
<remarks>
<p>The <strong><see cref = "T:SharpDX.DXGI.GammaControl"/></strong> structure is used by the <strong>IDXGIOutput::SetGammaControl</strong> method.</p><p>For info about using gamma correction, see Using gamma correction. </p>
</remarks>
<doc-id>bb173061</doc-id>
<unmanaged>DXGI_GAMMA_CONTROL</unmanaged>
<unmanaged-short>DXGI_GAMMA_CONTROL</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.GammaControl.Scale">
<summary>
<dd> <p>A <strong><see cref = "T:SharpDX.Mathematics.Interop.RawColor4"/></strong> structure with scalar values that are applied to rgb values before being sent to the gamma look up table.</p> </dd>
</summary>
<doc-id>bb173061</doc-id>
<unmanaged>Scale</unmanaged>
<unmanaged-short>Scale</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.GammaControl.Offset">
<summary>
<dd> <p>A <strong><see cref = "T:SharpDX.Mathematics.Interop.RawColor4"/></strong> structure with offset values that are applied to the rgb values before being sent to the gamma look up table.</p> </dd>
</summary>
<doc-id>bb173061</doc-id>
<unmanaged>Offset</unmanaged>
<unmanaged-short>Offset</unmanaged-short>
</member>
<member name="P:SharpDX.DXGI.GammaControl.GammaCurve">
<summary>
<dd> <p>An array of <strong><see cref = "T:SharpDX.Mathematics.Interop.RawColor4"/></strong> structures that control the points of a gamma curve.</p> </dd>
</summary>
<doc-id>bb173061</doc-id>
<unmanaged>GammaCurve</unmanaged>
<unmanaged-short>GammaCurve</unmanaged-short>
</member>
<member name="T:SharpDX.DXGI.GammaControlCapabilities">
<summary>
<p>Controls the gamma capabilities of an adapter.</p>
</summary>
<remarks>
<p>To get a list of the capabilities for controlling gamma correction, call <strong>IDXGIOutput::GetGammaControlCapabilities</strong>.</p><p>For info about using gamma correction, see Using gamma correction. </p>
</remarks>
<doc-id>bb173062</doc-id>
<unmanaged>DXGI_GAMMA_CONTROL_CAPABILITIES</unmanaged>
<unmanaged-short>DXGI_GAMMA_CONTROL_CAPABILITIES</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.GammaControlCapabilities.IsScaleAndOffsetSupported">
<summary>
<dd> <p>True if scaling and offset operations are supported during gamma correction; otherwise, false.</p> </dd>
</summary>
<doc-id>bb173062</doc-id>
<unmanaged>ScaleAndOffsetSupported</unmanaged>
<unmanaged-short>ScaleAndOffsetSupported</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.GammaControlCapabilities.MaximumConvertedValue">
<summary>
<dd> <p>A value describing the maximum range of the control-point positions.</p> </dd>
</summary>
<doc-id>bb173062</doc-id>
<unmanaged>MaxConvertedValue</unmanaged>
<unmanaged-short>MaxConvertedValue</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.GammaControlCapabilities.MinimumConvertedValue">
<summary>
<dd> <p>A value describing the minimum range of the control-point positions.</p> </dd>
</summary>
<doc-id>bb173062</doc-id>
<unmanaged>MinConvertedValue</unmanaged>
<unmanaged-short>MinConvertedValue</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.GammaControlCapabilities.ControlPointsCount">
<summary>
<dd> <p>A value describing the number of control points in the array.</p> </dd>
</summary>
<doc-id>bb173062</doc-id>
<unmanaged>NumGammaControlPoints</unmanaged>
<unmanaged-short>NumGammaControlPoints</unmanaged-short>
</member>
<member name="P:SharpDX.DXGI.GammaControlCapabilities.ControlPoints">
<summary>
<dd> <p>An array of values describing control points; the maximum length of control points is 1025.</p> </dd>
</summary>
<doc-id>bb173062</doc-id>
<unmanaged>ControlPointPositions</unmanaged>
<unmanaged-short>ControlPointPositions</unmanaged-short>
</member>
<member name="T:SharpDX.DXGI.HdrMetadataHdr10">
<summary>
<p>Describes the 10 bit display metadata, and is usually used for video. This is used to adjust the output to best match a display's capabilities.</p>
</summary>
<remarks>
<p>The X and Y coordinates of the parameters mean the xy chromacity coordinate in the CIE1931 color space. The values are normalized to 50000, so to get a value between 0.0 and 1.0, divide by 50000.</p><p>This structure is used in conjunction with the <strong>SetHDRMetaData</strong> method.</p>
</remarks>
<doc-id>mt732700</doc-id>
<unmanaged>DXGI_HDR_METADATA_HDR10</unmanaged>
<unmanaged-short>DXGI_HDR_METADATA_HDR10</unmanaged-short>
</member>
<member name="P:SharpDX.DXGI.HdrMetadataHdr10.RedPrimary">
<summary>
<dd> <p>The chromaticity coordinates of the 1.0 red value. Index 0 contains the X coordinate and index 1 contains the Y coordinate. </p> </dd>
</summary>
<doc-id>mt732700</doc-id>
<unmanaged>RedPrimary</unmanaged>
<unmanaged-short>RedPrimary</unmanaged-short>
</member>
<member name="P:SharpDX.DXGI.HdrMetadataHdr10.GreenPrimary">
<summary>
<dd> <p>The chromaticity coordinates of the 1.0 green value. Index 0 contains the X coordinate and index 1 contains the Y coordinate. </p> </dd>
</summary>
<doc-id>mt732700</doc-id>
<unmanaged>GreenPrimary</unmanaged>
<unmanaged-short>GreenPrimary</unmanaged-short>
</member>
<member name="P:SharpDX.DXGI.HdrMetadataHdr10.BluePrimary">
<summary>
<dd> <p>The chromaticity coordinates of the 1.0 blue value. Index 0 contains the X coordinate and index 1 contains the Y coordinate. </p> </dd>
</summary>
<doc-id>mt732700</doc-id>
<unmanaged>BluePrimary</unmanaged>
<unmanaged-short>BluePrimary</unmanaged-short>
</member>
<member name="P:SharpDX.DXGI.HdrMetadataHdr10.WhitePoint">
<summary>
<dd> <p>The chromaticity coordinates of the white point. Index 0 contains the X coordinate and index 1 contains the Y coordinate. </p> </dd>
</summary>
<doc-id>mt732700</doc-id>
<unmanaged>WhitePoint</unmanaged>
<unmanaged-short>WhitePoint</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.HdrMetadataHdr10.MaxMasteringLuminance">
<summary>
<dd> <p>The maximum number of nits of the display used to master the content. Units are 0.0001 nit, so if the value is 1 nit, the value should be 10,000. </p> </dd>
</summary>
<doc-id>mt732700</doc-id>
<unmanaged>MaxMasteringLuminance</unmanaged>
<unmanaged-short>MaxMasteringLuminance</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.HdrMetadataHdr10.MinMasteringLuminance">
<summary>
<dd> <p>The minimum number of nits (in units of 0.00001 nit) of the display used to master the content.</p> </dd>
</summary>
<doc-id>mt732700</doc-id>
<unmanaged>MinMasteringLuminance</unmanaged>
<unmanaged-short>MinMasteringLuminance</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.HdrMetadataHdr10.MaxContentLightLevel">
<summary>
<dd> <p>The maximum nit value (in units of 0.00001 nit) used anywhere in the content. </p> </dd>
</summary>
<doc-id>mt732700</doc-id>
<unmanaged>MaxContentLightLevel</unmanaged>
<unmanaged-short>MaxContentLightLevel</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.HdrMetadataHdr10.MaxFrameAverageLightLevel">
<summary>
<dd> <p>The per-frame average of the maximum nit values (in units of 0.00001 nit).</p> </dd>
</summary>
<doc-id>mt732700</doc-id>
<unmanaged>MaxFrameAverageLightLevel</unmanaged>
<unmanaged-short>MaxFrameAverageLightLevel</unmanaged-short>
</member>
<member name="T:SharpDX.DXGI.InfoQueueFilter">
<summary>
<p>Describes a debug message filter, which contains lists of message types to allow and deny.</p>
</summary>
<remarks>
<p>Use with an <strong><see cref = "T:SharpDX.DXGI.InfoQueue"/></strong> interface.</p><strong>Note</strong>??This API requires the Windows Software Development Kit (SDK) for Windows?8.?
</remarks>
<doc-id>hh780346</doc-id>
<unmanaged>DXGI_INFO_QUEUE_FILTER</unmanaged>
<unmanaged-short>DXGI_INFO_QUEUE_FILTER</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.InfoQueueFilter.AllowList">
<summary>
<dd> <p>A <strong><see cref = "T:SharpDX.DXGI.InfoQueueFilterDescription"/></strong> structure that describes the types of messages to allow.</p> </dd>
</summary>
<doc-id>hh780346</doc-id>
<unmanaged>AllowList</unmanaged>
<unmanaged-short>AllowList</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.InfoQueueFilter.DenyList">
<summary>
<dd> <p>A <strong><see cref = "T:SharpDX.DXGI.InfoQueueFilterDescription"/></strong> structure that describes the types of messages to deny.</p> </dd>
</summary>
<doc-id>hh780346</doc-id>
<unmanaged>DenyList</unmanaged>
<unmanaged-short>DenyList</unmanaged-short>
</member>
<member name="T:SharpDX.DXGI.InfoQueueFilterDescription">
<summary>
<p>Describes the types of messages to allow or deny to pass through a filter.</p>
</summary>
<remarks>
<p>This structure is a member of the <strong><see cref = "T:SharpDX.DXGI.InfoQueueFilter"/></strong> structure.</p><p>This API requires the Windows Software Development Kit (SDK) for Windows?8.</p>
</remarks>
<doc-id>hh780347</doc-id>
<unmanaged>DXGI_INFO_QUEUE_FILTER_DESC</unmanaged>
<unmanaged-short>DXGI_INFO_QUEUE_FILTER_DESC</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.InfoQueueFilterDescription.NumCategories">
<summary>
<dd> <p>The number of message categories to allow or deny.</p> </dd>
</summary>
<doc-id>hh780347</doc-id>
<unmanaged>NumCategories</unmanaged>
<unmanaged-short>NumCategories</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.InfoQueueFilterDescription.PCategoryList">
<summary>
<dd> <p>An array of <strong><see cref = "T:SharpDX.DXGI.InformationQueueMessageCategory"/></strong> enumeration values that describe the message categories to allow or deny. The array must have at least <strong>NumCategories</strong> number of elements.</p> </dd>
</summary>
<doc-id>hh780347</doc-id>
<unmanaged>pCategoryList</unmanaged>
<unmanaged-short>pCategoryList</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.InfoQueueFilterDescription.NumSeverities">
<summary>
<dd> <p>The number of message severity levels to allow or deny.</p> </dd>
</summary>
<doc-id>hh780347</doc-id>
<unmanaged>NumSeverities</unmanaged>
<unmanaged-short>NumSeverities</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.InfoQueueFilterDescription.PSeverityList">
<summary>
<dd> <p>An array of <strong><see cref = "T:SharpDX.DXGI.InformationQueueMessageSeverity"/></strong> enumeration values that describe the message severity levels to allow or deny. The array must have at least <strong>NumSeverities</strong> number of elements.</p> </dd>
</summary>
<doc-id>hh780347</doc-id>
<unmanaged>pSeverityList</unmanaged>
<unmanaged-short>pSeverityList</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.InfoQueueFilterDescription.NumIDs">
<summary>
<dd> <p>The number of message IDs to allow or deny.</p> </dd>
</summary>
<doc-id>hh780347</doc-id>
<unmanaged>NumIDs</unmanaged>
<unmanaged-short>NumIDs</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.InfoQueueFilterDescription.PIDList">
<summary>
<dd> <p>An array of integers that represent the message IDs to allow or deny. The array must have at least <strong>NumIDs</strong> number of elements.</p> </dd>
</summary>
<doc-id>hh780347</doc-id>
<unmanaged>pIDList</unmanaged>
<unmanaged-short>pIDList</unmanaged-short>
</member>
<member name="T:SharpDX.DXGI.InformationQueueMessage">
<summary>
<p>Describes a debug message in the information queue.</p>
</summary>
<remarks>
<p> <strong>IDXGIInfoQueue::GetMessage</strong> returns a reference to this structure.</p><strong>Note</strong>??This API requires the Windows Software Development Kit (SDK) for Windows?8.?
</remarks>
<doc-id>hh780348</doc-id>
<unmanaged>DXGI_INFO_QUEUE_MESSAGE</unmanaged>
<unmanaged-short>DXGI_INFO_QUEUE_MESSAGE</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.InformationQueueMessage.Producer">
<summary>
<dd> <p>A <strong>DXGI_DEBUG_ID</strong> value that identifies the entity that produced the message.</p> </dd>
</summary>
<doc-id>hh780348</doc-id>
<unmanaged>Producer</unmanaged>
<unmanaged-short>Producer</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.InformationQueueMessage.Category">
<summary>
<dd> <p>A <strong><see cref = "T:SharpDX.DXGI.InformationQueueMessageCategory"/></strong>-typed value that specifies the category of the message.</p> </dd>
</summary>
<doc-id>hh780348</doc-id>
<unmanaged>Category</unmanaged>
<unmanaged-short>Category</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.InformationQueueMessage.Severity">
<summary>
<dd> <p>A <strong><see cref = "T:SharpDX.DXGI.InformationQueueMessageSeverity"/></strong>-typed value that specifies the severity of the message.</p> </dd>
</summary>
<doc-id>hh780348</doc-id>
<unmanaged>Severity</unmanaged>
<unmanaged-short>Severity</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.InformationQueueMessage.Id">
<summary>
<dd> <p>An integer that uniquely identifies the message.</p> </dd>
</summary>
<doc-id>hh780348</doc-id>
<unmanaged>ID</unmanaged>
<unmanaged-short>ID</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.InformationQueueMessage.PDescription">
<summary>
<dd> <p>The message string.</p> </dd>
</summary>
<doc-id>hh780348</doc-id>
<unmanaged>pDescription</unmanaged>
<unmanaged-short>pDescription</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.InformationQueueMessage.DescriptionByteLength">
<summary>
<dd> <p>The length of the message string at <strong>pDescription</strong>, in bytes.</p> </dd>
</summary>
<doc-id>hh780348</doc-id>
<unmanaged>DescriptionByteLength</unmanaged>
<unmanaged-short>DescriptionByteLength</unmanaged-short>
</member>
<member name="T:SharpDX.DXGI.JpegAcHuffmanTable">
<summary>
<p>Describes a JPEG AC huffman table.</p>
</summary>
<doc-id>dn903662</doc-id>
<unmanaged>DXGI_JPEG_AC_HUFFMAN_TABLE</unmanaged>
<unmanaged-short>DXGI_JPEG_AC_HUFFMAN_TABLE</unmanaged-short>
</member>
<member name="P:SharpDX.DXGI.JpegAcHuffmanTable.CodeCounts">
<summary>
<dd> <p>The number of codes for each code length.</p> </dd>
</summary>
<doc-id>dn903662</doc-id>
<unmanaged>CodeCounts</unmanaged>
<unmanaged-short>CodeCounts</unmanaged-short>
</member>
<member name="P:SharpDX.DXGI.JpegAcHuffmanTable.CodeValues">
<summary>
<dd> <p>The Huffman code values, in order of increasing code length.</p> </dd>
</summary>
<doc-id>dn903662</doc-id>
<unmanaged>CodeValues</unmanaged>
<unmanaged-short>CodeValues</unmanaged-short>
</member>
<member name="T:SharpDX.DXGI.JpegDeviceContextHuffmanTable">
<summary>
<p>Describes a JPEG DC huffman table.</p>
</summary>
<doc-id>dn903663</doc-id>
<unmanaged>DXGI_JPEG_DC_HUFFMAN_TABLE</unmanaged>
<unmanaged-short>DXGI_JPEG_DC_HUFFMAN_TABLE</unmanaged-short>
</member>
<member name="P:SharpDX.DXGI.JpegDeviceContextHuffmanTable.CodeCounts">
<summary>
<dd> <p>The number of codes for each code length.</p> </dd>
</summary>
<doc-id>dn903663</doc-id>
<unmanaged>CodeCounts</unmanaged>
<unmanaged-short>CodeCounts</unmanaged-short>
</member>
<member name="P:SharpDX.DXGI.JpegDeviceContextHuffmanTable.CodeValues">
<summary>
<dd> <p>The Huffman code values, in order of increasing code length.</p> </dd>
</summary>
<doc-id>dn903663</doc-id>
<unmanaged>CodeValues</unmanaged>
<unmanaged-short>CodeValues</unmanaged-short>
</member>
<member name="T:SharpDX.DXGI.JpegQuantizationTable">
<summary>
<p>Describes a JPEG quantization table.</p>
</summary>
<doc-id>dn903664</doc-id>
<unmanaged>DXGI_JPEG_QUANTIZATION_TABLE</unmanaged>
<unmanaged-short>DXGI_JPEG_QUANTIZATION_TABLE</unmanaged-short>
</member>
<member name="P:SharpDX.DXGI.JpegQuantizationTable.Elements">
<summary>
<dd> <p>An array of bytes containing the elements of the quantization table.</p> </dd>
</summary>
<doc-id>dn903664</doc-id>
<unmanaged>Elements</unmanaged>
<unmanaged-short>Elements</unmanaged-short>
</member>
<member name="T:SharpDX.DXGI.MappedRectangle">
<summary>
<p>Describes a mapped rectangle that is used to access a surface.</p>
</summary>
<remarks>
<p>The <strong><see cref = "T:SharpDX.DXGI.MappedRectangle"/></strong> structure is initialized by the <strong>IDXGISurface::Map</strong> method.</p>
</remarks>
<doc-id>bb173063</doc-id>
<unmanaged>DXGI_MAPPED_RECT</unmanaged>
<unmanaged-short>DXGI_MAPPED_RECT</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.MappedRectangle.Pitch">
<summary>
<dd> <p>A value that describes the width, in bytes, of the surface.</p> </dd>
</summary>
<doc-id>bb173063</doc-id>
<unmanaged>Pitch</unmanaged>
<unmanaged-short>Pitch</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.MappedRectangle.PBits">
<summary>
<dd> <p>A reference to the image buffer of the surface.</p> </dd>
</summary>
<doc-id>bb173063</doc-id>
<unmanaged>pBits</unmanaged>
<unmanaged-short>pBits</unmanaged-short>
</member>
<member name="T:SharpDX.DXGI.ModeDescription1">
<summary>
<p>Describes a display mode and whether the display mode supports stereo.</p>
</summary>
<remarks>
<p><strong><see cref = "T:SharpDX.DXGI.ModeDescription1"/></strong> is identical to <strong><see cref = "T:SharpDX.DXGI.ModeDescription"/></strong> except that <strong><see cref = "T:SharpDX.DXGI.ModeDescription1"/></strong> includes the <strong>Stereo</strong> member.</p><p>This structure is used by the <strong>GetDisplayModeList1</strong> and <strong>FindClosestMatchingMode1</strong> methods.</p>
</remarks>
<doc-id>hh404507</doc-id>
<unmanaged>DXGI_MODE_DESC1</unmanaged>
<unmanaged-short>DXGI_MODE_DESC1</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.ModeDescription1.Width">
<summary>
<dd> <p>A value that describes the resolution width.</p> </dd>
</summary>
<doc-id>hh404507</doc-id>
<unmanaged>Width</unmanaged>
<unmanaged-short>Width</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.ModeDescription1.Height">
<summary>
<dd> <p>A value that describes the resolution height.</p> </dd>
</summary>
<doc-id>hh404507</doc-id>
<unmanaged>Height</unmanaged>
<unmanaged-short>Height</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.ModeDescription1.RefreshRate">
<summary>
<dd> <p>A <strong><see cref = "T:SharpDX.DXGI.Rational"/></strong> structure that describes the refresh rate in hertz.</p> </dd>
</summary>
<doc-id>hh404507</doc-id>
<unmanaged>RefreshRate</unmanaged>
<unmanaged-short>RefreshRate</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.ModeDescription1.Format">
<summary>
<dd> <p>A <strong><see cref = "T:SharpDX.DXGI.Format"/></strong>-typed value that describes the display format.</p> </dd>
</summary>
<doc-id>hh404507</doc-id>
<unmanaged>Format</unmanaged>
<unmanaged-short>Format</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.ModeDescription1.ScanlineOrdering">
<summary>
<dd> <p>A <strong><see cref = "T:SharpDX.DXGI.DisplayModeScanlineOrder"/></strong>-typed value that describes the scan-line drawing mode.</p> </dd>
</summary>
<doc-id>hh404507</doc-id>
<unmanaged>ScanlineOrdering</unmanaged>
<unmanaged-short>ScanlineOrdering</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.ModeDescription1.Scaling">
<summary>
<dd> <p>A <strong><see cref = "T:SharpDX.DXGI.DisplayModeScaling"/></strong>-typed value that describes the scaling mode.</p> </dd>
</summary>
<doc-id>hh404507</doc-id>
<unmanaged>Scaling</unmanaged>
<unmanaged-short>Scaling</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.ModeDescription1.Stereo">
<summary>
<dd> <p>Specifies whether the full-screen display mode is stereo. <strong>TRUE</strong> if stereo; otherwise, <strong><see cref = "F:SharpDX.Result.False"/></strong>. </p> </dd>
</summary>
<doc-id>hh404507</doc-id>
<unmanaged>Stereo</unmanaged>
<unmanaged-short>Stereo</unmanaged-short>
</member>
<member name="T:SharpDX.DXGI.OutputDescription">
<summary>
<p>Describes an output or physical connection between the adapter (video card) and a device.</p>
</summary>
<remarks>
<p>The <strong><see cref = "T:SharpDX.DXGI.OutputDescription"/></strong> structure is initialized by the <strong>IDXGIOutput::GetDesc</strong> method.</p>
</remarks>
<doc-id>bb173068</doc-id>
<unmanaged>DXGI_OUTPUT_DESC</unmanaged>
<unmanaged-short>DXGI_OUTPUT_DESC</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.OutputDescription.DeviceName">
<summary>
<dd> <p>A string that contains the name of the output device.</p> </dd>
</summary>
<doc-id>bb173068</doc-id>
<unmanaged>DeviceName</unmanaged>
<unmanaged-short>DeviceName</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.OutputDescription.DesktopBounds">
<summary>
<dd> <p>A <strong><see cref = "T:SharpDX.Mathematics.Interop.RawRectangle"/></strong> structure containing the bounds of the output in desktop coordinates. Desktop coordinates depend on the dots per inch (DPI) of the desktop.
For info about writing DPI-aware Win32 apps, see High DPI.</p> </dd>
</summary>
<doc-id>bb173068</doc-id>
<unmanaged>DesktopCoordinates</unmanaged>
<unmanaged-short>DesktopCoordinates</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.OutputDescription.IsAttachedToDesktop">
<summary>
<dd> <p>True if the output is attached to the desktop; otherwise, false.</p> </dd>
</summary>
<doc-id>bb173068</doc-id>
<unmanaged>AttachedToDesktop</unmanaged>
<unmanaged-short>AttachedToDesktop</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.OutputDescription.Rotation">
<summary>
<dd> <p>A member of the <strong><see cref = "T:SharpDX.DXGI.DisplayModeRotation"/></strong> enumerated type describing on how an image is rotated by the output.</p> </dd>
</summary>
<doc-id>bb173068</doc-id>
<unmanaged>Rotation</unmanaged>
<unmanaged-short>Rotation</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.OutputDescription.MonitorHandle">
<summary>
<dd> <p>An <strong><see cref = "T:System.IntPtr"/></strong> handle that represents the display monitor. For more information, see <see cref = "T:System.IntPtr"/> and the Device Context.</p> </dd>
</summary>
<doc-id>bb173068</doc-id>
<unmanaged>Monitor</unmanaged>
<unmanaged-short>Monitor</unmanaged-short>
</member>
<member name="T:SharpDX.DXGI.OutputDescription1">
<summary>
<p>Describes an output or physical connection between the adapter (video card) and a device.</p>
</summary>
<remarks>
<p>The <strong><see cref = "T:SharpDX.DXGI.OutputDescription"/></strong> structure is initialized by the <strong>IDXGIOutput::GetDesc</strong> method.</p>
</remarks>
<doc-id>bb173068</doc-id>
<unmanaged>DXGI_OUTPUT_DESC1</unmanaged>
<unmanaged-short>DXGI_OUTPUT_DESC1</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.OutputDescription1.DeviceName">
<summary>
<dd> <p>A string that contains the name of the output device.</p> </dd>
</summary>
<doc-id>bb173068</doc-id>
<unmanaged>DeviceName</unmanaged>
<unmanaged-short>DeviceName</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.OutputDescription1.DesktopCoordinates">
<summary>
<dd> <p>A <strong><see cref = "T:SharpDX.Mathematics.Interop.RawRectangle"/></strong> structure containing the bounds of the output in desktop coordinates. Desktop coordinates depend on the dots per inch (DPI) of the desktop.
For info about writing DPI-aware Win32 apps, see High DPI.</p> </dd>
</summary>
<doc-id>bb173068</doc-id>
<unmanaged>DesktopCoordinates</unmanaged>
<unmanaged-short>DesktopCoordinates</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.OutputDescription1.AttachedToDesktop">
<summary>
<dd> <p>True if the output is attached to the desktop; otherwise, false.</p> </dd>
</summary>
<doc-id>bb173068</doc-id>
<unmanaged>AttachedToDesktop</unmanaged>
<unmanaged-short>AttachedToDesktop</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.OutputDescription1.Rotation">
<summary>
<dd> <p>A member of the <strong><see cref = "T:SharpDX.DXGI.DisplayModeRotation"/></strong> enumerated type describing on how an image is rotated by the output.</p> </dd>
</summary>
<doc-id>bb173068</doc-id>
<unmanaged>Rotation</unmanaged>
<unmanaged-short>Rotation</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.OutputDescription1.Monitor">
<summary>
<dd> <p>An <strong><see cref = "T:System.IntPtr"/></strong> handle that represents the display monitor. For more information, see <see cref = "T:System.IntPtr"/> and the Device Context.</p> </dd>
</summary>
<doc-id>bb173068</doc-id>
<unmanaged>Monitor</unmanaged>
<unmanaged-short>Monitor</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.OutputDescription1.BitsPerColor">
<summary>
No documentation.
</summary>
<doc-id>bb173068</doc-id>
<unmanaged>BitsPerColor</unmanaged>
<unmanaged-short>BitsPerColor</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.OutputDescription1.ColorSpace">
<summary>
No documentation.
</summary>
<doc-id>bb173068</doc-id>
<unmanaged>ColorSpace</unmanaged>
<unmanaged-short>ColorSpace</unmanaged-short>
</member>
<member name="P:SharpDX.DXGI.OutputDescription1.RedPrimary">
<summary>
No documentation.
</summary>
<doc-id>bb173068</doc-id>
<unmanaged>RedPrimary</unmanaged>
<unmanaged-short>RedPrimary</unmanaged-short>
</member>
<member name="P:SharpDX.DXGI.OutputDescription1.GreenPrimary">
<summary>
No documentation.
</summary>
<doc-id>bb173068</doc-id>
<unmanaged>GreenPrimary</unmanaged>
<unmanaged-short>GreenPrimary</unmanaged-short>
</member>
<member name="P:SharpDX.DXGI.OutputDescription1.BluePrimary">
<summary>
No documentation.
</summary>
<doc-id>bb173068</doc-id>
<unmanaged>BluePrimary</unmanaged>
<unmanaged-short>BluePrimary</unmanaged-short>
</member>
<member name="P:SharpDX.DXGI.OutputDescription1.WhitePoint">
<summary>
No documentation.
</summary>
<doc-id>bb173068</doc-id>
<unmanaged>WhitePoint</unmanaged>
<unmanaged-short>WhitePoint</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.OutputDescription1.MinLuminance">
<summary>
No documentation.
</summary>
<doc-id>bb173068</doc-id>
<unmanaged>MinLuminance</unmanaged>
<unmanaged-short>MinLuminance</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.OutputDescription1.MaxLuminance">
<summary>
No documentation.
</summary>
<doc-id>bb173068</doc-id>
<unmanaged>MaxLuminance</unmanaged>
<unmanaged-short>MaxLuminance</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.OutputDescription1.MaxFullFrameLuminance">
<summary>
No documentation.
</summary>
<doc-id>bb173068</doc-id>
<unmanaged>MaxFullFrameLuminance</unmanaged>
<unmanaged-short>MaxFullFrameLuminance</unmanaged-short>
</member>
<member name="T:SharpDX.DXGI.OutputDuplicateDescription">
<summary>
<p>The <see cref = "T:SharpDX.DXGI.OutputDuplicateDescription"/> structure describes the dimension of the output and the surface that contains the desktop image. The format of the desktop image is always <strong>DXGI_FORMAT_B8G8R8A8_UNORM</strong>.</p>
</summary>
<remarks>
<p>This structure is used by <strong>GetDesc</strong>.</p>
</remarks>
<doc-id>hh404510</doc-id>
<unmanaged>DXGI_OUTDUPL_DESC</unmanaged>
<unmanaged-short>DXGI_OUTDUPL_DESC</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.OutputDuplicateDescription.ModeDescription">
<summary>
No documentation.
</summary>
<doc-id>hh404510</doc-id>
<unmanaged>ModeDesc</unmanaged>
<unmanaged-short>ModeDesc</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.OutputDuplicateDescription.Rotation">
<summary>
No documentation.
</summary>
<doc-id>hh404510</doc-id>
<unmanaged>Rotation</unmanaged>
<unmanaged-short>Rotation</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.OutputDuplicateDescription.DesktopImageInSystemMemory">
<summary>
No documentation.
</summary>
<doc-id>hh404510</doc-id>
<unmanaged>DesktopImageInSystemMemory</unmanaged>
<unmanaged-short>DesktopImageInSystemMemory</unmanaged-short>
</member>
<member name="T:SharpDX.DXGI.OutputDuplicateFrameInformation">
<summary>
<p>The <strong><see cref = "T:SharpDX.DXGI.OutputDuplicateFrameInformation"/></strong> structure describes the current desktop image.</p>
</summary>
<remarks>
<p>A non-zero <strong>LastMouseUpdateTime</strong> indicates an update to either a mouse reference position or a mouse reference position and shape. That is, the mouse reference position is always valid for a non-zero <strong>LastMouseUpdateTime</strong>; however, the application must check the value of the <strong>PointerShapeBufferSize</strong> member to determine whether the shape was updated too.</p><p>If only the reference was updated (that is, the desktop image was not updated), the <strong>AccumulatedFrames</strong>, <strong>TotalMetadataBufferSize</strong>, and <strong>LastPresentTime</strong> members are set to zero.</p><p>An <strong>AccumulatedFrames</strong> value of one indicates that the application completed processing the last frame before a new desktop image was presented. If the <strong>AccumulatedFrames</strong> value is greater than one, more desktop image updates have occurred while the application processed the last desktop update. In this situation, the operating system accumulated the update regions. For more information about desktop updates, see Desktop Update Data.</p><p>A non-zero <strong>TotalMetadataBufferSize</strong> indicates the total size of the buffers that are required to store all the desktop update metadata. An application cannot determine the size of each type of metadata. The application must call the <strong>IDXGIOutputDuplication::GetFrameDirtyRects</strong>, <strong>IDXGIOutputDuplication::GetFrameMoveRects</strong>, or <strong>IDXGIOutputDuplication::GetFramePointerShape</strong> method to obtain information about each type of metadata.</p><strong>Note</strong>??To correct visual effects, an application must process the move region data before it processes the dirty rectangles.?
</remarks>
<doc-id>hh404512</doc-id>
<unmanaged>DXGI_OUTDUPL_FRAME_INFO</unmanaged>
<unmanaged-short>DXGI_OUTDUPL_FRAME_INFO</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.OutputDuplicateFrameInformation.LastPresentTime">
<summary>
<dd> <p>The time stamp of the last update of the desktop image. The operating system calls the <strong>QueryPerformanceCounter</strong> function to obtain the value. A zero value indicates that the desktop image was not updated since an application last called the <strong>IDXGIOutputDuplication::AcquireNextFrame</strong> method to acquire the next frame of the desktop image.</p> </dd>
</summary>
<doc-id>hh404512</doc-id>
<unmanaged>LastPresentTime</unmanaged>
<unmanaged-short>LastPresentTime</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.OutputDuplicateFrameInformation.LastMouseUpdateTime">
<summary>
<dd> <p>The time stamp of the last update to the mouse. The operating system calls the <strong>QueryPerformanceCounter</strong> function to obtain the value. A zero value indicates that the position or shape of the mouse was not updated since an application last called the <strong>IDXGIOutputDuplication::AcquireNextFrame</strong> method to acquire the next frame of the desktop image. The mouse position is always supplied for a mouse update. A new reference shape is indicated by a non-zero value in the <strong>PointerShapeBufferSize</strong> member.</p> </dd>
</summary>
<doc-id>hh404512</doc-id>
<unmanaged>LastMouseUpdateTime</unmanaged>
<unmanaged-short>LastMouseUpdateTime</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.OutputDuplicateFrameInformation.AccumulatedFrames">
<summary>
<dd> <p>The number of frames that the operating system accumulated in the desktop image surface since the calling application processed the last desktop image. For more information about this number, see Remarks.</p> </dd>
</summary>
<doc-id>hh404512</doc-id>
<unmanaged>AccumulatedFrames</unmanaged>
<unmanaged-short>AccumulatedFrames</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.OutputDuplicateFrameInformation.RectsCoalesced">
<summary>
<dd> <p>Specifies whether the operating system accumulated updates by coalescing dirty regions. Therefore, the dirty regions might contain unmodified pixels. <strong>TRUE</strong> if dirty regions were accumulated; otherwise, <strong><see cref = "F:SharpDX.Result.False"/></strong>.</p> </dd>
</summary>
<doc-id>hh404512</doc-id>
<unmanaged>RectsCoalesced</unmanaged>
<unmanaged-short>RectsCoalesced</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.OutputDuplicateFrameInformation.ProtectedContentMaskedOut">
<summary>
<dd> <p>Specifies whether the desktop image might contain protected content that was already blacked out in the desktop image. <strong>TRUE</strong> if protected content was already blacked; otherwise, <strong><see cref = "F:SharpDX.Result.False"/></strong>. The application can use this information to notify the remote user that some of the desktop content might be protected and therefore not visible.</p> </dd>
</summary>
<doc-id>hh404512</doc-id>
<unmanaged>ProtectedContentMaskedOut</unmanaged>
<unmanaged-short>ProtectedContentMaskedOut</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.OutputDuplicateFrameInformation.PointerPosition">
<summary>
<dd> <p>A <strong><see cref = "T:SharpDX.DXGI.OutputDuplicatePointerPosition"/></strong> structure that describes the most recent mouse position if the <strong>LastMouseUpdateTime</strong> member is a non-zero value; otherwise, this value is ignored. This value provides the coordinates of the location where the top-left-hand corner of the reference shape is drawn; this value is not the desktop position of the hot spot.</p> </dd>
</summary>
<doc-id>hh404512</doc-id>
<unmanaged>PointerPosition</unmanaged>
<unmanaged-short>PointerPosition</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.OutputDuplicateFrameInformation.TotalMetadataBufferSize">
<summary>
<dd> <p>Size in bytes of the buffers to store all the desktop update metadata for this frame. For more information about this size, see Remarks.</p> </dd>
</summary>
<doc-id>hh404512</doc-id>
<unmanaged>TotalMetadataBufferSize</unmanaged>
<unmanaged-short>TotalMetadataBufferSize</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.OutputDuplicateFrameInformation.PointerShapeBufferSize">
<summary>
<dd> <p>Size in bytes of the buffer to hold the new pixel data for the mouse shape. For more information about this size, see Remarks.</p> </dd>
</summary>
<doc-id>hh404512</doc-id>
<unmanaged>PointerShapeBufferSize</unmanaged>
<unmanaged-short>PointerShapeBufferSize</unmanaged-short>
</member>
<member name="T:SharpDX.DXGI.OutputDuplicateMoveRectangle">
<summary>
<p>The <strong><see cref = "T:SharpDX.DXGI.OutputDuplicateMoveRectangle"/></strong> structure describes the movement of a rectangle.</p>
</summary>
<remarks>
<p>This structure is used by <strong>GetFrameMoveRects</strong>.</p>
</remarks>
<doc-id>hh404514</doc-id>
<unmanaged>DXGI_OUTDUPL_MOVE_RECT</unmanaged>
<unmanaged-short>DXGI_OUTDUPL_MOVE_RECT</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.OutputDuplicateMoveRectangle.SourcePoint">
<summary>
<dd> <p>The starting position of a rectangle.</p> </dd>
</summary>
<doc-id>hh404514</doc-id>
<unmanaged>SourcePoint</unmanaged>
<unmanaged-short>SourcePoint</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.OutputDuplicateMoveRectangle.DestinationRect">
<summary>
<dd> <p>The target region to which to move a rectangle.</p> </dd>
</summary>
<doc-id>hh404514</doc-id>
<unmanaged>DestinationRect</unmanaged>
<unmanaged-short>DestinationRect</unmanaged-short>
</member>
<member name="T:SharpDX.DXGI.OutputDuplicatePointerPosition">
<summary>
<p>The <strong><see cref = "T:SharpDX.DXGI.OutputDuplicatePointerPosition"/></strong> structure describes the position of the hardware cursor.</p>
</summary>
<remarks>
<p>The <strong>Position</strong> member is valid only if the <strong>Visible</strong> member?s value is set to <strong>TRUE</strong>.</p>
</remarks>
<doc-id>hh404516</doc-id>
<unmanaged>DXGI_OUTDUPL_POINTER_POSITION</unmanaged>
<unmanaged-short>DXGI_OUTDUPL_POINTER_POSITION</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.OutputDuplicatePointerPosition.Position">
<summary>
<dd> <p>The position of the hardware cursor relative to the top-left of the adapter output.</p> </dd>
</summary>
<doc-id>hh404516</doc-id>
<unmanaged>Position</unmanaged>
<unmanaged-short>Position</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.OutputDuplicatePointerPosition.Visible">
<summary>
<dd> <p>Specifies whether the hardware cursor is visible. <strong>TRUE</strong> if visible; otherwise, <strong><see cref = "F:SharpDX.Result.False"/></strong>. If the hardware cursor is not visible, the calling application does not display the cursor in the client.</p> </dd>
</summary>
<doc-id>hh404516</doc-id>
<unmanaged>Visible</unmanaged>
<unmanaged-short>Visible</unmanaged-short>
</member>
<member name="T:SharpDX.DXGI.OutputDuplicatePointerShapeInformation">
<summary>
<p>The <strong><see cref = "T:SharpDX.DXGI.OutputDuplicatePointerShapeInformation"/></strong> structure describes information about the cursor shape.</p>
</summary>
<remarks>
<p>An application draws the cursor shape with the top-left-hand corner drawn at the position that the <strong>Position</strong> member of the <strong><see cref = "T:SharpDX.DXGI.OutputDuplicatePointerPosition"/></strong> structure specifies; the application does not use the hot spot to draw the cursor shape.</p><p>An application calls the <strong>IDXGIOutputDuplication::GetFramePointerShape</strong> method to retrieve cursor shape information in a <strong><see cref = "T:SharpDX.DXGI.OutputDuplicatePointerShapeInformation"/></strong> structure.</p>
</remarks>
<doc-id>hh404518</doc-id>
<unmanaged>DXGI_OUTDUPL_POINTER_SHAPE_INFO</unmanaged>
<unmanaged-short>DXGI_OUTDUPL_POINTER_SHAPE_INFO</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.OutputDuplicatePointerShapeInformation.Type">
<summary>
<dd> <p>A <strong><see cref = "T:SharpDX.DXGI.OutputDuplicatePointerShapeType"/></strong>-typed value that specifies the type of cursor shape. </p> </dd>
</summary>
<doc-id>hh404518</doc-id>
<unmanaged>Type</unmanaged>
<unmanaged-short>Type</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.OutputDuplicatePointerShapeInformation.Width">
<summary>
<dd> <p>The width in pixels of the mouse cursor.</p> </dd>
</summary>
<doc-id>hh404518</doc-id>
<unmanaged>Width</unmanaged>
<unmanaged-short>Width</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.OutputDuplicatePointerShapeInformation.Height">
<summary>
<dd> <p>The height in scan lines of the mouse cursor.</p> </dd>
</summary>
<doc-id>hh404518</doc-id>
<unmanaged>Height</unmanaged>
<unmanaged-short>Height</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.OutputDuplicatePointerShapeInformation.Pitch">
<summary>
<dd> <p>The width in bytes of the mouse cursor.</p> </dd>
</summary>
<doc-id>hh404518</doc-id>
<unmanaged>Pitch</unmanaged>
<unmanaged-short>Pitch</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.OutputDuplicatePointerShapeInformation.HotSpot">
<summary>
<dd> <p>The position of the cursor's hot spot relative to its upper-left pixel. An application does not use the hot spot when it determines where to draw the cursor shape.</p> </dd>
</summary>
<doc-id>hh404518</doc-id>
<unmanaged>HotSpot</unmanaged>
<unmanaged-short>HotSpot</unmanaged-short>
</member>
<member name="T:SharpDX.DXGI.QueryVideoMemoryInformation">
<summary>
<p>Describes the current video memory budgeting parameters.</p>
</summary>
<remarks>
<p>Use this structure with <strong>QueryVideoMemoryInfo</strong>.</p><p>Refer to the remarks for <strong><see cref = "!:SharpDX.Direct3D12.MemoryPool"/></strong>.</p>
</remarks>
<doc-id>dn933220</doc-id>
<unmanaged>DXGI_QUERY_VIDEO_MEMORY_INFO</unmanaged>
<unmanaged-short>DXGI_QUERY_VIDEO_MEMORY_INFO</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.QueryVideoMemoryInformation.Budget">
<summary>
<dd> <p>Specifies the OS-provided video memory budget, in bytes, that the application should target. If <em>CurrentUsage</em> is greater than <em>Budget</em>, the application may incur stuttering or performance penalties due to background activity by the OS to provide other applications with a fair usage of video memory.</p> </dd>
</summary>
<doc-id>dn933220</doc-id>
<unmanaged>Budget</unmanaged>
<unmanaged-short>Budget</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.QueryVideoMemoryInformation.CurrentUsage">
<summary>
<dd> <p> Specifies the application?s current video memory usage, in bytes.</p> </dd>
</summary>
<doc-id>dn933220</doc-id>
<unmanaged>CurrentUsage</unmanaged>
<unmanaged-short>CurrentUsage</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.QueryVideoMemoryInformation.AvailableForReservation">
<summary>
<dd> <p> The amount of video memory, in bytes, that the application has available for reservation. To reserve this video memory, the application should call <strong>IDXGIAdapter3::SetVideoMemoryReservation</strong>.</p> </dd>
</summary>
<doc-id>dn933220</doc-id>
<unmanaged>AvailableForReservation</unmanaged>
<unmanaged-short>AvailableForReservation</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.QueryVideoMemoryInformation.CurrentReservation">
<summary>
<dd> <p> The amount of video memory, in bytes, that is reserved by the application. The OS uses the reservation as a hint to determine the application?s minimum working set. Applications should attempt to ensure that their video memory usage can be trimmed to meet this requirement. </p> </dd>
</summary>
<doc-id>dn933220</doc-id>
<unmanaged>CurrentReservation</unmanaged>
<unmanaged-short>CurrentReservation</unmanaged-short>
</member>
<member name="T:SharpDX.DXGI.SharedResource">
<summary>
<p>Represents a handle to a shared resource.</p>
</summary>
<remarks>
<p>To create a shared surface, pass a shared-resource handle into the <strong>IDXGIDevice::CreateSurface</strong> method.</p>
</remarks>
<doc-id>bb173073</doc-id>
<unmanaged>DXGI_SHARED_RESOURCE</unmanaged>
<unmanaged-short>DXGI_SHARED_RESOURCE</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.SharedResource.Handle">
<summary>
<dd> <p>A handle to a shared resource.</p> </dd>
</summary>
<doc-id>bb173073</doc-id>
<unmanaged>Handle</unmanaged>
<unmanaged-short>Handle</unmanaged-short>
</member>
<member name="T:SharpDX.DXGI.SurfaceDescription">
<summary>
<p>Describes a surface.</p>
</summary>
<remarks>
<p>This structure is used by the <strong>GetDesc</strong> and <strong>CreateSurface</strong> methods.</p>
</remarks>
<doc-id>bb173074</doc-id>
<unmanaged>DXGI_SURFACE_DESC</unmanaged>
<unmanaged-short>DXGI_SURFACE_DESC</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.SurfaceDescription.Width">
<summary>
<dd> <p>A value describing the surface width.</p> </dd>
</summary>
<doc-id>bb173074</doc-id>
<unmanaged>Width</unmanaged>
<unmanaged-short>Width</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.SurfaceDescription.Height">
<summary>
<dd> <p>A value describing the surface height.</p> </dd>
</summary>
<doc-id>bb173074</doc-id>
<unmanaged>Height</unmanaged>
<unmanaged-short>Height</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.SurfaceDescription.Format">
<summary>
<dd> <p>A member of the <strong><see cref = "T:SharpDX.DXGI.Format"/></strong> enumerated type that describes the surface format.</p> </dd>
</summary>
<doc-id>bb173074</doc-id>
<unmanaged>Format</unmanaged>
<unmanaged-short>Format</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.SurfaceDescription.SampleDescription">
<summary>
<dd> <p>A member of the <strong><see cref = "T:SharpDX.DXGI.SampleDescription"/></strong> structure that describes multi-sampling parameters for the surface.</p> </dd>
</summary>
<doc-id>bb173074</doc-id>
<unmanaged>SampleDesc</unmanaged>
<unmanaged-short>SampleDesc</unmanaged-short>
</member>
<member name="T:SharpDX.DXGI.SwapChainDescription">
<summary>
<p>Describes a swap chain.</p>
</summary>
<remarks>
<p>This structure is used by the <strong>GetDesc</strong> and <strong>CreateSwapChain</strong> methods.</p><p>In full-screen mode, there is a dedicated front buffer; in windowed mode, the desktop is the front buffer.</p><p>If you create a swap chain with one buffer, specifying <strong>DXGI_SWAP_EFFECT_SEQUENTIAL</strong> does not cause the contents of the single buffer to be swapped with the front buffer.</p><p>For performance information about flipping swap-chain buffers in full-screen application, see Full-Screen Application Performance Hints.</p>
</remarks>
<doc-id>bb173075</doc-id>
<unmanaged>DXGI_SWAP_CHAIN_DESC</unmanaged>
<unmanaged-short>DXGI_SWAP_CHAIN_DESC</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.SwapChainDescription.ModeDescription">
<summary>
<dd> <p>A <strong><see cref = "T:SharpDX.DXGI.ModeDescription"/></strong> structure that describes the backbuffer display mode.</p> </dd>
</summary>
<doc-id>bb173075</doc-id>
<unmanaged>BufferDesc</unmanaged>
<unmanaged-short>BufferDesc</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.SwapChainDescription.SampleDescription">
<summary>
<dd> <p>A <strong><see cref = "T:SharpDX.DXGI.SampleDescription"/></strong> structure that describes multi-sampling parameters.</p> </dd>
</summary>
<doc-id>bb173075</doc-id>
<unmanaged>SampleDesc</unmanaged>
<unmanaged-short>SampleDesc</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.SwapChainDescription.Usage">
<summary>
<dd> <p>A member of the <strong>DXGI_USAGE</strong> enumerated type that describes the surface usage and CPU access options for the back buffer. The back buffer can be used for shader input or render-target output.</p> </dd>
</summary>
<doc-id>bb173075</doc-id>
<unmanaged>BufferUsage</unmanaged>
<unmanaged-short>BufferUsage</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.SwapChainDescription.BufferCount">
<summary>
<dd> <p>A value that describes the number of buffers in the swap chain. When you call <strong>IDXGIFactory::CreateSwapChain</strong> to create a full-screen swap chain, you typically include the front buffer in this value. For more information about swap-chain buffers, see Remarks.</p> </dd>
</summary>
<doc-id>bb173075</doc-id>
<unmanaged>BufferCount</unmanaged>
<unmanaged-short>BufferCount</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.SwapChainDescription.OutputHandle">
<summary>
<dd> <p>An <strong><see cref = "T:System.IntPtr"/></strong> handle to the output window. This member must not be <strong><c>null</c></strong>.</p> </dd>
</summary>
<doc-id>bb173075</doc-id>
<unmanaged>OutputWindow</unmanaged>
<unmanaged-short>OutputWindow</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.SwapChainDescription.IsWindowed">
<summary>
<dd> <p>A Boolean value that specifies whether the output is in windowed mode. <strong>TRUE</strong> if the output is in windowed mode; otherwise, <strong><see cref = "F:SharpDX.Result.False"/></strong>. </p> <p>We recommend that you create a windowed swap chain and allow the end user to change the swap chain to full screen through <strong>IDXGISwapChain::SetFullscreenState</strong>; that is, do not set this member to <see cref = "F:SharpDX.Result.False"/> to force the swap chain to be full screen. However, if you create the swap chain as full screen, also provide the end user with a list of supported display modes through the <strong>BufferDesc</strong> member because a swap chain that is created with an unsupported display mode might cause the display to go black and prevent the end user from seeing anything. </p> <p>For more information about choosing windowed verses full screen, see <strong>IDXGIFactory::CreateSwapChain</strong>.</p> </dd>
</summary>
<doc-id>bb173075</doc-id>
<unmanaged>Windowed</unmanaged>
<unmanaged-short>Windowed</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.SwapChainDescription.SwapEffect">
<summary>
<dd> <p>A member of the <strong><see cref = "T:SharpDX.DXGI.SwapEffect"/></strong> enumerated type that describes options for handling the contents of the presentation buffer after presenting a surface.</p> </dd>
</summary>
<doc-id>bb173075</doc-id>
<unmanaged>SwapEffect</unmanaged>
<unmanaged-short>SwapEffect</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.SwapChainDescription.Flags">
<summary>
<dd> <p>A member of the <strong><see cref = "T:SharpDX.DXGI.SwapChainFlags"/></strong> enumerated type that describes options for swap-chain behavior.</p> </dd>
</summary>
<doc-id>bb173075</doc-id>
<unmanaged>Flags</unmanaged>
<unmanaged-short>Flags</unmanaged-short>
</member>
<member name="T:SharpDX.DXGI.SwapChainDescription1">
<summary>
<p>Describes a swap chain.</p>
</summary>
<remarks>
<p>This structure is used by the <strong>CreateSwapChainForHwnd</strong>, <strong>CreateSwapChainForCoreWindow</strong>, <strong>CreateSwapChainForComposition</strong>, <strong>CreateSwapChainForCompositionSurfaceHandle</strong>, and <strong>GetDesc1</strong> methods.</p><strong>Note</strong>??You cannot cast a <strong><see cref = "T:SharpDX.DXGI.SwapChainDescription1"/></strong> to a <strong><see cref = "T:SharpDX.DXGI.SwapChainDescription"/></strong> and vice versa. An application must explicitly use the <strong>IDXGISwapChain1::GetDesc1</strong> method to retrieve the newer version of the swap-chain description structure.?<p>In full-screen mode, there is a dedicated front buffer; in windowed mode, the desktop is the front buffer.</p><p>For a flip-model swap chain (that is, a swap chain that has the <strong>DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL</strong> value set in the <strong>SwapEffect</strong> member), you must set the <strong>Format</strong> member to <strong>DXGI_FORMAT_R16G16B16A16_FLOAT</strong>, <strong>DXGI_FORMAT_B8G8R8A8_UNORM</strong>, or <strong>DXGI_FORMAT_R8G8B8A8_UNORM</strong>; you must set the <strong>Count</strong> member of the <strong><see cref = "T:SharpDX.DXGI.SampleDescription"/></strong> structure that the <strong>SampleDesc</strong> member specifies to one and the <strong>Quality</strong> member of <strong><see cref = "T:SharpDX.DXGI.SampleDescription"/></strong> to zero because multiple sample antialiasing (MSAA) is not supported; you must set the <strong>BufferCount</strong> member to from two to sixteen. For more info about flip-model swap chain, see DXGI Flip Model.</p>
</remarks>
<doc-id>hh404528</doc-id>
<unmanaged>DXGI_SWAP_CHAIN_DESC1</unmanaged>
<unmanaged-short>DXGI_SWAP_CHAIN_DESC1</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.SwapChainDescription1.Width">
<summary>
<dd> <p>A value that describes the resolution width. If you specify the width as zero when you call the <strong>IDXGIFactory2::CreateSwapChainForHwnd</strong> method to create a swap chain, the runtime obtains the width from the output window and assigns this width value to the swap-chain description. You can subsequently call the <strong>IDXGISwapChain1::GetDesc1</strong> method to retrieve the assigned width value. You cannot specify the width as zero when you call the <strong>IDXGIFactory2::CreateSwapChainForComposition</strong> method.</p> </dd>
</summary>
<doc-id>hh404528</doc-id>
<unmanaged>Width</unmanaged>
<unmanaged-short>Width</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.SwapChainDescription1.Height">
<summary>
<dd> <p>A value that describes the resolution height. If you specify the height as zero when you call the <strong>IDXGIFactory2::CreateSwapChainForHwnd</strong> method to create a swap chain, the runtime obtains the height from the output window and assigns this height value to the swap-chain description. You can subsequently call the <strong>IDXGISwapChain1::GetDesc1</strong> method to retrieve the assigned height value. You cannot specify the height as zero when you call the <strong>IDXGIFactory2::CreateSwapChainForComposition</strong> method.</p> </dd>
</summary>
<doc-id>hh404528</doc-id>
<unmanaged>Height</unmanaged>
<unmanaged-short>Height</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.SwapChainDescription1.Format">
<summary>
<dd> <p>A <strong><see cref = "T:SharpDX.DXGI.Format"/></strong> structure that describes the display format.</p> </dd>
</summary>
<doc-id>hh404528</doc-id>
<unmanaged>Format</unmanaged>
<unmanaged-short>Format</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.SwapChainDescription1.Stereo">
<summary>
<dd> <p>Specifies whether the full-screen display mode or the swap-chain back buffer is stereo. <strong>TRUE</strong> if stereo; otherwise, <strong><see cref = "F:SharpDX.Result.False"/></strong>. If you specify stereo, you must also specify a flip-model swap chain (that is, a swap chain that has the <strong>DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL</strong> value set in the <strong>SwapEffect</strong> member).</p> </dd>
</summary>
<doc-id>hh404528</doc-id>
<unmanaged>Stereo</unmanaged>
<unmanaged-short>Stereo</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.SwapChainDescription1.SampleDescription">
<summary>
<dd> <p>A <strong><see cref = "T:SharpDX.DXGI.SampleDescription"/></strong> structure that describes multi-sampling parameters. This member is valid only with bit-block transfer (bitblt) model swap chains.</p> </dd>
</summary>
<doc-id>hh404528</doc-id>
<unmanaged>SampleDesc</unmanaged>
<unmanaged-short>SampleDesc</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.SwapChainDescription1.Usage">
<summary>
<dd> <p>A <strong>DXGI_USAGE</strong>-typed value that describes the surface usage and CPU access options for the back buffer. The back buffer can be used for shader input or render-target output.</p> </dd>
</summary>
<doc-id>hh404528</doc-id>
<unmanaged>BufferUsage</unmanaged>
<unmanaged-short>BufferUsage</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.SwapChainDescription1.BufferCount">
<summary>
<dd> <p>A value that describes the number of buffers in the swap chain. When you create a full-screen swap chain, you typically include the front buffer in this value.</p> </dd>
</summary>
<doc-id>hh404528</doc-id>
<unmanaged>BufferCount</unmanaged>
<unmanaged-short>BufferCount</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.SwapChainDescription1.Scaling">
<summary>
<dd> <p>A <strong><see cref = "T:SharpDX.DXGI.Scaling"/></strong>-typed value that identifies resize behavior if the size of the back buffer is not equal to the target output.</p> </dd>
</summary>
<doc-id>hh404528</doc-id>
<unmanaged>Scaling</unmanaged>
<unmanaged-short>Scaling</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.SwapChainDescription1.SwapEffect">
<summary>
<dd> <p>A <strong><see cref = "T:SharpDX.DXGI.SwapEffect"/></strong>-typed value that describes the presentation model that is used by the swap chain and options for handling the contents of the presentation buffer after presenting a surface. You must specify the <strong>DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL</strong> value when you call the <strong>IDXGIFactory2::CreateSwapChainForComposition</strong> method because this method supports only flip presentation model.</p> </dd>
</summary>
<doc-id>hh404528</doc-id>
<unmanaged>SwapEffect</unmanaged>
<unmanaged-short>SwapEffect</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.SwapChainDescription1.AlphaMode">
<summary>
<dd> <p>A <strong><see cref = "T:SharpDX.DXGI.AlphaMode"/></strong>-typed value that identifies the transparency behavior of the swap-chain back buffer.</p> </dd>
</summary>
<doc-id>hh404528</doc-id>
<unmanaged>AlphaMode</unmanaged>
<unmanaged-short>AlphaMode</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.SwapChainDescription1.Flags">
<summary>
<dd> <p>A combination of <strong><see cref = "T:SharpDX.DXGI.SwapChainFlags"/></strong>-typed values that are combined by using a bitwise OR operation. The resulting value specifies options for swap-chain behavior.</p> </dd>
</summary>
<doc-id>hh404528</doc-id>
<unmanaged>Flags</unmanaged>
<unmanaged-short>Flags</unmanaged-short>
</member>
<member name="T:SharpDX.DXGI.SwapChainFullScreenDescription">
<summary>
<p>Describes full-screen mode for a swap chain.</p>
</summary>
<remarks>
<p>This structure is used by the <strong>CreateSwapChainForHwnd</strong> and <strong>GetFullscreenDesc</strong> methods.</p>
</remarks>
<doc-id>hh404531</doc-id>
<unmanaged>DXGI_SWAP_CHAIN_FULLSCREEN_DESC</unmanaged>
<unmanaged-short>DXGI_SWAP_CHAIN_FULLSCREEN_DESC</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.SwapChainFullScreenDescription.RefreshRate">
<summary>
<dd> <p>A <strong><see cref = "T:SharpDX.DXGI.Rational"/></strong> structure that describes the refresh rate in hertz.</p> </dd>
</summary>
<doc-id>hh404531</doc-id>
<unmanaged>RefreshRate</unmanaged>
<unmanaged-short>RefreshRate</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.SwapChainFullScreenDescription.ScanlineOrdering">
<summary>
<dd> <p>A member of the <strong><see cref = "T:SharpDX.DXGI.DisplayModeScanlineOrder"/></strong> enumerated type that describes the scan-line drawing mode.</p> </dd>
</summary>
<doc-id>hh404531</doc-id>
<unmanaged>ScanlineOrdering</unmanaged>
<unmanaged-short>ScanlineOrdering</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.SwapChainFullScreenDescription.Scaling">
<summary>
<dd> <p>A member of the <strong><see cref = "T:SharpDX.DXGI.DisplayModeScaling"/></strong> enumerated type that describes the scaling mode.</p> </dd>
</summary>
<doc-id>hh404531</doc-id>
<unmanaged>Scaling</unmanaged>
<unmanaged-short>Scaling</unmanaged-short>
</member>
<member name="F:SharpDX.DXGI.SwapChainFullScreenDescription.Windowed">
<summary>
<dd> <p>A Boolean value that specifies whether the swap chain is in windowed mode. <strong>TRUE</strong> if the swap chain is in windowed mode; otherwise, <strong><see cref = "F:SharpDX.Result.False"/></strong>.</p> </dd>
</summary>
<doc-id>hh404531</doc-id>
<unmanaged>Windowed</unmanaged>
<unmanaged-short>Windowed</unmanaged-short>
</member>
</members>
</doc>