Last separation, Dxgi.

This commit is contained in:
Amer Koleci
2022-10-07 14:47:17 +02:00
parent bc6b5ab366
commit f6720c616e
136 changed files with 253 additions and 211 deletions

View File

@@ -0,0 +1,42 @@
// ------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
namespace Win32.Graphics.Dxgi;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_ADAPTER_DESC"]/*' />
/// <unmanaged>DXGI_ADAPTER_DESC</unmanaged>
public partial struct AdapterDescription
{
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_ADAPTER_DESC::Description"]/*' />
public unsafe fixed ushort Description[128];
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_ADAPTER_DESC::VendorId"]/*' />
public uint VendorId;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_ADAPTER_DESC::DeviceId"]/*' />
public uint DeviceId;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_ADAPTER_DESC::SubSysId"]/*' />
public uint SubSysId;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_ADAPTER_DESC::Revision"]/*' />
public uint Revision;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_ADAPTER_DESC::DedicatedVideoMemory"]/*' />
public nuint DedicatedVideoMemory;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_ADAPTER_DESC::DedicatedSystemMemory"]/*' />
public nuint DedicatedSystemMemory;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_ADAPTER_DESC::SharedSystemMemory"]/*' />
public nuint SharedSystemMemory;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_ADAPTER_DESC::AdapterLuid"]/*' />
public Luid AdapterLuid;
}

View File

@@ -0,0 +1,45 @@
// ------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
namespace Win32.Graphics.Dxgi;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_ADAPTER_DESC1"]/*' />
/// <unmanaged>DXGI_ADAPTER_DESC1</unmanaged>
public partial struct AdapterDescription1
{
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_ADAPTER_DESC1::Description"]/*' />
public unsafe fixed ushort Description[128];
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_ADAPTER_DESC1::VendorId"]/*' />
public uint VendorId;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_ADAPTER_DESC1::DeviceId"]/*' />
public uint DeviceId;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_ADAPTER_DESC1::SubSysId"]/*' />
public uint SubSysId;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_ADAPTER_DESC1::Revision"]/*' />
public uint Revision;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_ADAPTER_DESC1::DedicatedVideoMemory"]/*' />
public nuint DedicatedVideoMemory;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_ADAPTER_DESC1::DedicatedSystemMemory"]/*' />
public nuint DedicatedSystemMemory;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_ADAPTER_DESC1::SharedSystemMemory"]/*' />
public nuint SharedSystemMemory;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_ADAPTER_DESC1::AdapterLuid"]/*' />
public Luid AdapterLuid;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_ADAPTER_DESC1::Flags"]/*' />
public AdapterFlags Flags;
}

View File

@@ -0,0 +1,51 @@
// ------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
namespace Win32.Graphics.Dxgi;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_ADAPTER_DESC2"]/*' />
/// <unmanaged>DXGI_ADAPTER_DESC2</unmanaged>
public partial struct AdapterDescription2
{
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_ADAPTER_DESC2::Description"]/*' />
public unsafe fixed ushort Description[128];
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_ADAPTER_DESC2::VendorId"]/*' />
public uint VendorId;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_ADAPTER_DESC2::DeviceId"]/*' />
public uint DeviceId;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_ADAPTER_DESC2::SubSysId"]/*' />
public uint SubSysId;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_ADAPTER_DESC2::Revision"]/*' />
public uint Revision;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_ADAPTER_DESC2::DedicatedVideoMemory"]/*' />
public nuint DedicatedVideoMemory;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_ADAPTER_DESC2::DedicatedSystemMemory"]/*' />
public nuint DedicatedSystemMemory;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_ADAPTER_DESC2::SharedSystemMemory"]/*' />
public nuint SharedSystemMemory;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_ADAPTER_DESC2::AdapterLuid"]/*' />
public Luid AdapterLuid;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_ADAPTER_DESC2::Flags"]/*' />
public uint Flags;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_ADAPTER_DESC2::GraphicsPreemptionGranularity"]/*' />
public GraphicsPreemptionGranularity GraphicsPreemptionGranularity;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_ADAPTER_DESC2::ComputePreemptionGranularity"]/*' />
public ComputePreemptionGranularity ComputePreemptionGranularity;
}

View File

@@ -0,0 +1,51 @@
// ------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
namespace Win32.Graphics.Dxgi;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_ADAPTER_DESC3"]/*' />
/// <unmanaged>DXGI_ADAPTER_DESC3</unmanaged>
public partial struct AdapterDescription3
{
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_ADAPTER_DESC3::Description"]/*' />
public unsafe fixed ushort Description[128];
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_ADAPTER_DESC3::VendorId"]/*' />
public uint VendorId;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_ADAPTER_DESC3::DeviceId"]/*' />
public uint DeviceId;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_ADAPTER_DESC3::SubSysId"]/*' />
public uint SubSysId;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_ADAPTER_DESC3::Revision"]/*' />
public uint Revision;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_ADAPTER_DESC3::DedicatedVideoMemory"]/*' />
public nuint DedicatedVideoMemory;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_ADAPTER_DESC3::DedicatedSystemMemory"]/*' />
public nuint DedicatedSystemMemory;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_ADAPTER_DESC3::SharedSystemMemory"]/*' />
public nuint SharedSystemMemory;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_ADAPTER_DESC3::AdapterLuid"]/*' />
public Luid AdapterLuid;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_ADAPTER_DESC3::Flags"]/*' />
public AdapterFlags3 Flags;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_ADAPTER_DESC3::GraphicsPreemptionGranularity"]/*' />
public GraphicsPreemptionGranularity GraphicsPreemptionGranularity;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_ADAPTER_DESC3::ComputePreemptionGranularity"]/*' />
public ComputePreemptionGranularity ComputePreemptionGranularity;
}

View File

@@ -0,0 +1,26 @@
// ------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
namespace Win32.Graphics.Dxgi;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_ADAPTER_FLAG"]/*' />
/// <unmanaged>DXGI_ADAPTER_FLAG</unmanaged>
[Flags]
public enum AdapterFlags : uint
{
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_ADAPTER_FLAG::DXGI_ADAPTER_FLAG_NONE"]/*' />
/// <unmanaged>DXGI_ADAPTER_FLAG_NONE</unmanaged>
None = 0,
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_ADAPTER_FLAG::DXGI_ADAPTER_FLAG_REMOTE"]/*' />
/// <unmanaged>DXGI_ADAPTER_FLAG_REMOTE</unmanaged>
Remote = 1,
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_ADAPTER_FLAG::DXGI_ADAPTER_FLAG_SOFTWARE"]/*' />
/// <unmanaged>DXGI_ADAPTER_FLAG_SOFTWARE</unmanaged>
Software = 2,
}

View File

@@ -0,0 +1,38 @@
// ------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
namespace Win32.Graphics.Dxgi;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_ADAPTER_FLAG3"]/*' />
/// <unmanaged>DXGI_ADAPTER_FLAG3</unmanaged>
[Flags]
public enum AdapterFlags3 : uint
{
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_ADAPTER_FLAG3::DXGI_ADAPTER_FLAG3_NONE"]/*' />
/// <unmanaged>DXGI_ADAPTER_FLAG3_NONE</unmanaged>
None = 0,
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_ADAPTER_FLAG3::DXGI_ADAPTER_FLAG3_REMOTE"]/*' />
/// <unmanaged>DXGI_ADAPTER_FLAG3_REMOTE</unmanaged>
Remote = 1,
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_ADAPTER_FLAG3::DXGI_ADAPTER_FLAG3_SOFTWARE"]/*' />
/// <unmanaged>DXGI_ADAPTER_FLAG3_SOFTWARE</unmanaged>
Software = 2,
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_ADAPTER_FLAG3::DXGI_ADAPTER_FLAG3_ACG_COMPATIBLE"]/*' />
/// <unmanaged>DXGI_ADAPTER_FLAG3_ACG_COMPATIBLE</unmanaged>
AcgCompatible = 4,
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_ADAPTER_FLAG3::DXGI_ADAPTER_FLAG3_SUPPORT_MONITORED_FENCES"]/*' />
/// <unmanaged>DXGI_ADAPTER_FLAG3_SUPPORT_MONITORED_FENCES</unmanaged>
SupportMonitoredFences = 8,
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_ADAPTER_FLAG3::DXGI_ADAPTER_FLAG3_SUPPORT_NON_MONITORED_FENCES"]/*' />
/// <unmanaged>DXGI_ADAPTER_FLAG3_SUPPORT_NON_MONITORED_FENCES</unmanaged>
SupportNonMonitoredFences = 16,
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_ADAPTER_FLAG3::DXGI_ADAPTER_FLAG3_KEYED_MUTEX_CONFORMANCE"]/*' />
/// <unmanaged>DXGI_ADAPTER_FLAG3_KEYED_MUTEX_CONFORMANCE</unmanaged>
KeyedMutexConformance = 32,
}

View File

@@ -0,0 +1,33 @@
// ------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
namespace Win32.Graphics.Dxgi;
public static unsafe partial class Apis
{
/// <include file='../Dxgi.xml' path='doc/member[@name="CreateDXGIFactory"]/*' />
[DllImport("dxgi.dll", ExactSpelling = true)]
public static extern HResult CreateDXGIFactory(Guid* riid, void** ppFactory);
/// <include file='../Dxgi.xml' path='doc/member[@name="CreateDXGIFactory1"]/*' />
[DllImport("dxgi.dll", ExactSpelling = true)]
public static extern HResult CreateDXGIFactory1(Guid* riid, void** ppFactory);
/// <include file='../Dxgi.xml' path='doc/member[@name="CreateDXGIFactory2"]/*' />
[DllImport("dxgi.dll", ExactSpelling = true)]
public static extern HResult CreateDXGIFactory2(uint Flags, Guid* riid, void** ppFactory);
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGIGetDebugInterface1"]/*' />
[DllImport("dxgi.dll", ExactSpelling = true)]
public static extern HResult DXGIGetDebugInterface1(uint Flags, Guid* riid, void** pDebug);
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGIDeclareAdapterRemovalSupport"]/*' />
[DllImport("dxgi.dll", ExactSpelling = true)]
public static extern HResult DXGIDeclareAdapterRemovalSupport();
}

View File

@@ -0,0 +1,188 @@
// ------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
namespace Win32.Graphics.Dxgi;
public static partial class Apis
{
public const uint DXGI_MAX_SWAP_CHAIN_BUFFERS = 16;
public const uint DXGI_SHARED_RESOURCE_READ = 2147483648;
public const uint DXGI_SHARED_RESOURCE_WRITE = 1;
public const uint DXGI_DEBUG_BINARY_VERSION = 1;
public static ref readonly Guid DXGI_DEBUG_ALL
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
ReadOnlySpan<byte> data = new byte[] {
0x83, 0xE2, 0x8A, 0xE4,
0x80, 0xDA,
0x0B, 0x49,
0x87,
0xE6,
0x43,
0xE9,
0xA9,
0xCF,
0xDA,
0x08
};
Debug.Assert(data.Length == Unsafe.SizeOf<Guid>());
return ref Unsafe.As<byte, Guid>(ref MemoryMarshal.GetReference(data));
}
}
public static ref readonly Guid DXGI_DEBUG_DX
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
ReadOnlySpan<byte> data = new byte[] {
0xFC, 0xD7, 0xCD, 0x35,
0xB2, 0x13,
0x1D, 0x42,
0xA5,
0xD7,
0x7E,
0x44,
0x51,
0x28,
0x7D,
0x64
};
Debug.Assert(data.Length == Unsafe.SizeOf<Guid>());
return ref Unsafe.As<byte, Guid>(ref MemoryMarshal.GetReference(data));
}
}
public static ref readonly Guid DXGI_DEBUG_DXGI
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
ReadOnlySpan<byte> data = new byte[] {
0xA4, 0xDA, 0xCD, 0x25,
0xC6, 0xB1,
0xE1, 0x47,
0xAC,
0x3E,
0x98,
0x87,
0x5B,
0x5A,
0x2E,
0x2A
};
Debug.Assert(data.Length == Unsafe.SizeOf<Guid>());
return ref Unsafe.As<byte, Guid>(ref MemoryMarshal.GetReference(data));
}
}
public static ref readonly Guid DXGI_DEBUG_APP
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
ReadOnlySpan<byte> data = new byte[] {
0x01, 0x6E, 0xCD, 0x06,
0x19, 0x42,
0xBD, 0x4E,
0x87,
0x09,
0x27,
0xED,
0x23,
0x36,
0x0C,
0x62
};
Debug.Assert(data.Length == Unsafe.SizeOf<Guid>());
return ref Unsafe.As<byte, Guid>(ref MemoryMarshal.GetReference(data));
}
}
public const uint DXGI_INFO_QUEUE_MESSAGE_ID_STRING_FROM_APPLICATION = 0;
public const uint DXGI_INFO_QUEUE_DEFAULT_MESSAGE_COUNT_LIMIT = 1024;
public const uint DXGI_CREATE_FACTORY_DEBUG = 1;
public static readonly HResult DXGI_ERROR_INVALID_CALL = -2005270527;
public static readonly HResult DXGI_ERROR_NOT_FOUND = -2005270526;
public static readonly HResult DXGI_ERROR_MORE_DATA = -2005270525;
public static readonly HResult DXGI_ERROR_UNSUPPORTED = -2005270524;
public static readonly HResult DXGI_ERROR_DEVICE_REMOVED = -2005270523;
public static readonly HResult DXGI_ERROR_DEVICE_HUNG = -2005270522;
public static readonly HResult DXGI_ERROR_DEVICE_RESET = -2005270521;
public static readonly HResult DXGI_ERROR_WAS_STILL_DRAWING = -2005270518;
public static readonly HResult DXGI_ERROR_FRAME_STATISTICS_DISJOINT = -2005270517;
public static readonly HResult DXGI_ERROR_GRAPHICS_VIDPN_SOURCE_IN_USE = -2005270516;
public static readonly HResult DXGI_ERROR_DRIVER_INTERNAL_ERROR = -2005270496;
public static readonly HResult DXGI_ERROR_NONEXCLUSIVE = -2005270495;
public static readonly HResult DXGI_ERROR_NOT_CURRENTLY_AVAILABLE = -2005270494;
public static readonly HResult DXGI_ERROR_REMOTE_CLIENT_DISCONNECTED = -2005270493;
public static readonly HResult DXGI_ERROR_REMOTE_OUTOFMEMORY = -2005270492;
public static readonly HResult DXGI_ERROR_ACCESS_LOST = -2005270490;
public static readonly HResult DXGI_ERROR_WAIT_TIMEOUT = -2005270489;
public static readonly HResult DXGI_ERROR_SESSION_DISCONNECTED = -2005270488;
public static readonly HResult DXGI_ERROR_RESTRICT_TO_OUTPUT_STALE = -2005270487;
public static readonly HResult DXGI_ERROR_CANNOT_PROTECT_CONTENT = -2005270486;
public static readonly HResult DXGI_ERROR_ACCESS_DENIED = -2005270485;
public static readonly HResult DXGI_ERROR_NAME_ALREADY_EXISTS = -2005270484;
public static readonly HResult DXGI_ERROR_SDK_COMPONENT_MISSING = -2005270483;
public static readonly HResult DXGI_ERROR_NOT_CURRENT = -2005270482;
public static readonly HResult DXGI_ERROR_HW_PROTECTION_OUTOFMEMORY = -2005270480;
public static readonly HResult DXGI_ERROR_DYNAMIC_CODE_POLICY_VIOLATION = -2005270479;
public static readonly HResult DXGI_ERROR_NON_COMPOSITED_UI = -2005270478;
public static readonly HResult DXGI_ERROR_MODE_CHANGE_IN_PROGRESS = -2005270491;
public static readonly HResult DXGI_ERROR_CACHE_CORRUPT = -2005270477;
public static readonly HResult DXGI_ERROR_CACHE_FULL = -2005270476;
public static readonly HResult DXGI_ERROR_CACHE_HASH_COLLISION = -2005270475;
public static readonly HResult DXGI_ERROR_ALREADY_EXISTS = -2005270474;
}

View File

@@ -0,0 +1,31 @@
// ------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
namespace Win32.Graphics.Dxgi;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_COMPUTE_PREEMPTION_GRANULARITY"]/*' />
/// <unmanaged>DXGI_COMPUTE_PREEMPTION_GRANULARITY</unmanaged>
public enum ComputePreemptionGranularity : int
{
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_COMPUTE_PREEMPTION_GRANULARITY::DXGI_COMPUTE_PREEMPTION_DMA_BUFFER_BOUNDARY"]/*' />
/// <unmanaged>DXGI_COMPUTE_PREEMPTION_DMA_BUFFER_BOUNDARY</unmanaged>
DmaBufferBoundary = 0,
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_COMPUTE_PREEMPTION_GRANULARITY::DXGI_COMPUTE_PREEMPTION_DISPATCH_BOUNDARY"]/*' />
/// <unmanaged>DXGI_COMPUTE_PREEMPTION_DISPATCH_BOUNDARY</unmanaged>
DispatchBoundary = 1,
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_COMPUTE_PREEMPTION_GRANULARITY::DXGI_COMPUTE_PREEMPTION_THREAD_GROUP_BOUNDARY"]/*' />
/// <unmanaged>DXGI_COMPUTE_PREEMPTION_THREAD_GROUP_BOUNDARY</unmanaged>
ThreadGroupBoundary = 2,
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_COMPUTE_PREEMPTION_GRANULARITY::DXGI_COMPUTE_PREEMPTION_THREAD_BOUNDARY"]/*' />
/// <unmanaged>DXGI_COMPUTE_PREEMPTION_THREAD_BOUNDARY</unmanaged>
ThreadBoundary = 3,
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_COMPUTE_PREEMPTION_GRANULARITY::DXGI_COMPUTE_PREEMPTION_INSTRUCTION_BOUNDARY"]/*' />
/// <unmanaged>DXGI_COMPUTE_PREEMPTION_INSTRUCTION_BOUNDARY</unmanaged>
InstructionBoundary = 4,
}

View File

@@ -0,0 +1,18 @@
// ------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
namespace Win32.Graphics.Dxgi;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_DECODE_SWAP_CHAIN_DESC"]/*' />
/// <unmanaged>DXGI_DECODE_SWAP_CHAIN_DESC</unmanaged>
public partial struct DecodeSwapChainDescription
{
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_DECODE_SWAP_CHAIN_DESC::Flags"]/*' />
public SwapChainFlags Flags;
}

View File

@@ -0,0 +1,21 @@
// ------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
namespace Win32.Graphics.Dxgi;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_DISPLAY_COLOR_SPACE"]/*' />
/// <unmanaged>DXGI_DISPLAY_COLOR_SPACE</unmanaged>
public partial struct DisplayColorSpace
{
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_DISPLAY_COLOR_SPACE::PrimaryCoordinates"]/*' />
public unsafe fixed float PrimaryCoordinates[16];
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_DISPLAY_COLOR_SPACE::WhitePoints"]/*' />
public unsafe fixed float WhitePoints[32];
}

View File

@@ -0,0 +1,25 @@
// ------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
namespace Win32.Graphics.Dxgi;
/// <unmanaged>DXGI_ENUM_MODES</unmanaged>
[Flags]
public enum EnumModesFlags : uint
{
None = 0,
/// <unmanaged>DXGI_ENUM_MODES_INTERLACED</unmanaged>
Interlaced = 1,
/// <unmanaged>DXGI_ENUM_MODES_SCALING</unmanaged>
Scaling = 2,
/// <unmanaged>DXGI_ENUM_MODES_STEREO</unmanaged>
Stereo = 4,
/// <unmanaged>DXGI_ENUM_MODES_DISABLED_STEREO</unmanaged>
DisabledStereo = 8,
}

View File

@@ -0,0 +1,19 @@
// ------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
namespace Win32.Graphics.Dxgi;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_FEATURE"]/*' />
/// <unmanaged>DXGI_FEATURE</unmanaged>
public enum Feature : int
{
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_FEATURE::DXGI_FEATURE_PRESENT_ALLOW_TEARING"]/*' />
/// <unmanaged>DXGI_FEATURE_PRESENT_ALLOW_TEARING</unmanaged>
PresentAllowTearing = 0,
}

View File

@@ -0,0 +1,28 @@
// ------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
namespace Win32.Graphics.Dxgi;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_FRAME_PRESENTATION_MODE"]/*' />
/// <unmanaged>DXGI_FRAME_PRESENTATION_MODE</unmanaged>
public enum FramePresentationMode : int
{
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_FRAME_PRESENTATION_MODE::DXGI_FRAME_PRESENTATION_MODE_COMPOSED"]/*' />
/// <unmanaged>DXGI_FRAME_PRESENTATION_MODE_COMPOSED</unmanaged>
Composed = 0,
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_FRAME_PRESENTATION_MODE::DXGI_FRAME_PRESENTATION_MODE_OVERLAY"]/*' />
/// <unmanaged>DXGI_FRAME_PRESENTATION_MODE_OVERLAY</unmanaged>
Overlay = 1,
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_FRAME_PRESENTATION_MODE::DXGI_FRAME_PRESENTATION_MODE_NONE"]/*' />
/// <unmanaged>DXGI_FRAME_PRESENTATION_MODE_NONE</unmanaged>
None = 2,
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_FRAME_PRESENTATION_MODE::DXGI_FRAME_PRESENTATION_MODE_COMPOSITION_FAILURE"]/*' />
/// <unmanaged>DXGI_FRAME_PRESENTATION_MODE_COMPOSITION_FAILURE</unmanaged>
CompositionFailure = 3,
}

View File

@@ -0,0 +1,30 @@
// ------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
namespace Win32.Graphics.Dxgi;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_FRAME_STATISTICS"]/*' />
/// <unmanaged>DXGI_FRAME_STATISTICS</unmanaged>
public partial struct FrameStatistics
{
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_FRAME_STATISTICS::PresentCount"]/*' />
public uint PresentCount;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_FRAME_STATISTICS::PresentRefreshCount"]/*' />
public uint PresentRefreshCount;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_FRAME_STATISTICS::SyncRefreshCount"]/*' />
public uint SyncRefreshCount;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_FRAME_STATISTICS::SyncQPCTime"]/*' />
public LargeInteger SyncQPCTime;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_FRAME_STATISTICS::SyncGPUTime"]/*' />
public LargeInteger SyncGPUTime;
}

View File

@@ -0,0 +1,36 @@
// ------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
namespace Win32.Graphics.Dxgi;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_FRAME_STATISTICS_MEDIA"]/*' />
/// <unmanaged>DXGI_FRAME_STATISTICS_MEDIA</unmanaged>
public partial struct FrameStatisticsMedia
{
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_FRAME_STATISTICS_MEDIA::PresentCount"]/*' />
public uint PresentCount;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_FRAME_STATISTICS_MEDIA::PresentRefreshCount"]/*' />
public uint PresentRefreshCount;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_FRAME_STATISTICS_MEDIA::SyncRefreshCount"]/*' />
public uint SyncRefreshCount;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_FRAME_STATISTICS_MEDIA::SyncQPCTime"]/*' />
public LargeInteger SyncQPCTime;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_FRAME_STATISTICS_MEDIA::SyncGPUTime"]/*' />
public LargeInteger SyncGPUTime;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_FRAME_STATISTICS_MEDIA::CompositionMode"]/*' />
public FramePresentationMode CompositionMode;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_FRAME_STATISTICS_MEDIA::ApprovedPresentDuration"]/*' />
public uint ApprovedPresentDuration;
}

View File

@@ -0,0 +1,25 @@
// ------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
namespace Win32.Graphics.Dxgi;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_GPU_PREFERENCE"]/*' />
/// <unmanaged>DXGI_GPU_PREFERENCE</unmanaged>
public enum GpuPreference : int
{
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_GPU_PREFERENCE::DXGI_GPU_PREFERENCE_UNSPECIFIED"]/*' />
/// <unmanaged>DXGI_GPU_PREFERENCE_UNSPECIFIED</unmanaged>
Unspecified = 0,
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_GPU_PREFERENCE::DXGI_GPU_PREFERENCE_MINIMUM_POWER"]/*' />
/// <unmanaged>DXGI_GPU_PREFERENCE_MINIMUM_POWER</unmanaged>
MinimumPower = 1,
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_GPU_PREFERENCE::DXGI_GPU_PREFERENCE_HIGH_PERFORMANCE"]/*' />
/// <unmanaged>DXGI_GPU_PREFERENCE_HIGH_PERFORMANCE</unmanaged>
HighPerformance = 2,
}

View File

@@ -0,0 +1,31 @@
// ------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
namespace Win32.Graphics.Dxgi;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_GRAPHICS_PREEMPTION_GRANULARITY"]/*' />
/// <unmanaged>DXGI_GRAPHICS_PREEMPTION_GRANULARITY</unmanaged>
public enum GraphicsPreemptionGranularity : int
{
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_GRAPHICS_PREEMPTION_GRANULARITY::DXGI_GRAPHICS_PREEMPTION_DMA_BUFFER_BOUNDARY"]/*' />
/// <unmanaged>DXGI_GRAPHICS_PREEMPTION_DMA_BUFFER_BOUNDARY</unmanaged>
DmaBufferBoundary = 0,
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_GRAPHICS_PREEMPTION_GRANULARITY::DXGI_GRAPHICS_PREEMPTION_PRIMITIVE_BOUNDARY"]/*' />
/// <unmanaged>DXGI_GRAPHICS_PREEMPTION_PRIMITIVE_BOUNDARY</unmanaged>
PrimitiveBoundary = 1,
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_GRAPHICS_PREEMPTION_GRANULARITY::DXGI_GRAPHICS_PREEMPTION_TRIANGLE_BOUNDARY"]/*' />
/// <unmanaged>DXGI_GRAPHICS_PREEMPTION_TRIANGLE_BOUNDARY</unmanaged>
TriangleBoundary = 2,
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_GRAPHICS_PREEMPTION_GRANULARITY::DXGI_GRAPHICS_PREEMPTION_PIXEL_BOUNDARY"]/*' />
/// <unmanaged>DXGI_GRAPHICS_PREEMPTION_PIXEL_BOUNDARY</unmanaged>
PixelBoundary = 3,
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_GRAPHICS_PREEMPTION_GRANULARITY::DXGI_GRAPHICS_PREEMPTION_INSTRUCTION_BOUNDARY"]/*' />
/// <unmanaged>DXGI_GRAPHICS_PREEMPTION_INSTRUCTION_BOUNDARY</unmanaged>
InstructionBoundary = 4,
}

View File

@@ -0,0 +1,39 @@
// ------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
namespace Win32.Graphics.Dxgi;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_HDR_METADATA_HDR10"]/*' />
/// <unmanaged>DXGI_HDR_METADATA_HDR10</unmanaged>
public partial struct HDRMetadataHdr10
{
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_HDR_METADATA_HDR10::RedPrimary"]/*' />
public unsafe fixed ushort RedPrimary[2];
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_HDR_METADATA_HDR10::GreenPrimary"]/*' />
public unsafe fixed ushort GreenPrimary[2];
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_HDR_METADATA_HDR10::BluePrimary"]/*' />
public unsafe fixed ushort BluePrimary[2];
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_HDR_METADATA_HDR10::WhitePoint"]/*' />
public unsafe fixed ushort WhitePoint[2];
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_HDR_METADATA_HDR10::MaxMasteringLuminance"]/*' />
public uint MaxMasteringLuminance;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_HDR_METADATA_HDR10::MinMasteringLuminance"]/*' />
public uint MinMasteringLuminance;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_HDR_METADATA_HDR10::MaxContentLightLevel"]/*' />
public ushort MaxContentLightLevel;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_HDR_METADATA_HDR10::MaxFrameAverageLightLevel"]/*' />
public ushort MaxFrameAverageLightLevel;
}

View File

@@ -0,0 +1,18 @@
// ------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
namespace Win32.Graphics.Dxgi;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_HDR_METADATA_HDR10PLUS"]/*' />
/// <unmanaged>DXGI_HDR_METADATA_HDR10PLUS</unmanaged>
public partial struct HDRMetadataHdr10plus
{
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_HDR_METADATA_HDR10PLUS::Data"]/*' />
public unsafe fixed byte Data[72];
}

View File

@@ -0,0 +1,25 @@
// ------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
namespace Win32.Graphics.Dxgi;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_HDR_METADATA_TYPE"]/*' />
/// <unmanaged>DXGI_HDR_METADATA_TYPE</unmanaged>
public enum HDRMetadataType : int
{
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_HDR_METADATA_TYPE::DXGI_HDR_METADATA_TYPE_NONE"]/*' />
/// <unmanaged>DXGI_HDR_METADATA_TYPE_NONE</unmanaged>
None = 0,
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_HDR_METADATA_TYPE::DXGI_HDR_METADATA_TYPE_HDR10"]/*' />
/// <unmanaged>DXGI_HDR_METADATA_TYPE_HDR10</unmanaged>
Hdr10 = 1,
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_HDR_METADATA_TYPE::DXGI_HDR_METADATA_TYPE_HDR10PLUS"]/*' />
/// <unmanaged>DXGI_HDR_METADATA_TYPE_HDR10PLUS</unmanaged>
Hdr10plus = 2,
}

View File

@@ -0,0 +1,27 @@
// ------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
namespace Win32.Graphics.Dxgi;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_HARDWARE_COMPOSITION_SUPPORT_FLAGS"]/*' />
/// <unmanaged>DXGI_HARDWARE_COMPOSITION_SUPPORT_FLAGS</unmanaged>
[Flags]
public enum HardwareCompositionSupportFlags : uint
{
None = 0,
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_HARDWARE_COMPOSITION_SUPPORT_FLAGS::DXGI_HARDWARE_COMPOSITION_SUPPORT_FLAG_FULLSCREEN"]/*' />
/// <unmanaged>DXGI_HARDWARE_COMPOSITION_SUPPORT_FLAG_FULLSCREEN</unmanaged>
Fullscreen = 1,
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_HARDWARE_COMPOSITION_SUPPORT_FLAGS::DXGI_HARDWARE_COMPOSITION_SUPPORT_FLAG_WINDOWED"]/*' />
/// <unmanaged>DXGI_HARDWARE_COMPOSITION_SUPPORT_FLAG_WINDOWED</unmanaged>
Windowed = 2,
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_HARDWARE_COMPOSITION_SUPPORT_FLAGS::DXGI_HARDWARE_COMPOSITION_SUPPORT_FLAG_CURSOR_STRETCHED"]/*' />
/// <unmanaged>DXGI_HARDWARE_COMPOSITION_SUPPORT_FLAG_CURSOR_STRETCHED</unmanaged>
CursorStretched = 4,
}

View File

@@ -0,0 +1,133 @@
// ------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
namespace Win32.Graphics.Dxgi;
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIAdapter"]/*' />
/// <unmanaged>IDXGIAdapter</unmanaged>
[Guid("2411e7e1-12ac-4ccf-bd14-9798e8534dc0")]
[NativeTypeName("struct IDXGIAdapter : IDXGIObject")]
[NativeInheritance("IDXGIObject")]
public unsafe partial struct IDXGIAdapter : INativeGuid
{
public static ref readonly Guid IID_IDXGIAdapter
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
ReadOnlySpan<byte> data = new byte[] {
0xE1, 0xE7, 0x11, 0x24,
0xAC, 0x12,
0xCF, 0x4C,
0xBD,
0x14,
0x97,
0x98,
0xE8,
0x53,
0x4D,
0xC0
};
Debug.Assert(data.Length == Unsafe.SizeOf<Guid>());
return ref Unsafe.As<byte, Guid>(ref MemoryMarshal.GetReference(data));
}
}
#if NET6_0_OR_GREATER
static Guid* INativeGuid.NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_IDXGIAdapter));
#else
public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_IDXGIAdapter));
#endif
public void** lpVtbl;
/// <inheritdoc cref="IUnknown.QueryInterface" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(0)]
public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject)
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, Guid*, void**, int>)(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject);
}
/// <inheritdoc cref="IUnknown.AddRef" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(1)]
[return: NativeTypeName("ULONG")]
public uint AddRef()
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, uint>)(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IUnknown.Release" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(2)]
[return: NativeTypeName("ULONG")]
public uint Release()
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, uint>)(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IDXGIObject.SetPrivateData" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(3)]
public HResult SetPrivateData(Guid* Name, uint DataSize, void* pData)
{
return ((delegate* unmanaged[Stdcall]<IDXGIAdapter*, Guid*, uint, void*, int>)(lpVtbl[3]))((IDXGIAdapter*)Unsafe.AsPointer(ref this), Name, DataSize, pData);
}
/// <inheritdoc cref="IDXGIObject.SetPrivateDataInterface" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(4)]
public HResult SetPrivateDataInterface(Guid* Name, IUnknown* pUnknown)
{
return ((delegate* unmanaged[Stdcall]<IDXGIAdapter*, Guid*, IUnknown*, int>)(lpVtbl[4]))((IDXGIAdapter*)Unsafe.AsPointer(ref this), Name, pUnknown);
}
/// <inheritdoc cref="IDXGIObject.GetPrivateData" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(5)]
public HResult GetPrivateData(Guid* Name, uint* pDataSize, void* pData)
{
return ((delegate* unmanaged[Stdcall]<IDXGIAdapter*, Guid*, uint*, void*, int>)(lpVtbl[5]))((IDXGIAdapter*)Unsafe.AsPointer(ref this), Name, pDataSize, pData);
}
/// <inheritdoc cref="IDXGIObject.GetParent" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(6)]
public HResult GetParent(Guid* riid, void** ppParent)
{
return ((delegate* unmanaged[Stdcall]<IDXGIAdapter*, Guid*, void**, int>)(lpVtbl[6]))((IDXGIAdapter*)Unsafe.AsPointer(ref this), riid, ppParent);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIAdapter::EnumOutputs"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(7)]
public HResult EnumOutputs(uint Output, IDXGIOutput** ppOutput)
{
return ((delegate* unmanaged[Stdcall]<IDXGIAdapter*, uint, IDXGIOutput**, int>)(lpVtbl[7]))((IDXGIAdapter*)Unsafe.AsPointer(ref this), Output, ppOutput);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIAdapter::GetDesc"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(8)]
public HResult GetDesc(AdapterDescription* pDesc)
{
return ((delegate* unmanaged[Stdcall]<IDXGIAdapter*, AdapterDescription*, int>)(lpVtbl[8]))((IDXGIAdapter*)Unsafe.AsPointer(ref this), pDesc);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIAdapter::CheckInterfaceSupport"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(9)]
public HResult CheckInterfaceSupport(Guid* InterfaceName, LargeInteger* pUMDVersion)
{
return ((delegate* unmanaged[Stdcall]<IDXGIAdapter*, Guid*, LargeInteger*, int>)(lpVtbl[9]))((IDXGIAdapter*)Unsafe.AsPointer(ref this), InterfaceName, pUMDVersion);
}
}

View File

@@ -0,0 +1,141 @@
// ------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
namespace Win32.Graphics.Dxgi;
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIAdapter1"]/*' />
/// <unmanaged>IDXGIAdapter1</unmanaged>
[Guid("29038f61-3839-4626-91fd-086879011a05")]
[NativeTypeName("struct IDXGIAdapter1 : IDXGIAdapter")]
[NativeInheritance("IDXGIAdapter")]
public unsafe partial struct IDXGIAdapter1 : INativeGuid
{
public static ref readonly Guid IID_IDXGIAdapter1
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
ReadOnlySpan<byte> data = new byte[] {
0x61, 0x8F, 0x03, 0x29,
0x39, 0x38,
0x26, 0x46,
0x91,
0xFD,
0x08,
0x68,
0x79,
0x01,
0x1A,
0x05
};
Debug.Assert(data.Length == Unsafe.SizeOf<Guid>());
return ref Unsafe.As<byte, Guid>(ref MemoryMarshal.GetReference(data));
}
}
#if NET6_0_OR_GREATER
static Guid* INativeGuid.NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_IDXGIAdapter1));
#else
public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_IDXGIAdapter1));
#endif
public void** lpVtbl;
/// <inheritdoc cref="IUnknown.QueryInterface" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(0)]
public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject)
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, Guid*, void**, int>)(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject);
}
/// <inheritdoc cref="IUnknown.AddRef" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(1)]
[return: NativeTypeName("ULONG")]
public uint AddRef()
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, uint>)(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IUnknown.Release" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(2)]
[return: NativeTypeName("ULONG")]
public uint Release()
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, uint>)(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IDXGIObject.SetPrivateData" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(3)]
public HResult SetPrivateData(Guid* Name, uint DataSize, void* pData)
{
return ((delegate* unmanaged[Stdcall]<IDXGIAdapter1*, Guid*, uint, void*, int>)(lpVtbl[3]))((IDXGIAdapter1*)Unsafe.AsPointer(ref this), Name, DataSize, pData);
}
/// <inheritdoc cref="IDXGIObject.SetPrivateDataInterface" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(4)]
public HResult SetPrivateDataInterface(Guid* Name, IUnknown* pUnknown)
{
return ((delegate* unmanaged[Stdcall]<IDXGIAdapter1*, Guid*, IUnknown*, int>)(lpVtbl[4]))((IDXGIAdapter1*)Unsafe.AsPointer(ref this), Name, pUnknown);
}
/// <inheritdoc cref="IDXGIObject.GetPrivateData" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(5)]
public HResult GetPrivateData(Guid* Name, uint* pDataSize, void* pData)
{
return ((delegate* unmanaged[Stdcall]<IDXGIAdapter1*, Guid*, uint*, void*, int>)(lpVtbl[5]))((IDXGIAdapter1*)Unsafe.AsPointer(ref this), Name, pDataSize, pData);
}
/// <inheritdoc cref="IDXGIObject.GetParent" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(6)]
public HResult GetParent(Guid* riid, void** ppParent)
{
return ((delegate* unmanaged[Stdcall]<IDXGIAdapter1*, Guid*, void**, int>)(lpVtbl[6]))((IDXGIAdapter1*)Unsafe.AsPointer(ref this), riid, ppParent);
}
/// <inheritdoc cref="IDXGIAdapter.EnumOutputs" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(7)]
public HResult EnumOutputs(uint Output, IDXGIOutput** ppOutput)
{
return ((delegate* unmanaged[Stdcall]<IDXGIAdapter1*, uint, IDXGIOutput**, int>)(lpVtbl[7]))((IDXGIAdapter1*)Unsafe.AsPointer(ref this), Output, ppOutput);
}
/// <inheritdoc cref="IDXGIAdapter.GetDesc" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(8)]
public HResult GetDesc(AdapterDescription* pDesc)
{
return ((delegate* unmanaged[Stdcall]<IDXGIAdapter1*, AdapterDescription*, int>)(lpVtbl[8]))((IDXGIAdapter1*)Unsafe.AsPointer(ref this), pDesc);
}
/// <inheritdoc cref="IDXGIAdapter.CheckInterfaceSupport" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(9)]
public HResult CheckInterfaceSupport(Guid* InterfaceName, LargeInteger* pUMDVersion)
{
return ((delegate* unmanaged[Stdcall]<IDXGIAdapter1*, Guid*, LargeInteger*, int>)(lpVtbl[9]))((IDXGIAdapter1*)Unsafe.AsPointer(ref this), InterfaceName, pUMDVersion);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIAdapter1::GetDesc1"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(10)]
public HResult GetDesc1(AdapterDescription1* pDesc)
{
return ((delegate* unmanaged[Stdcall]<IDXGIAdapter1*, AdapterDescription1*, int>)(lpVtbl[10]))((IDXGIAdapter1*)Unsafe.AsPointer(ref this), pDesc);
}
}

View File

@@ -0,0 +1,149 @@
// ------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
namespace Win32.Graphics.Dxgi;
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIAdapter2"]/*' />
/// <unmanaged>IDXGIAdapter2</unmanaged>
[Guid("0aa1ae0a-fa0e-4b84-8644-e05ff8e5acb5")]
[NativeTypeName("struct IDXGIAdapter2 : IDXGIAdapter1")]
[NativeInheritance("IDXGIAdapter1")]
public unsafe partial struct IDXGIAdapter2 : INativeGuid
{
public static ref readonly Guid IID_IDXGIAdapter2
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
ReadOnlySpan<byte> data = new byte[] {
0x0A, 0xAE, 0xA1, 0x0A,
0x0E, 0xFA,
0x84, 0x4B,
0x86,
0x44,
0xE0,
0x5F,
0xF8,
0xE5,
0xAC,
0xB5
};
Debug.Assert(data.Length == Unsafe.SizeOf<Guid>());
return ref Unsafe.As<byte, Guid>(ref MemoryMarshal.GetReference(data));
}
}
#if NET6_0_OR_GREATER
static Guid* INativeGuid.NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_IDXGIAdapter2));
#else
public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_IDXGIAdapter2));
#endif
public void** lpVtbl;
/// <inheritdoc cref="IUnknown.QueryInterface" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(0)]
public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject)
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, Guid*, void**, int>)(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject);
}
/// <inheritdoc cref="IUnknown.AddRef" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(1)]
[return: NativeTypeName("ULONG")]
public uint AddRef()
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, uint>)(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IUnknown.Release" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(2)]
[return: NativeTypeName("ULONG")]
public uint Release()
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, uint>)(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IDXGIObject.SetPrivateData" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(3)]
public HResult SetPrivateData(Guid* Name, uint DataSize, void* pData)
{
return ((delegate* unmanaged[Stdcall]<IDXGIAdapter2*, Guid*, uint, void*, int>)(lpVtbl[3]))((IDXGIAdapter2*)Unsafe.AsPointer(ref this), Name, DataSize, pData);
}
/// <inheritdoc cref="IDXGIObject.SetPrivateDataInterface" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(4)]
public HResult SetPrivateDataInterface(Guid* Name, IUnknown* pUnknown)
{
return ((delegate* unmanaged[Stdcall]<IDXGIAdapter2*, Guid*, IUnknown*, int>)(lpVtbl[4]))((IDXGIAdapter2*)Unsafe.AsPointer(ref this), Name, pUnknown);
}
/// <inheritdoc cref="IDXGIObject.GetPrivateData" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(5)]
public HResult GetPrivateData(Guid* Name, uint* pDataSize, void* pData)
{
return ((delegate* unmanaged[Stdcall]<IDXGIAdapter2*, Guid*, uint*, void*, int>)(lpVtbl[5]))((IDXGIAdapter2*)Unsafe.AsPointer(ref this), Name, pDataSize, pData);
}
/// <inheritdoc cref="IDXGIObject.GetParent" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(6)]
public HResult GetParent(Guid* riid, void** ppParent)
{
return ((delegate* unmanaged[Stdcall]<IDXGIAdapter2*, Guid*, void**, int>)(lpVtbl[6]))((IDXGIAdapter2*)Unsafe.AsPointer(ref this), riid, ppParent);
}
/// <inheritdoc cref="IDXGIAdapter.EnumOutputs" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(7)]
public HResult EnumOutputs(uint Output, IDXGIOutput** ppOutput)
{
return ((delegate* unmanaged[Stdcall]<IDXGIAdapter2*, uint, IDXGIOutput**, int>)(lpVtbl[7]))((IDXGIAdapter2*)Unsafe.AsPointer(ref this), Output, ppOutput);
}
/// <inheritdoc cref="IDXGIAdapter.GetDesc" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(8)]
public HResult GetDesc(AdapterDescription* pDesc)
{
return ((delegate* unmanaged[Stdcall]<IDXGIAdapter2*, AdapterDescription*, int>)(lpVtbl[8]))((IDXGIAdapter2*)Unsafe.AsPointer(ref this), pDesc);
}
/// <inheritdoc cref="IDXGIAdapter.CheckInterfaceSupport" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(9)]
public HResult CheckInterfaceSupport(Guid* InterfaceName, LargeInteger* pUMDVersion)
{
return ((delegate* unmanaged[Stdcall]<IDXGIAdapter2*, Guid*, LargeInteger*, int>)(lpVtbl[9]))((IDXGIAdapter2*)Unsafe.AsPointer(ref this), InterfaceName, pUMDVersion);
}
/// <inheritdoc cref="IDXGIAdapter1.GetDesc1" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(10)]
public HResult GetDesc1(AdapterDescription1* pDesc)
{
return ((delegate* unmanaged[Stdcall]<IDXGIAdapter2*, AdapterDescription1*, int>)(lpVtbl[10]))((IDXGIAdapter2*)Unsafe.AsPointer(ref this), pDesc);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIAdapter2::GetDesc2"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(11)]
public HResult GetDesc2(AdapterDescription2* pDesc)
{
return ((delegate* unmanaged[Stdcall]<IDXGIAdapter2*, AdapterDescription2*, int>)(lpVtbl[11]))((IDXGIAdapter2*)Unsafe.AsPointer(ref this), pDesc);
}
}

View File

@@ -0,0 +1,197 @@
// ------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
namespace Win32.Graphics.Dxgi;
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIAdapter3"]/*' />
/// <unmanaged>IDXGIAdapter3</unmanaged>
[Guid("645967a4-1392-4310-a798-8053ce3e93fd")]
[NativeTypeName("struct IDXGIAdapter3 : IDXGIAdapter2")]
[NativeInheritance("IDXGIAdapter2")]
public unsafe partial struct IDXGIAdapter3 : INativeGuid
{
public static ref readonly Guid IID_IDXGIAdapter3
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
ReadOnlySpan<byte> data = new byte[] {
0xA4, 0x67, 0x59, 0x64,
0x92, 0x13,
0x10, 0x43,
0xA7,
0x98,
0x80,
0x53,
0xCE,
0x3E,
0x93,
0xFD
};
Debug.Assert(data.Length == Unsafe.SizeOf<Guid>());
return ref Unsafe.As<byte, Guid>(ref MemoryMarshal.GetReference(data));
}
}
#if NET6_0_OR_GREATER
static Guid* INativeGuid.NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_IDXGIAdapter3));
#else
public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_IDXGIAdapter3));
#endif
public void** lpVtbl;
/// <inheritdoc cref="IUnknown.QueryInterface" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(0)]
public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject)
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, Guid*, void**, int>)(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject);
}
/// <inheritdoc cref="IUnknown.AddRef" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(1)]
[return: NativeTypeName("ULONG")]
public uint AddRef()
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, uint>)(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IUnknown.Release" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(2)]
[return: NativeTypeName("ULONG")]
public uint Release()
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, uint>)(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IDXGIObject.SetPrivateData" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(3)]
public HResult SetPrivateData(Guid* Name, uint DataSize, void* pData)
{
return ((delegate* unmanaged[Stdcall]<IDXGIAdapter3*, Guid*, uint, void*, int>)(lpVtbl[3]))((IDXGIAdapter3*)Unsafe.AsPointer(ref this), Name, DataSize, pData);
}
/// <inheritdoc cref="IDXGIObject.SetPrivateDataInterface" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(4)]
public HResult SetPrivateDataInterface(Guid* Name, IUnknown* pUnknown)
{
return ((delegate* unmanaged[Stdcall]<IDXGIAdapter3*, Guid*, IUnknown*, int>)(lpVtbl[4]))((IDXGIAdapter3*)Unsafe.AsPointer(ref this), Name, pUnknown);
}
/// <inheritdoc cref="IDXGIObject.GetPrivateData" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(5)]
public HResult GetPrivateData(Guid* Name, uint* pDataSize, void* pData)
{
return ((delegate* unmanaged[Stdcall]<IDXGIAdapter3*, Guid*, uint*, void*, int>)(lpVtbl[5]))((IDXGIAdapter3*)Unsafe.AsPointer(ref this), Name, pDataSize, pData);
}
/// <inheritdoc cref="IDXGIObject.GetParent" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(6)]
public HResult GetParent(Guid* riid, void** ppParent)
{
return ((delegate* unmanaged[Stdcall]<IDXGIAdapter3*, Guid*, void**, int>)(lpVtbl[6]))((IDXGIAdapter3*)Unsafe.AsPointer(ref this), riid, ppParent);
}
/// <inheritdoc cref="IDXGIAdapter.EnumOutputs" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(7)]
public HResult EnumOutputs(uint Output, IDXGIOutput** ppOutput)
{
return ((delegate* unmanaged[Stdcall]<IDXGIAdapter3*, uint, IDXGIOutput**, int>)(lpVtbl[7]))((IDXGIAdapter3*)Unsafe.AsPointer(ref this), Output, ppOutput);
}
/// <inheritdoc cref="IDXGIAdapter.GetDesc" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(8)]
public HResult GetDesc(AdapterDescription* pDesc)
{
return ((delegate* unmanaged[Stdcall]<IDXGIAdapter3*, AdapterDescription*, int>)(lpVtbl[8]))((IDXGIAdapter3*)Unsafe.AsPointer(ref this), pDesc);
}
/// <inheritdoc cref="IDXGIAdapter.CheckInterfaceSupport" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(9)]
public HResult CheckInterfaceSupport(Guid* InterfaceName, LargeInteger* pUMDVersion)
{
return ((delegate* unmanaged[Stdcall]<IDXGIAdapter3*, Guid*, LargeInteger*, int>)(lpVtbl[9]))((IDXGIAdapter3*)Unsafe.AsPointer(ref this), InterfaceName, pUMDVersion);
}
/// <inheritdoc cref="IDXGIAdapter1.GetDesc1" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(10)]
public HResult GetDesc1(AdapterDescription1* pDesc)
{
return ((delegate* unmanaged[Stdcall]<IDXGIAdapter3*, AdapterDescription1*, int>)(lpVtbl[10]))((IDXGIAdapter3*)Unsafe.AsPointer(ref this), pDesc);
}
/// <inheritdoc cref="IDXGIAdapter2.GetDesc2" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(11)]
public HResult GetDesc2(AdapterDescription2* pDesc)
{
return ((delegate* unmanaged[Stdcall]<IDXGIAdapter3*, AdapterDescription2*, int>)(lpVtbl[11]))((IDXGIAdapter3*)Unsafe.AsPointer(ref this), pDesc);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIAdapter3::RegisterHardwareContentProtectionTeardownStatusEvent"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(12)]
public HResult RegisterHardwareContentProtectionTeardownStatusEvent(Handle hEvent, uint* pdwCookie)
{
return ((delegate* unmanaged[Stdcall]<IDXGIAdapter3*, Handle, uint*, int>)(lpVtbl[12]))((IDXGIAdapter3*)Unsafe.AsPointer(ref this), hEvent, pdwCookie);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIAdapter3::UnregisterHardwareContentProtectionTeardownStatus"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(13)]
public void UnregisterHardwareContentProtectionTeardownStatus(uint dwCookie)
{
((delegate* unmanaged[Stdcall]<IDXGIAdapter3*, uint, void>)(lpVtbl[13]))((IDXGIAdapter3*)Unsafe.AsPointer(ref this), dwCookie);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIAdapter3::QueryVideoMemoryInfo"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(14)]
public HResult QueryVideoMemoryInfo(uint NodeIndex, MemorySegmentGroup MemorySegmentGroup, QueryVideoMemoryInfo* pVideoMemoryInfo)
{
return ((delegate* unmanaged[Stdcall]<IDXGIAdapter3*, uint, MemorySegmentGroup, QueryVideoMemoryInfo*, int>)(lpVtbl[14]))((IDXGIAdapter3*)Unsafe.AsPointer(ref this), NodeIndex, MemorySegmentGroup, pVideoMemoryInfo);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIAdapter3::SetVideoMemoryReservation"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(15)]
public HResult SetVideoMemoryReservation(uint NodeIndex, MemorySegmentGroup MemorySegmentGroup, ulong Reservation)
{
return ((delegate* unmanaged[Stdcall]<IDXGIAdapter3*, uint, MemorySegmentGroup, ulong, int>)(lpVtbl[15]))((IDXGIAdapter3*)Unsafe.AsPointer(ref this), NodeIndex, MemorySegmentGroup, Reservation);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIAdapter3::RegisterVideoMemoryBudgetChangeNotificationEvent"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(16)]
public HResult RegisterVideoMemoryBudgetChangeNotificationEvent(Handle hEvent, uint* pdwCookie)
{
return ((delegate* unmanaged[Stdcall]<IDXGIAdapter3*, Handle, uint*, int>)(lpVtbl[16]))((IDXGIAdapter3*)Unsafe.AsPointer(ref this), hEvent, pdwCookie);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIAdapter3::UnregisterVideoMemoryBudgetChangeNotification"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(17)]
public void UnregisterVideoMemoryBudgetChangeNotification(uint dwCookie)
{
((delegate* unmanaged[Stdcall]<IDXGIAdapter3*, uint, void>)(lpVtbl[17]))((IDXGIAdapter3*)Unsafe.AsPointer(ref this), dwCookie);
}
}

View File

@@ -0,0 +1,205 @@
// ------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
namespace Win32.Graphics.Dxgi;
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIAdapter4"]/*' />
/// <unmanaged>IDXGIAdapter4</unmanaged>
[Guid("3c8d99d1-4fbf-4181-a82c-af66bf7bd24e")]
[NativeTypeName("struct IDXGIAdapter4 : IDXGIAdapter3")]
[NativeInheritance("IDXGIAdapter3")]
public unsafe partial struct IDXGIAdapter4 : INativeGuid
{
public static ref readonly Guid IID_IDXGIAdapter4
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
ReadOnlySpan<byte> data = new byte[] {
0xD1, 0x99, 0x8D, 0x3C,
0xBF, 0x4F,
0x81, 0x41,
0xA8,
0x2C,
0xAF,
0x66,
0xBF,
0x7B,
0xD2,
0x4E
};
Debug.Assert(data.Length == Unsafe.SizeOf<Guid>());
return ref Unsafe.As<byte, Guid>(ref MemoryMarshal.GetReference(data));
}
}
#if NET6_0_OR_GREATER
static Guid* INativeGuid.NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_IDXGIAdapter4));
#else
public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_IDXGIAdapter4));
#endif
public void** lpVtbl;
/// <inheritdoc cref="IUnknown.QueryInterface" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(0)]
public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject)
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, Guid*, void**, int>)(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject);
}
/// <inheritdoc cref="IUnknown.AddRef" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(1)]
[return: NativeTypeName("ULONG")]
public uint AddRef()
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, uint>)(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IUnknown.Release" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(2)]
[return: NativeTypeName("ULONG")]
public uint Release()
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, uint>)(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IDXGIObject.SetPrivateData" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(3)]
public HResult SetPrivateData(Guid* Name, uint DataSize, void* pData)
{
return ((delegate* unmanaged[Stdcall]<IDXGIAdapter4*, Guid*, uint, void*, int>)(lpVtbl[3]))((IDXGIAdapter4*)Unsafe.AsPointer(ref this), Name, DataSize, pData);
}
/// <inheritdoc cref="IDXGIObject.SetPrivateDataInterface" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(4)]
public HResult SetPrivateDataInterface(Guid* Name, IUnknown* pUnknown)
{
return ((delegate* unmanaged[Stdcall]<IDXGIAdapter4*, Guid*, IUnknown*, int>)(lpVtbl[4]))((IDXGIAdapter4*)Unsafe.AsPointer(ref this), Name, pUnknown);
}
/// <inheritdoc cref="IDXGIObject.GetPrivateData" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(5)]
public HResult GetPrivateData(Guid* Name, uint* pDataSize, void* pData)
{
return ((delegate* unmanaged[Stdcall]<IDXGIAdapter4*, Guid*, uint*, void*, int>)(lpVtbl[5]))((IDXGIAdapter4*)Unsafe.AsPointer(ref this), Name, pDataSize, pData);
}
/// <inheritdoc cref="IDXGIObject.GetParent" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(6)]
public HResult GetParent(Guid* riid, void** ppParent)
{
return ((delegate* unmanaged[Stdcall]<IDXGIAdapter4*, Guid*, void**, int>)(lpVtbl[6]))((IDXGIAdapter4*)Unsafe.AsPointer(ref this), riid, ppParent);
}
/// <inheritdoc cref="IDXGIAdapter.EnumOutputs" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(7)]
public HResult EnumOutputs(uint Output, IDXGIOutput** ppOutput)
{
return ((delegate* unmanaged[Stdcall]<IDXGIAdapter4*, uint, IDXGIOutput**, int>)(lpVtbl[7]))((IDXGIAdapter4*)Unsafe.AsPointer(ref this), Output, ppOutput);
}
/// <inheritdoc cref="IDXGIAdapter.GetDesc" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(8)]
public HResult GetDesc(AdapterDescription* pDesc)
{
return ((delegate* unmanaged[Stdcall]<IDXGIAdapter4*, AdapterDescription*, int>)(lpVtbl[8]))((IDXGIAdapter4*)Unsafe.AsPointer(ref this), pDesc);
}
/// <inheritdoc cref="IDXGIAdapter.CheckInterfaceSupport" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(9)]
public HResult CheckInterfaceSupport(Guid* InterfaceName, LargeInteger* pUMDVersion)
{
return ((delegate* unmanaged[Stdcall]<IDXGIAdapter4*, Guid*, LargeInteger*, int>)(lpVtbl[9]))((IDXGIAdapter4*)Unsafe.AsPointer(ref this), InterfaceName, pUMDVersion);
}
/// <inheritdoc cref="IDXGIAdapter1.GetDesc1" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(10)]
public HResult GetDesc1(AdapterDescription1* pDesc)
{
return ((delegate* unmanaged[Stdcall]<IDXGIAdapter4*, AdapterDescription1*, int>)(lpVtbl[10]))((IDXGIAdapter4*)Unsafe.AsPointer(ref this), pDesc);
}
/// <inheritdoc cref="IDXGIAdapter2.GetDesc2" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(11)]
public HResult GetDesc2(AdapterDescription2* pDesc)
{
return ((delegate* unmanaged[Stdcall]<IDXGIAdapter4*, AdapterDescription2*, int>)(lpVtbl[11]))((IDXGIAdapter4*)Unsafe.AsPointer(ref this), pDesc);
}
/// <inheritdoc cref="IDXGIAdapter3.RegisterHardwareContentProtectionTeardownStatusEvent" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(12)]
public HResult RegisterHardwareContentProtectionTeardownStatusEvent(Handle hEvent, uint* pdwCookie)
{
return ((delegate* unmanaged[Stdcall]<IDXGIAdapter4*, Handle, uint*, int>)(lpVtbl[12]))((IDXGIAdapter4*)Unsafe.AsPointer(ref this), hEvent, pdwCookie);
}
/// <inheritdoc cref="IDXGIAdapter3.UnregisterHardwareContentProtectionTeardownStatus" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(13)]
public void UnregisterHardwareContentProtectionTeardownStatus(uint dwCookie)
{
((delegate* unmanaged[Stdcall]<IDXGIAdapter4*, uint, void>)(lpVtbl[13]))((IDXGIAdapter4*)Unsafe.AsPointer(ref this), dwCookie);
}
/// <inheritdoc cref="IDXGIAdapter3.QueryVideoMemoryInfo" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(14)]
public HResult QueryVideoMemoryInfo(uint NodeIndex, MemorySegmentGroup MemorySegmentGroup, QueryVideoMemoryInfo* pVideoMemoryInfo)
{
return ((delegate* unmanaged[Stdcall]<IDXGIAdapter4*, uint, MemorySegmentGroup, QueryVideoMemoryInfo*, int>)(lpVtbl[14]))((IDXGIAdapter4*)Unsafe.AsPointer(ref this), NodeIndex, MemorySegmentGroup, pVideoMemoryInfo);
}
/// <inheritdoc cref="IDXGIAdapter3.SetVideoMemoryReservation" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(15)]
public HResult SetVideoMemoryReservation(uint NodeIndex, MemorySegmentGroup MemorySegmentGroup, ulong Reservation)
{
return ((delegate* unmanaged[Stdcall]<IDXGIAdapter4*, uint, MemorySegmentGroup, ulong, int>)(lpVtbl[15]))((IDXGIAdapter4*)Unsafe.AsPointer(ref this), NodeIndex, MemorySegmentGroup, Reservation);
}
/// <inheritdoc cref="IDXGIAdapter3.RegisterVideoMemoryBudgetChangeNotificationEvent" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(16)]
public HResult RegisterVideoMemoryBudgetChangeNotificationEvent(Handle hEvent, uint* pdwCookie)
{
return ((delegate* unmanaged[Stdcall]<IDXGIAdapter4*, Handle, uint*, int>)(lpVtbl[16]))((IDXGIAdapter4*)Unsafe.AsPointer(ref this), hEvent, pdwCookie);
}
/// <inheritdoc cref="IDXGIAdapter3.UnregisterVideoMemoryBudgetChangeNotification" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(17)]
public void UnregisterVideoMemoryBudgetChangeNotification(uint dwCookie)
{
((delegate* unmanaged[Stdcall]<IDXGIAdapter4*, uint, void>)(lpVtbl[17]))((IDXGIAdapter4*)Unsafe.AsPointer(ref this), dwCookie);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIAdapter4::GetDesc3"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(18)]
public HResult GetDesc3(AdapterDescription3* pDesc)
{
return ((delegate* unmanaged[Stdcall]<IDXGIAdapter4*, AdapterDescription3*, int>)(lpVtbl[18]))((IDXGIAdapter4*)Unsafe.AsPointer(ref this), pDesc);
}
}

View File

@@ -0,0 +1,85 @@
// ------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
namespace Win32.Graphics.Dxgi;
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIDebug"]/*' />
/// <unmanaged>IDXGIDebug</unmanaged>
[Guid("119e7452-de9e-40fe-8806-88f90c12b441")]
[NativeTypeName("struct IDXGIDebug : IUnknown")]
[NativeInheritance("IUnknown")]
public unsafe partial struct IDXGIDebug : INativeGuid
{
public static ref readonly Guid IID_IDXGIDebug
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
ReadOnlySpan<byte> data = new byte[] {
0x52, 0x74, 0x9E, 0x11,
0x9E, 0xDE,
0xFE, 0x40,
0x88,
0x06,
0x88,
0xF9,
0x0C,
0x12,
0xB4,
0x41
};
Debug.Assert(data.Length == Unsafe.SizeOf<Guid>());
return ref Unsafe.As<byte, Guid>(ref MemoryMarshal.GetReference(data));
}
}
#if NET6_0_OR_GREATER
static Guid* INativeGuid.NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_IDXGIDebug));
#else
public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_IDXGIDebug));
#endif
public void** lpVtbl;
/// <inheritdoc cref="IUnknown.QueryInterface" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(0)]
public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject)
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, Guid*, void**, int>)(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject);
}
/// <inheritdoc cref="IUnknown.AddRef" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(1)]
[return: NativeTypeName("ULONG")]
public uint AddRef()
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, uint>)(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IUnknown.Release" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(2)]
[return: NativeTypeName("ULONG")]
public uint Release()
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, uint>)(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this));
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIDebug::ReportLiveObjects"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(3)]
public HResult ReportLiveObjects(Guid apiid, ReportLiveObjectFlags flags)
{
return ((delegate* unmanaged[Stdcall]<IDXGIDebug*, Guid, ReportLiveObjectFlags, int>)(lpVtbl[3]))((IDXGIDebug*)Unsafe.AsPointer(ref this), apiid, flags);
}
}

View File

@@ -0,0 +1,109 @@
// ------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
namespace Win32.Graphics.Dxgi;
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIDebug1"]/*' />
/// <unmanaged>IDXGIDebug1</unmanaged>
[Guid("c5a05f0c-16f2-4adf-9f4d-a8c4d58ac550")]
[NativeTypeName("struct IDXGIDebug1 : IDXGIDebug")]
[NativeInheritance("IDXGIDebug")]
public unsafe partial struct IDXGIDebug1 : INativeGuid
{
public static ref readonly Guid IID_IDXGIDebug1
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
ReadOnlySpan<byte> data = new byte[] {
0x0C, 0x5F, 0xA0, 0xC5,
0xF2, 0x16,
0xDF, 0x4A,
0x9F,
0x4D,
0xA8,
0xC4,
0xD5,
0x8A,
0xC5,
0x50
};
Debug.Assert(data.Length == Unsafe.SizeOf<Guid>());
return ref Unsafe.As<byte, Guid>(ref MemoryMarshal.GetReference(data));
}
}
#if NET6_0_OR_GREATER
static Guid* INativeGuid.NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_IDXGIDebug1));
#else
public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_IDXGIDebug1));
#endif
public void** lpVtbl;
/// <inheritdoc cref="IUnknown.QueryInterface" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(0)]
public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject)
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, Guid*, void**, int>)(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject);
}
/// <inheritdoc cref="IUnknown.AddRef" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(1)]
[return: NativeTypeName("ULONG")]
public uint AddRef()
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, uint>)(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IUnknown.Release" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(2)]
[return: NativeTypeName("ULONG")]
public uint Release()
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, uint>)(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IDXGIDebug.ReportLiveObjects" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(3)]
public HResult ReportLiveObjects(Guid apiid, ReportLiveObjectFlags flags)
{
return ((delegate* unmanaged[Stdcall]<IDXGIDebug1*, Guid, ReportLiveObjectFlags, int>)(lpVtbl[3]))((IDXGIDebug1*)Unsafe.AsPointer(ref this), apiid, flags);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIDebug1::EnableLeakTrackingForThread"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(4)]
public void EnableLeakTrackingForThread()
{
((delegate* unmanaged[Stdcall]<IDXGIDebug1*, void>)(lpVtbl[4]))((IDXGIDebug1*)Unsafe.AsPointer(ref this));
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIDebug1::DisableLeakTrackingForThread"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(5)]
public void DisableLeakTrackingForThread()
{
((delegate* unmanaged[Stdcall]<IDXGIDebug1*, void>)(lpVtbl[5]))((IDXGIDebug1*)Unsafe.AsPointer(ref this));
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIDebug1::IsLeakTrackingEnabledForThread"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(6)]
public Bool32 IsLeakTrackingEnabledForThread()
{
return ((delegate* unmanaged[Stdcall]<IDXGIDebug1*, Bool32>)(lpVtbl[6]))((IDXGIDebug1*)Unsafe.AsPointer(ref this));
}
}

View File

@@ -0,0 +1,149 @@
// ------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
namespace Win32.Graphics.Dxgi;
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIDecodeSwapChain"]/*' />
/// <unmanaged>IDXGIDecodeSwapChain</unmanaged>
[Guid("2633066b-4514-4c7a-8fd8-12ea98059d18")]
[NativeTypeName("struct IDXGIDecodeSwapChain : IUnknown")]
[NativeInheritance("IUnknown")]
public unsafe partial struct IDXGIDecodeSwapChain : INativeGuid
{
public static ref readonly Guid IID_IDXGIDecodeSwapChain
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
ReadOnlySpan<byte> data = new byte[] {
0x6B, 0x06, 0x33, 0x26,
0x14, 0x45,
0x7A, 0x4C,
0x8F,
0xD8,
0x12,
0xEA,
0x98,
0x05,
0x9D,
0x18
};
Debug.Assert(data.Length == Unsafe.SizeOf<Guid>());
return ref Unsafe.As<byte, Guid>(ref MemoryMarshal.GetReference(data));
}
}
#if NET6_0_OR_GREATER
static Guid* INativeGuid.NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_IDXGIDecodeSwapChain));
#else
public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_IDXGIDecodeSwapChain));
#endif
public void** lpVtbl;
/// <inheritdoc cref="IUnknown.QueryInterface" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(0)]
public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject)
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, Guid*, void**, int>)(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject);
}
/// <inheritdoc cref="IUnknown.AddRef" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(1)]
[return: NativeTypeName("ULONG")]
public uint AddRef()
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, uint>)(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IUnknown.Release" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(2)]
[return: NativeTypeName("ULONG")]
public uint Release()
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, uint>)(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this));
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIDecodeSwapChain::PresentBuffer"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(3)]
public HResult PresentBuffer(uint BufferToPresent, uint SyncInterval, uint Flags)
{
return ((delegate* unmanaged[Stdcall]<IDXGIDecodeSwapChain*, uint, uint, uint, int>)(lpVtbl[3]))((IDXGIDecodeSwapChain*)Unsafe.AsPointer(ref this), BufferToPresent, SyncInterval, Flags);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIDecodeSwapChain::SetSourceRect"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(4)]
public HResult SetSourceRect(RawRect* pRect)
{
return ((delegate* unmanaged[Stdcall]<IDXGIDecodeSwapChain*, RawRect*, int>)(lpVtbl[4]))((IDXGIDecodeSwapChain*)Unsafe.AsPointer(ref this), pRect);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIDecodeSwapChain::SetTargetRect"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(5)]
public HResult SetTargetRect(RawRect* pRect)
{
return ((delegate* unmanaged[Stdcall]<IDXGIDecodeSwapChain*, RawRect*, int>)(lpVtbl[5]))((IDXGIDecodeSwapChain*)Unsafe.AsPointer(ref this), pRect);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIDecodeSwapChain::SetDestSize"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(6)]
public HResult SetDestSize(uint Width, uint Height)
{
return ((delegate* unmanaged[Stdcall]<IDXGIDecodeSwapChain*, uint, uint, int>)(lpVtbl[6]))((IDXGIDecodeSwapChain*)Unsafe.AsPointer(ref this), Width, Height);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIDecodeSwapChain::GetSourceRect"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(7)]
public HResult GetSourceRect(RawRect* pRect)
{
return ((delegate* unmanaged[Stdcall]<IDXGIDecodeSwapChain*, RawRect*, int>)(lpVtbl[7]))((IDXGIDecodeSwapChain*)Unsafe.AsPointer(ref this), pRect);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIDecodeSwapChain::GetTargetRect"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(8)]
public HResult GetTargetRect(RawRect* pRect)
{
return ((delegate* unmanaged[Stdcall]<IDXGIDecodeSwapChain*, RawRect*, int>)(lpVtbl[8]))((IDXGIDecodeSwapChain*)Unsafe.AsPointer(ref this), pRect);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIDecodeSwapChain::GetDestSize"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(9)]
public HResult GetDestSize(uint* pWidth, uint* pHeight)
{
return ((delegate* unmanaged[Stdcall]<IDXGIDecodeSwapChain*, uint*, uint*, int>)(lpVtbl[9]))((IDXGIDecodeSwapChain*)Unsafe.AsPointer(ref this), pWidth, pHeight);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIDecodeSwapChain::SetColorSpace"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(10)]
public HResult SetColorSpace(MultiplaneOverlayYcbcrFlags ColorSpace)
{
return ((delegate* unmanaged[Stdcall]<IDXGIDecodeSwapChain*, MultiplaneOverlayYcbcrFlags, int>)(lpVtbl[10]))((IDXGIDecodeSwapChain*)Unsafe.AsPointer(ref this), ColorSpace);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIDecodeSwapChain::GetColorSpace"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(11)]
public MultiplaneOverlayYcbcrFlags GetColorSpace()
{
return ((delegate* unmanaged[Stdcall]<IDXGIDecodeSwapChain*, MultiplaneOverlayYcbcrFlags>)(lpVtbl[11]))((IDXGIDecodeSwapChain*)Unsafe.AsPointer(ref this));
}
}

View File

@@ -0,0 +1,149 @@
// ------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
namespace Win32.Graphics.Dxgi;
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIDevice"]/*' />
/// <unmanaged>IDXGIDevice</unmanaged>
[Guid("54ec77fa-1377-44e6-8c32-88fd5f44c84c")]
[NativeTypeName("struct IDXGIDevice : IDXGIObject")]
[NativeInheritance("IDXGIObject")]
public unsafe partial struct IDXGIDevice : INativeGuid
{
public static ref readonly Guid IID_IDXGIDevice
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
ReadOnlySpan<byte> data = new byte[] {
0xFA, 0x77, 0xEC, 0x54,
0x77, 0x13,
0xE6, 0x44,
0x8C,
0x32,
0x88,
0xFD,
0x5F,
0x44,
0xC8,
0x4C
};
Debug.Assert(data.Length == Unsafe.SizeOf<Guid>());
return ref Unsafe.As<byte, Guid>(ref MemoryMarshal.GetReference(data));
}
}
#if NET6_0_OR_GREATER
static Guid* INativeGuid.NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_IDXGIDevice));
#else
public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_IDXGIDevice));
#endif
public void** lpVtbl;
/// <inheritdoc cref="IUnknown.QueryInterface" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(0)]
public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject)
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, Guid*, void**, int>)(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject);
}
/// <inheritdoc cref="IUnknown.AddRef" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(1)]
[return: NativeTypeName("ULONG")]
public uint AddRef()
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, uint>)(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IUnknown.Release" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(2)]
[return: NativeTypeName("ULONG")]
public uint Release()
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, uint>)(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IDXGIObject.SetPrivateData" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(3)]
public HResult SetPrivateData(Guid* Name, uint DataSize, void* pData)
{
return ((delegate* unmanaged[Stdcall]<IDXGIDevice*, Guid*, uint, void*, int>)(lpVtbl[3]))((IDXGIDevice*)Unsafe.AsPointer(ref this), Name, DataSize, pData);
}
/// <inheritdoc cref="IDXGIObject.SetPrivateDataInterface" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(4)]
public HResult SetPrivateDataInterface(Guid* Name, IUnknown* pUnknown)
{
return ((delegate* unmanaged[Stdcall]<IDXGIDevice*, Guid*, IUnknown*, int>)(lpVtbl[4]))((IDXGIDevice*)Unsafe.AsPointer(ref this), Name, pUnknown);
}
/// <inheritdoc cref="IDXGIObject.GetPrivateData" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(5)]
public HResult GetPrivateData(Guid* Name, uint* pDataSize, void* pData)
{
return ((delegate* unmanaged[Stdcall]<IDXGIDevice*, Guid*, uint*, void*, int>)(lpVtbl[5]))((IDXGIDevice*)Unsafe.AsPointer(ref this), Name, pDataSize, pData);
}
/// <inheritdoc cref="IDXGIObject.GetParent" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(6)]
public HResult GetParent(Guid* riid, void** ppParent)
{
return ((delegate* unmanaged[Stdcall]<IDXGIDevice*, Guid*, void**, int>)(lpVtbl[6]))((IDXGIDevice*)Unsafe.AsPointer(ref this), riid, ppParent);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIDevice::GetAdapter"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(7)]
public HResult GetAdapter(IDXGIAdapter** pAdapter)
{
return ((delegate* unmanaged[Stdcall]<IDXGIDevice*, IDXGIAdapter**, int>)(lpVtbl[7]))((IDXGIDevice*)Unsafe.AsPointer(ref this), pAdapter);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIDevice::CreateSurface"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(8)]
public HResult CreateSurface(SurfaceDescription* pDesc, uint NumSurfaces, Usage Usage, SharedResource* pSharedResource, IDXGISurface** ppSurface)
{
return ((delegate* unmanaged[Stdcall]<IDXGIDevice*, SurfaceDescription*, uint, Usage, SharedResource*, IDXGISurface**, int>)(lpVtbl[8]))((IDXGIDevice*)Unsafe.AsPointer(ref this), pDesc, NumSurfaces, Usage, pSharedResource, ppSurface);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIDevice::QueryResourceResidency"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(9)]
public HResult QueryResourceResidency(IUnknown** ppResources, Residency* pResidencyStatus, uint NumResources)
{
return ((delegate* unmanaged[Stdcall]<IDXGIDevice*, IUnknown**, Residency*, uint, int>)(lpVtbl[9]))((IDXGIDevice*)Unsafe.AsPointer(ref this), ppResources, pResidencyStatus, NumResources);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIDevice::SetGPUThreadPriority"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(10)]
public HResult SetGPUThreadPriority(int Priority)
{
return ((delegate* unmanaged[Stdcall]<IDXGIDevice*, int, int>)(lpVtbl[10]))((IDXGIDevice*)Unsafe.AsPointer(ref this), Priority);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIDevice::GetGPUThreadPriority"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(11)]
public HResult GetGPUThreadPriority(int* pPriority)
{
return ((delegate* unmanaged[Stdcall]<IDXGIDevice*, int*, int>)(lpVtbl[11]))((IDXGIDevice*)Unsafe.AsPointer(ref this), pPriority);
}
}

View File

@@ -0,0 +1,165 @@
// ------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
namespace Win32.Graphics.Dxgi;
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIDevice1"]/*' />
/// <unmanaged>IDXGIDevice1</unmanaged>
[Guid("77db970f-6276-48ba-ba28-070143b4392c")]
[NativeTypeName("struct IDXGIDevice1 : IDXGIDevice")]
[NativeInheritance("IDXGIDevice")]
public unsafe partial struct IDXGIDevice1 : INativeGuid
{
public static ref readonly Guid IID_IDXGIDevice1
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
ReadOnlySpan<byte> data = new byte[] {
0x0F, 0x97, 0xDB, 0x77,
0x76, 0x62,
0xBA, 0x48,
0xBA,
0x28,
0x07,
0x01,
0x43,
0xB4,
0x39,
0x2C
};
Debug.Assert(data.Length == Unsafe.SizeOf<Guid>());
return ref Unsafe.As<byte, Guid>(ref MemoryMarshal.GetReference(data));
}
}
#if NET6_0_OR_GREATER
static Guid* INativeGuid.NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_IDXGIDevice1));
#else
public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_IDXGIDevice1));
#endif
public void** lpVtbl;
/// <inheritdoc cref="IUnknown.QueryInterface" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(0)]
public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject)
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, Guid*, void**, int>)(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject);
}
/// <inheritdoc cref="IUnknown.AddRef" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(1)]
[return: NativeTypeName("ULONG")]
public uint AddRef()
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, uint>)(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IUnknown.Release" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(2)]
[return: NativeTypeName("ULONG")]
public uint Release()
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, uint>)(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IDXGIObject.SetPrivateData" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(3)]
public HResult SetPrivateData(Guid* Name, uint DataSize, void* pData)
{
return ((delegate* unmanaged[Stdcall]<IDXGIDevice1*, Guid*, uint, void*, int>)(lpVtbl[3]))((IDXGIDevice1*)Unsafe.AsPointer(ref this), Name, DataSize, pData);
}
/// <inheritdoc cref="IDXGIObject.SetPrivateDataInterface" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(4)]
public HResult SetPrivateDataInterface(Guid* Name, IUnknown* pUnknown)
{
return ((delegate* unmanaged[Stdcall]<IDXGIDevice1*, Guid*, IUnknown*, int>)(lpVtbl[4]))((IDXGIDevice1*)Unsafe.AsPointer(ref this), Name, pUnknown);
}
/// <inheritdoc cref="IDXGIObject.GetPrivateData" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(5)]
public HResult GetPrivateData(Guid* Name, uint* pDataSize, void* pData)
{
return ((delegate* unmanaged[Stdcall]<IDXGIDevice1*, Guid*, uint*, void*, int>)(lpVtbl[5]))((IDXGIDevice1*)Unsafe.AsPointer(ref this), Name, pDataSize, pData);
}
/// <inheritdoc cref="IDXGIObject.GetParent" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(6)]
public HResult GetParent(Guid* riid, void** ppParent)
{
return ((delegate* unmanaged[Stdcall]<IDXGIDevice1*, Guid*, void**, int>)(lpVtbl[6]))((IDXGIDevice1*)Unsafe.AsPointer(ref this), riid, ppParent);
}
/// <inheritdoc cref="IDXGIDevice.GetAdapter" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(7)]
public HResult GetAdapter(IDXGIAdapter** pAdapter)
{
return ((delegate* unmanaged[Stdcall]<IDXGIDevice1*, IDXGIAdapter**, int>)(lpVtbl[7]))((IDXGIDevice1*)Unsafe.AsPointer(ref this), pAdapter);
}
/// <inheritdoc cref="IDXGIDevice.CreateSurface" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(8)]
public HResult CreateSurface(SurfaceDescription* pDesc, uint NumSurfaces, uint Usage, SharedResource* pSharedResource, IDXGISurface** ppSurface)
{
return ((delegate* unmanaged[Stdcall]<IDXGIDevice1*, SurfaceDescription*, uint, uint, SharedResource*, IDXGISurface**, int>)(lpVtbl[8]))((IDXGIDevice1*)Unsafe.AsPointer(ref this), pDesc, NumSurfaces, Usage, pSharedResource, ppSurface);
}
/// <inheritdoc cref="IDXGIDevice.QueryResourceResidency" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(9)]
public HResult QueryResourceResidency(IUnknown** ppResources, Residency* pResidencyStatus, uint NumResources)
{
return ((delegate* unmanaged[Stdcall]<IDXGIDevice1*, IUnknown**, Residency*, uint, int>)(lpVtbl[9]))((IDXGIDevice1*)Unsafe.AsPointer(ref this), ppResources, pResidencyStatus, NumResources);
}
/// <inheritdoc cref="IDXGIDevice.SetGPUThreadPriority" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(10)]
public HResult SetGPUThreadPriority(int Priority)
{
return ((delegate* unmanaged[Stdcall]<IDXGIDevice1*, int, int>)(lpVtbl[10]))((IDXGIDevice1*)Unsafe.AsPointer(ref this), Priority);
}
/// <inheritdoc cref="IDXGIDevice.GetGPUThreadPriority" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(11)]
public HResult GetGPUThreadPriority(int* pPriority)
{
return ((delegate* unmanaged[Stdcall]<IDXGIDevice1*, int*, int>)(lpVtbl[11]))((IDXGIDevice1*)Unsafe.AsPointer(ref this), pPriority);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIDevice1::SetMaximumFrameLatency"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(12)]
public HResult SetMaximumFrameLatency(uint MaxLatency)
{
return ((delegate* unmanaged[Stdcall]<IDXGIDevice1*, uint, int>)(lpVtbl[12]))((IDXGIDevice1*)Unsafe.AsPointer(ref this), MaxLatency);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIDevice1::GetMaximumFrameLatency"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(13)]
public HResult GetMaximumFrameLatency(uint* pMaxLatency)
{
return ((delegate* unmanaged[Stdcall]<IDXGIDevice1*, uint*, int>)(lpVtbl[13]))((IDXGIDevice1*)Unsafe.AsPointer(ref this), pMaxLatency);
}
}

View File

@@ -0,0 +1,189 @@
// ------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
namespace Win32.Graphics.Dxgi;
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIDevice2"]/*' />
/// <unmanaged>IDXGIDevice2</unmanaged>
[Guid("05008617-fbfd-4051-a790-144884b4f6a9")]
[NativeTypeName("struct IDXGIDevice2 : IDXGIDevice1")]
[NativeInheritance("IDXGIDevice1")]
public unsafe partial struct IDXGIDevice2 : INativeGuid
{
public static ref readonly Guid IID_IDXGIDevice2
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
ReadOnlySpan<byte> data = new byte[] {
0x17, 0x86, 0x00, 0x05,
0xFD, 0xFB,
0x51, 0x40,
0xA7,
0x90,
0x14,
0x48,
0x84,
0xB4,
0xF6,
0xA9
};
Debug.Assert(data.Length == Unsafe.SizeOf<Guid>());
return ref Unsafe.As<byte, Guid>(ref MemoryMarshal.GetReference(data));
}
}
#if NET6_0_OR_GREATER
static Guid* INativeGuid.NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_IDXGIDevice2));
#else
public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_IDXGIDevice2));
#endif
public void** lpVtbl;
/// <inheritdoc cref="IUnknown.QueryInterface" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(0)]
public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject)
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, Guid*, void**, int>)(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject);
}
/// <inheritdoc cref="IUnknown.AddRef" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(1)]
[return: NativeTypeName("ULONG")]
public uint AddRef()
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, uint>)(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IUnknown.Release" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(2)]
[return: NativeTypeName("ULONG")]
public uint Release()
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, uint>)(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IDXGIObject.SetPrivateData" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(3)]
public HResult SetPrivateData(Guid* Name, uint DataSize, void* pData)
{
return ((delegate* unmanaged[Stdcall]<IDXGIDevice2*, Guid*, uint, void*, int>)(lpVtbl[3]))((IDXGIDevice2*)Unsafe.AsPointer(ref this), Name, DataSize, pData);
}
/// <inheritdoc cref="IDXGIObject.SetPrivateDataInterface" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(4)]
public HResult SetPrivateDataInterface(Guid* Name, IUnknown* pUnknown)
{
return ((delegate* unmanaged[Stdcall]<IDXGIDevice2*, Guid*, IUnknown*, int>)(lpVtbl[4]))((IDXGIDevice2*)Unsafe.AsPointer(ref this), Name, pUnknown);
}
/// <inheritdoc cref="IDXGIObject.GetPrivateData" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(5)]
public HResult GetPrivateData(Guid* Name, uint* pDataSize, void* pData)
{
return ((delegate* unmanaged[Stdcall]<IDXGIDevice2*, Guid*, uint*, void*, int>)(lpVtbl[5]))((IDXGIDevice2*)Unsafe.AsPointer(ref this), Name, pDataSize, pData);
}
/// <inheritdoc cref="IDXGIObject.GetParent" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(6)]
public HResult GetParent(Guid* riid, void** ppParent)
{
return ((delegate* unmanaged[Stdcall]<IDXGIDevice2*, Guid*, void**, int>)(lpVtbl[6]))((IDXGIDevice2*)Unsafe.AsPointer(ref this), riid, ppParent);
}
/// <inheritdoc cref="IDXGIDevice.GetAdapter" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(7)]
public HResult GetAdapter(IDXGIAdapter** pAdapter)
{
return ((delegate* unmanaged[Stdcall]<IDXGIDevice2*, IDXGIAdapter**, int>)(lpVtbl[7]))((IDXGIDevice2*)Unsafe.AsPointer(ref this), pAdapter);
}
/// <inheritdoc cref="IDXGIDevice.CreateSurface" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(8)]
public HResult CreateSurface(SurfaceDescription* pDesc, uint NumSurfaces, uint Usage, SharedResource* pSharedResource, IDXGISurface** ppSurface)
{
return ((delegate* unmanaged[Stdcall]<IDXGIDevice2*, SurfaceDescription*, uint, uint, SharedResource*, IDXGISurface**, int>)(lpVtbl[8]))((IDXGIDevice2*)Unsafe.AsPointer(ref this), pDesc, NumSurfaces, Usage, pSharedResource, ppSurface);
}
/// <inheritdoc cref="IDXGIDevice.QueryResourceResidency" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(9)]
public HResult QueryResourceResidency(IUnknown** ppResources, Residency* pResidencyStatus, uint NumResources)
{
return ((delegate* unmanaged[Stdcall]<IDXGIDevice2*, IUnknown**, Residency*, uint, int>)(lpVtbl[9]))((IDXGIDevice2*)Unsafe.AsPointer(ref this), ppResources, pResidencyStatus, NumResources);
}
/// <inheritdoc cref="IDXGIDevice.SetGPUThreadPriority" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(10)]
public HResult SetGPUThreadPriority(int Priority)
{
return ((delegate* unmanaged[Stdcall]<IDXGIDevice2*, int, int>)(lpVtbl[10]))((IDXGIDevice2*)Unsafe.AsPointer(ref this), Priority);
}
/// <inheritdoc cref="IDXGIDevice.GetGPUThreadPriority" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(11)]
public HResult GetGPUThreadPriority(int* pPriority)
{
return ((delegate* unmanaged[Stdcall]<IDXGIDevice2*, int*, int>)(lpVtbl[11]))((IDXGIDevice2*)Unsafe.AsPointer(ref this), pPriority);
}
/// <inheritdoc cref="IDXGIDevice1.SetMaximumFrameLatency" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(12)]
public HResult SetMaximumFrameLatency(uint MaxLatency)
{
return ((delegate* unmanaged[Stdcall]<IDXGIDevice2*, uint, int>)(lpVtbl[12]))((IDXGIDevice2*)Unsafe.AsPointer(ref this), MaxLatency);
}
/// <inheritdoc cref="IDXGIDevice1.GetMaximumFrameLatency" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(13)]
public HResult GetMaximumFrameLatency(uint* pMaxLatency)
{
return ((delegate* unmanaged[Stdcall]<IDXGIDevice2*, uint*, int>)(lpVtbl[13]))((IDXGIDevice2*)Unsafe.AsPointer(ref this), pMaxLatency);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIDevice2::OfferResources"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(14)]
public HResult OfferResources(uint NumResources, IDXGIResource** ppResources, OfferResourcePriority Priority)
{
return ((delegate* unmanaged[Stdcall]<IDXGIDevice2*, uint, IDXGIResource**, OfferResourcePriority, int>)(lpVtbl[14]))((IDXGIDevice2*)Unsafe.AsPointer(ref this), NumResources, ppResources, Priority);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIDevice2::ReclaimResources"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(15)]
public HResult ReclaimResources(uint NumResources, IDXGIResource** ppResources, Bool32* pDiscarded)
{
return ((delegate* unmanaged[Stdcall]<IDXGIDevice2*, uint, IDXGIResource**, Bool32*, int>)(lpVtbl[15]))((IDXGIDevice2*)Unsafe.AsPointer(ref this), NumResources, ppResources, pDiscarded);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIDevice2::EnqueueSetEvent"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(16)]
public HResult EnqueueSetEvent(Handle hEvent)
{
return ((delegate* unmanaged[Stdcall]<IDXGIDevice2*, Handle, int>)(lpVtbl[16]))((IDXGIDevice2*)Unsafe.AsPointer(ref this), hEvent);
}
}

View File

@@ -0,0 +1,197 @@
// ------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
namespace Win32.Graphics.Dxgi;
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIDevice3"]/*' />
/// <unmanaged>IDXGIDevice3</unmanaged>
[Guid("6007896c-3244-4afd-bf18-a6d3beda5023")]
[NativeTypeName("struct IDXGIDevice3 : IDXGIDevice2")]
[NativeInheritance("IDXGIDevice2")]
public unsafe partial struct IDXGIDevice3 : INativeGuid
{
public static ref readonly Guid IID_IDXGIDevice3
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
ReadOnlySpan<byte> data = new byte[] {
0x6C, 0x89, 0x07, 0x60,
0x44, 0x32,
0xFD, 0x4A,
0xBF,
0x18,
0xA6,
0xD3,
0xBE,
0xDA,
0x50,
0x23
};
Debug.Assert(data.Length == Unsafe.SizeOf<Guid>());
return ref Unsafe.As<byte, Guid>(ref MemoryMarshal.GetReference(data));
}
}
#if NET6_0_OR_GREATER
static Guid* INativeGuid.NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_IDXGIDevice3));
#else
public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_IDXGIDevice3));
#endif
public void** lpVtbl;
/// <inheritdoc cref="IUnknown.QueryInterface" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(0)]
public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject)
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, Guid*, void**, int>)(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject);
}
/// <inheritdoc cref="IUnknown.AddRef" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(1)]
[return: NativeTypeName("ULONG")]
public uint AddRef()
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, uint>)(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IUnknown.Release" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(2)]
[return: NativeTypeName("ULONG")]
public uint Release()
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, uint>)(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IDXGIObject.SetPrivateData" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(3)]
public HResult SetPrivateData(Guid* Name, uint DataSize, void* pData)
{
return ((delegate* unmanaged[Stdcall]<IDXGIDevice3*, Guid*, uint, void*, int>)(lpVtbl[3]))((IDXGIDevice3*)Unsafe.AsPointer(ref this), Name, DataSize, pData);
}
/// <inheritdoc cref="IDXGIObject.SetPrivateDataInterface" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(4)]
public HResult SetPrivateDataInterface(Guid* Name, IUnknown* pUnknown)
{
return ((delegate* unmanaged[Stdcall]<IDXGIDevice3*, Guid*, IUnknown*, int>)(lpVtbl[4]))((IDXGIDevice3*)Unsafe.AsPointer(ref this), Name, pUnknown);
}
/// <inheritdoc cref="IDXGIObject.GetPrivateData" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(5)]
public HResult GetPrivateData(Guid* Name, uint* pDataSize, void* pData)
{
return ((delegate* unmanaged[Stdcall]<IDXGIDevice3*, Guid*, uint*, void*, int>)(lpVtbl[5]))((IDXGIDevice3*)Unsafe.AsPointer(ref this), Name, pDataSize, pData);
}
/// <inheritdoc cref="IDXGIObject.GetParent" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(6)]
public HResult GetParent(Guid* riid, void** ppParent)
{
return ((delegate* unmanaged[Stdcall]<IDXGIDevice3*, Guid*, void**, int>)(lpVtbl[6]))((IDXGIDevice3*)Unsafe.AsPointer(ref this), riid, ppParent);
}
/// <inheritdoc cref="IDXGIDevice.GetAdapter" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(7)]
public HResult GetAdapter(IDXGIAdapter** pAdapter)
{
return ((delegate* unmanaged[Stdcall]<IDXGIDevice3*, IDXGIAdapter**, int>)(lpVtbl[7]))((IDXGIDevice3*)Unsafe.AsPointer(ref this), pAdapter);
}
/// <inheritdoc cref="IDXGIDevice.CreateSurface" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(8)]
public HResult CreateSurface(SurfaceDescription* pDesc, uint NumSurfaces, uint Usage, SharedResource* pSharedResource, IDXGISurface** ppSurface)
{
return ((delegate* unmanaged[Stdcall]<IDXGIDevice3*, SurfaceDescription*, uint, uint, SharedResource*, IDXGISurface**, int>)(lpVtbl[8]))((IDXGIDevice3*)Unsafe.AsPointer(ref this), pDesc, NumSurfaces, Usage, pSharedResource, ppSurface);
}
/// <inheritdoc cref="IDXGIDevice.QueryResourceResidency" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(9)]
public HResult QueryResourceResidency(IUnknown** ppResources, Residency* pResidencyStatus, uint NumResources)
{
return ((delegate* unmanaged[Stdcall]<IDXGIDevice3*, IUnknown**, Residency*, uint, int>)(lpVtbl[9]))((IDXGIDevice3*)Unsafe.AsPointer(ref this), ppResources, pResidencyStatus, NumResources);
}
/// <inheritdoc cref="IDXGIDevice.SetGPUThreadPriority" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(10)]
public HResult SetGPUThreadPriority(int Priority)
{
return ((delegate* unmanaged[Stdcall]<IDXGIDevice3*, int, int>)(lpVtbl[10]))((IDXGIDevice3*)Unsafe.AsPointer(ref this), Priority);
}
/// <inheritdoc cref="IDXGIDevice.GetGPUThreadPriority" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(11)]
public HResult GetGPUThreadPriority(int* pPriority)
{
return ((delegate* unmanaged[Stdcall]<IDXGIDevice3*, int*, int>)(lpVtbl[11]))((IDXGIDevice3*)Unsafe.AsPointer(ref this), pPriority);
}
/// <inheritdoc cref="IDXGIDevice1.SetMaximumFrameLatency" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(12)]
public HResult SetMaximumFrameLatency(uint MaxLatency)
{
return ((delegate* unmanaged[Stdcall]<IDXGIDevice3*, uint, int>)(lpVtbl[12]))((IDXGIDevice3*)Unsafe.AsPointer(ref this), MaxLatency);
}
/// <inheritdoc cref="IDXGIDevice1.GetMaximumFrameLatency" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(13)]
public HResult GetMaximumFrameLatency(uint* pMaxLatency)
{
return ((delegate* unmanaged[Stdcall]<IDXGIDevice3*, uint*, int>)(lpVtbl[13]))((IDXGIDevice3*)Unsafe.AsPointer(ref this), pMaxLatency);
}
/// <inheritdoc cref="IDXGIDevice2.OfferResources" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(14)]
public HResult OfferResources(uint NumResources, IDXGIResource** ppResources, OfferResourcePriority Priority)
{
return ((delegate* unmanaged[Stdcall]<IDXGIDevice3*, uint, IDXGIResource**, OfferResourcePriority, int>)(lpVtbl[14]))((IDXGIDevice3*)Unsafe.AsPointer(ref this), NumResources, ppResources, Priority);
}
/// <inheritdoc cref="IDXGIDevice2.ReclaimResources" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(15)]
public HResult ReclaimResources(uint NumResources, IDXGIResource** ppResources, Bool32* pDiscarded)
{
return ((delegate* unmanaged[Stdcall]<IDXGIDevice3*, uint, IDXGIResource**, Bool32*, int>)(lpVtbl[15]))((IDXGIDevice3*)Unsafe.AsPointer(ref this), NumResources, ppResources, pDiscarded);
}
/// <inheritdoc cref="IDXGIDevice2.EnqueueSetEvent" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(16)]
public HResult EnqueueSetEvent(Handle hEvent)
{
return ((delegate* unmanaged[Stdcall]<IDXGIDevice3*, Handle, int>)(lpVtbl[16]))((IDXGIDevice3*)Unsafe.AsPointer(ref this), hEvent);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIDevice3::Trim"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(17)]
public void Trim()
{
((delegate* unmanaged[Stdcall]<IDXGIDevice3*, void>)(lpVtbl[17]))((IDXGIDevice3*)Unsafe.AsPointer(ref this));
}
}

View File

@@ -0,0 +1,213 @@
// ------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
namespace Win32.Graphics.Dxgi;
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIDevice4"]/*' />
/// <unmanaged>IDXGIDevice4</unmanaged>
[Guid("95b4f95f-d8da-4ca4-9ee6-3b76d5968a10")]
[NativeTypeName("struct IDXGIDevice4 : IDXGIDevice3")]
[NativeInheritance("IDXGIDevice3")]
public unsafe partial struct IDXGIDevice4 : INativeGuid
{
public static ref readonly Guid IID_IDXGIDevice4
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
ReadOnlySpan<byte> data = new byte[] {
0x5F, 0xF9, 0xB4, 0x95,
0xDA, 0xD8,
0xA4, 0x4C,
0x9E,
0xE6,
0x3B,
0x76,
0xD5,
0x96,
0x8A,
0x10
};
Debug.Assert(data.Length == Unsafe.SizeOf<Guid>());
return ref Unsafe.As<byte, Guid>(ref MemoryMarshal.GetReference(data));
}
}
#if NET6_0_OR_GREATER
static Guid* INativeGuid.NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_IDXGIDevice4));
#else
public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_IDXGIDevice4));
#endif
public void** lpVtbl;
/// <inheritdoc cref="IUnknown.QueryInterface" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(0)]
public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject)
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, Guid*, void**, int>)(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject);
}
/// <inheritdoc cref="IUnknown.AddRef" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(1)]
[return: NativeTypeName("ULONG")]
public uint AddRef()
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, uint>)(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IUnknown.Release" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(2)]
[return: NativeTypeName("ULONG")]
public uint Release()
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, uint>)(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IDXGIObject.SetPrivateData" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(3)]
public HResult SetPrivateData(Guid* Name, uint DataSize, void* pData)
{
return ((delegate* unmanaged[Stdcall]<IDXGIDevice4*, Guid*, uint, void*, int>)(lpVtbl[3]))((IDXGIDevice4*)Unsafe.AsPointer(ref this), Name, DataSize, pData);
}
/// <inheritdoc cref="IDXGIObject.SetPrivateDataInterface" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(4)]
public HResult SetPrivateDataInterface(Guid* Name, IUnknown* pUnknown)
{
return ((delegate* unmanaged[Stdcall]<IDXGIDevice4*, Guid*, IUnknown*, int>)(lpVtbl[4]))((IDXGIDevice4*)Unsafe.AsPointer(ref this), Name, pUnknown);
}
/// <inheritdoc cref="IDXGIObject.GetPrivateData" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(5)]
public HResult GetPrivateData(Guid* Name, uint* pDataSize, void* pData)
{
return ((delegate* unmanaged[Stdcall]<IDXGIDevice4*, Guid*, uint*, void*, int>)(lpVtbl[5]))((IDXGIDevice4*)Unsafe.AsPointer(ref this), Name, pDataSize, pData);
}
/// <inheritdoc cref="IDXGIObject.GetParent" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(6)]
public HResult GetParent(Guid* riid, void** ppParent)
{
return ((delegate* unmanaged[Stdcall]<IDXGIDevice4*, Guid*, void**, int>)(lpVtbl[6]))((IDXGIDevice4*)Unsafe.AsPointer(ref this), riid, ppParent);
}
/// <inheritdoc cref="IDXGIDevice.GetAdapter" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(7)]
public HResult GetAdapter(IDXGIAdapter** pAdapter)
{
return ((delegate* unmanaged[Stdcall]<IDXGIDevice4*, IDXGIAdapter**, int>)(lpVtbl[7]))((IDXGIDevice4*)Unsafe.AsPointer(ref this), pAdapter);
}
/// <inheritdoc cref="IDXGIDevice.CreateSurface" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(8)]
public HResult CreateSurface(SurfaceDescription* pDesc, uint NumSurfaces, uint Usage, SharedResource* pSharedResource, IDXGISurface** ppSurface)
{
return ((delegate* unmanaged[Stdcall]<IDXGIDevice4*, SurfaceDescription*, uint, uint, SharedResource*, IDXGISurface**, int>)(lpVtbl[8]))((IDXGIDevice4*)Unsafe.AsPointer(ref this), pDesc, NumSurfaces, Usage, pSharedResource, ppSurface);
}
/// <inheritdoc cref="IDXGIDevice.QueryResourceResidency" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(9)]
public HResult QueryResourceResidency(IUnknown** ppResources, Residency* pResidencyStatus, uint NumResources)
{
return ((delegate* unmanaged[Stdcall]<IDXGIDevice4*, IUnknown**, Residency*, uint, int>)(lpVtbl[9]))((IDXGIDevice4*)Unsafe.AsPointer(ref this), ppResources, pResidencyStatus, NumResources);
}
/// <inheritdoc cref="IDXGIDevice.SetGPUThreadPriority" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(10)]
public HResult SetGPUThreadPriority(int Priority)
{
return ((delegate* unmanaged[Stdcall]<IDXGIDevice4*, int, int>)(lpVtbl[10]))((IDXGIDevice4*)Unsafe.AsPointer(ref this), Priority);
}
/// <inheritdoc cref="IDXGIDevice.GetGPUThreadPriority" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(11)]
public HResult GetGPUThreadPriority(int* pPriority)
{
return ((delegate* unmanaged[Stdcall]<IDXGIDevice4*, int*, int>)(lpVtbl[11]))((IDXGIDevice4*)Unsafe.AsPointer(ref this), pPriority);
}
/// <inheritdoc cref="IDXGIDevice1.SetMaximumFrameLatency" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(12)]
public HResult SetMaximumFrameLatency(uint MaxLatency)
{
return ((delegate* unmanaged[Stdcall]<IDXGIDevice4*, uint, int>)(lpVtbl[12]))((IDXGIDevice4*)Unsafe.AsPointer(ref this), MaxLatency);
}
/// <inheritdoc cref="IDXGIDevice1.GetMaximumFrameLatency" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(13)]
public HResult GetMaximumFrameLatency(uint* pMaxLatency)
{
return ((delegate* unmanaged[Stdcall]<IDXGIDevice4*, uint*, int>)(lpVtbl[13]))((IDXGIDevice4*)Unsafe.AsPointer(ref this), pMaxLatency);
}
/// <inheritdoc cref="IDXGIDevice2.OfferResources" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(14)]
public HResult OfferResources(uint NumResources, IDXGIResource** ppResources, OfferResourcePriority Priority)
{
return ((delegate* unmanaged[Stdcall]<IDXGIDevice4*, uint, IDXGIResource**, OfferResourcePriority, int>)(lpVtbl[14]))((IDXGIDevice4*)Unsafe.AsPointer(ref this), NumResources, ppResources, Priority);
}
/// <inheritdoc cref="IDXGIDevice2.ReclaimResources" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(15)]
public HResult ReclaimResources(uint NumResources, IDXGIResource** ppResources, Bool32* pDiscarded)
{
return ((delegate* unmanaged[Stdcall]<IDXGIDevice4*, uint, IDXGIResource**, Bool32*, int>)(lpVtbl[15]))((IDXGIDevice4*)Unsafe.AsPointer(ref this), NumResources, ppResources, pDiscarded);
}
/// <inheritdoc cref="IDXGIDevice2.EnqueueSetEvent" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(16)]
public HResult EnqueueSetEvent(Handle hEvent)
{
return ((delegate* unmanaged[Stdcall]<IDXGIDevice4*, Handle, int>)(lpVtbl[16]))((IDXGIDevice4*)Unsafe.AsPointer(ref this), hEvent);
}
/// <inheritdoc cref="IDXGIDevice3.Trim" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(17)]
public void Trim()
{
((delegate* unmanaged[Stdcall]<IDXGIDevice4*, void>)(lpVtbl[17]))((IDXGIDevice4*)Unsafe.AsPointer(ref this));
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIDevice4::OfferResources1"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(18)]
public HResult OfferResources1(uint NumResources, IDXGIResource** ppResources, OfferResourcePriority Priority, uint Flags)
{
return ((delegate* unmanaged[Stdcall]<IDXGIDevice4*, uint, IDXGIResource**, OfferResourcePriority, uint, int>)(lpVtbl[18]))((IDXGIDevice4*)Unsafe.AsPointer(ref this), NumResources, ppResources, Priority, Flags);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIDevice4::ReclaimResources1"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(19)]
public HResult ReclaimResources1(uint NumResources, IDXGIResource** ppResources, ReclaimResourceResults* pResults)
{
return ((delegate* unmanaged[Stdcall]<IDXGIDevice4*, uint, IDXGIResource**, ReclaimResourceResults*, int>)(lpVtbl[19]))((IDXGIDevice4*)Unsafe.AsPointer(ref this), NumResources, ppResources, pResults);
}
}

View File

@@ -0,0 +1,117 @@
// ------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
namespace Win32.Graphics.Dxgi;
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIDeviceSubObject"]/*' />
/// <unmanaged>IDXGIDeviceSubObject</unmanaged>
[Guid("3d3e0379-f9de-4d58-bb6c-18d62992f1a6")]
[NativeTypeName("struct IDXGIDeviceSubObject : IDXGIObject")]
[NativeInheritance("IDXGIObject")]
public unsafe partial struct IDXGIDeviceSubObject : INativeGuid
{
public static ref readonly Guid IID_IDXGIDeviceSubObject
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
ReadOnlySpan<byte> data = new byte[] {
0x79, 0x03, 0x3E, 0x3D,
0xDE, 0xF9,
0x58, 0x4D,
0xBB,
0x6C,
0x18,
0xD6,
0x29,
0x92,
0xF1,
0xA6
};
Debug.Assert(data.Length == Unsafe.SizeOf<Guid>());
return ref Unsafe.As<byte, Guid>(ref MemoryMarshal.GetReference(data));
}
}
#if NET6_0_OR_GREATER
static Guid* INativeGuid.NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_IDXGIDeviceSubObject));
#else
public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_IDXGIDeviceSubObject));
#endif
public void** lpVtbl;
/// <inheritdoc cref="IUnknown.QueryInterface" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(0)]
public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject)
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, Guid*, void**, int>)(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject);
}
/// <inheritdoc cref="IUnknown.AddRef" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(1)]
[return: NativeTypeName("ULONG")]
public uint AddRef()
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, uint>)(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IUnknown.Release" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(2)]
[return: NativeTypeName("ULONG")]
public uint Release()
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, uint>)(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IDXGIObject.SetPrivateData" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(3)]
public HResult SetPrivateData(Guid* Name, uint DataSize, void* pData)
{
return ((delegate* unmanaged[Stdcall]<IDXGIDeviceSubObject*, Guid*, uint, void*, int>)(lpVtbl[3]))((IDXGIDeviceSubObject*)Unsafe.AsPointer(ref this), Name, DataSize, pData);
}
/// <inheritdoc cref="IDXGIObject.SetPrivateDataInterface" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(4)]
public HResult SetPrivateDataInterface(Guid* Name, IUnknown* pUnknown)
{
return ((delegate* unmanaged[Stdcall]<IDXGIDeviceSubObject*, Guid*, IUnknown*, int>)(lpVtbl[4]))((IDXGIDeviceSubObject*)Unsafe.AsPointer(ref this), Name, pUnknown);
}
/// <inheritdoc cref="IDXGIObject.GetPrivateData" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(5)]
public HResult GetPrivateData(Guid* Name, uint* pDataSize, void* pData)
{
return ((delegate* unmanaged[Stdcall]<IDXGIDeviceSubObject*, Guid*, uint*, void*, int>)(lpVtbl[5]))((IDXGIDeviceSubObject*)Unsafe.AsPointer(ref this), Name, pDataSize, pData);
}
/// <inheritdoc cref="IDXGIObject.GetParent" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(6)]
public HResult GetParent(Guid* riid, void** ppParent)
{
return ((delegate* unmanaged[Stdcall]<IDXGIDeviceSubObject*, Guid*, void**, int>)(lpVtbl[6]))((IDXGIDeviceSubObject*)Unsafe.AsPointer(ref this), riid, ppParent);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIDeviceSubObject::GetDevice"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(7)]
public HResult GetDevice(Guid* riid, void** ppDevice)
{
return ((delegate* unmanaged[Stdcall]<IDXGIDeviceSubObject*, Guid*, void**, int>)(lpVtbl[7]))((IDXGIDeviceSubObject*)Unsafe.AsPointer(ref this), riid, ppDevice);
}
}

View File

@@ -0,0 +1,93 @@
// ------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
namespace Win32.Graphics.Dxgi;
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIDisplayControl"]/*' />
/// <unmanaged>IDXGIDisplayControl</unmanaged>
[Guid("ea9dbf1a-c88e-4486-854a-98aa0138f30c")]
[NativeTypeName("struct IDXGIDisplayControl : IUnknown")]
[NativeInheritance("IUnknown")]
public unsafe partial struct IDXGIDisplayControl : INativeGuid
{
public static ref readonly Guid IID_IDXGIDisplayControl
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
ReadOnlySpan<byte> data = new byte[] {
0x1A, 0xBF, 0x9D, 0xEA,
0x8E, 0xC8,
0x86, 0x44,
0x85,
0x4A,
0x98,
0xAA,
0x01,
0x38,
0xF3,
0x0C
};
Debug.Assert(data.Length == Unsafe.SizeOf<Guid>());
return ref Unsafe.As<byte, Guid>(ref MemoryMarshal.GetReference(data));
}
}
#if NET6_0_OR_GREATER
static Guid* INativeGuid.NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_IDXGIDisplayControl));
#else
public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_IDXGIDisplayControl));
#endif
public void** lpVtbl;
/// <inheritdoc cref="IUnknown.QueryInterface" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(0)]
public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject)
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, Guid*, void**, int>)(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject);
}
/// <inheritdoc cref="IUnknown.AddRef" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(1)]
[return: NativeTypeName("ULONG")]
public uint AddRef()
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, uint>)(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IUnknown.Release" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(2)]
[return: NativeTypeName("ULONG")]
public uint Release()
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, uint>)(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this));
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIDisplayControl::IsStereoEnabled"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(3)]
public Bool32 IsStereoEnabled()
{
return ((delegate* unmanaged[Stdcall]<IDXGIDisplayControl*, Bool32>)(lpVtbl[3]))((IDXGIDisplayControl*)Unsafe.AsPointer(ref this));
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIDisplayControl::SetStereoEnabled"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(4)]
public void SetStereoEnabled(Bool32 enabled)
{
((delegate* unmanaged[Stdcall]<IDXGIDisplayControl*, Bool32, void>)(lpVtbl[4]))((IDXGIDisplayControl*)Unsafe.AsPointer(ref this), enabled);
}
}

View File

@@ -0,0 +1,149 @@
// ------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
namespace Win32.Graphics.Dxgi;
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIFactory"]/*' />
/// <unmanaged>IDXGIFactory</unmanaged>
[Guid("7b7166ec-21c7-44ae-b21a-c9ae321ae369")]
[NativeTypeName("struct IDXGIFactory : IDXGIObject")]
[NativeInheritance("IDXGIObject")]
public unsafe partial struct IDXGIFactory : INativeGuid
{
public static ref readonly Guid IID_IDXGIFactory
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
ReadOnlySpan<byte> data = new byte[] {
0xEC, 0x66, 0x71, 0x7B,
0xC7, 0x21,
0xAE, 0x44,
0xB2,
0x1A,
0xC9,
0xAE,
0x32,
0x1A,
0xE3,
0x69
};
Debug.Assert(data.Length == Unsafe.SizeOf<Guid>());
return ref Unsafe.As<byte, Guid>(ref MemoryMarshal.GetReference(data));
}
}
#if NET6_0_OR_GREATER
static Guid* INativeGuid.NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_IDXGIFactory));
#else
public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_IDXGIFactory));
#endif
public void** lpVtbl;
/// <inheritdoc cref="IUnknown.QueryInterface" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(0)]
public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject)
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, Guid*, void**, int>)(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject);
}
/// <inheritdoc cref="IUnknown.AddRef" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(1)]
[return: NativeTypeName("ULONG")]
public uint AddRef()
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, uint>)(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IUnknown.Release" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(2)]
[return: NativeTypeName("ULONG")]
public uint Release()
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, uint>)(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IDXGIObject.SetPrivateData" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(3)]
public HResult SetPrivateData(Guid* Name, uint DataSize, void* pData)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory*, Guid*, uint, void*, int>)(lpVtbl[3]))((IDXGIFactory*)Unsafe.AsPointer(ref this), Name, DataSize, pData);
}
/// <inheritdoc cref="IDXGIObject.SetPrivateDataInterface" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(4)]
public HResult SetPrivateDataInterface(Guid* Name, IUnknown* pUnknown)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory*, Guid*, IUnknown*, int>)(lpVtbl[4]))((IDXGIFactory*)Unsafe.AsPointer(ref this), Name, pUnknown);
}
/// <inheritdoc cref="IDXGIObject.GetPrivateData" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(5)]
public HResult GetPrivateData(Guid* Name, uint* pDataSize, void* pData)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory*, Guid*, uint*, void*, int>)(lpVtbl[5]))((IDXGIFactory*)Unsafe.AsPointer(ref this), Name, pDataSize, pData);
}
/// <inheritdoc cref="IDXGIObject.GetParent" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(6)]
public HResult GetParent(Guid* riid, void** ppParent)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory*, Guid*, void**, int>)(lpVtbl[6]))((IDXGIFactory*)Unsafe.AsPointer(ref this), riid, ppParent);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIFactory::EnumAdapters"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(7)]
public HResult EnumAdapters(uint Adapter, IDXGIAdapter** ppAdapter)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory*, uint, IDXGIAdapter**, int>)(lpVtbl[7]))((IDXGIFactory*)Unsafe.AsPointer(ref this), Adapter, ppAdapter);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIFactory::MakeWindowAssociation"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(8)]
public HResult MakeWindowAssociation(IntPtr WindowHandle, uint Flags)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory*, IntPtr, uint, int>)(lpVtbl[8]))((IDXGIFactory*)Unsafe.AsPointer(ref this), WindowHandle, Flags);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIFactory::GetWindowAssociation"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(9)]
public HResult GetWindowAssociation(IntPtr* pWindowHandle)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory*, IntPtr*, int>)(lpVtbl[9]))((IDXGIFactory*)Unsafe.AsPointer(ref this), pWindowHandle);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIFactory::CreateSwapChain"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(10)]
public HResult CreateSwapChain(IUnknown* pDevice, SwapChainDescription* pDesc, IDXGISwapChain** ppSwapChain)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory*, IUnknown*, SwapChainDescription*, IDXGISwapChain**, int>)(lpVtbl[10]))((IDXGIFactory*)Unsafe.AsPointer(ref this), pDevice, pDesc, ppSwapChain);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIFactory::CreateSoftwareAdapter"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(11)]
public HResult CreateSoftwareAdapter(IntPtr Module, IDXGIAdapter** ppAdapter)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory*, IntPtr, IDXGIAdapter**, int>)(lpVtbl[11]))((IDXGIFactory*)Unsafe.AsPointer(ref this), Module, ppAdapter);
}
}

View File

@@ -0,0 +1,165 @@
// ------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
namespace Win32.Graphics.Dxgi;
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIFactory1"]/*' />
/// <unmanaged>IDXGIFactory1</unmanaged>
[Guid("770aae78-f26f-4dba-a829-253c83d1b387")]
[NativeTypeName("struct IDXGIFactory1 : IDXGIFactory")]
[NativeInheritance("IDXGIFactory")]
public unsafe partial struct IDXGIFactory1 : INativeGuid
{
public static ref readonly Guid IID_IDXGIFactory1
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
ReadOnlySpan<byte> data = new byte[] {
0x78, 0xAE, 0x0A, 0x77,
0x6F, 0xF2,
0xBA, 0x4D,
0xA8,
0x29,
0x25,
0x3C,
0x83,
0xD1,
0xB3,
0x87
};
Debug.Assert(data.Length == Unsafe.SizeOf<Guid>());
return ref Unsafe.As<byte, Guid>(ref MemoryMarshal.GetReference(data));
}
}
#if NET6_0_OR_GREATER
static Guid* INativeGuid.NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_IDXGIFactory1));
#else
public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_IDXGIFactory1));
#endif
public void** lpVtbl;
/// <inheritdoc cref="IUnknown.QueryInterface" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(0)]
public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject)
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, Guid*, void**, int>)(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject);
}
/// <inheritdoc cref="IUnknown.AddRef" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(1)]
[return: NativeTypeName("ULONG")]
public uint AddRef()
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, uint>)(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IUnknown.Release" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(2)]
[return: NativeTypeName("ULONG")]
public uint Release()
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, uint>)(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IDXGIObject.SetPrivateData" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(3)]
public HResult SetPrivateData(Guid* Name, uint DataSize, void* pData)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory1*, Guid*, uint, void*, int>)(lpVtbl[3]))((IDXGIFactory1*)Unsafe.AsPointer(ref this), Name, DataSize, pData);
}
/// <inheritdoc cref="IDXGIObject.SetPrivateDataInterface" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(4)]
public HResult SetPrivateDataInterface(Guid* Name, IUnknown* pUnknown)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory1*, Guid*, IUnknown*, int>)(lpVtbl[4]))((IDXGIFactory1*)Unsafe.AsPointer(ref this), Name, pUnknown);
}
/// <inheritdoc cref="IDXGIObject.GetPrivateData" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(5)]
public HResult GetPrivateData(Guid* Name, uint* pDataSize, void* pData)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory1*, Guid*, uint*, void*, int>)(lpVtbl[5]))((IDXGIFactory1*)Unsafe.AsPointer(ref this), Name, pDataSize, pData);
}
/// <inheritdoc cref="IDXGIObject.GetParent" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(6)]
public HResult GetParent(Guid* riid, void** ppParent)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory1*, Guid*, void**, int>)(lpVtbl[6]))((IDXGIFactory1*)Unsafe.AsPointer(ref this), riid, ppParent);
}
/// <inheritdoc cref="IDXGIFactory.EnumAdapters" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(7)]
public HResult EnumAdapters(uint Adapter, IDXGIAdapter** ppAdapter)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory1*, uint, IDXGIAdapter**, int>)(lpVtbl[7]))((IDXGIFactory1*)Unsafe.AsPointer(ref this), Adapter, ppAdapter);
}
/// <inheritdoc cref="IDXGIFactory.MakeWindowAssociation" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(8)]
public HResult MakeWindowAssociation(IntPtr WindowHandle, uint Flags)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory1*, IntPtr, uint, int>)(lpVtbl[8]))((IDXGIFactory1*)Unsafe.AsPointer(ref this), WindowHandle, Flags);
}
/// <inheritdoc cref="IDXGIFactory.GetWindowAssociation" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(9)]
public HResult GetWindowAssociation(IntPtr* pWindowHandle)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory1*, IntPtr*, int>)(lpVtbl[9]))((IDXGIFactory1*)Unsafe.AsPointer(ref this), pWindowHandle);
}
/// <inheritdoc cref="IDXGIFactory.CreateSwapChain" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(10)]
public HResult CreateSwapChain(IUnknown* pDevice, SwapChainDescription* pDesc, IDXGISwapChain** ppSwapChain)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory1*, IUnknown*, SwapChainDescription*, IDXGISwapChain**, int>)(lpVtbl[10]))((IDXGIFactory1*)Unsafe.AsPointer(ref this), pDevice, pDesc, ppSwapChain);
}
/// <inheritdoc cref="IDXGIFactory.CreateSoftwareAdapter" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(11)]
public HResult CreateSoftwareAdapter(IntPtr Module, IDXGIAdapter** ppAdapter)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory1*, IntPtr, IDXGIAdapter**, int>)(lpVtbl[11]))((IDXGIFactory1*)Unsafe.AsPointer(ref this), Module, ppAdapter);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIFactory1::EnumAdapters1"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(12)]
public HResult EnumAdapters1(uint Adapter, IDXGIAdapter1** ppAdapter)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory1*, uint, IDXGIAdapter1**, int>)(lpVtbl[12]))((IDXGIFactory1*)Unsafe.AsPointer(ref this), Adapter, ppAdapter);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIFactory1::IsCurrent"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(13)]
public Bool32 IsCurrent()
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory1*, Bool32>)(lpVtbl[13]))((IDXGIFactory1*)Unsafe.AsPointer(ref this));
}
}

View File

@@ -0,0 +1,253 @@
// ------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
namespace Win32.Graphics.Dxgi;
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIFactory2"]/*' />
/// <unmanaged>IDXGIFactory2</unmanaged>
[Guid("50c83a1c-e072-4c48-87b0-3630fa36a6d0")]
[NativeTypeName("struct IDXGIFactory2 : IDXGIFactory1")]
[NativeInheritance("IDXGIFactory1")]
public unsafe partial struct IDXGIFactory2 : INativeGuid
{
public static ref readonly Guid IID_IDXGIFactory2
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
ReadOnlySpan<byte> data = new byte[] {
0x1C, 0x3A, 0xC8, 0x50,
0x72, 0xE0,
0x48, 0x4C,
0x87,
0xB0,
0x36,
0x30,
0xFA,
0x36,
0xA6,
0xD0
};
Debug.Assert(data.Length == Unsafe.SizeOf<Guid>());
return ref Unsafe.As<byte, Guid>(ref MemoryMarshal.GetReference(data));
}
}
#if NET6_0_OR_GREATER
static Guid* INativeGuid.NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_IDXGIFactory2));
#else
public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_IDXGIFactory2));
#endif
public void** lpVtbl;
/// <inheritdoc cref="IUnknown.QueryInterface" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(0)]
public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject)
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, Guid*, void**, int>)(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject);
}
/// <inheritdoc cref="IUnknown.AddRef" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(1)]
[return: NativeTypeName("ULONG")]
public uint AddRef()
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, uint>)(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IUnknown.Release" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(2)]
[return: NativeTypeName("ULONG")]
public uint Release()
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, uint>)(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IDXGIObject.SetPrivateData" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(3)]
public HResult SetPrivateData(Guid* Name, uint DataSize, void* pData)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory2*, Guid*, uint, void*, int>)(lpVtbl[3]))((IDXGIFactory2*)Unsafe.AsPointer(ref this), Name, DataSize, pData);
}
/// <inheritdoc cref="IDXGIObject.SetPrivateDataInterface" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(4)]
public HResult SetPrivateDataInterface(Guid* Name, IUnknown* pUnknown)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory2*, Guid*, IUnknown*, int>)(lpVtbl[4]))((IDXGIFactory2*)Unsafe.AsPointer(ref this), Name, pUnknown);
}
/// <inheritdoc cref="IDXGIObject.GetPrivateData" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(5)]
public HResult GetPrivateData(Guid* Name, uint* pDataSize, void* pData)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory2*, Guid*, uint*, void*, int>)(lpVtbl[5]))((IDXGIFactory2*)Unsafe.AsPointer(ref this), Name, pDataSize, pData);
}
/// <inheritdoc cref="IDXGIObject.GetParent" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(6)]
public HResult GetParent(Guid* riid, void** ppParent)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory2*, Guid*, void**, int>)(lpVtbl[6]))((IDXGIFactory2*)Unsafe.AsPointer(ref this), riid, ppParent);
}
/// <inheritdoc cref="IDXGIFactory.EnumAdapters" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(7)]
public HResult EnumAdapters(uint Adapter, IDXGIAdapter** ppAdapter)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory2*, uint, IDXGIAdapter**, int>)(lpVtbl[7]))((IDXGIFactory2*)Unsafe.AsPointer(ref this), Adapter, ppAdapter);
}
/// <inheritdoc cref="IDXGIFactory.MakeWindowAssociation" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(8)]
public HResult MakeWindowAssociation(IntPtr WindowHandle, uint Flags)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory2*, IntPtr, uint, int>)(lpVtbl[8]))((IDXGIFactory2*)Unsafe.AsPointer(ref this), WindowHandle, Flags);
}
/// <inheritdoc cref="IDXGIFactory.GetWindowAssociation" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(9)]
public HResult GetWindowAssociation(IntPtr* pWindowHandle)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory2*, IntPtr*, int>)(lpVtbl[9]))((IDXGIFactory2*)Unsafe.AsPointer(ref this), pWindowHandle);
}
/// <inheritdoc cref="IDXGIFactory.CreateSwapChain" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(10)]
public HResult CreateSwapChain(IUnknown* pDevice, SwapChainDescription* pDesc, IDXGISwapChain** ppSwapChain)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory2*, IUnknown*, SwapChainDescription*, IDXGISwapChain**, int>)(lpVtbl[10]))((IDXGIFactory2*)Unsafe.AsPointer(ref this), pDevice, pDesc, ppSwapChain);
}
/// <inheritdoc cref="IDXGIFactory.CreateSoftwareAdapter" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(11)]
public HResult CreateSoftwareAdapter(IntPtr Module, IDXGIAdapter** ppAdapter)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory2*, IntPtr, IDXGIAdapter**, int>)(lpVtbl[11]))((IDXGIFactory2*)Unsafe.AsPointer(ref this), Module, ppAdapter);
}
/// <inheritdoc cref="IDXGIFactory1.EnumAdapters1" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(12)]
public HResult EnumAdapters1(uint Adapter, IDXGIAdapter1** ppAdapter)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory2*, uint, IDXGIAdapter1**, int>)(lpVtbl[12]))((IDXGIFactory2*)Unsafe.AsPointer(ref this), Adapter, ppAdapter);
}
/// <inheritdoc cref="IDXGIFactory1.IsCurrent" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(13)]
public Bool32 IsCurrent()
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory2*, Bool32>)(lpVtbl[13]))((IDXGIFactory2*)Unsafe.AsPointer(ref this));
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIFactory2::IsWindowedStereoEnabled"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(14)]
public Bool32 IsWindowedStereoEnabled()
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory2*, Bool32>)(lpVtbl[14]))((IDXGIFactory2*)Unsafe.AsPointer(ref this));
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIFactory2::CreateSwapChainForHwnd"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(15)]
public HResult CreateSwapChainForHwnd(IUnknown* pDevice, IntPtr hWnd, SwapChainDescription1* pDesc, SwapChainFullscreenDescription* pFullscreenDesc, IDXGIOutput* pRestrictToOutput, IDXGISwapChain1** ppSwapChain)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory2*, IUnknown*, IntPtr, SwapChainDescription1*, SwapChainFullscreenDescription*, IDXGIOutput*, IDXGISwapChain1**, int>)(lpVtbl[15]))((IDXGIFactory2*)Unsafe.AsPointer(ref this), pDevice, hWnd, pDesc, pFullscreenDesc, pRestrictToOutput, ppSwapChain);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIFactory2::CreateSwapChainForCoreWindow"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(16)]
public HResult CreateSwapChainForCoreWindow(IUnknown* pDevice, IUnknown* pWindow, SwapChainDescription1* pDesc, IDXGIOutput* pRestrictToOutput, IDXGISwapChain1** ppSwapChain)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory2*, IUnknown*, IUnknown*, SwapChainDescription1*, IDXGIOutput*, IDXGISwapChain1**, int>)(lpVtbl[16]))((IDXGIFactory2*)Unsafe.AsPointer(ref this), pDevice, pWindow, pDesc, pRestrictToOutput, ppSwapChain);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIFactory2::GetSharedResourceAdapterLuid"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(17)]
public HResult GetSharedResourceAdapterLuid(Handle hResource, Luid* pLuid)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory2*, Handle, Luid*, int>)(lpVtbl[17]))((IDXGIFactory2*)Unsafe.AsPointer(ref this), hResource, pLuid);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIFactory2::RegisterStereoStatusWindow"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(18)]
public HResult RegisterStereoStatusWindow(IntPtr WindowHandle, uint wMsg, uint* pdwCookie)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory2*, IntPtr, uint, uint*, int>)(lpVtbl[18]))((IDXGIFactory2*)Unsafe.AsPointer(ref this), WindowHandle, wMsg, pdwCookie);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIFactory2::RegisterStereoStatusEvent"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(19)]
public HResult RegisterStereoStatusEvent(Handle hEvent, uint* pdwCookie)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory2*, Handle, uint*, int>)(lpVtbl[19]))((IDXGIFactory2*)Unsafe.AsPointer(ref this), hEvent, pdwCookie);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIFactory2::UnregisterStereoStatus"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(20)]
public void UnregisterStereoStatus(uint dwCookie)
{
((delegate* unmanaged[Stdcall]<IDXGIFactory2*, uint, void>)(lpVtbl[20]))((IDXGIFactory2*)Unsafe.AsPointer(ref this), dwCookie);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIFactory2::RegisterOcclusionStatusWindow"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(21)]
public HResult RegisterOcclusionStatusWindow(IntPtr WindowHandle, uint wMsg, uint* pdwCookie)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory2*, IntPtr, uint, uint*, int>)(lpVtbl[21]))((IDXGIFactory2*)Unsafe.AsPointer(ref this), WindowHandle, wMsg, pdwCookie);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIFactory2::RegisterOcclusionStatusEvent"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(22)]
public HResult RegisterOcclusionStatusEvent(Handle hEvent, uint* pdwCookie)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory2*, Handle, uint*, int>)(lpVtbl[22]))((IDXGIFactory2*)Unsafe.AsPointer(ref this), hEvent, pdwCookie);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIFactory2::UnregisterOcclusionStatus"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(23)]
public void UnregisterOcclusionStatus(uint dwCookie)
{
((delegate* unmanaged[Stdcall]<IDXGIFactory2*, uint, void>)(lpVtbl[23]))((IDXGIFactory2*)Unsafe.AsPointer(ref this), dwCookie);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIFactory2::CreateSwapChainForComposition"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(24)]
public HResult CreateSwapChainForComposition(IUnknown* pDevice, SwapChainDescription1* pDesc, IDXGIOutput* pRestrictToOutput, IDXGISwapChain1** ppSwapChain)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory2*, IUnknown*, SwapChainDescription1*, IDXGIOutput*, IDXGISwapChain1**, int>)(lpVtbl[24]))((IDXGIFactory2*)Unsafe.AsPointer(ref this), pDevice, pDesc, pRestrictToOutput, ppSwapChain);
}
}

View File

@@ -0,0 +1,261 @@
// ------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
namespace Win32.Graphics.Dxgi;
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIFactory3"]/*' />
/// <unmanaged>IDXGIFactory3</unmanaged>
[Guid("25483823-cd46-4c7d-86ca-47aa95b837bd")]
[NativeTypeName("struct IDXGIFactory3 : IDXGIFactory2")]
[NativeInheritance("IDXGIFactory2")]
public unsafe partial struct IDXGIFactory3 : INativeGuid
{
public static ref readonly Guid IID_IDXGIFactory3
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
ReadOnlySpan<byte> data = new byte[] {
0x23, 0x38, 0x48, 0x25,
0x46, 0xCD,
0x7D, 0x4C,
0x86,
0xCA,
0x47,
0xAA,
0x95,
0xB8,
0x37,
0xBD
};
Debug.Assert(data.Length == Unsafe.SizeOf<Guid>());
return ref Unsafe.As<byte, Guid>(ref MemoryMarshal.GetReference(data));
}
}
#if NET6_0_OR_GREATER
static Guid* INativeGuid.NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_IDXGIFactory3));
#else
public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_IDXGIFactory3));
#endif
public void** lpVtbl;
/// <inheritdoc cref="IUnknown.QueryInterface" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(0)]
public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject)
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, Guid*, void**, int>)(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject);
}
/// <inheritdoc cref="IUnknown.AddRef" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(1)]
[return: NativeTypeName("ULONG")]
public uint AddRef()
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, uint>)(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IUnknown.Release" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(2)]
[return: NativeTypeName("ULONG")]
public uint Release()
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, uint>)(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IDXGIObject.SetPrivateData" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(3)]
public HResult SetPrivateData(Guid* Name, uint DataSize, void* pData)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory3*, Guid*, uint, void*, int>)(lpVtbl[3]))((IDXGIFactory3*)Unsafe.AsPointer(ref this), Name, DataSize, pData);
}
/// <inheritdoc cref="IDXGIObject.SetPrivateDataInterface" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(4)]
public HResult SetPrivateDataInterface(Guid* Name, IUnknown* pUnknown)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory3*, Guid*, IUnknown*, int>)(lpVtbl[4]))((IDXGIFactory3*)Unsafe.AsPointer(ref this), Name, pUnknown);
}
/// <inheritdoc cref="IDXGIObject.GetPrivateData" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(5)]
public HResult GetPrivateData(Guid* Name, uint* pDataSize, void* pData)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory3*, Guid*, uint*, void*, int>)(lpVtbl[5]))((IDXGIFactory3*)Unsafe.AsPointer(ref this), Name, pDataSize, pData);
}
/// <inheritdoc cref="IDXGIObject.GetParent" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(6)]
public HResult GetParent(Guid* riid, void** ppParent)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory3*, Guid*, void**, int>)(lpVtbl[6]))((IDXGIFactory3*)Unsafe.AsPointer(ref this), riid, ppParent);
}
/// <inheritdoc cref="IDXGIFactory.EnumAdapters" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(7)]
public HResult EnumAdapters(uint Adapter, IDXGIAdapter** ppAdapter)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory3*, uint, IDXGIAdapter**, int>)(lpVtbl[7]))((IDXGIFactory3*)Unsafe.AsPointer(ref this), Adapter, ppAdapter);
}
/// <inheritdoc cref="IDXGIFactory.MakeWindowAssociation" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(8)]
public HResult MakeWindowAssociation(IntPtr WindowHandle, uint Flags)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory3*, IntPtr, uint, int>)(lpVtbl[8]))((IDXGIFactory3*)Unsafe.AsPointer(ref this), WindowHandle, Flags);
}
/// <inheritdoc cref="IDXGIFactory.GetWindowAssociation" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(9)]
public HResult GetWindowAssociation(IntPtr* pWindowHandle)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory3*, IntPtr*, int>)(lpVtbl[9]))((IDXGIFactory3*)Unsafe.AsPointer(ref this), pWindowHandle);
}
/// <inheritdoc cref="IDXGIFactory.CreateSwapChain" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(10)]
public HResult CreateSwapChain(IUnknown* pDevice, SwapChainDescription* pDesc, IDXGISwapChain** ppSwapChain)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory3*, IUnknown*, SwapChainDescription*, IDXGISwapChain**, int>)(lpVtbl[10]))((IDXGIFactory3*)Unsafe.AsPointer(ref this), pDevice, pDesc, ppSwapChain);
}
/// <inheritdoc cref="IDXGIFactory.CreateSoftwareAdapter" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(11)]
public HResult CreateSoftwareAdapter(IntPtr Module, IDXGIAdapter** ppAdapter)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory3*, IntPtr, IDXGIAdapter**, int>)(lpVtbl[11]))((IDXGIFactory3*)Unsafe.AsPointer(ref this), Module, ppAdapter);
}
/// <inheritdoc cref="IDXGIFactory1.EnumAdapters1" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(12)]
public HResult EnumAdapters1(uint Adapter, IDXGIAdapter1** ppAdapter)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory3*, uint, IDXGIAdapter1**, int>)(lpVtbl[12]))((IDXGIFactory3*)Unsafe.AsPointer(ref this), Adapter, ppAdapter);
}
/// <inheritdoc cref="IDXGIFactory1.IsCurrent" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(13)]
public Bool32 IsCurrent()
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory3*, Bool32>)(lpVtbl[13]))((IDXGIFactory3*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IDXGIFactory2.IsWindowedStereoEnabled" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(14)]
public Bool32 IsWindowedStereoEnabled()
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory3*, Bool32>)(lpVtbl[14]))((IDXGIFactory3*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IDXGIFactory2.CreateSwapChainForHwnd" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(15)]
public HResult CreateSwapChainForHwnd(IUnknown* pDevice, IntPtr hWnd, SwapChainDescription1* pDesc, SwapChainFullscreenDescription* pFullscreenDesc, IDXGIOutput* pRestrictToOutput, IDXGISwapChain1** ppSwapChain)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory3*, IUnknown*, IntPtr, SwapChainDescription1*, SwapChainFullscreenDescription*, IDXGIOutput*, IDXGISwapChain1**, int>)(lpVtbl[15]))((IDXGIFactory3*)Unsafe.AsPointer(ref this), pDevice, hWnd, pDesc, pFullscreenDesc, pRestrictToOutput, ppSwapChain);
}
/// <inheritdoc cref="IDXGIFactory2.CreateSwapChainForCoreWindow" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(16)]
public HResult CreateSwapChainForCoreWindow(IUnknown* pDevice, IUnknown* pWindow, SwapChainDescription1* pDesc, IDXGIOutput* pRestrictToOutput, IDXGISwapChain1** ppSwapChain)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory3*, IUnknown*, IUnknown*, SwapChainDescription1*, IDXGIOutput*, IDXGISwapChain1**, int>)(lpVtbl[16]))((IDXGIFactory3*)Unsafe.AsPointer(ref this), pDevice, pWindow, pDesc, pRestrictToOutput, ppSwapChain);
}
/// <inheritdoc cref="IDXGIFactory2.GetSharedResourceAdapterLuid" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(17)]
public HResult GetSharedResourceAdapterLuid(Handle hResource, Luid* pLuid)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory3*, Handle, Luid*, int>)(lpVtbl[17]))((IDXGIFactory3*)Unsafe.AsPointer(ref this), hResource, pLuid);
}
/// <inheritdoc cref="IDXGIFactory2.RegisterStereoStatusWindow" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(18)]
public HResult RegisterStereoStatusWindow(IntPtr WindowHandle, uint wMsg, uint* pdwCookie)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory3*, IntPtr, uint, uint*, int>)(lpVtbl[18]))((IDXGIFactory3*)Unsafe.AsPointer(ref this), WindowHandle, wMsg, pdwCookie);
}
/// <inheritdoc cref="IDXGIFactory2.RegisterStereoStatusEvent" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(19)]
public HResult RegisterStereoStatusEvent(Handle hEvent, uint* pdwCookie)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory3*, Handle, uint*, int>)(lpVtbl[19]))((IDXGIFactory3*)Unsafe.AsPointer(ref this), hEvent, pdwCookie);
}
/// <inheritdoc cref="IDXGIFactory2.UnregisterStereoStatus" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(20)]
public void UnregisterStereoStatus(uint dwCookie)
{
((delegate* unmanaged[Stdcall]<IDXGIFactory3*, uint, void>)(lpVtbl[20]))((IDXGIFactory3*)Unsafe.AsPointer(ref this), dwCookie);
}
/// <inheritdoc cref="IDXGIFactory2.RegisterOcclusionStatusWindow" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(21)]
public HResult RegisterOcclusionStatusWindow(IntPtr WindowHandle, uint wMsg, uint* pdwCookie)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory3*, IntPtr, uint, uint*, int>)(lpVtbl[21]))((IDXGIFactory3*)Unsafe.AsPointer(ref this), WindowHandle, wMsg, pdwCookie);
}
/// <inheritdoc cref="IDXGIFactory2.RegisterOcclusionStatusEvent" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(22)]
public HResult RegisterOcclusionStatusEvent(Handle hEvent, uint* pdwCookie)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory3*, Handle, uint*, int>)(lpVtbl[22]))((IDXGIFactory3*)Unsafe.AsPointer(ref this), hEvent, pdwCookie);
}
/// <inheritdoc cref="IDXGIFactory2.UnregisterOcclusionStatus" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(23)]
public void UnregisterOcclusionStatus(uint dwCookie)
{
((delegate* unmanaged[Stdcall]<IDXGIFactory3*, uint, void>)(lpVtbl[23]))((IDXGIFactory3*)Unsafe.AsPointer(ref this), dwCookie);
}
/// <inheritdoc cref="IDXGIFactory2.CreateSwapChainForComposition" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(24)]
public HResult CreateSwapChainForComposition(IUnknown* pDevice, SwapChainDescription1* pDesc, IDXGIOutput* pRestrictToOutput, IDXGISwapChain1** ppSwapChain)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory3*, IUnknown*, SwapChainDescription1*, IDXGIOutput*, IDXGISwapChain1**, int>)(lpVtbl[24]))((IDXGIFactory3*)Unsafe.AsPointer(ref this), pDevice, pDesc, pRestrictToOutput, ppSwapChain);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIFactory3::GetCreationFlags"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(25)]
public uint GetCreationFlags()
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory3*, uint>)(lpVtbl[25]))((IDXGIFactory3*)Unsafe.AsPointer(ref this));
}
}

View File

@@ -0,0 +1,277 @@
// ------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
namespace Win32.Graphics.Dxgi;
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIFactory4"]/*' />
/// <unmanaged>IDXGIFactory4</unmanaged>
[Guid("1bc6ea02-ef36-464f-bf0c-21ca39e5168a")]
[NativeTypeName("struct IDXGIFactory4 : IDXGIFactory3")]
[NativeInheritance("IDXGIFactory3")]
public unsafe partial struct IDXGIFactory4 : INativeGuid
{
public static ref readonly Guid IID_IDXGIFactory4
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
ReadOnlySpan<byte> data = new byte[] {
0x02, 0xEA, 0xC6, 0x1B,
0x36, 0xEF,
0x4F, 0x46,
0xBF,
0x0C,
0x21,
0xCA,
0x39,
0xE5,
0x16,
0x8A
};
Debug.Assert(data.Length == Unsafe.SizeOf<Guid>());
return ref Unsafe.As<byte, Guid>(ref MemoryMarshal.GetReference(data));
}
}
#if NET6_0_OR_GREATER
static Guid* INativeGuid.NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_IDXGIFactory4));
#else
public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_IDXGIFactory4));
#endif
public void** lpVtbl;
/// <inheritdoc cref="IUnknown.QueryInterface" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(0)]
public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject)
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, Guid*, void**, int>)(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject);
}
/// <inheritdoc cref="IUnknown.AddRef" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(1)]
[return: NativeTypeName("ULONG")]
public uint AddRef()
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, uint>)(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IUnknown.Release" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(2)]
[return: NativeTypeName("ULONG")]
public uint Release()
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, uint>)(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IDXGIObject.SetPrivateData" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(3)]
public HResult SetPrivateData(Guid* Name, uint DataSize, void* pData)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory4*, Guid*, uint, void*, int>)(lpVtbl[3]))((IDXGIFactory4*)Unsafe.AsPointer(ref this), Name, DataSize, pData);
}
/// <inheritdoc cref="IDXGIObject.SetPrivateDataInterface" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(4)]
public HResult SetPrivateDataInterface(Guid* Name, IUnknown* pUnknown)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory4*, Guid*, IUnknown*, int>)(lpVtbl[4]))((IDXGIFactory4*)Unsafe.AsPointer(ref this), Name, pUnknown);
}
/// <inheritdoc cref="IDXGIObject.GetPrivateData" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(5)]
public HResult GetPrivateData(Guid* Name, uint* pDataSize, void* pData)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory4*, Guid*, uint*, void*, int>)(lpVtbl[5]))((IDXGIFactory4*)Unsafe.AsPointer(ref this), Name, pDataSize, pData);
}
/// <inheritdoc cref="IDXGIObject.GetParent" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(6)]
public HResult GetParent(Guid* riid, void** ppParent)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory4*, Guid*, void**, int>)(lpVtbl[6]))((IDXGIFactory4*)Unsafe.AsPointer(ref this), riid, ppParent);
}
/// <inheritdoc cref="IDXGIFactory.EnumAdapters" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(7)]
public HResult EnumAdapters(uint Adapter, IDXGIAdapter** ppAdapter)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory4*, uint, IDXGIAdapter**, int>)(lpVtbl[7]))((IDXGIFactory4*)Unsafe.AsPointer(ref this), Adapter, ppAdapter);
}
/// <inheritdoc cref="IDXGIFactory.MakeWindowAssociation" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(8)]
public HResult MakeWindowAssociation(IntPtr WindowHandle, uint Flags)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory4*, IntPtr, uint, int>)(lpVtbl[8]))((IDXGIFactory4*)Unsafe.AsPointer(ref this), WindowHandle, Flags);
}
/// <inheritdoc cref="IDXGIFactory.GetWindowAssociation" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(9)]
public HResult GetWindowAssociation(IntPtr* pWindowHandle)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory4*, IntPtr*, int>)(lpVtbl[9]))((IDXGIFactory4*)Unsafe.AsPointer(ref this), pWindowHandle);
}
/// <inheritdoc cref="IDXGIFactory.CreateSwapChain" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(10)]
public HResult CreateSwapChain(IUnknown* pDevice, SwapChainDescription* pDesc, IDXGISwapChain** ppSwapChain)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory4*, IUnknown*, SwapChainDescription*, IDXGISwapChain**, int>)(lpVtbl[10]))((IDXGIFactory4*)Unsafe.AsPointer(ref this), pDevice, pDesc, ppSwapChain);
}
/// <inheritdoc cref="IDXGIFactory.CreateSoftwareAdapter" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(11)]
public HResult CreateSoftwareAdapter(IntPtr Module, IDXGIAdapter** ppAdapter)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory4*, IntPtr, IDXGIAdapter**, int>)(lpVtbl[11]))((IDXGIFactory4*)Unsafe.AsPointer(ref this), Module, ppAdapter);
}
/// <inheritdoc cref="IDXGIFactory1.EnumAdapters1" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(12)]
public HResult EnumAdapters1(uint Adapter, IDXGIAdapter1** ppAdapter)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory4*, uint, IDXGIAdapter1**, int>)(lpVtbl[12]))((IDXGIFactory4*)Unsafe.AsPointer(ref this), Adapter, ppAdapter);
}
/// <inheritdoc cref="IDXGIFactory1.IsCurrent" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(13)]
public Bool32 IsCurrent()
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory4*, Bool32>)(lpVtbl[13]))((IDXGIFactory4*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IDXGIFactory2.IsWindowedStereoEnabled" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(14)]
public Bool32 IsWindowedStereoEnabled()
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory4*, Bool32>)(lpVtbl[14]))((IDXGIFactory4*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IDXGIFactory2.CreateSwapChainForHwnd" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(15)]
public HResult CreateSwapChainForHwnd(IUnknown* pDevice, IntPtr hWnd, SwapChainDescription1* pDesc, SwapChainFullscreenDescription* pFullscreenDesc, IDXGIOutput* pRestrictToOutput, IDXGISwapChain1** ppSwapChain)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory4*, IUnknown*, IntPtr, SwapChainDescription1*, SwapChainFullscreenDescription*, IDXGIOutput*, IDXGISwapChain1**, int>)(lpVtbl[15]))((IDXGIFactory4*)Unsafe.AsPointer(ref this), pDevice, hWnd, pDesc, pFullscreenDesc, pRestrictToOutput, ppSwapChain);
}
/// <inheritdoc cref="IDXGIFactory2.CreateSwapChainForCoreWindow" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(16)]
public HResult CreateSwapChainForCoreWindow(IUnknown* pDevice, IUnknown* pWindow, SwapChainDescription1* pDesc, IDXGIOutput* pRestrictToOutput, IDXGISwapChain1** ppSwapChain)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory4*, IUnknown*, IUnknown*, SwapChainDescription1*, IDXGIOutput*, IDXGISwapChain1**, int>)(lpVtbl[16]))((IDXGIFactory4*)Unsafe.AsPointer(ref this), pDevice, pWindow, pDesc, pRestrictToOutput, ppSwapChain);
}
/// <inheritdoc cref="IDXGIFactory2.GetSharedResourceAdapterLuid" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(17)]
public HResult GetSharedResourceAdapterLuid(Handle hResource, Luid* pLuid)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory4*, Handle, Luid*, int>)(lpVtbl[17]))((IDXGIFactory4*)Unsafe.AsPointer(ref this), hResource, pLuid);
}
/// <inheritdoc cref="IDXGIFactory2.RegisterStereoStatusWindow" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(18)]
public HResult RegisterStereoStatusWindow(IntPtr WindowHandle, uint wMsg, uint* pdwCookie)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory4*, IntPtr, uint, uint*, int>)(lpVtbl[18]))((IDXGIFactory4*)Unsafe.AsPointer(ref this), WindowHandle, wMsg, pdwCookie);
}
/// <inheritdoc cref="IDXGIFactory2.RegisterStereoStatusEvent" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(19)]
public HResult RegisterStereoStatusEvent(Handle hEvent, uint* pdwCookie)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory4*, Handle, uint*, int>)(lpVtbl[19]))((IDXGIFactory4*)Unsafe.AsPointer(ref this), hEvent, pdwCookie);
}
/// <inheritdoc cref="IDXGIFactory2.UnregisterStereoStatus" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(20)]
public void UnregisterStereoStatus(uint dwCookie)
{
((delegate* unmanaged[Stdcall]<IDXGIFactory4*, uint, void>)(lpVtbl[20]))((IDXGIFactory4*)Unsafe.AsPointer(ref this), dwCookie);
}
/// <inheritdoc cref="IDXGIFactory2.RegisterOcclusionStatusWindow" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(21)]
public HResult RegisterOcclusionStatusWindow(IntPtr WindowHandle, uint wMsg, uint* pdwCookie)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory4*, IntPtr, uint, uint*, int>)(lpVtbl[21]))((IDXGIFactory4*)Unsafe.AsPointer(ref this), WindowHandle, wMsg, pdwCookie);
}
/// <inheritdoc cref="IDXGIFactory2.RegisterOcclusionStatusEvent" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(22)]
public HResult RegisterOcclusionStatusEvent(Handle hEvent, uint* pdwCookie)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory4*, Handle, uint*, int>)(lpVtbl[22]))((IDXGIFactory4*)Unsafe.AsPointer(ref this), hEvent, pdwCookie);
}
/// <inheritdoc cref="IDXGIFactory2.UnregisterOcclusionStatus" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(23)]
public void UnregisterOcclusionStatus(uint dwCookie)
{
((delegate* unmanaged[Stdcall]<IDXGIFactory4*, uint, void>)(lpVtbl[23]))((IDXGIFactory4*)Unsafe.AsPointer(ref this), dwCookie);
}
/// <inheritdoc cref="IDXGIFactory2.CreateSwapChainForComposition" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(24)]
public HResult CreateSwapChainForComposition(IUnknown* pDevice, SwapChainDescription1* pDesc, IDXGIOutput* pRestrictToOutput, IDXGISwapChain1** ppSwapChain)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory4*, IUnknown*, SwapChainDescription1*, IDXGIOutput*, IDXGISwapChain1**, int>)(lpVtbl[24]))((IDXGIFactory4*)Unsafe.AsPointer(ref this), pDevice, pDesc, pRestrictToOutput, ppSwapChain);
}
/// <inheritdoc cref="IDXGIFactory3.GetCreationFlags" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(25)]
public uint GetCreationFlags()
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory4*, uint>)(lpVtbl[25]))((IDXGIFactory4*)Unsafe.AsPointer(ref this));
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIFactory4::EnumAdapterByLuid"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(26)]
public HResult EnumAdapterByLuid(Luid AdapterLuid, Guid* riid, void** ppvAdapter)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory4*, Luid, Guid*, void**, int>)(lpVtbl[26]))((IDXGIFactory4*)Unsafe.AsPointer(ref this), AdapterLuid, riid, ppvAdapter);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIFactory4::EnumWarpAdapter"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(27)]
public HResult EnumWarpAdapter(Guid* riid, void** ppvAdapter)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory4*, Guid*, void**, int>)(lpVtbl[27]))((IDXGIFactory4*)Unsafe.AsPointer(ref this), riid, ppvAdapter);
}
}

View File

@@ -0,0 +1,285 @@
// ------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
namespace Win32.Graphics.Dxgi;
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIFactory5"]/*' />
/// <unmanaged>IDXGIFactory5</unmanaged>
[Guid("7632e1f5-ee65-4dca-87fd-84cd75f8838d")]
[NativeTypeName("struct IDXGIFactory5 : IDXGIFactory4")]
[NativeInheritance("IDXGIFactory4")]
public unsafe partial struct IDXGIFactory5 : INativeGuid
{
public static ref readonly Guid IID_IDXGIFactory5
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
ReadOnlySpan<byte> data = new byte[] {
0xF5, 0xE1, 0x32, 0x76,
0x65, 0xEE,
0xCA, 0x4D,
0x87,
0xFD,
0x84,
0xCD,
0x75,
0xF8,
0x83,
0x8D
};
Debug.Assert(data.Length == Unsafe.SizeOf<Guid>());
return ref Unsafe.As<byte, Guid>(ref MemoryMarshal.GetReference(data));
}
}
#if NET6_0_OR_GREATER
static Guid* INativeGuid.NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_IDXGIFactory5));
#else
public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_IDXGIFactory5));
#endif
public void** lpVtbl;
/// <inheritdoc cref="IUnknown.QueryInterface" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(0)]
public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject)
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, Guid*, void**, int>)(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject);
}
/// <inheritdoc cref="IUnknown.AddRef" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(1)]
[return: NativeTypeName("ULONG")]
public uint AddRef()
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, uint>)(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IUnknown.Release" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(2)]
[return: NativeTypeName("ULONG")]
public uint Release()
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, uint>)(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IDXGIObject.SetPrivateData" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(3)]
public HResult SetPrivateData(Guid* Name, uint DataSize, void* pData)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory5*, Guid*, uint, void*, int>)(lpVtbl[3]))((IDXGIFactory5*)Unsafe.AsPointer(ref this), Name, DataSize, pData);
}
/// <inheritdoc cref="IDXGIObject.SetPrivateDataInterface" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(4)]
public HResult SetPrivateDataInterface(Guid* Name, IUnknown* pUnknown)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory5*, Guid*, IUnknown*, int>)(lpVtbl[4]))((IDXGIFactory5*)Unsafe.AsPointer(ref this), Name, pUnknown);
}
/// <inheritdoc cref="IDXGIObject.GetPrivateData" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(5)]
public HResult GetPrivateData(Guid* Name, uint* pDataSize, void* pData)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory5*, Guid*, uint*, void*, int>)(lpVtbl[5]))((IDXGIFactory5*)Unsafe.AsPointer(ref this), Name, pDataSize, pData);
}
/// <inheritdoc cref="IDXGIObject.GetParent" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(6)]
public HResult GetParent(Guid* riid, void** ppParent)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory5*, Guid*, void**, int>)(lpVtbl[6]))((IDXGIFactory5*)Unsafe.AsPointer(ref this), riid, ppParent);
}
/// <inheritdoc cref="IDXGIFactory.EnumAdapters" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(7)]
public HResult EnumAdapters(uint Adapter, IDXGIAdapter** ppAdapter)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory5*, uint, IDXGIAdapter**, int>)(lpVtbl[7]))((IDXGIFactory5*)Unsafe.AsPointer(ref this), Adapter, ppAdapter);
}
/// <inheritdoc cref="IDXGIFactory.MakeWindowAssociation" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(8)]
public HResult MakeWindowAssociation(IntPtr WindowHandle, uint Flags)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory5*, IntPtr, uint, int>)(lpVtbl[8]))((IDXGIFactory5*)Unsafe.AsPointer(ref this), WindowHandle, Flags);
}
/// <inheritdoc cref="IDXGIFactory.GetWindowAssociation" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(9)]
public HResult GetWindowAssociation(IntPtr* pWindowHandle)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory5*, IntPtr*, int>)(lpVtbl[9]))((IDXGIFactory5*)Unsafe.AsPointer(ref this), pWindowHandle);
}
/// <inheritdoc cref="IDXGIFactory.CreateSwapChain" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(10)]
public HResult CreateSwapChain(IUnknown* pDevice, SwapChainDescription* pDesc, IDXGISwapChain** ppSwapChain)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory5*, IUnknown*, SwapChainDescription*, IDXGISwapChain**, int>)(lpVtbl[10]))((IDXGIFactory5*)Unsafe.AsPointer(ref this), pDevice, pDesc, ppSwapChain);
}
/// <inheritdoc cref="IDXGIFactory.CreateSoftwareAdapter" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(11)]
public HResult CreateSoftwareAdapter(IntPtr Module, IDXGIAdapter** ppAdapter)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory5*, IntPtr, IDXGIAdapter**, int>)(lpVtbl[11]))((IDXGIFactory5*)Unsafe.AsPointer(ref this), Module, ppAdapter);
}
/// <inheritdoc cref="IDXGIFactory1.EnumAdapters1" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(12)]
public HResult EnumAdapters1(uint Adapter, IDXGIAdapter1** ppAdapter)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory5*, uint, IDXGIAdapter1**, int>)(lpVtbl[12]))((IDXGIFactory5*)Unsafe.AsPointer(ref this), Adapter, ppAdapter);
}
/// <inheritdoc cref="IDXGIFactory1.IsCurrent" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(13)]
public Bool32 IsCurrent()
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory5*, Bool32>)(lpVtbl[13]))((IDXGIFactory5*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IDXGIFactory2.IsWindowedStereoEnabled" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(14)]
public Bool32 IsWindowedStereoEnabled()
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory5*, Bool32>)(lpVtbl[14]))((IDXGIFactory5*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IDXGIFactory2.CreateSwapChainForHwnd" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(15)]
public HResult CreateSwapChainForHwnd(IUnknown* pDevice, IntPtr hWnd, SwapChainDescription1* pDesc, SwapChainFullscreenDescription* pFullscreenDesc, IDXGIOutput* pRestrictToOutput, IDXGISwapChain1** ppSwapChain)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory5*, IUnknown*, IntPtr, SwapChainDescription1*, SwapChainFullscreenDescription*, IDXGIOutput*, IDXGISwapChain1**, int>)(lpVtbl[15]))((IDXGIFactory5*)Unsafe.AsPointer(ref this), pDevice, hWnd, pDesc, pFullscreenDesc, pRestrictToOutput, ppSwapChain);
}
/// <inheritdoc cref="IDXGIFactory2.CreateSwapChainForCoreWindow" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(16)]
public HResult CreateSwapChainForCoreWindow(IUnknown* pDevice, IUnknown* pWindow, SwapChainDescription1* pDesc, IDXGIOutput* pRestrictToOutput, IDXGISwapChain1** ppSwapChain)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory5*, IUnknown*, IUnknown*, SwapChainDescription1*, IDXGIOutput*, IDXGISwapChain1**, int>)(lpVtbl[16]))((IDXGIFactory5*)Unsafe.AsPointer(ref this), pDevice, pWindow, pDesc, pRestrictToOutput, ppSwapChain);
}
/// <inheritdoc cref="IDXGIFactory2.GetSharedResourceAdapterLuid" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(17)]
public HResult GetSharedResourceAdapterLuid(Handle hResource, Luid* pLuid)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory5*, Handle, Luid*, int>)(lpVtbl[17]))((IDXGIFactory5*)Unsafe.AsPointer(ref this), hResource, pLuid);
}
/// <inheritdoc cref="IDXGIFactory2.RegisterStereoStatusWindow" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(18)]
public HResult RegisterStereoStatusWindow(IntPtr WindowHandle, uint wMsg, uint* pdwCookie)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory5*, IntPtr, uint, uint*, int>)(lpVtbl[18]))((IDXGIFactory5*)Unsafe.AsPointer(ref this), WindowHandle, wMsg, pdwCookie);
}
/// <inheritdoc cref="IDXGIFactory2.RegisterStereoStatusEvent" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(19)]
public HResult RegisterStereoStatusEvent(Handle hEvent, uint* pdwCookie)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory5*, Handle, uint*, int>)(lpVtbl[19]))((IDXGIFactory5*)Unsafe.AsPointer(ref this), hEvent, pdwCookie);
}
/// <inheritdoc cref="IDXGIFactory2.UnregisterStereoStatus" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(20)]
public void UnregisterStereoStatus(uint dwCookie)
{
((delegate* unmanaged[Stdcall]<IDXGIFactory5*, uint, void>)(lpVtbl[20]))((IDXGIFactory5*)Unsafe.AsPointer(ref this), dwCookie);
}
/// <inheritdoc cref="IDXGIFactory2.RegisterOcclusionStatusWindow" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(21)]
public HResult RegisterOcclusionStatusWindow(IntPtr WindowHandle, uint wMsg, uint* pdwCookie)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory5*, IntPtr, uint, uint*, int>)(lpVtbl[21]))((IDXGIFactory5*)Unsafe.AsPointer(ref this), WindowHandle, wMsg, pdwCookie);
}
/// <inheritdoc cref="IDXGIFactory2.RegisterOcclusionStatusEvent" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(22)]
public HResult RegisterOcclusionStatusEvent(Handle hEvent, uint* pdwCookie)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory5*, Handle, uint*, int>)(lpVtbl[22]))((IDXGIFactory5*)Unsafe.AsPointer(ref this), hEvent, pdwCookie);
}
/// <inheritdoc cref="IDXGIFactory2.UnregisterOcclusionStatus" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(23)]
public void UnregisterOcclusionStatus(uint dwCookie)
{
((delegate* unmanaged[Stdcall]<IDXGIFactory5*, uint, void>)(lpVtbl[23]))((IDXGIFactory5*)Unsafe.AsPointer(ref this), dwCookie);
}
/// <inheritdoc cref="IDXGIFactory2.CreateSwapChainForComposition" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(24)]
public HResult CreateSwapChainForComposition(IUnknown* pDevice, SwapChainDescription1* pDesc, IDXGIOutput* pRestrictToOutput, IDXGISwapChain1** ppSwapChain)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory5*, IUnknown*, SwapChainDescription1*, IDXGIOutput*, IDXGISwapChain1**, int>)(lpVtbl[24]))((IDXGIFactory5*)Unsafe.AsPointer(ref this), pDevice, pDesc, pRestrictToOutput, ppSwapChain);
}
/// <inheritdoc cref="IDXGIFactory3.GetCreationFlags" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(25)]
public uint GetCreationFlags()
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory5*, uint>)(lpVtbl[25]))((IDXGIFactory5*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IDXGIFactory4.EnumAdapterByLuid" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(26)]
public HResult EnumAdapterByLuid(Luid AdapterLuid, Guid* riid, void** ppvAdapter)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory5*, Luid, Guid*, void**, int>)(lpVtbl[26]))((IDXGIFactory5*)Unsafe.AsPointer(ref this), AdapterLuid, riid, ppvAdapter);
}
/// <inheritdoc cref="IDXGIFactory4.EnumWarpAdapter" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(27)]
public HResult EnumWarpAdapter(Guid* riid, void** ppvAdapter)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory5*, Guid*, void**, int>)(lpVtbl[27]))((IDXGIFactory5*)Unsafe.AsPointer(ref this), riid, ppvAdapter);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIFactory5::CheckFeatureSupport"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(28)]
public HResult CheckFeatureSupport(Feature Feature, void* pFeatureSupportData, uint FeatureSupportDataSize)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory5*, Feature, void*, uint, int>)(lpVtbl[28]))((IDXGIFactory5*)Unsafe.AsPointer(ref this), Feature, pFeatureSupportData, FeatureSupportDataSize);
}
}

View File

@@ -0,0 +1,293 @@
// ------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
namespace Win32.Graphics.Dxgi;
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIFactory6"]/*' />
/// <unmanaged>IDXGIFactory6</unmanaged>
[Guid("c1b6694f-ff09-44a9-b03c-77900a0a1d17")]
[NativeTypeName("struct IDXGIFactory6 : IDXGIFactory5")]
[NativeInheritance("IDXGIFactory5")]
public unsafe partial struct IDXGIFactory6 : INativeGuid
{
public static ref readonly Guid IID_IDXGIFactory6
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
ReadOnlySpan<byte> data = new byte[] {
0x4F, 0x69, 0xB6, 0xC1,
0x09, 0xFF,
0xA9, 0x44,
0xB0,
0x3C,
0x77,
0x90,
0x0A,
0x0A,
0x1D,
0x17
};
Debug.Assert(data.Length == Unsafe.SizeOf<Guid>());
return ref Unsafe.As<byte, Guid>(ref MemoryMarshal.GetReference(data));
}
}
#if NET6_0_OR_GREATER
static Guid* INativeGuid.NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_IDXGIFactory6));
#else
public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_IDXGIFactory6));
#endif
public void** lpVtbl;
/// <inheritdoc cref="IUnknown.QueryInterface" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(0)]
public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject)
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, Guid*, void**, int>)(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject);
}
/// <inheritdoc cref="IUnknown.AddRef" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(1)]
[return: NativeTypeName("ULONG")]
public uint AddRef()
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, uint>)(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IUnknown.Release" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(2)]
[return: NativeTypeName("ULONG")]
public uint Release()
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, uint>)(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IDXGIObject.SetPrivateData" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(3)]
public HResult SetPrivateData(Guid* Name, uint DataSize, void* pData)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory6*, Guid*, uint, void*, int>)(lpVtbl[3]))((IDXGIFactory6*)Unsafe.AsPointer(ref this), Name, DataSize, pData);
}
/// <inheritdoc cref="IDXGIObject.SetPrivateDataInterface" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(4)]
public HResult SetPrivateDataInterface(Guid* Name, IUnknown* pUnknown)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory6*, Guid*, IUnknown*, int>)(lpVtbl[4]))((IDXGIFactory6*)Unsafe.AsPointer(ref this), Name, pUnknown);
}
/// <inheritdoc cref="IDXGIObject.GetPrivateData" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(5)]
public HResult GetPrivateData(Guid* Name, uint* pDataSize, void* pData)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory6*, Guid*, uint*, void*, int>)(lpVtbl[5]))((IDXGIFactory6*)Unsafe.AsPointer(ref this), Name, pDataSize, pData);
}
/// <inheritdoc cref="IDXGIObject.GetParent" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(6)]
public HResult GetParent(Guid* riid, void** ppParent)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory6*, Guid*, void**, int>)(lpVtbl[6]))((IDXGIFactory6*)Unsafe.AsPointer(ref this), riid, ppParent);
}
/// <inheritdoc cref="IDXGIFactory.EnumAdapters" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(7)]
public HResult EnumAdapters(uint Adapter, IDXGIAdapter** ppAdapter)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory6*, uint, IDXGIAdapter**, int>)(lpVtbl[7]))((IDXGIFactory6*)Unsafe.AsPointer(ref this), Adapter, ppAdapter);
}
/// <inheritdoc cref="IDXGIFactory.MakeWindowAssociation" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(8)]
public HResult MakeWindowAssociation(IntPtr WindowHandle, uint Flags)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory6*, IntPtr, uint, int>)(lpVtbl[8]))((IDXGIFactory6*)Unsafe.AsPointer(ref this), WindowHandle, Flags);
}
/// <inheritdoc cref="IDXGIFactory.GetWindowAssociation" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(9)]
public HResult GetWindowAssociation(IntPtr* pWindowHandle)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory6*, IntPtr*, int>)(lpVtbl[9]))((IDXGIFactory6*)Unsafe.AsPointer(ref this), pWindowHandle);
}
/// <inheritdoc cref="IDXGIFactory.CreateSwapChain" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(10)]
public HResult CreateSwapChain(IUnknown* pDevice, SwapChainDescription* pDesc, IDXGISwapChain** ppSwapChain)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory6*, IUnknown*, SwapChainDescription*, IDXGISwapChain**, int>)(lpVtbl[10]))((IDXGIFactory6*)Unsafe.AsPointer(ref this), pDevice, pDesc, ppSwapChain);
}
/// <inheritdoc cref="IDXGIFactory.CreateSoftwareAdapter" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(11)]
public HResult CreateSoftwareAdapter(IntPtr Module, IDXGIAdapter** ppAdapter)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory6*, IntPtr, IDXGIAdapter**, int>)(lpVtbl[11]))((IDXGIFactory6*)Unsafe.AsPointer(ref this), Module, ppAdapter);
}
/// <inheritdoc cref="IDXGIFactory1.EnumAdapters1" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(12)]
public HResult EnumAdapters1(uint Adapter, IDXGIAdapter1** ppAdapter)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory6*, uint, IDXGIAdapter1**, int>)(lpVtbl[12]))((IDXGIFactory6*)Unsafe.AsPointer(ref this), Adapter, ppAdapter);
}
/// <inheritdoc cref="IDXGIFactory1.IsCurrent" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(13)]
public Bool32 IsCurrent()
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory6*, Bool32>)(lpVtbl[13]))((IDXGIFactory6*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IDXGIFactory2.IsWindowedStereoEnabled" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(14)]
public Bool32 IsWindowedStereoEnabled()
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory6*, Bool32>)(lpVtbl[14]))((IDXGIFactory6*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IDXGIFactory2.CreateSwapChainForHwnd" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(15)]
public HResult CreateSwapChainForHwnd(IUnknown* pDevice, IntPtr hWnd, SwapChainDescription1* pDesc, SwapChainFullscreenDescription* pFullscreenDesc, IDXGIOutput* pRestrictToOutput, IDXGISwapChain1** ppSwapChain)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory6*, IUnknown*, IntPtr, SwapChainDescription1*, SwapChainFullscreenDescription*, IDXGIOutput*, IDXGISwapChain1**, int>)(lpVtbl[15]))((IDXGIFactory6*)Unsafe.AsPointer(ref this), pDevice, hWnd, pDesc, pFullscreenDesc, pRestrictToOutput, ppSwapChain);
}
/// <inheritdoc cref="IDXGIFactory2.CreateSwapChainForCoreWindow" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(16)]
public HResult CreateSwapChainForCoreWindow(IUnknown* pDevice, IUnknown* pWindow, SwapChainDescription1* pDesc, IDXGIOutput* pRestrictToOutput, IDXGISwapChain1** ppSwapChain)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory6*, IUnknown*, IUnknown*, SwapChainDescription1*, IDXGIOutput*, IDXGISwapChain1**, int>)(lpVtbl[16]))((IDXGIFactory6*)Unsafe.AsPointer(ref this), pDevice, pWindow, pDesc, pRestrictToOutput, ppSwapChain);
}
/// <inheritdoc cref="IDXGIFactory2.GetSharedResourceAdapterLuid" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(17)]
public HResult GetSharedResourceAdapterLuid(Handle hResource, Luid* pLuid)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory6*, Handle, Luid*, int>)(lpVtbl[17]))((IDXGIFactory6*)Unsafe.AsPointer(ref this), hResource, pLuid);
}
/// <inheritdoc cref="IDXGIFactory2.RegisterStereoStatusWindow" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(18)]
public HResult RegisterStereoStatusWindow(IntPtr WindowHandle, uint wMsg, uint* pdwCookie)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory6*, IntPtr, uint, uint*, int>)(lpVtbl[18]))((IDXGIFactory6*)Unsafe.AsPointer(ref this), WindowHandle, wMsg, pdwCookie);
}
/// <inheritdoc cref="IDXGIFactory2.RegisterStereoStatusEvent" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(19)]
public HResult RegisterStereoStatusEvent(Handle hEvent, uint* pdwCookie)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory6*, Handle, uint*, int>)(lpVtbl[19]))((IDXGIFactory6*)Unsafe.AsPointer(ref this), hEvent, pdwCookie);
}
/// <inheritdoc cref="IDXGIFactory2.UnregisterStereoStatus" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(20)]
public void UnregisterStereoStatus(uint dwCookie)
{
((delegate* unmanaged[Stdcall]<IDXGIFactory6*, uint, void>)(lpVtbl[20]))((IDXGIFactory6*)Unsafe.AsPointer(ref this), dwCookie);
}
/// <inheritdoc cref="IDXGIFactory2.RegisterOcclusionStatusWindow" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(21)]
public HResult RegisterOcclusionStatusWindow(IntPtr WindowHandle, uint wMsg, uint* pdwCookie)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory6*, IntPtr, uint, uint*, int>)(lpVtbl[21]))((IDXGIFactory6*)Unsafe.AsPointer(ref this), WindowHandle, wMsg, pdwCookie);
}
/// <inheritdoc cref="IDXGIFactory2.RegisterOcclusionStatusEvent" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(22)]
public HResult RegisterOcclusionStatusEvent(Handle hEvent, uint* pdwCookie)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory6*, Handle, uint*, int>)(lpVtbl[22]))((IDXGIFactory6*)Unsafe.AsPointer(ref this), hEvent, pdwCookie);
}
/// <inheritdoc cref="IDXGIFactory2.UnregisterOcclusionStatus" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(23)]
public void UnregisterOcclusionStatus(uint dwCookie)
{
((delegate* unmanaged[Stdcall]<IDXGIFactory6*, uint, void>)(lpVtbl[23]))((IDXGIFactory6*)Unsafe.AsPointer(ref this), dwCookie);
}
/// <inheritdoc cref="IDXGIFactory2.CreateSwapChainForComposition" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(24)]
public HResult CreateSwapChainForComposition(IUnknown* pDevice, SwapChainDescription1* pDesc, IDXGIOutput* pRestrictToOutput, IDXGISwapChain1** ppSwapChain)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory6*, IUnknown*, SwapChainDescription1*, IDXGIOutput*, IDXGISwapChain1**, int>)(lpVtbl[24]))((IDXGIFactory6*)Unsafe.AsPointer(ref this), pDevice, pDesc, pRestrictToOutput, ppSwapChain);
}
/// <inheritdoc cref="IDXGIFactory3.GetCreationFlags" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(25)]
public uint GetCreationFlags()
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory6*, uint>)(lpVtbl[25]))((IDXGIFactory6*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IDXGIFactory4.EnumAdapterByLuid" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(26)]
public HResult EnumAdapterByLuid(Luid AdapterLuid, Guid* riid, void** ppvAdapter)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory6*, Luid, Guid*, void**, int>)(lpVtbl[26]))((IDXGIFactory6*)Unsafe.AsPointer(ref this), AdapterLuid, riid, ppvAdapter);
}
/// <inheritdoc cref="IDXGIFactory4.EnumWarpAdapter" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(27)]
public HResult EnumWarpAdapter(Guid* riid, void** ppvAdapter)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory6*, Guid*, void**, int>)(lpVtbl[27]))((IDXGIFactory6*)Unsafe.AsPointer(ref this), riid, ppvAdapter);
}
/// <inheritdoc cref="IDXGIFactory5.CheckFeatureSupport" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(28)]
public HResult CheckFeatureSupport(Feature Feature, void* pFeatureSupportData, uint FeatureSupportDataSize)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory6*, Feature, void*, uint, int>)(lpVtbl[28]))((IDXGIFactory6*)Unsafe.AsPointer(ref this), Feature, pFeatureSupportData, FeatureSupportDataSize);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIFactory6::EnumAdapterByGpuPreference"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(29)]
public HResult EnumAdapterByGpuPreference(uint Adapter, GpuPreference GpuPreference, Guid* riid, void** ppvAdapter)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory6*, uint, GpuPreference, Guid*, void**, int>)(lpVtbl[29]))((IDXGIFactory6*)Unsafe.AsPointer(ref this), Adapter, GpuPreference, riid, ppvAdapter);
}
}

View File

@@ -0,0 +1,309 @@
// ------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
namespace Win32.Graphics.Dxgi;
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIFactory7"]/*' />
/// <unmanaged>IDXGIFactory7</unmanaged>
[Guid("a4966eed-76db-44da-84c1-ee9a7afb20a8")]
[NativeTypeName("struct IDXGIFactory7 : IDXGIFactory6")]
[NativeInheritance("IDXGIFactory6")]
public unsafe partial struct IDXGIFactory7 : INativeGuid
{
public static ref readonly Guid IID_IDXGIFactory7
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
ReadOnlySpan<byte> data = new byte[] {
0xED, 0x6E, 0x96, 0xA4,
0xDB, 0x76,
0xDA, 0x44,
0x84,
0xC1,
0xEE,
0x9A,
0x7A,
0xFB,
0x20,
0xA8
};
Debug.Assert(data.Length == Unsafe.SizeOf<Guid>());
return ref Unsafe.As<byte, Guid>(ref MemoryMarshal.GetReference(data));
}
}
#if NET6_0_OR_GREATER
static Guid* INativeGuid.NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_IDXGIFactory7));
#else
public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_IDXGIFactory7));
#endif
public void** lpVtbl;
/// <inheritdoc cref="IUnknown.QueryInterface" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(0)]
public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject)
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, Guid*, void**, int>)(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject);
}
/// <inheritdoc cref="IUnknown.AddRef" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(1)]
[return: NativeTypeName("ULONG")]
public uint AddRef()
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, uint>)(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IUnknown.Release" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(2)]
[return: NativeTypeName("ULONG")]
public uint Release()
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, uint>)(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IDXGIObject.SetPrivateData" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(3)]
public HResult SetPrivateData(Guid* Name, uint DataSize, void* pData)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory7*, Guid*, uint, void*, int>)(lpVtbl[3]))((IDXGIFactory7*)Unsafe.AsPointer(ref this), Name, DataSize, pData);
}
/// <inheritdoc cref="IDXGIObject.SetPrivateDataInterface" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(4)]
public HResult SetPrivateDataInterface(Guid* Name, IUnknown* pUnknown)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory7*, Guid*, IUnknown*, int>)(lpVtbl[4]))((IDXGIFactory7*)Unsafe.AsPointer(ref this), Name, pUnknown);
}
/// <inheritdoc cref="IDXGIObject.GetPrivateData" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(5)]
public HResult GetPrivateData(Guid* Name, uint* pDataSize, void* pData)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory7*, Guid*, uint*, void*, int>)(lpVtbl[5]))((IDXGIFactory7*)Unsafe.AsPointer(ref this), Name, pDataSize, pData);
}
/// <inheritdoc cref="IDXGIObject.GetParent" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(6)]
public HResult GetParent(Guid* riid, void** ppParent)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory7*, Guid*, void**, int>)(lpVtbl[6]))((IDXGIFactory7*)Unsafe.AsPointer(ref this), riid, ppParent);
}
/// <inheritdoc cref="IDXGIFactory.EnumAdapters" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(7)]
public HResult EnumAdapters(uint Adapter, IDXGIAdapter** ppAdapter)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory7*, uint, IDXGIAdapter**, int>)(lpVtbl[7]))((IDXGIFactory7*)Unsafe.AsPointer(ref this), Adapter, ppAdapter);
}
/// <inheritdoc cref="IDXGIFactory.MakeWindowAssociation" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(8)]
public HResult MakeWindowAssociation(IntPtr WindowHandle, uint Flags)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory7*, IntPtr, uint, int>)(lpVtbl[8]))((IDXGIFactory7*)Unsafe.AsPointer(ref this), WindowHandle, Flags);
}
/// <inheritdoc cref="IDXGIFactory.GetWindowAssociation" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(9)]
public HResult GetWindowAssociation(IntPtr* pWindowHandle)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory7*, IntPtr*, int>)(lpVtbl[9]))((IDXGIFactory7*)Unsafe.AsPointer(ref this), pWindowHandle);
}
/// <inheritdoc cref="IDXGIFactory.CreateSwapChain" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(10)]
public HResult CreateSwapChain(IUnknown* pDevice, SwapChainDescription* pDesc, IDXGISwapChain** ppSwapChain)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory7*, IUnknown*, SwapChainDescription*, IDXGISwapChain**, int>)(lpVtbl[10]))((IDXGIFactory7*)Unsafe.AsPointer(ref this), pDevice, pDesc, ppSwapChain);
}
/// <inheritdoc cref="IDXGIFactory.CreateSoftwareAdapter" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(11)]
public HResult CreateSoftwareAdapter(IntPtr Module, IDXGIAdapter** ppAdapter)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory7*, IntPtr, IDXGIAdapter**, int>)(lpVtbl[11]))((IDXGIFactory7*)Unsafe.AsPointer(ref this), Module, ppAdapter);
}
/// <inheritdoc cref="IDXGIFactory1.EnumAdapters1" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(12)]
public HResult EnumAdapters1(uint Adapter, IDXGIAdapter1** ppAdapter)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory7*, uint, IDXGIAdapter1**, int>)(lpVtbl[12]))((IDXGIFactory7*)Unsafe.AsPointer(ref this), Adapter, ppAdapter);
}
/// <inheritdoc cref="IDXGIFactory1.IsCurrent" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(13)]
public Bool32 IsCurrent()
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory7*, Bool32>)(lpVtbl[13]))((IDXGIFactory7*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IDXGIFactory2.IsWindowedStereoEnabled" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(14)]
public Bool32 IsWindowedStereoEnabled()
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory7*, Bool32>)(lpVtbl[14]))((IDXGIFactory7*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IDXGIFactory2.CreateSwapChainForHwnd" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(15)]
public HResult CreateSwapChainForHwnd(IUnknown* pDevice, IntPtr hWnd, SwapChainDescription1* pDesc, SwapChainFullscreenDescription* pFullscreenDesc, IDXGIOutput* pRestrictToOutput, IDXGISwapChain1** ppSwapChain)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory7*, IUnknown*, IntPtr, SwapChainDescription1*, SwapChainFullscreenDescription*, IDXGIOutput*, IDXGISwapChain1**, int>)(lpVtbl[15]))((IDXGIFactory7*)Unsafe.AsPointer(ref this), pDevice, hWnd, pDesc, pFullscreenDesc, pRestrictToOutput, ppSwapChain);
}
/// <inheritdoc cref="IDXGIFactory2.CreateSwapChainForCoreWindow" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(16)]
public HResult CreateSwapChainForCoreWindow(IUnknown* pDevice, IUnknown* pWindow, SwapChainDescription1* pDesc, IDXGIOutput* pRestrictToOutput, IDXGISwapChain1** ppSwapChain)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory7*, IUnknown*, IUnknown*, SwapChainDescription1*, IDXGIOutput*, IDXGISwapChain1**, int>)(lpVtbl[16]))((IDXGIFactory7*)Unsafe.AsPointer(ref this), pDevice, pWindow, pDesc, pRestrictToOutput, ppSwapChain);
}
/// <inheritdoc cref="IDXGIFactory2.GetSharedResourceAdapterLuid" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(17)]
public HResult GetSharedResourceAdapterLuid(Handle hResource, Luid* pLuid)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory7*, Handle, Luid*, int>)(lpVtbl[17]))((IDXGIFactory7*)Unsafe.AsPointer(ref this), hResource, pLuid);
}
/// <inheritdoc cref="IDXGIFactory2.RegisterStereoStatusWindow" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(18)]
public HResult RegisterStereoStatusWindow(IntPtr WindowHandle, uint wMsg, uint* pdwCookie)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory7*, IntPtr, uint, uint*, int>)(lpVtbl[18]))((IDXGIFactory7*)Unsafe.AsPointer(ref this), WindowHandle, wMsg, pdwCookie);
}
/// <inheritdoc cref="IDXGIFactory2.RegisterStereoStatusEvent" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(19)]
public HResult RegisterStereoStatusEvent(Handle hEvent, uint* pdwCookie)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory7*, Handle, uint*, int>)(lpVtbl[19]))((IDXGIFactory7*)Unsafe.AsPointer(ref this), hEvent, pdwCookie);
}
/// <inheritdoc cref="IDXGIFactory2.UnregisterStereoStatus" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(20)]
public void UnregisterStereoStatus(uint dwCookie)
{
((delegate* unmanaged[Stdcall]<IDXGIFactory7*, uint, void>)(lpVtbl[20]))((IDXGIFactory7*)Unsafe.AsPointer(ref this), dwCookie);
}
/// <inheritdoc cref="IDXGIFactory2.RegisterOcclusionStatusWindow" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(21)]
public HResult RegisterOcclusionStatusWindow(IntPtr WindowHandle, uint wMsg, uint* pdwCookie)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory7*, IntPtr, uint, uint*, int>)(lpVtbl[21]))((IDXGIFactory7*)Unsafe.AsPointer(ref this), WindowHandle, wMsg, pdwCookie);
}
/// <inheritdoc cref="IDXGIFactory2.RegisterOcclusionStatusEvent" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(22)]
public HResult RegisterOcclusionStatusEvent(Handle hEvent, uint* pdwCookie)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory7*, Handle, uint*, int>)(lpVtbl[22]))((IDXGIFactory7*)Unsafe.AsPointer(ref this), hEvent, pdwCookie);
}
/// <inheritdoc cref="IDXGIFactory2.UnregisterOcclusionStatus" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(23)]
public void UnregisterOcclusionStatus(uint dwCookie)
{
((delegate* unmanaged[Stdcall]<IDXGIFactory7*, uint, void>)(lpVtbl[23]))((IDXGIFactory7*)Unsafe.AsPointer(ref this), dwCookie);
}
/// <inheritdoc cref="IDXGIFactory2.CreateSwapChainForComposition" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(24)]
public HResult CreateSwapChainForComposition(IUnknown* pDevice, SwapChainDescription1* pDesc, IDXGIOutput* pRestrictToOutput, IDXGISwapChain1** ppSwapChain)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory7*, IUnknown*, SwapChainDescription1*, IDXGIOutput*, IDXGISwapChain1**, int>)(lpVtbl[24]))((IDXGIFactory7*)Unsafe.AsPointer(ref this), pDevice, pDesc, pRestrictToOutput, ppSwapChain);
}
/// <inheritdoc cref="IDXGIFactory3.GetCreationFlags" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(25)]
public uint GetCreationFlags()
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory7*, uint>)(lpVtbl[25]))((IDXGIFactory7*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IDXGIFactory4.EnumAdapterByLuid" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(26)]
public HResult EnumAdapterByLuid(Luid AdapterLuid, Guid* riid, void** ppvAdapter)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory7*, Luid, Guid*, void**, int>)(lpVtbl[26]))((IDXGIFactory7*)Unsafe.AsPointer(ref this), AdapterLuid, riid, ppvAdapter);
}
/// <inheritdoc cref="IDXGIFactory4.EnumWarpAdapter" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(27)]
public HResult EnumWarpAdapter(Guid* riid, void** ppvAdapter)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory7*, Guid*, void**, int>)(lpVtbl[27]))((IDXGIFactory7*)Unsafe.AsPointer(ref this), riid, ppvAdapter);
}
/// <inheritdoc cref="IDXGIFactory5.CheckFeatureSupport" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(28)]
public HResult CheckFeatureSupport(Feature Feature, void* pFeatureSupportData, uint FeatureSupportDataSize)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory7*, Feature, void*, uint, int>)(lpVtbl[28]))((IDXGIFactory7*)Unsafe.AsPointer(ref this), Feature, pFeatureSupportData, FeatureSupportDataSize);
}
/// <inheritdoc cref="IDXGIFactory6.EnumAdapterByGpuPreference" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(29)]
public HResult EnumAdapterByGpuPreference(uint Adapter, GpuPreference GpuPreference, Guid* riid, void** ppvAdapter)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory7*, uint, GpuPreference, Guid*, void**, int>)(lpVtbl[29]))((IDXGIFactory7*)Unsafe.AsPointer(ref this), Adapter, GpuPreference, riid, ppvAdapter);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIFactory7::RegisterAdaptersChangedEvent"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(30)]
public HResult RegisterAdaptersChangedEvent(Handle hEvent, uint* pdwCookie)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory7*, Handle, uint*, int>)(lpVtbl[30]))((IDXGIFactory7*)Unsafe.AsPointer(ref this), hEvent, pdwCookie);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIFactory7::UnregisterAdaptersChangedEvent"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(31)]
public HResult UnregisterAdaptersChangedEvent(uint dwCookie)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory7*, uint, int>)(lpVtbl[31]))((IDXGIFactory7*)Unsafe.AsPointer(ref this), dwCookie);
}
}

View File

@@ -0,0 +1,93 @@
// ------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
namespace Win32.Graphics.Dxgi;
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIFactoryMedia"]/*' />
/// <unmanaged>IDXGIFactoryMedia</unmanaged>
[Guid("41e7d1f2-a591-4f7b-a2e5-fa9c843e1c12")]
[NativeTypeName("struct IDXGIFactoryMedia : IUnknown")]
[NativeInheritance("IUnknown")]
public unsafe partial struct IDXGIFactoryMedia : INativeGuid
{
public static ref readonly Guid IID_IDXGIFactoryMedia
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
ReadOnlySpan<byte> data = new byte[] {
0xF2, 0xD1, 0xE7, 0x41,
0x91, 0xA5,
0x7B, 0x4F,
0xA2,
0xE5,
0xFA,
0x9C,
0x84,
0x3E,
0x1C,
0x12
};
Debug.Assert(data.Length == Unsafe.SizeOf<Guid>());
return ref Unsafe.As<byte, Guid>(ref MemoryMarshal.GetReference(data));
}
}
#if NET6_0_OR_GREATER
static Guid* INativeGuid.NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_IDXGIFactoryMedia));
#else
public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_IDXGIFactoryMedia));
#endif
public void** lpVtbl;
/// <inheritdoc cref="IUnknown.QueryInterface" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(0)]
public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject)
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, Guid*, void**, int>)(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject);
}
/// <inheritdoc cref="IUnknown.AddRef" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(1)]
[return: NativeTypeName("ULONG")]
public uint AddRef()
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, uint>)(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IUnknown.Release" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(2)]
[return: NativeTypeName("ULONG")]
public uint Release()
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, uint>)(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this));
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIFactoryMedia::CreateSwapChainForCompositionSurfaceHandle"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(3)]
public HResult CreateSwapChainForCompositionSurfaceHandle(IUnknown* pDevice, Handle hSurface, SwapChainDescription1* pDesc, IDXGIOutput* pRestrictToOutput, IDXGISwapChain1** ppSwapChain)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactoryMedia*, IUnknown*, Handle, SwapChainDescription1*, IDXGIOutput*, IDXGISwapChain1**, int>)(lpVtbl[3]))((IDXGIFactoryMedia*)Unsafe.AsPointer(ref this), pDevice, hSurface, pDesc, pRestrictToOutput, ppSwapChain);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIFactoryMedia::CreateDecodeSwapChainForCompositionSurfaceHandle"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(4)]
public HResult CreateDecodeSwapChainForCompositionSurfaceHandle(IUnknown* pDevice, Handle hSurface, DecodeSwapChainDescription* pDesc, IDXGIResource* pYuvDecodeBuffers, IDXGIOutput* pRestrictToOutput, IDXGIDecodeSwapChain** ppSwapChain)
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactoryMedia*, IUnknown*, Handle, DecodeSwapChainDescription*, IDXGIResource*, IDXGIOutput*, IDXGIDecodeSwapChain**, int>)(lpVtbl[4]))((IDXGIFactoryMedia*)Unsafe.AsPointer(ref this), pDevice, hSurface, pDesc, pYuvDecodeBuffers, pRestrictToOutput, ppSwapChain);
}
}

View File

@@ -0,0 +1,373 @@
// ------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
namespace Win32.Graphics.Dxgi;
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIInfoQueue"]/*' />
/// <unmanaged>IDXGIInfoQueue</unmanaged>
[Guid("d67441c7-672a-476f-9e82-cd55b44949ce")]
[NativeTypeName("struct IDXGIInfoQueue : IUnknown")]
[NativeInheritance("IUnknown")]
public unsafe partial struct IDXGIInfoQueue : INativeGuid
{
public static ref readonly Guid IID_IDXGIInfoQueue
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
ReadOnlySpan<byte> data = new byte[] {
0xC7, 0x41, 0x74, 0xD6,
0x2A, 0x67,
0x6F, 0x47,
0x9E,
0x82,
0xCD,
0x55,
0xB4,
0x49,
0x49,
0xCE
};
Debug.Assert(data.Length == Unsafe.SizeOf<Guid>());
return ref Unsafe.As<byte, Guid>(ref MemoryMarshal.GetReference(data));
}
}
#if NET6_0_OR_GREATER
static Guid* INativeGuid.NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_IDXGIInfoQueue));
#else
public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_IDXGIInfoQueue));
#endif
public void** lpVtbl;
/// <inheritdoc cref="IUnknown.QueryInterface" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(0)]
public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject)
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, Guid*, void**, int>)(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject);
}
/// <inheritdoc cref="IUnknown.AddRef" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(1)]
[return: NativeTypeName("ULONG")]
public uint AddRef()
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, uint>)(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IUnknown.Release" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(2)]
[return: NativeTypeName("ULONG")]
public uint Release()
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, uint>)(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this));
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIInfoQueue::SetMessageCountLimit"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(3)]
public HResult SetMessageCountLimit(Guid Producer, ulong MessageCountLimit)
{
return ((delegate* unmanaged[Stdcall]<IDXGIInfoQueue*, Guid, ulong, int>)(lpVtbl[3]))((IDXGIInfoQueue*)Unsafe.AsPointer(ref this), Producer, MessageCountLimit);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIInfoQueue::ClearStoredMessages"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(4)]
public void ClearStoredMessages(Guid Producer)
{
((delegate* unmanaged[Stdcall]<IDXGIInfoQueue*, Guid, void>)(lpVtbl[4]))((IDXGIInfoQueue*)Unsafe.AsPointer(ref this), Producer);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIInfoQueue::GetMessage"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(5)]
public HResult GetMessage(Guid Producer, ulong MessageIndex, InfoQueueMessage* pMessage, nuint* pMessageByteLength)
{
return ((delegate* unmanaged[Stdcall]<IDXGIInfoQueue*, Guid, ulong, InfoQueueMessage*, nuint*, int>)(lpVtbl[5]))((IDXGIInfoQueue*)Unsafe.AsPointer(ref this), Producer, MessageIndex, pMessage, pMessageByteLength);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIInfoQueue::GetNumStoredMessagesAllowedByRetrievalFilters"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(6)]
public ulong GetNumStoredMessagesAllowedByRetrievalFilters(Guid Producer)
{
return ((delegate* unmanaged[Stdcall]<IDXGIInfoQueue*, Guid, ulong>)(lpVtbl[6]))((IDXGIInfoQueue*)Unsafe.AsPointer(ref this), Producer);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIInfoQueue::GetNumStoredMessages"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(7)]
public ulong GetNumStoredMessages(Guid Producer)
{
return ((delegate* unmanaged[Stdcall]<IDXGIInfoQueue*, Guid, ulong>)(lpVtbl[7]))((IDXGIInfoQueue*)Unsafe.AsPointer(ref this), Producer);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIInfoQueue::GetNumMessagesDiscardedByMessageCountLimit"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(8)]
public ulong GetNumMessagesDiscardedByMessageCountLimit(Guid Producer)
{
return ((delegate* unmanaged[Stdcall]<IDXGIInfoQueue*, Guid, ulong>)(lpVtbl[8]))((IDXGIInfoQueue*)Unsafe.AsPointer(ref this), Producer);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIInfoQueue::GetMessageCountLimit"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(9)]
public ulong GetMessageCountLimit(Guid Producer)
{
return ((delegate* unmanaged[Stdcall]<IDXGIInfoQueue*, Guid, ulong>)(lpVtbl[9]))((IDXGIInfoQueue*)Unsafe.AsPointer(ref this), Producer);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIInfoQueue::GetNumMessagesAllowedByStorageFilter"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(10)]
public ulong GetNumMessagesAllowedByStorageFilter(Guid Producer)
{
return ((delegate* unmanaged[Stdcall]<IDXGIInfoQueue*, Guid, ulong>)(lpVtbl[10]))((IDXGIInfoQueue*)Unsafe.AsPointer(ref this), Producer);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIInfoQueue::GetNumMessagesDeniedByStorageFilter"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(11)]
public ulong GetNumMessagesDeniedByStorageFilter(Guid Producer)
{
return ((delegate* unmanaged[Stdcall]<IDXGIInfoQueue*, Guid, ulong>)(lpVtbl[11]))((IDXGIInfoQueue*)Unsafe.AsPointer(ref this), Producer);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIInfoQueue::AddStorageFilterEntries"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(12)]
public HResult AddStorageFilterEntries(Guid Producer, InfoQueueFilter* pFilter)
{
return ((delegate* unmanaged[Stdcall]<IDXGIInfoQueue*, Guid, InfoQueueFilter*, int>)(lpVtbl[12]))((IDXGIInfoQueue*)Unsafe.AsPointer(ref this), Producer, pFilter);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIInfoQueue::GetStorageFilter"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(13)]
public HResult GetStorageFilter(Guid Producer, InfoQueueFilter* pFilter, nuint* pFilterByteLength)
{
return ((delegate* unmanaged[Stdcall]<IDXGIInfoQueue*, Guid, InfoQueueFilter*, nuint*, int>)(lpVtbl[13]))((IDXGIInfoQueue*)Unsafe.AsPointer(ref this), Producer, pFilter, pFilterByteLength);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIInfoQueue::ClearStorageFilter"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(14)]
public void ClearStorageFilter(Guid Producer)
{
((delegate* unmanaged[Stdcall]<IDXGIInfoQueue*, Guid, void>)(lpVtbl[14]))((IDXGIInfoQueue*)Unsafe.AsPointer(ref this), Producer);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIInfoQueue::PushEmptyStorageFilter"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(15)]
public HResult PushEmptyStorageFilter(Guid Producer)
{
return ((delegate* unmanaged[Stdcall]<IDXGIInfoQueue*, Guid, int>)(lpVtbl[15]))((IDXGIInfoQueue*)Unsafe.AsPointer(ref this), Producer);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIInfoQueue::PushDenyAllStorageFilter"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(16)]
public HResult PushDenyAllStorageFilter(Guid Producer)
{
return ((delegate* unmanaged[Stdcall]<IDXGIInfoQueue*, Guid, int>)(lpVtbl[16]))((IDXGIInfoQueue*)Unsafe.AsPointer(ref this), Producer);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIInfoQueue::PushCopyOfStorageFilter"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(17)]
public HResult PushCopyOfStorageFilter(Guid Producer)
{
return ((delegate* unmanaged[Stdcall]<IDXGIInfoQueue*, Guid, int>)(lpVtbl[17]))((IDXGIInfoQueue*)Unsafe.AsPointer(ref this), Producer);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIInfoQueue::PushStorageFilter"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(18)]
public HResult PushStorageFilter(Guid Producer, InfoQueueFilter* pFilter)
{
return ((delegate* unmanaged[Stdcall]<IDXGIInfoQueue*, Guid, InfoQueueFilter*, int>)(lpVtbl[18]))((IDXGIInfoQueue*)Unsafe.AsPointer(ref this), Producer, pFilter);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIInfoQueue::PopStorageFilter"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(19)]
public void PopStorageFilter(Guid Producer)
{
((delegate* unmanaged[Stdcall]<IDXGIInfoQueue*, Guid, void>)(lpVtbl[19]))((IDXGIInfoQueue*)Unsafe.AsPointer(ref this), Producer);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIInfoQueue::GetStorageFilterStackSize"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(20)]
public uint GetStorageFilterStackSize(Guid Producer)
{
return ((delegate* unmanaged[Stdcall]<IDXGIInfoQueue*, Guid, uint>)(lpVtbl[20]))((IDXGIInfoQueue*)Unsafe.AsPointer(ref this), Producer);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIInfoQueue::AddRetrievalFilterEntries"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(21)]
public HResult AddRetrievalFilterEntries(Guid Producer, InfoQueueFilter* pFilter)
{
return ((delegate* unmanaged[Stdcall]<IDXGIInfoQueue*, Guid, InfoQueueFilter*, int>)(lpVtbl[21]))((IDXGIInfoQueue*)Unsafe.AsPointer(ref this), Producer, pFilter);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIInfoQueue::GetRetrievalFilter"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(22)]
public HResult GetRetrievalFilter(Guid Producer, InfoQueueFilter* pFilter, nuint* pFilterByteLength)
{
return ((delegate* unmanaged[Stdcall]<IDXGIInfoQueue*, Guid, InfoQueueFilter*, nuint*, int>)(lpVtbl[22]))((IDXGIInfoQueue*)Unsafe.AsPointer(ref this), Producer, pFilter, pFilterByteLength);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIInfoQueue::ClearRetrievalFilter"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(23)]
public void ClearRetrievalFilter(Guid Producer)
{
((delegate* unmanaged[Stdcall]<IDXGIInfoQueue*, Guid, void>)(lpVtbl[23]))((IDXGIInfoQueue*)Unsafe.AsPointer(ref this), Producer);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIInfoQueue::PushEmptyRetrievalFilter"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(24)]
public HResult PushEmptyRetrievalFilter(Guid Producer)
{
return ((delegate* unmanaged[Stdcall]<IDXGIInfoQueue*, Guid, int>)(lpVtbl[24]))((IDXGIInfoQueue*)Unsafe.AsPointer(ref this), Producer);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIInfoQueue::PushDenyAllRetrievalFilter"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(25)]
public HResult PushDenyAllRetrievalFilter(Guid Producer)
{
return ((delegate* unmanaged[Stdcall]<IDXGIInfoQueue*, Guid, int>)(lpVtbl[25]))((IDXGIInfoQueue*)Unsafe.AsPointer(ref this), Producer);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIInfoQueue::PushCopyOfRetrievalFilter"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(26)]
public HResult PushCopyOfRetrievalFilter(Guid Producer)
{
return ((delegate* unmanaged[Stdcall]<IDXGIInfoQueue*, Guid, int>)(lpVtbl[26]))((IDXGIInfoQueue*)Unsafe.AsPointer(ref this), Producer);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIInfoQueue::PushRetrievalFilter"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(27)]
public HResult PushRetrievalFilter(Guid Producer, InfoQueueFilter* pFilter)
{
return ((delegate* unmanaged[Stdcall]<IDXGIInfoQueue*, Guid, InfoQueueFilter*, int>)(lpVtbl[27]))((IDXGIInfoQueue*)Unsafe.AsPointer(ref this), Producer, pFilter);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIInfoQueue::PopRetrievalFilter"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(28)]
public void PopRetrievalFilter(Guid Producer)
{
((delegate* unmanaged[Stdcall]<IDXGIInfoQueue*, Guid, void>)(lpVtbl[28]))((IDXGIInfoQueue*)Unsafe.AsPointer(ref this), Producer);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIInfoQueue::GetRetrievalFilterStackSize"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(29)]
public uint GetRetrievalFilterStackSize(Guid Producer)
{
return ((delegate* unmanaged[Stdcall]<IDXGIInfoQueue*, Guid, uint>)(lpVtbl[29]))((IDXGIInfoQueue*)Unsafe.AsPointer(ref this), Producer);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIInfoQueue::AddMessage"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(30)]
public HResult AddMessage(Guid Producer, InfoQueueMessageCategory Category, InfoQueueMessageSeverity Severity, int ID, sbyte* pDescription)
{
return ((delegate* unmanaged[Stdcall]<IDXGIInfoQueue*, Guid, InfoQueueMessageCategory, InfoQueueMessageSeverity, int, sbyte*, int>)(lpVtbl[30]))((IDXGIInfoQueue*)Unsafe.AsPointer(ref this), Producer, Category, Severity, ID, pDescription);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIInfoQueue::AddApplicationMessage"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(31)]
public HResult AddApplicationMessage(InfoQueueMessageSeverity Severity, sbyte* pDescription)
{
return ((delegate* unmanaged[Stdcall]<IDXGIInfoQueue*, InfoQueueMessageSeverity, sbyte*, int>)(lpVtbl[31]))((IDXGIInfoQueue*)Unsafe.AsPointer(ref this), Severity, pDescription);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIInfoQueue::SetBreakOnCategory"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(32)]
public HResult SetBreakOnCategory(Guid Producer, InfoQueueMessageCategory Category, Bool32 bEnable)
{
return ((delegate* unmanaged[Stdcall]<IDXGIInfoQueue*, Guid, InfoQueueMessageCategory, Bool32, int>)(lpVtbl[32]))((IDXGIInfoQueue*)Unsafe.AsPointer(ref this), Producer, Category, bEnable);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIInfoQueue::SetBreakOnSeverity"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(33)]
public HResult SetBreakOnSeverity(Guid Producer, InfoQueueMessageSeverity Severity, Bool32 bEnable)
{
return ((delegate* unmanaged[Stdcall]<IDXGIInfoQueue*, Guid, InfoQueueMessageSeverity, Bool32, int>)(lpVtbl[33]))((IDXGIInfoQueue*)Unsafe.AsPointer(ref this), Producer, Severity, bEnable);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIInfoQueue::SetBreakOnID"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(34)]
public HResult SetBreakOnID(Guid Producer, int ID, Bool32 bEnable)
{
return ((delegate* unmanaged[Stdcall]<IDXGIInfoQueue*, Guid, int, Bool32, int>)(lpVtbl[34]))((IDXGIInfoQueue*)Unsafe.AsPointer(ref this), Producer, ID, bEnable);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIInfoQueue::GetBreakOnCategory"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(35)]
public Bool32 GetBreakOnCategory(Guid Producer, InfoQueueMessageCategory Category)
{
return ((delegate* unmanaged[Stdcall]<IDXGIInfoQueue*, Guid, InfoQueueMessageCategory, Bool32>)(lpVtbl[35]))((IDXGIInfoQueue*)Unsafe.AsPointer(ref this), Producer, Category);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIInfoQueue::GetBreakOnSeverity"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(36)]
public Bool32 GetBreakOnSeverity(Guid Producer, InfoQueueMessageSeverity Severity)
{
return ((delegate* unmanaged[Stdcall]<IDXGIInfoQueue*, Guid, InfoQueueMessageSeverity, Bool32>)(lpVtbl[36]))((IDXGIInfoQueue*)Unsafe.AsPointer(ref this), Producer, Severity);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIInfoQueue::GetBreakOnID"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(37)]
public Bool32 GetBreakOnID(Guid Producer, int ID)
{
return ((delegate* unmanaged[Stdcall]<IDXGIInfoQueue*, Guid, int, Bool32>)(lpVtbl[37]))((IDXGIInfoQueue*)Unsafe.AsPointer(ref this), Producer, ID);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIInfoQueue::SetMuteDebugOutput"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(38)]
public void SetMuteDebugOutput(Guid Producer, Bool32 bMute)
{
((delegate* unmanaged[Stdcall]<IDXGIInfoQueue*, Guid, Bool32, void>)(lpVtbl[38]))((IDXGIInfoQueue*)Unsafe.AsPointer(ref this), Producer, bMute);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIInfoQueue::GetMuteDebugOutput"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(39)]
public Bool32 GetMuteDebugOutput(Guid Producer)
{
return ((delegate* unmanaged[Stdcall]<IDXGIInfoQueue*, Guid, Bool32>)(lpVtbl[39]))((IDXGIInfoQueue*)Unsafe.AsPointer(ref this), Producer);
}
}

View File

@@ -0,0 +1,133 @@
// ------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
namespace Win32.Graphics.Dxgi;
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIKeyedMutex"]/*' />
/// <unmanaged>IDXGIKeyedMutex</unmanaged>
[Guid("9d8e1289-d7b3-465f-8126-250e349af85d")]
[NativeTypeName("struct IDXGIKeyedMutex : IDXGIDeviceSubObject")]
[NativeInheritance("IDXGIDeviceSubObject")]
public unsafe partial struct IDXGIKeyedMutex : INativeGuid
{
public static ref readonly Guid IID_IDXGIKeyedMutex
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
ReadOnlySpan<byte> data = new byte[] {
0x89, 0x12, 0x8E, 0x9D,
0xB3, 0xD7,
0x5F, 0x46,
0x81,
0x26,
0x25,
0x0E,
0x34,
0x9A,
0xF8,
0x5D
};
Debug.Assert(data.Length == Unsafe.SizeOf<Guid>());
return ref Unsafe.As<byte, Guid>(ref MemoryMarshal.GetReference(data));
}
}
#if NET6_0_OR_GREATER
static Guid* INativeGuid.NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_IDXGIKeyedMutex));
#else
public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_IDXGIKeyedMutex));
#endif
public void** lpVtbl;
/// <inheritdoc cref="IUnknown.QueryInterface" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(0)]
public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject)
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, Guid*, void**, int>)(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject);
}
/// <inheritdoc cref="IUnknown.AddRef" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(1)]
[return: NativeTypeName("ULONG")]
public uint AddRef()
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, uint>)(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IUnknown.Release" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(2)]
[return: NativeTypeName("ULONG")]
public uint Release()
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, uint>)(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IDXGIObject.SetPrivateData" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(3)]
public HResult SetPrivateData(Guid* Name, uint DataSize, void* pData)
{
return ((delegate* unmanaged[Stdcall]<IDXGIKeyedMutex*, Guid*, uint, void*, int>)(lpVtbl[3]))((IDXGIKeyedMutex*)Unsafe.AsPointer(ref this), Name, DataSize, pData);
}
/// <inheritdoc cref="IDXGIObject.SetPrivateDataInterface" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(4)]
public HResult SetPrivateDataInterface(Guid* Name, IUnknown* pUnknown)
{
return ((delegate* unmanaged[Stdcall]<IDXGIKeyedMutex*, Guid*, IUnknown*, int>)(lpVtbl[4]))((IDXGIKeyedMutex*)Unsafe.AsPointer(ref this), Name, pUnknown);
}
/// <inheritdoc cref="IDXGIObject.GetPrivateData" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(5)]
public HResult GetPrivateData(Guid* Name, uint* pDataSize, void* pData)
{
return ((delegate* unmanaged[Stdcall]<IDXGIKeyedMutex*, Guid*, uint*, void*, int>)(lpVtbl[5]))((IDXGIKeyedMutex*)Unsafe.AsPointer(ref this), Name, pDataSize, pData);
}
/// <inheritdoc cref="IDXGIObject.GetParent" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(6)]
public HResult GetParent(Guid* riid, void** ppParent)
{
return ((delegate* unmanaged[Stdcall]<IDXGIKeyedMutex*, Guid*, void**, int>)(lpVtbl[6]))((IDXGIKeyedMutex*)Unsafe.AsPointer(ref this), riid, ppParent);
}
/// <inheritdoc cref="IDXGIDeviceSubObject.GetDevice" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(7)]
public HResult GetDevice(Guid* riid, void** ppDevice)
{
return ((delegate* unmanaged[Stdcall]<IDXGIKeyedMutex*, Guid*, void**, int>)(lpVtbl[7]))((IDXGIKeyedMutex*)Unsafe.AsPointer(ref this), riid, ppDevice);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIKeyedMutex::AcquireSync"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(8)]
public HResult AcquireSync(ulong Key, uint dwMilliseconds)
{
return ((delegate* unmanaged[Stdcall]<IDXGIKeyedMutex*, ulong, uint, int>)(lpVtbl[8]))((IDXGIKeyedMutex*)Unsafe.AsPointer(ref this), Key, dwMilliseconds);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIKeyedMutex::ReleaseSync"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(9)]
public HResult ReleaseSync(ulong Key)
{
return ((delegate* unmanaged[Stdcall]<IDXGIKeyedMutex*, ulong, int>)(lpVtbl[9]))((IDXGIKeyedMutex*)Unsafe.AsPointer(ref this), Key);
}
}

View File

@@ -0,0 +1,109 @@
// ------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
namespace Win32.Graphics.Dxgi;
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIObject"]/*' />
/// <unmanaged>IDXGIObject</unmanaged>
[Guid("aec22fb8-76f3-4639-9be0-28eb43a67a2e")]
[NativeTypeName("struct IDXGIObject : IUnknown")]
[NativeInheritance("IUnknown")]
public unsafe partial struct IDXGIObject : INativeGuid
{
public static ref readonly Guid IID_IDXGIObject
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
ReadOnlySpan<byte> data = new byte[] {
0xB8, 0x2F, 0xC2, 0xAE,
0xF3, 0x76,
0x39, 0x46,
0x9B,
0xE0,
0x28,
0xEB,
0x43,
0xA6,
0x7A,
0x2E
};
Debug.Assert(data.Length == Unsafe.SizeOf<Guid>());
return ref Unsafe.As<byte, Guid>(ref MemoryMarshal.GetReference(data));
}
}
#if NET6_0_OR_GREATER
static Guid* INativeGuid.NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_IDXGIObject));
#else
public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_IDXGIObject));
#endif
public void** lpVtbl;
/// <inheritdoc cref="IUnknown.QueryInterface" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(0)]
public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject)
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, Guid*, void**, int>)(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject);
}
/// <inheritdoc cref="IUnknown.AddRef" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(1)]
[return: NativeTypeName("ULONG")]
public uint AddRef()
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, uint>)(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IUnknown.Release" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(2)]
[return: NativeTypeName("ULONG")]
public uint Release()
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, uint>)(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this));
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIObject::SetPrivateData"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(3)]
public HResult SetPrivateData(Guid* Name, uint DataSize, void* pData)
{
return ((delegate* unmanaged[Stdcall]<IDXGIObject*, Guid*, uint, void*, int>)(lpVtbl[3]))((IDXGIObject*)Unsafe.AsPointer(ref this), Name, DataSize, pData);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIObject::SetPrivateDataInterface"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(4)]
public HResult SetPrivateDataInterface(Guid* Name, IUnknown* pUnknown)
{
return ((delegate* unmanaged[Stdcall]<IDXGIObject*, Guid*, IUnknown*, int>)(lpVtbl[4]))((IDXGIObject*)Unsafe.AsPointer(ref this), Name, pUnknown);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIObject::GetPrivateData"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(5)]
public HResult GetPrivateData(Guid* Name, uint* pDataSize, void* pData)
{
return ((delegate* unmanaged[Stdcall]<IDXGIObject*, Guid*, uint*, void*, int>)(lpVtbl[5]))((IDXGIObject*)Unsafe.AsPointer(ref this), Name, pDataSize, pData);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIObject::GetParent"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(6)]
public HResult GetParent(Guid* riid, void** ppParent)
{
return ((delegate* unmanaged[Stdcall]<IDXGIObject*, Guid*, void**, int>)(lpVtbl[6]))((IDXGIObject*)Unsafe.AsPointer(ref this), riid, ppParent);
}
}

View File

@@ -0,0 +1,205 @@
// ------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
namespace Win32.Graphics.Dxgi;
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIOutput"]/*' />
/// <unmanaged>IDXGIOutput</unmanaged>
[Guid("ae02eedb-c735-4690-8d52-5a8dc20213aa")]
[NativeTypeName("struct IDXGIOutput : IDXGIObject")]
[NativeInheritance("IDXGIObject")]
public unsafe partial struct IDXGIOutput : INativeGuid
{
public static ref readonly Guid IID_IDXGIOutput
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
ReadOnlySpan<byte> data = new byte[] {
0xDB, 0xEE, 0x02, 0xAE,
0x35, 0xC7,
0x90, 0x46,
0x8D,
0x52,
0x5A,
0x8D,
0xC2,
0x02,
0x13,
0xAA
};
Debug.Assert(data.Length == Unsafe.SizeOf<Guid>());
return ref Unsafe.As<byte, Guid>(ref MemoryMarshal.GetReference(data));
}
}
#if NET6_0_OR_GREATER
static Guid* INativeGuid.NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_IDXGIOutput));
#else
public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_IDXGIOutput));
#endif
public void** lpVtbl;
/// <inheritdoc cref="IUnknown.QueryInterface" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(0)]
public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject)
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, Guid*, void**, int>)(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject);
}
/// <inheritdoc cref="IUnknown.AddRef" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(1)]
[return: NativeTypeName("ULONG")]
public uint AddRef()
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, uint>)(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IUnknown.Release" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(2)]
[return: NativeTypeName("ULONG")]
public uint Release()
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, uint>)(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IDXGIObject.SetPrivateData" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(3)]
public HResult SetPrivateData(Guid* Name, uint DataSize, void* pData)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput*, Guid*, uint, void*, int>)(lpVtbl[3]))((IDXGIOutput*)Unsafe.AsPointer(ref this), Name, DataSize, pData);
}
/// <inheritdoc cref="IDXGIObject.SetPrivateDataInterface" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(4)]
public HResult SetPrivateDataInterface(Guid* Name, IUnknown* pUnknown)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput*, Guid*, IUnknown*, int>)(lpVtbl[4]))((IDXGIOutput*)Unsafe.AsPointer(ref this), Name, pUnknown);
}
/// <inheritdoc cref="IDXGIObject.GetPrivateData" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(5)]
public HResult GetPrivateData(Guid* Name, uint* pDataSize, void* pData)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput*, Guid*, uint*, void*, int>)(lpVtbl[5]))((IDXGIOutput*)Unsafe.AsPointer(ref this), Name, pDataSize, pData);
}
/// <inheritdoc cref="IDXGIObject.GetParent" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(6)]
public HResult GetParent(Guid* riid, void** ppParent)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput*, Guid*, void**, int>)(lpVtbl[6]))((IDXGIOutput*)Unsafe.AsPointer(ref this), riid, ppParent);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIOutput::GetDesc"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(7)]
public HResult GetDesc(OutputDescription* pDesc)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput*, OutputDescription*, int>)(lpVtbl[7]))((IDXGIOutput*)Unsafe.AsPointer(ref this), pDesc);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIOutput::GetDisplayModeList"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(8)]
public HResult GetDisplayModeList(Common.Format EnumFormat, EnumModesFlags Flags, uint* pNumModes, Common.ModeDescription* pDesc)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput*, Common.Format, EnumModesFlags, uint*, Common.ModeDescription*, int>)(lpVtbl[8]))((IDXGIOutput*)Unsafe.AsPointer(ref this), EnumFormat, Flags, pNumModes, pDesc);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIOutput::FindClosestMatchingMode"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(9)]
public HResult FindClosestMatchingMode(Common.ModeDescription* pModeToMatch, Common.ModeDescription* pClosestMatch, IUnknown* pConcernedDevice)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput*, Common.ModeDescription*, Common.ModeDescription*, IUnknown*, int>)(lpVtbl[9]))((IDXGIOutput*)Unsafe.AsPointer(ref this), pModeToMatch, pClosestMatch, pConcernedDevice);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIOutput::WaitForVBlank"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(10)]
public HResult WaitForVBlank()
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput*, int>)(lpVtbl[10]))((IDXGIOutput*)Unsafe.AsPointer(ref this));
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIOutput::TakeOwnership"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(11)]
public HResult TakeOwnership(IUnknown* pDevice, Bool32 Exclusive)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput*, IUnknown*, Bool32, int>)(lpVtbl[11]))((IDXGIOutput*)Unsafe.AsPointer(ref this), pDevice, Exclusive);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIOutput::ReleaseOwnership"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(12)]
public void ReleaseOwnership()
{
((delegate* unmanaged[Stdcall]<IDXGIOutput*, void>)(lpVtbl[12]))((IDXGIOutput*)Unsafe.AsPointer(ref this));
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIOutput::GetGammaControlCapabilities"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(13)]
public HResult GetGammaControlCapabilities(Common.GammaControlCapabilities* pGammaCaps)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput*, Common.GammaControlCapabilities*, int>)(lpVtbl[13]))((IDXGIOutput*)Unsafe.AsPointer(ref this), pGammaCaps);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIOutput::SetGammaControl"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(14)]
public HResult SetGammaControl(Common.GammaControl* pArray)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput*, Common.GammaControl*, int>)(lpVtbl[14]))((IDXGIOutput*)Unsafe.AsPointer(ref this), pArray);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIOutput::GetGammaControl"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(15)]
public HResult GetGammaControl(Common.GammaControl* pArray)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput*, Common.GammaControl*, int>)(lpVtbl[15]))((IDXGIOutput*)Unsafe.AsPointer(ref this), pArray);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIOutput::SetDisplaySurface"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(16)]
public HResult SetDisplaySurface(IDXGISurface* pScanoutSurface)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput*, IDXGISurface*, int>)(lpVtbl[16]))((IDXGIOutput*)Unsafe.AsPointer(ref this), pScanoutSurface);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIOutput::GetDisplaySurfaceData"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(17)]
public HResult GetDisplaySurfaceData(IDXGISurface* pDestination)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput*, IDXGISurface*, int>)(lpVtbl[17]))((IDXGIOutput*)Unsafe.AsPointer(ref this), pDestination);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIOutput::GetFrameStatistics"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(18)]
public HResult GetFrameStatistics(FrameStatistics* pStats)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput*, FrameStatistics*, int>)(lpVtbl[18]))((IDXGIOutput*)Unsafe.AsPointer(ref this), pStats);
}
}

View File

@@ -0,0 +1,237 @@
// ------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
namespace Win32.Graphics.Dxgi;
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIOutput1"]/*' />
/// <unmanaged>IDXGIOutput1</unmanaged>
[Guid("00cddea8-939b-4b83-a340-a685226666cc")]
[NativeTypeName("struct IDXGIOutput1 : IDXGIOutput")]
[NativeInheritance("IDXGIOutput")]
public unsafe partial struct IDXGIOutput1 : INativeGuid
{
public static ref readonly Guid IID_IDXGIOutput1
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
ReadOnlySpan<byte> data = new byte[] {
0xA8, 0xDE, 0xCD, 0x00,
0x9B, 0x93,
0x83, 0x4B,
0xA3,
0x40,
0xA6,
0x85,
0x22,
0x66,
0x66,
0xCC
};
Debug.Assert(data.Length == Unsafe.SizeOf<Guid>());
return ref Unsafe.As<byte, Guid>(ref MemoryMarshal.GetReference(data));
}
}
#if NET6_0_OR_GREATER
static Guid* INativeGuid.NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_IDXGIOutput1));
#else
public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_IDXGIOutput1));
#endif
public void** lpVtbl;
/// <inheritdoc cref="IUnknown.QueryInterface" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(0)]
public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject)
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, Guid*, void**, int>)(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject);
}
/// <inheritdoc cref="IUnknown.AddRef" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(1)]
[return: NativeTypeName("ULONG")]
public uint AddRef()
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, uint>)(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IUnknown.Release" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(2)]
[return: NativeTypeName("ULONG")]
public uint Release()
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, uint>)(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IDXGIObject.SetPrivateData" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(3)]
public HResult SetPrivateData(Guid* Name, uint DataSize, void* pData)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput1*, Guid*, uint, void*, int>)(lpVtbl[3]))((IDXGIOutput1*)Unsafe.AsPointer(ref this), Name, DataSize, pData);
}
/// <inheritdoc cref="IDXGIObject.SetPrivateDataInterface" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(4)]
public HResult SetPrivateDataInterface(Guid* Name, IUnknown* pUnknown)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput1*, Guid*, IUnknown*, int>)(lpVtbl[4]))((IDXGIOutput1*)Unsafe.AsPointer(ref this), Name, pUnknown);
}
/// <inheritdoc cref="IDXGIObject.GetPrivateData" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(5)]
public HResult GetPrivateData(Guid* Name, uint* pDataSize, void* pData)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput1*, Guid*, uint*, void*, int>)(lpVtbl[5]))((IDXGIOutput1*)Unsafe.AsPointer(ref this), Name, pDataSize, pData);
}
/// <inheritdoc cref="IDXGIObject.GetParent" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(6)]
public HResult GetParent(Guid* riid, void** ppParent)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput1*, Guid*, void**, int>)(lpVtbl[6]))((IDXGIOutput1*)Unsafe.AsPointer(ref this), riid, ppParent);
}
/// <inheritdoc cref="IDXGIOutput.GetDesc" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(7)]
public HResult GetDesc(OutputDescription* pDesc)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput1*, OutputDescription*, int>)(lpVtbl[7]))((IDXGIOutput1*)Unsafe.AsPointer(ref this), pDesc);
}
/// <inheritdoc cref="IDXGIOutput.GetDisplayModeList" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(8)]
public HResult GetDisplayModeList(Common.Format EnumFormat, uint Flags, uint* pNumModes, Common.ModeDescription* pDesc)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput1*, Common.Format, uint, uint*, Common.ModeDescription*, int>)(lpVtbl[8]))((IDXGIOutput1*)Unsafe.AsPointer(ref this), EnumFormat, Flags, pNumModes, pDesc);
}
/// <inheritdoc cref="IDXGIOutput.FindClosestMatchingMode" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(9)]
public HResult FindClosestMatchingMode(Common.ModeDescription* pModeToMatch, Common.ModeDescription* pClosestMatch, IUnknown* pConcernedDevice)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput1*, Common.ModeDescription*, Common.ModeDescription*, IUnknown*, int>)(lpVtbl[9]))((IDXGIOutput1*)Unsafe.AsPointer(ref this), pModeToMatch, pClosestMatch, pConcernedDevice);
}
/// <inheritdoc cref="IDXGIOutput.WaitForVBlank" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(10)]
public HResult WaitForVBlank()
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput1*, int>)(lpVtbl[10]))((IDXGIOutput1*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IDXGIOutput.TakeOwnership" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(11)]
public HResult TakeOwnership(IUnknown* pDevice, Bool32 Exclusive)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput1*, IUnknown*, Bool32, int>)(lpVtbl[11]))((IDXGIOutput1*)Unsafe.AsPointer(ref this), pDevice, Exclusive);
}
/// <inheritdoc cref="IDXGIOutput.ReleaseOwnership" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(12)]
public void ReleaseOwnership()
{
((delegate* unmanaged[Stdcall]<IDXGIOutput1*, void>)(lpVtbl[12]))((IDXGIOutput1*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IDXGIOutput.GetGammaControlCapabilities" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(13)]
public HResult GetGammaControlCapabilities(Common.GammaControlCapabilities* pGammaCaps)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput1*, Common.GammaControlCapabilities*, int>)(lpVtbl[13]))((IDXGIOutput1*)Unsafe.AsPointer(ref this), pGammaCaps);
}
/// <inheritdoc cref="IDXGIOutput.SetGammaControl" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(14)]
public HResult SetGammaControl(Common.GammaControl* pArray)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput1*, Common.GammaControl*, int>)(lpVtbl[14]))((IDXGIOutput1*)Unsafe.AsPointer(ref this), pArray);
}
/// <inheritdoc cref="IDXGIOutput.GetGammaControl" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(15)]
public HResult GetGammaControl(Common.GammaControl* pArray)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput1*, Common.GammaControl*, int>)(lpVtbl[15]))((IDXGIOutput1*)Unsafe.AsPointer(ref this), pArray);
}
/// <inheritdoc cref="IDXGIOutput.SetDisplaySurface" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(16)]
public HResult SetDisplaySurface(IDXGISurface* pScanoutSurface)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput1*, IDXGISurface*, int>)(lpVtbl[16]))((IDXGIOutput1*)Unsafe.AsPointer(ref this), pScanoutSurface);
}
/// <inheritdoc cref="IDXGIOutput.GetDisplaySurfaceData" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(17)]
public HResult GetDisplaySurfaceData(IDXGISurface* pDestination)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput1*, IDXGISurface*, int>)(lpVtbl[17]))((IDXGIOutput1*)Unsafe.AsPointer(ref this), pDestination);
}
/// <inheritdoc cref="IDXGIOutput.GetFrameStatistics" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(18)]
public HResult GetFrameStatistics(FrameStatistics* pStats)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput1*, FrameStatistics*, int>)(lpVtbl[18]))((IDXGIOutput1*)Unsafe.AsPointer(ref this), pStats);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIOutput1::GetDisplayModeList1"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(19)]
public HResult GetDisplayModeList1(Common.Format EnumFormat, uint Flags, uint* pNumModes, ModeDescription1* pDesc)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput1*, Common.Format, uint, uint*, ModeDescription1*, int>)(lpVtbl[19]))((IDXGIOutput1*)Unsafe.AsPointer(ref this), EnumFormat, Flags, pNumModes, pDesc);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIOutput1::FindClosestMatchingMode1"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(20)]
public HResult FindClosestMatchingMode1(ModeDescription1* pModeToMatch, ModeDescription1* pClosestMatch, IUnknown* pConcernedDevice)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput1*, ModeDescription1*, ModeDescription1*, IUnknown*, int>)(lpVtbl[20]))((IDXGIOutput1*)Unsafe.AsPointer(ref this), pModeToMatch, pClosestMatch, pConcernedDevice);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIOutput1::GetDisplaySurfaceData1"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(21)]
public HResult GetDisplaySurfaceData1(IDXGIResource* pDestination)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput1*, IDXGIResource*, int>)(lpVtbl[21]))((IDXGIOutput1*)Unsafe.AsPointer(ref this), pDestination);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIOutput1::DuplicateOutput"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(22)]
public HResult DuplicateOutput(IUnknown* pDevice, IDXGIOutputDuplication** ppOutputDuplication)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput1*, IUnknown*, IDXGIOutputDuplication**, int>)(lpVtbl[22]))((IDXGIOutput1*)Unsafe.AsPointer(ref this), pDevice, ppOutputDuplication);
}
}

View File

@@ -0,0 +1,245 @@
// ------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
namespace Win32.Graphics.Dxgi;
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIOutput2"]/*' />
/// <unmanaged>IDXGIOutput2</unmanaged>
[Guid("595e39d1-2724-4663-99b1-da969de28364")]
[NativeTypeName("struct IDXGIOutput2 : IDXGIOutput1")]
[NativeInheritance("IDXGIOutput1")]
public unsafe partial struct IDXGIOutput2 : INativeGuid
{
public static ref readonly Guid IID_IDXGIOutput2
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
ReadOnlySpan<byte> data = new byte[] {
0xD1, 0x39, 0x5E, 0x59,
0x24, 0x27,
0x63, 0x46,
0x99,
0xB1,
0xDA,
0x96,
0x9D,
0xE2,
0x83,
0x64
};
Debug.Assert(data.Length == Unsafe.SizeOf<Guid>());
return ref Unsafe.As<byte, Guid>(ref MemoryMarshal.GetReference(data));
}
}
#if NET6_0_OR_GREATER
static Guid* INativeGuid.NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_IDXGIOutput2));
#else
public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_IDXGIOutput2));
#endif
public void** lpVtbl;
/// <inheritdoc cref="IUnknown.QueryInterface" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(0)]
public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject)
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, Guid*, void**, int>)(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject);
}
/// <inheritdoc cref="IUnknown.AddRef" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(1)]
[return: NativeTypeName("ULONG")]
public uint AddRef()
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, uint>)(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IUnknown.Release" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(2)]
[return: NativeTypeName("ULONG")]
public uint Release()
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, uint>)(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IDXGIObject.SetPrivateData" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(3)]
public HResult SetPrivateData(Guid* Name, uint DataSize, void* pData)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput2*, Guid*, uint, void*, int>)(lpVtbl[3]))((IDXGIOutput2*)Unsafe.AsPointer(ref this), Name, DataSize, pData);
}
/// <inheritdoc cref="IDXGIObject.SetPrivateDataInterface" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(4)]
public HResult SetPrivateDataInterface(Guid* Name, IUnknown* pUnknown)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput2*, Guid*, IUnknown*, int>)(lpVtbl[4]))((IDXGIOutput2*)Unsafe.AsPointer(ref this), Name, pUnknown);
}
/// <inheritdoc cref="IDXGIObject.GetPrivateData" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(5)]
public HResult GetPrivateData(Guid* Name, uint* pDataSize, void* pData)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput2*, Guid*, uint*, void*, int>)(lpVtbl[5]))((IDXGIOutput2*)Unsafe.AsPointer(ref this), Name, pDataSize, pData);
}
/// <inheritdoc cref="IDXGIObject.GetParent" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(6)]
public HResult GetParent(Guid* riid, void** ppParent)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput2*, Guid*, void**, int>)(lpVtbl[6]))((IDXGIOutput2*)Unsafe.AsPointer(ref this), riid, ppParent);
}
/// <inheritdoc cref="IDXGIOutput.GetDesc" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(7)]
public HResult GetDesc(OutputDescription* pDesc)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput2*, OutputDescription*, int>)(lpVtbl[7]))((IDXGIOutput2*)Unsafe.AsPointer(ref this), pDesc);
}
/// <inheritdoc cref="IDXGIOutput.GetDisplayModeList" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(8)]
public HResult GetDisplayModeList(Common.Format EnumFormat, uint Flags, uint* pNumModes, Common.ModeDescription* pDesc)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput2*, Common.Format, uint, uint*, Common.ModeDescription*, int>)(lpVtbl[8]))((IDXGIOutput2*)Unsafe.AsPointer(ref this), EnumFormat, Flags, pNumModes, pDesc);
}
/// <inheritdoc cref="IDXGIOutput.FindClosestMatchingMode" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(9)]
public HResult FindClosestMatchingMode(Common.ModeDescription* pModeToMatch, Common.ModeDescription* pClosestMatch, IUnknown* pConcernedDevice)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput2*, Common.ModeDescription*, Common.ModeDescription*, IUnknown*, int>)(lpVtbl[9]))((IDXGIOutput2*)Unsafe.AsPointer(ref this), pModeToMatch, pClosestMatch, pConcernedDevice);
}
/// <inheritdoc cref="IDXGIOutput.WaitForVBlank" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(10)]
public HResult WaitForVBlank()
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput2*, int>)(lpVtbl[10]))((IDXGIOutput2*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IDXGIOutput.TakeOwnership" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(11)]
public HResult TakeOwnership(IUnknown* pDevice, Bool32 Exclusive)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput2*, IUnknown*, Bool32, int>)(lpVtbl[11]))((IDXGIOutput2*)Unsafe.AsPointer(ref this), pDevice, Exclusive);
}
/// <inheritdoc cref="IDXGIOutput.ReleaseOwnership" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(12)]
public void ReleaseOwnership()
{
((delegate* unmanaged[Stdcall]<IDXGIOutput2*, void>)(lpVtbl[12]))((IDXGIOutput2*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IDXGIOutput.GetGammaControlCapabilities" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(13)]
public HResult GetGammaControlCapabilities(Common.GammaControlCapabilities* pGammaCaps)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput2*, Common.GammaControlCapabilities*, int>)(lpVtbl[13]))((IDXGIOutput2*)Unsafe.AsPointer(ref this), pGammaCaps);
}
/// <inheritdoc cref="IDXGIOutput.SetGammaControl" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(14)]
public HResult SetGammaControl(Common.GammaControl* pArray)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput2*, Common.GammaControl*, int>)(lpVtbl[14]))((IDXGIOutput2*)Unsafe.AsPointer(ref this), pArray);
}
/// <inheritdoc cref="IDXGIOutput.GetGammaControl" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(15)]
public HResult GetGammaControl(Common.GammaControl* pArray)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput2*, Common.GammaControl*, int>)(lpVtbl[15]))((IDXGIOutput2*)Unsafe.AsPointer(ref this), pArray);
}
/// <inheritdoc cref="IDXGIOutput.SetDisplaySurface" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(16)]
public HResult SetDisplaySurface(IDXGISurface* pScanoutSurface)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput2*, IDXGISurface*, int>)(lpVtbl[16]))((IDXGIOutput2*)Unsafe.AsPointer(ref this), pScanoutSurface);
}
/// <inheritdoc cref="IDXGIOutput.GetDisplaySurfaceData" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(17)]
public HResult GetDisplaySurfaceData(IDXGISurface* pDestination)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput2*, IDXGISurface*, int>)(lpVtbl[17]))((IDXGIOutput2*)Unsafe.AsPointer(ref this), pDestination);
}
/// <inheritdoc cref="IDXGIOutput.GetFrameStatistics" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(18)]
public HResult GetFrameStatistics(FrameStatistics* pStats)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput2*, FrameStatistics*, int>)(lpVtbl[18]))((IDXGIOutput2*)Unsafe.AsPointer(ref this), pStats);
}
/// <inheritdoc cref="IDXGIOutput1.GetDisplayModeList1" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(19)]
public HResult GetDisplayModeList1(Common.Format EnumFormat, uint Flags, uint* pNumModes, ModeDescription1* pDesc)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput2*, Common.Format, uint, uint*, ModeDescription1*, int>)(lpVtbl[19]))((IDXGIOutput2*)Unsafe.AsPointer(ref this), EnumFormat, Flags, pNumModes, pDesc);
}
/// <inheritdoc cref="IDXGIOutput1.FindClosestMatchingMode1" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(20)]
public HResult FindClosestMatchingMode1(ModeDescription1* pModeToMatch, ModeDescription1* pClosestMatch, IUnknown* pConcernedDevice)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput2*, ModeDescription1*, ModeDescription1*, IUnknown*, int>)(lpVtbl[20]))((IDXGIOutput2*)Unsafe.AsPointer(ref this), pModeToMatch, pClosestMatch, pConcernedDevice);
}
/// <inheritdoc cref="IDXGIOutput1.GetDisplaySurfaceData1" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(21)]
public HResult GetDisplaySurfaceData1(IDXGIResource* pDestination)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput2*, IDXGIResource*, int>)(lpVtbl[21]))((IDXGIOutput2*)Unsafe.AsPointer(ref this), pDestination);
}
/// <inheritdoc cref="IDXGIOutput1.DuplicateOutput" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(22)]
public HResult DuplicateOutput(IUnknown* pDevice, IDXGIOutputDuplication** ppOutputDuplication)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput2*, IUnknown*, IDXGIOutputDuplication**, int>)(lpVtbl[22]))((IDXGIOutput2*)Unsafe.AsPointer(ref this), pDevice, ppOutputDuplication);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIOutput2::SupportsOverlays"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(23)]
public Bool32 SupportsOverlays()
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput2*, Bool32>)(lpVtbl[23]))((IDXGIOutput2*)Unsafe.AsPointer(ref this));
}
}

View File

@@ -0,0 +1,253 @@
// ------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
namespace Win32.Graphics.Dxgi;
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIOutput3"]/*' />
/// <unmanaged>IDXGIOutput3</unmanaged>
[Guid("8a6bb301-7e7e-41f4-a8e0-5b32f7f99b18")]
[NativeTypeName("struct IDXGIOutput3 : IDXGIOutput2")]
[NativeInheritance("IDXGIOutput2")]
public unsafe partial struct IDXGIOutput3 : INativeGuid
{
public static ref readonly Guid IID_IDXGIOutput3
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
ReadOnlySpan<byte> data = new byte[] {
0x01, 0xB3, 0x6B, 0x8A,
0x7E, 0x7E,
0xF4, 0x41,
0xA8,
0xE0,
0x5B,
0x32,
0xF7,
0xF9,
0x9B,
0x18
};
Debug.Assert(data.Length == Unsafe.SizeOf<Guid>());
return ref Unsafe.As<byte, Guid>(ref MemoryMarshal.GetReference(data));
}
}
#if NET6_0_OR_GREATER
static Guid* INativeGuid.NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_IDXGIOutput3));
#else
public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_IDXGIOutput3));
#endif
public void** lpVtbl;
/// <inheritdoc cref="IUnknown.QueryInterface" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(0)]
public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject)
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, Guid*, void**, int>)(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject);
}
/// <inheritdoc cref="IUnknown.AddRef" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(1)]
[return: NativeTypeName("ULONG")]
public uint AddRef()
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, uint>)(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IUnknown.Release" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(2)]
[return: NativeTypeName("ULONG")]
public uint Release()
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, uint>)(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IDXGIObject.SetPrivateData" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(3)]
public HResult SetPrivateData(Guid* Name, uint DataSize, void* pData)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput3*, Guid*, uint, void*, int>)(lpVtbl[3]))((IDXGIOutput3*)Unsafe.AsPointer(ref this), Name, DataSize, pData);
}
/// <inheritdoc cref="IDXGIObject.SetPrivateDataInterface" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(4)]
public HResult SetPrivateDataInterface(Guid* Name, IUnknown* pUnknown)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput3*, Guid*, IUnknown*, int>)(lpVtbl[4]))((IDXGIOutput3*)Unsafe.AsPointer(ref this), Name, pUnknown);
}
/// <inheritdoc cref="IDXGIObject.GetPrivateData" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(5)]
public HResult GetPrivateData(Guid* Name, uint* pDataSize, void* pData)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput3*, Guid*, uint*, void*, int>)(lpVtbl[5]))((IDXGIOutput3*)Unsafe.AsPointer(ref this), Name, pDataSize, pData);
}
/// <inheritdoc cref="IDXGIObject.GetParent" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(6)]
public HResult GetParent(Guid* riid, void** ppParent)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput3*, Guid*, void**, int>)(lpVtbl[6]))((IDXGIOutput3*)Unsafe.AsPointer(ref this), riid, ppParent);
}
/// <inheritdoc cref="IDXGIOutput.GetDesc" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(7)]
public HResult GetDesc(OutputDescription* pDesc)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput3*, OutputDescription*, int>)(lpVtbl[7]))((IDXGIOutput3*)Unsafe.AsPointer(ref this), pDesc);
}
/// <inheritdoc cref="IDXGIOutput.GetDisplayModeList" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(8)]
public HResult GetDisplayModeList(Common.Format EnumFormat, uint Flags, uint* pNumModes, Common.ModeDescription* pDesc)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput3*, Common.Format, uint, uint*, Common.ModeDescription*, int>)(lpVtbl[8]))((IDXGIOutput3*)Unsafe.AsPointer(ref this), EnumFormat, Flags, pNumModes, pDesc);
}
/// <inheritdoc cref="IDXGIOutput.FindClosestMatchingMode" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(9)]
public HResult FindClosestMatchingMode(Common.ModeDescription* pModeToMatch, Common.ModeDescription* pClosestMatch, IUnknown* pConcernedDevice)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput3*, Common.ModeDescription*, Common.ModeDescription*, IUnknown*, int>)(lpVtbl[9]))((IDXGIOutput3*)Unsafe.AsPointer(ref this), pModeToMatch, pClosestMatch, pConcernedDevice);
}
/// <inheritdoc cref="IDXGIOutput.WaitForVBlank" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(10)]
public HResult WaitForVBlank()
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput3*, int>)(lpVtbl[10]))((IDXGIOutput3*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IDXGIOutput.TakeOwnership" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(11)]
public HResult TakeOwnership(IUnknown* pDevice, Bool32 Exclusive)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput3*, IUnknown*, Bool32, int>)(lpVtbl[11]))((IDXGIOutput3*)Unsafe.AsPointer(ref this), pDevice, Exclusive);
}
/// <inheritdoc cref="IDXGIOutput.ReleaseOwnership" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(12)]
public void ReleaseOwnership()
{
((delegate* unmanaged[Stdcall]<IDXGIOutput3*, void>)(lpVtbl[12]))((IDXGIOutput3*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IDXGIOutput.GetGammaControlCapabilities" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(13)]
public HResult GetGammaControlCapabilities(Common.GammaControlCapabilities* pGammaCaps)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput3*, Common.GammaControlCapabilities*, int>)(lpVtbl[13]))((IDXGIOutput3*)Unsafe.AsPointer(ref this), pGammaCaps);
}
/// <inheritdoc cref="IDXGIOutput.SetGammaControl" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(14)]
public HResult SetGammaControl(Common.GammaControl* pArray)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput3*, Common.GammaControl*, int>)(lpVtbl[14]))((IDXGIOutput3*)Unsafe.AsPointer(ref this), pArray);
}
/// <inheritdoc cref="IDXGIOutput.GetGammaControl" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(15)]
public HResult GetGammaControl(Common.GammaControl* pArray)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput3*, Common.GammaControl*, int>)(lpVtbl[15]))((IDXGIOutput3*)Unsafe.AsPointer(ref this), pArray);
}
/// <inheritdoc cref="IDXGIOutput.SetDisplaySurface" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(16)]
public HResult SetDisplaySurface(IDXGISurface* pScanoutSurface)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput3*, IDXGISurface*, int>)(lpVtbl[16]))((IDXGIOutput3*)Unsafe.AsPointer(ref this), pScanoutSurface);
}
/// <inheritdoc cref="IDXGIOutput.GetDisplaySurfaceData" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(17)]
public HResult GetDisplaySurfaceData(IDXGISurface* pDestination)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput3*, IDXGISurface*, int>)(lpVtbl[17]))((IDXGIOutput3*)Unsafe.AsPointer(ref this), pDestination);
}
/// <inheritdoc cref="IDXGIOutput.GetFrameStatistics" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(18)]
public HResult GetFrameStatistics(FrameStatistics* pStats)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput3*, FrameStatistics*, int>)(lpVtbl[18]))((IDXGIOutput3*)Unsafe.AsPointer(ref this), pStats);
}
/// <inheritdoc cref="IDXGIOutput1.GetDisplayModeList1" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(19)]
public HResult GetDisplayModeList1(Common.Format EnumFormat, uint Flags, uint* pNumModes, ModeDescription1* pDesc)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput3*, Common.Format, uint, uint*, ModeDescription1*, int>)(lpVtbl[19]))((IDXGIOutput3*)Unsafe.AsPointer(ref this), EnumFormat, Flags, pNumModes, pDesc);
}
/// <inheritdoc cref="IDXGIOutput1.FindClosestMatchingMode1" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(20)]
public HResult FindClosestMatchingMode1(ModeDescription1* pModeToMatch, ModeDescription1* pClosestMatch, IUnknown* pConcernedDevice)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput3*, ModeDescription1*, ModeDescription1*, IUnknown*, int>)(lpVtbl[20]))((IDXGIOutput3*)Unsafe.AsPointer(ref this), pModeToMatch, pClosestMatch, pConcernedDevice);
}
/// <inheritdoc cref="IDXGIOutput1.GetDisplaySurfaceData1" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(21)]
public HResult GetDisplaySurfaceData1(IDXGIResource* pDestination)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput3*, IDXGIResource*, int>)(lpVtbl[21]))((IDXGIOutput3*)Unsafe.AsPointer(ref this), pDestination);
}
/// <inheritdoc cref="IDXGIOutput1.DuplicateOutput" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(22)]
public HResult DuplicateOutput(IUnknown* pDevice, IDXGIOutputDuplication** ppOutputDuplication)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput3*, IUnknown*, IDXGIOutputDuplication**, int>)(lpVtbl[22]))((IDXGIOutput3*)Unsafe.AsPointer(ref this), pDevice, ppOutputDuplication);
}
/// <inheritdoc cref="IDXGIOutput2.SupportsOverlays" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(23)]
public Bool32 SupportsOverlays()
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput3*, Bool32>)(lpVtbl[23]))((IDXGIOutput3*)Unsafe.AsPointer(ref this));
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIOutput3::CheckOverlaySupport"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(24)]
public HResult CheckOverlaySupport(Common.Format EnumFormat, IUnknown* pConcernedDevice, uint* pFlags)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput3*, Common.Format, IUnknown*, uint*, int>)(lpVtbl[24]))((IDXGIOutput3*)Unsafe.AsPointer(ref this), EnumFormat, pConcernedDevice, pFlags);
}
}

View File

@@ -0,0 +1,261 @@
// ------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
namespace Win32.Graphics.Dxgi;
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIOutput4"]/*' />
/// <unmanaged>IDXGIOutput4</unmanaged>
[Guid("dc7dca35-2196-414d-9f53-617884032a60")]
[NativeTypeName("struct IDXGIOutput4 : IDXGIOutput3")]
[NativeInheritance("IDXGIOutput3")]
public unsafe partial struct IDXGIOutput4 : INativeGuid
{
public static ref readonly Guid IID_IDXGIOutput4
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
ReadOnlySpan<byte> data = new byte[] {
0x35, 0xCA, 0x7D, 0xDC,
0x96, 0x21,
0x4D, 0x41,
0x9F,
0x53,
0x61,
0x78,
0x84,
0x03,
0x2A,
0x60
};
Debug.Assert(data.Length == Unsafe.SizeOf<Guid>());
return ref Unsafe.As<byte, Guid>(ref MemoryMarshal.GetReference(data));
}
}
#if NET6_0_OR_GREATER
static Guid* INativeGuid.NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_IDXGIOutput4));
#else
public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_IDXGIOutput4));
#endif
public void** lpVtbl;
/// <inheritdoc cref="IUnknown.QueryInterface" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(0)]
public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject)
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, Guid*, void**, int>)(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject);
}
/// <inheritdoc cref="IUnknown.AddRef" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(1)]
[return: NativeTypeName("ULONG")]
public uint AddRef()
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, uint>)(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IUnknown.Release" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(2)]
[return: NativeTypeName("ULONG")]
public uint Release()
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, uint>)(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IDXGIObject.SetPrivateData" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(3)]
public HResult SetPrivateData(Guid* Name, uint DataSize, void* pData)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput4*, Guid*, uint, void*, int>)(lpVtbl[3]))((IDXGIOutput4*)Unsafe.AsPointer(ref this), Name, DataSize, pData);
}
/// <inheritdoc cref="IDXGIObject.SetPrivateDataInterface" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(4)]
public HResult SetPrivateDataInterface(Guid* Name, IUnknown* pUnknown)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput4*, Guid*, IUnknown*, int>)(lpVtbl[4]))((IDXGIOutput4*)Unsafe.AsPointer(ref this), Name, pUnknown);
}
/// <inheritdoc cref="IDXGIObject.GetPrivateData" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(5)]
public HResult GetPrivateData(Guid* Name, uint* pDataSize, void* pData)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput4*, Guid*, uint*, void*, int>)(lpVtbl[5]))((IDXGIOutput4*)Unsafe.AsPointer(ref this), Name, pDataSize, pData);
}
/// <inheritdoc cref="IDXGIObject.GetParent" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(6)]
public HResult GetParent(Guid* riid, void** ppParent)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput4*, Guid*, void**, int>)(lpVtbl[6]))((IDXGIOutput4*)Unsafe.AsPointer(ref this), riid, ppParent);
}
/// <inheritdoc cref="IDXGIOutput.GetDesc" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(7)]
public HResult GetDesc(OutputDescription* pDesc)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput4*, OutputDescription*, int>)(lpVtbl[7]))((IDXGIOutput4*)Unsafe.AsPointer(ref this), pDesc);
}
/// <inheritdoc cref="IDXGIOutput.GetDisplayModeList" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(8)]
public HResult GetDisplayModeList(Common.Format EnumFormat, uint Flags, uint* pNumModes, Common.ModeDescription* pDesc)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput4*, Common.Format, uint, uint*, Common.ModeDescription*, int>)(lpVtbl[8]))((IDXGIOutput4*)Unsafe.AsPointer(ref this), EnumFormat, Flags, pNumModes, pDesc);
}
/// <inheritdoc cref="IDXGIOutput.FindClosestMatchingMode" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(9)]
public HResult FindClosestMatchingMode(Common.ModeDescription* pModeToMatch, Common.ModeDescription* pClosestMatch, IUnknown* pConcernedDevice)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput4*, Common.ModeDescription*, Common.ModeDescription*, IUnknown*, int>)(lpVtbl[9]))((IDXGIOutput4*)Unsafe.AsPointer(ref this), pModeToMatch, pClosestMatch, pConcernedDevice);
}
/// <inheritdoc cref="IDXGIOutput.WaitForVBlank" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(10)]
public HResult WaitForVBlank()
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput4*, int>)(lpVtbl[10]))((IDXGIOutput4*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IDXGIOutput.TakeOwnership" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(11)]
public HResult TakeOwnership(IUnknown* pDevice, Bool32 Exclusive)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput4*, IUnknown*, Bool32, int>)(lpVtbl[11]))((IDXGIOutput4*)Unsafe.AsPointer(ref this), pDevice, Exclusive);
}
/// <inheritdoc cref="IDXGIOutput.ReleaseOwnership" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(12)]
public void ReleaseOwnership()
{
((delegate* unmanaged[Stdcall]<IDXGIOutput4*, void>)(lpVtbl[12]))((IDXGIOutput4*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IDXGIOutput.GetGammaControlCapabilities" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(13)]
public HResult GetGammaControlCapabilities(Common.GammaControlCapabilities* pGammaCaps)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput4*, Common.GammaControlCapabilities*, int>)(lpVtbl[13]))((IDXGIOutput4*)Unsafe.AsPointer(ref this), pGammaCaps);
}
/// <inheritdoc cref="IDXGIOutput.SetGammaControl" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(14)]
public HResult SetGammaControl(Common.GammaControl* pArray)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput4*, Common.GammaControl*, int>)(lpVtbl[14]))((IDXGIOutput4*)Unsafe.AsPointer(ref this), pArray);
}
/// <inheritdoc cref="IDXGIOutput.GetGammaControl" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(15)]
public HResult GetGammaControl(Common.GammaControl* pArray)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput4*, Common.GammaControl*, int>)(lpVtbl[15]))((IDXGIOutput4*)Unsafe.AsPointer(ref this), pArray);
}
/// <inheritdoc cref="IDXGIOutput.SetDisplaySurface" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(16)]
public HResult SetDisplaySurface(IDXGISurface* pScanoutSurface)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput4*, IDXGISurface*, int>)(lpVtbl[16]))((IDXGIOutput4*)Unsafe.AsPointer(ref this), pScanoutSurface);
}
/// <inheritdoc cref="IDXGIOutput.GetDisplaySurfaceData" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(17)]
public HResult GetDisplaySurfaceData(IDXGISurface* pDestination)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput4*, IDXGISurface*, int>)(lpVtbl[17]))((IDXGIOutput4*)Unsafe.AsPointer(ref this), pDestination);
}
/// <inheritdoc cref="IDXGIOutput.GetFrameStatistics" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(18)]
public HResult GetFrameStatistics(FrameStatistics* pStats)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput4*, FrameStatistics*, int>)(lpVtbl[18]))((IDXGIOutput4*)Unsafe.AsPointer(ref this), pStats);
}
/// <inheritdoc cref="IDXGIOutput1.GetDisplayModeList1" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(19)]
public HResult GetDisplayModeList1(Common.Format EnumFormat, uint Flags, uint* pNumModes, ModeDescription1* pDesc)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput4*, Common.Format, uint, uint*, ModeDescription1*, int>)(lpVtbl[19]))((IDXGIOutput4*)Unsafe.AsPointer(ref this), EnumFormat, Flags, pNumModes, pDesc);
}
/// <inheritdoc cref="IDXGIOutput1.FindClosestMatchingMode1" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(20)]
public HResult FindClosestMatchingMode1(ModeDescription1* pModeToMatch, ModeDescription1* pClosestMatch, IUnknown* pConcernedDevice)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput4*, ModeDescription1*, ModeDescription1*, IUnknown*, int>)(lpVtbl[20]))((IDXGIOutput4*)Unsafe.AsPointer(ref this), pModeToMatch, pClosestMatch, pConcernedDevice);
}
/// <inheritdoc cref="IDXGIOutput1.GetDisplaySurfaceData1" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(21)]
public HResult GetDisplaySurfaceData1(IDXGIResource* pDestination)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput4*, IDXGIResource*, int>)(lpVtbl[21]))((IDXGIOutput4*)Unsafe.AsPointer(ref this), pDestination);
}
/// <inheritdoc cref="IDXGIOutput1.DuplicateOutput" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(22)]
public HResult DuplicateOutput(IUnknown* pDevice, IDXGIOutputDuplication** ppOutputDuplication)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput4*, IUnknown*, IDXGIOutputDuplication**, int>)(lpVtbl[22]))((IDXGIOutput4*)Unsafe.AsPointer(ref this), pDevice, ppOutputDuplication);
}
/// <inheritdoc cref="IDXGIOutput2.SupportsOverlays" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(23)]
public Bool32 SupportsOverlays()
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput4*, Bool32>)(lpVtbl[23]))((IDXGIOutput4*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IDXGIOutput3.CheckOverlaySupport" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(24)]
public HResult CheckOverlaySupport(Common.Format EnumFormat, IUnknown* pConcernedDevice, uint* pFlags)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput4*, Common.Format, IUnknown*, uint*, int>)(lpVtbl[24]))((IDXGIOutput4*)Unsafe.AsPointer(ref this), EnumFormat, pConcernedDevice, pFlags);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIOutput4::CheckOverlayColorSpaceSupport"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(25)]
public HResult CheckOverlayColorSpaceSupport(Common.Format Format, Common.ColorSpaceType ColorSpace, IUnknown* pConcernedDevice, uint* pFlags)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput4*, Common.Format, Common.ColorSpaceType, IUnknown*, uint*, int>)(lpVtbl[25]))((IDXGIOutput4*)Unsafe.AsPointer(ref this), Format, ColorSpace, pConcernedDevice, pFlags);
}
}

View File

@@ -0,0 +1,269 @@
// ------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
namespace Win32.Graphics.Dxgi;
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIOutput5"]/*' />
/// <unmanaged>IDXGIOutput5</unmanaged>
[Guid("80a07424-ab52-42eb-833c-0c42fd282d98")]
[NativeTypeName("struct IDXGIOutput5 : IDXGIOutput4")]
[NativeInheritance("IDXGIOutput4")]
public unsafe partial struct IDXGIOutput5 : INativeGuid
{
public static ref readonly Guid IID_IDXGIOutput5
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
ReadOnlySpan<byte> data = new byte[] {
0x24, 0x74, 0xA0, 0x80,
0x52, 0xAB,
0xEB, 0x42,
0x83,
0x3C,
0x0C,
0x42,
0xFD,
0x28,
0x2D,
0x98
};
Debug.Assert(data.Length == Unsafe.SizeOf<Guid>());
return ref Unsafe.As<byte, Guid>(ref MemoryMarshal.GetReference(data));
}
}
#if NET6_0_OR_GREATER
static Guid* INativeGuid.NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_IDXGIOutput5));
#else
public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_IDXGIOutput5));
#endif
public void** lpVtbl;
/// <inheritdoc cref="IUnknown.QueryInterface" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(0)]
public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject)
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, Guid*, void**, int>)(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject);
}
/// <inheritdoc cref="IUnknown.AddRef" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(1)]
[return: NativeTypeName("ULONG")]
public uint AddRef()
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, uint>)(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IUnknown.Release" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(2)]
[return: NativeTypeName("ULONG")]
public uint Release()
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, uint>)(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IDXGIObject.SetPrivateData" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(3)]
public HResult SetPrivateData(Guid* Name, uint DataSize, void* pData)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput5*, Guid*, uint, void*, int>)(lpVtbl[3]))((IDXGIOutput5*)Unsafe.AsPointer(ref this), Name, DataSize, pData);
}
/// <inheritdoc cref="IDXGIObject.SetPrivateDataInterface" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(4)]
public HResult SetPrivateDataInterface(Guid* Name, IUnknown* pUnknown)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput5*, Guid*, IUnknown*, int>)(lpVtbl[4]))((IDXGIOutput5*)Unsafe.AsPointer(ref this), Name, pUnknown);
}
/// <inheritdoc cref="IDXGIObject.GetPrivateData" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(5)]
public HResult GetPrivateData(Guid* Name, uint* pDataSize, void* pData)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput5*, Guid*, uint*, void*, int>)(lpVtbl[5]))((IDXGIOutput5*)Unsafe.AsPointer(ref this), Name, pDataSize, pData);
}
/// <inheritdoc cref="IDXGIObject.GetParent" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(6)]
public HResult GetParent(Guid* riid, void** ppParent)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput5*, Guid*, void**, int>)(lpVtbl[6]))((IDXGIOutput5*)Unsafe.AsPointer(ref this), riid, ppParent);
}
/// <inheritdoc cref="IDXGIOutput.GetDesc" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(7)]
public HResult GetDesc(OutputDescription* pDesc)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput5*, OutputDescription*, int>)(lpVtbl[7]))((IDXGIOutput5*)Unsafe.AsPointer(ref this), pDesc);
}
/// <inheritdoc cref="IDXGIOutput.GetDisplayModeList" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(8)]
public HResult GetDisplayModeList(Common.Format EnumFormat, uint Flags, uint* pNumModes, Common.ModeDescription* pDesc)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput5*, Common.Format, uint, uint*, Common.ModeDescription*, int>)(lpVtbl[8]))((IDXGIOutput5*)Unsafe.AsPointer(ref this), EnumFormat, Flags, pNumModes, pDesc);
}
/// <inheritdoc cref="IDXGIOutput.FindClosestMatchingMode" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(9)]
public HResult FindClosestMatchingMode(Common.ModeDescription* pModeToMatch, Common.ModeDescription* pClosestMatch, IUnknown* pConcernedDevice)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput5*, Common.ModeDescription*, Common.ModeDescription*, IUnknown*, int>)(lpVtbl[9]))((IDXGIOutput5*)Unsafe.AsPointer(ref this), pModeToMatch, pClosestMatch, pConcernedDevice);
}
/// <inheritdoc cref="IDXGIOutput.WaitForVBlank" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(10)]
public HResult WaitForVBlank()
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput5*, int>)(lpVtbl[10]))((IDXGIOutput5*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IDXGIOutput.TakeOwnership" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(11)]
public HResult TakeOwnership(IUnknown* pDevice, Bool32 Exclusive)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput5*, IUnknown*, Bool32, int>)(lpVtbl[11]))((IDXGIOutput5*)Unsafe.AsPointer(ref this), pDevice, Exclusive);
}
/// <inheritdoc cref="IDXGIOutput.ReleaseOwnership" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(12)]
public void ReleaseOwnership()
{
((delegate* unmanaged[Stdcall]<IDXGIOutput5*, void>)(lpVtbl[12]))((IDXGIOutput5*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IDXGIOutput.GetGammaControlCapabilities" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(13)]
public HResult GetGammaControlCapabilities(Common.GammaControlCapabilities* pGammaCaps)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput5*, Common.GammaControlCapabilities*, int>)(lpVtbl[13]))((IDXGIOutput5*)Unsafe.AsPointer(ref this), pGammaCaps);
}
/// <inheritdoc cref="IDXGIOutput.SetGammaControl" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(14)]
public HResult SetGammaControl(Common.GammaControl* pArray)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput5*, Common.GammaControl*, int>)(lpVtbl[14]))((IDXGIOutput5*)Unsafe.AsPointer(ref this), pArray);
}
/// <inheritdoc cref="IDXGIOutput.GetGammaControl" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(15)]
public HResult GetGammaControl(Common.GammaControl* pArray)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput5*, Common.GammaControl*, int>)(lpVtbl[15]))((IDXGIOutput5*)Unsafe.AsPointer(ref this), pArray);
}
/// <inheritdoc cref="IDXGIOutput.SetDisplaySurface" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(16)]
public HResult SetDisplaySurface(IDXGISurface* pScanoutSurface)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput5*, IDXGISurface*, int>)(lpVtbl[16]))((IDXGIOutput5*)Unsafe.AsPointer(ref this), pScanoutSurface);
}
/// <inheritdoc cref="IDXGIOutput.GetDisplaySurfaceData" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(17)]
public HResult GetDisplaySurfaceData(IDXGISurface* pDestination)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput5*, IDXGISurface*, int>)(lpVtbl[17]))((IDXGIOutput5*)Unsafe.AsPointer(ref this), pDestination);
}
/// <inheritdoc cref="IDXGIOutput.GetFrameStatistics" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(18)]
public HResult GetFrameStatistics(FrameStatistics* pStats)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput5*, FrameStatistics*, int>)(lpVtbl[18]))((IDXGIOutput5*)Unsafe.AsPointer(ref this), pStats);
}
/// <inheritdoc cref="IDXGIOutput1.GetDisplayModeList1" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(19)]
public HResult GetDisplayModeList1(Common.Format EnumFormat, uint Flags, uint* pNumModes, ModeDescription1* pDesc)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput5*, Common.Format, uint, uint*, ModeDescription1*, int>)(lpVtbl[19]))((IDXGIOutput5*)Unsafe.AsPointer(ref this), EnumFormat, Flags, pNumModes, pDesc);
}
/// <inheritdoc cref="IDXGIOutput1.FindClosestMatchingMode1" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(20)]
public HResult FindClosestMatchingMode1(ModeDescription1* pModeToMatch, ModeDescription1* pClosestMatch, IUnknown* pConcernedDevice)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput5*, ModeDescription1*, ModeDescription1*, IUnknown*, int>)(lpVtbl[20]))((IDXGIOutput5*)Unsafe.AsPointer(ref this), pModeToMatch, pClosestMatch, pConcernedDevice);
}
/// <inheritdoc cref="IDXGIOutput1.GetDisplaySurfaceData1" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(21)]
public HResult GetDisplaySurfaceData1(IDXGIResource* pDestination)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput5*, IDXGIResource*, int>)(lpVtbl[21]))((IDXGIOutput5*)Unsafe.AsPointer(ref this), pDestination);
}
/// <inheritdoc cref="IDXGIOutput1.DuplicateOutput" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(22)]
public HResult DuplicateOutput(IUnknown* pDevice, IDXGIOutputDuplication** ppOutputDuplication)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput5*, IUnknown*, IDXGIOutputDuplication**, int>)(lpVtbl[22]))((IDXGIOutput5*)Unsafe.AsPointer(ref this), pDevice, ppOutputDuplication);
}
/// <inheritdoc cref="IDXGIOutput2.SupportsOverlays" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(23)]
public Bool32 SupportsOverlays()
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput5*, Bool32>)(lpVtbl[23]))((IDXGIOutput5*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IDXGIOutput3.CheckOverlaySupport" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(24)]
public HResult CheckOverlaySupport(Common.Format EnumFormat, IUnknown* pConcernedDevice, uint* pFlags)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput5*, Common.Format, IUnknown*, uint*, int>)(lpVtbl[24]))((IDXGIOutput5*)Unsafe.AsPointer(ref this), EnumFormat, pConcernedDevice, pFlags);
}
/// <inheritdoc cref="IDXGIOutput4.CheckOverlayColorSpaceSupport" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(25)]
public HResult CheckOverlayColorSpaceSupport(Common.Format Format, Common.ColorSpaceType ColorSpace, IUnknown* pConcernedDevice, uint* pFlags)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput5*, Common.Format, Common.ColorSpaceType, IUnknown*, uint*, int>)(lpVtbl[25]))((IDXGIOutput5*)Unsafe.AsPointer(ref this), Format, ColorSpace, pConcernedDevice, pFlags);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIOutput5::DuplicateOutput1"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(26)]
public HResult DuplicateOutput1(IUnknown* pDevice, uint Flags, uint SupportedFormatsCount, Common.Format* pSupportedFormats, IDXGIOutputDuplication** ppOutputDuplication)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput5*, IUnknown*, uint, uint, Common.Format*, IDXGIOutputDuplication**, int>)(lpVtbl[26]))((IDXGIOutput5*)Unsafe.AsPointer(ref this), pDevice, Flags, SupportedFormatsCount, pSupportedFormats, ppOutputDuplication);
}
}

View File

@@ -0,0 +1,285 @@
// ------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
namespace Win32.Graphics.Dxgi;
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIOutput6"]/*' />
/// <unmanaged>IDXGIOutput6</unmanaged>
[Guid("068346e8-aaec-4b84-add7-137f513f77a1")]
[NativeTypeName("struct IDXGIOutput6 : IDXGIOutput5")]
[NativeInheritance("IDXGIOutput5")]
public unsafe partial struct IDXGIOutput6 : INativeGuid
{
public static ref readonly Guid IID_IDXGIOutput6
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
ReadOnlySpan<byte> data = new byte[] {
0xE8, 0x46, 0x83, 0x06,
0xEC, 0xAA,
0x84, 0x4B,
0xAD,
0xD7,
0x13,
0x7F,
0x51,
0x3F,
0x77,
0xA1
};
Debug.Assert(data.Length == Unsafe.SizeOf<Guid>());
return ref Unsafe.As<byte, Guid>(ref MemoryMarshal.GetReference(data));
}
}
#if NET6_0_OR_GREATER
static Guid* INativeGuid.NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_IDXGIOutput6));
#else
public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_IDXGIOutput6));
#endif
public void** lpVtbl;
/// <inheritdoc cref="IUnknown.QueryInterface" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(0)]
public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject)
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, Guid*, void**, int>)(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject);
}
/// <inheritdoc cref="IUnknown.AddRef" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(1)]
[return: NativeTypeName("ULONG")]
public uint AddRef()
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, uint>)(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IUnknown.Release" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(2)]
[return: NativeTypeName("ULONG")]
public uint Release()
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, uint>)(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IDXGIObject.SetPrivateData" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(3)]
public HResult SetPrivateData(Guid* Name, uint DataSize, void* pData)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput6*, Guid*, uint, void*, int>)(lpVtbl[3]))((IDXGIOutput6*)Unsafe.AsPointer(ref this), Name, DataSize, pData);
}
/// <inheritdoc cref="IDXGIObject.SetPrivateDataInterface" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(4)]
public HResult SetPrivateDataInterface(Guid* Name, IUnknown* pUnknown)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput6*, Guid*, IUnknown*, int>)(lpVtbl[4]))((IDXGIOutput6*)Unsafe.AsPointer(ref this), Name, pUnknown);
}
/// <inheritdoc cref="IDXGIObject.GetPrivateData" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(5)]
public HResult GetPrivateData(Guid* Name, uint* pDataSize, void* pData)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput6*, Guid*, uint*, void*, int>)(lpVtbl[5]))((IDXGIOutput6*)Unsafe.AsPointer(ref this), Name, pDataSize, pData);
}
/// <inheritdoc cref="IDXGIObject.GetParent" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(6)]
public HResult GetParent(Guid* riid, void** ppParent)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput6*, Guid*, void**, int>)(lpVtbl[6]))((IDXGIOutput6*)Unsafe.AsPointer(ref this), riid, ppParent);
}
/// <inheritdoc cref="IDXGIOutput.GetDesc" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(7)]
public HResult GetDesc(OutputDescription* pDesc)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput6*, OutputDescription*, int>)(lpVtbl[7]))((IDXGIOutput6*)Unsafe.AsPointer(ref this), pDesc);
}
/// <inheritdoc cref="IDXGIOutput.GetDisplayModeList" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(8)]
public HResult GetDisplayModeList(Common.Format EnumFormat, uint Flags, uint* pNumModes, Common.ModeDescription* pDesc)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput6*, Common.Format, uint, uint*, Common.ModeDescription*, int>)(lpVtbl[8]))((IDXGIOutput6*)Unsafe.AsPointer(ref this), EnumFormat, Flags, pNumModes, pDesc);
}
/// <inheritdoc cref="IDXGIOutput.FindClosestMatchingMode" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(9)]
public HResult FindClosestMatchingMode(Common.ModeDescription* pModeToMatch, Common.ModeDescription* pClosestMatch, IUnknown* pConcernedDevice)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput6*, Common.ModeDescription*, Common.ModeDescription*, IUnknown*, int>)(lpVtbl[9]))((IDXGIOutput6*)Unsafe.AsPointer(ref this), pModeToMatch, pClosestMatch, pConcernedDevice);
}
/// <inheritdoc cref="IDXGIOutput.WaitForVBlank" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(10)]
public HResult WaitForVBlank()
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput6*, int>)(lpVtbl[10]))((IDXGIOutput6*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IDXGIOutput.TakeOwnership" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(11)]
public HResult TakeOwnership(IUnknown* pDevice, Bool32 Exclusive)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput6*, IUnknown*, Bool32, int>)(lpVtbl[11]))((IDXGIOutput6*)Unsafe.AsPointer(ref this), pDevice, Exclusive);
}
/// <inheritdoc cref="IDXGIOutput.ReleaseOwnership" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(12)]
public void ReleaseOwnership()
{
((delegate* unmanaged[Stdcall]<IDXGIOutput6*, void>)(lpVtbl[12]))((IDXGIOutput6*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IDXGIOutput.GetGammaControlCapabilities" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(13)]
public HResult GetGammaControlCapabilities(Common.GammaControlCapabilities* pGammaCaps)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput6*, Common.GammaControlCapabilities*, int>)(lpVtbl[13]))((IDXGIOutput6*)Unsafe.AsPointer(ref this), pGammaCaps);
}
/// <inheritdoc cref="IDXGIOutput.SetGammaControl" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(14)]
public HResult SetGammaControl(Common.GammaControl* pArray)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput6*, Common.GammaControl*, int>)(lpVtbl[14]))((IDXGIOutput6*)Unsafe.AsPointer(ref this), pArray);
}
/// <inheritdoc cref="IDXGIOutput.GetGammaControl" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(15)]
public HResult GetGammaControl(Common.GammaControl* pArray)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput6*, Common.GammaControl*, int>)(lpVtbl[15]))((IDXGIOutput6*)Unsafe.AsPointer(ref this), pArray);
}
/// <inheritdoc cref="IDXGIOutput.SetDisplaySurface" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(16)]
public HResult SetDisplaySurface(IDXGISurface* pScanoutSurface)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput6*, IDXGISurface*, int>)(lpVtbl[16]))((IDXGIOutput6*)Unsafe.AsPointer(ref this), pScanoutSurface);
}
/// <inheritdoc cref="IDXGIOutput.GetDisplaySurfaceData" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(17)]
public HResult GetDisplaySurfaceData(IDXGISurface* pDestination)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput6*, IDXGISurface*, int>)(lpVtbl[17]))((IDXGIOutput6*)Unsafe.AsPointer(ref this), pDestination);
}
/// <inheritdoc cref="IDXGIOutput.GetFrameStatistics" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(18)]
public HResult GetFrameStatistics(FrameStatistics* pStats)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput6*, FrameStatistics*, int>)(lpVtbl[18]))((IDXGIOutput6*)Unsafe.AsPointer(ref this), pStats);
}
/// <inheritdoc cref="IDXGIOutput1.GetDisplayModeList1" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(19)]
public HResult GetDisplayModeList1(Common.Format EnumFormat, uint Flags, uint* pNumModes, ModeDescription1* pDesc)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput6*, Common.Format, uint, uint*, ModeDescription1*, int>)(lpVtbl[19]))((IDXGIOutput6*)Unsafe.AsPointer(ref this), EnumFormat, Flags, pNumModes, pDesc);
}
/// <inheritdoc cref="IDXGIOutput1.FindClosestMatchingMode1" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(20)]
public HResult FindClosestMatchingMode1(ModeDescription1* pModeToMatch, ModeDescription1* pClosestMatch, IUnknown* pConcernedDevice)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput6*, ModeDescription1*, ModeDescription1*, IUnknown*, int>)(lpVtbl[20]))((IDXGIOutput6*)Unsafe.AsPointer(ref this), pModeToMatch, pClosestMatch, pConcernedDevice);
}
/// <inheritdoc cref="IDXGIOutput1.GetDisplaySurfaceData1" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(21)]
public HResult GetDisplaySurfaceData1(IDXGIResource* pDestination)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput6*, IDXGIResource*, int>)(lpVtbl[21]))((IDXGIOutput6*)Unsafe.AsPointer(ref this), pDestination);
}
/// <inheritdoc cref="IDXGIOutput1.DuplicateOutput" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(22)]
public HResult DuplicateOutput(IUnknown* pDevice, IDXGIOutputDuplication** ppOutputDuplication)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput6*, IUnknown*, IDXGIOutputDuplication**, int>)(lpVtbl[22]))((IDXGIOutput6*)Unsafe.AsPointer(ref this), pDevice, ppOutputDuplication);
}
/// <inheritdoc cref="IDXGIOutput2.SupportsOverlays" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(23)]
public Bool32 SupportsOverlays()
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput6*, Bool32>)(lpVtbl[23]))((IDXGIOutput6*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IDXGIOutput3.CheckOverlaySupport" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(24)]
public HResult CheckOverlaySupport(Common.Format EnumFormat, IUnknown* pConcernedDevice, uint* pFlags)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput6*, Common.Format, IUnknown*, uint*, int>)(lpVtbl[24]))((IDXGIOutput6*)Unsafe.AsPointer(ref this), EnumFormat, pConcernedDevice, pFlags);
}
/// <inheritdoc cref="IDXGIOutput4.CheckOverlayColorSpaceSupport" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(25)]
public HResult CheckOverlayColorSpaceSupport(Common.Format Format, Common.ColorSpaceType ColorSpace, IUnknown* pConcernedDevice, uint* pFlags)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput6*, Common.Format, Common.ColorSpaceType, IUnknown*, uint*, int>)(lpVtbl[25]))((IDXGIOutput6*)Unsafe.AsPointer(ref this), Format, ColorSpace, pConcernedDevice, pFlags);
}
/// <inheritdoc cref="IDXGIOutput5.DuplicateOutput1" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(26)]
public HResult DuplicateOutput1(IUnknown* pDevice, uint Flags, uint SupportedFormatsCount, Common.Format* pSupportedFormats, IDXGIOutputDuplication** ppOutputDuplication)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput6*, IUnknown*, uint, uint, Common.Format*, IDXGIOutputDuplication**, int>)(lpVtbl[26]))((IDXGIOutput6*)Unsafe.AsPointer(ref this), pDevice, Flags, SupportedFormatsCount, pSupportedFormats, ppOutputDuplication);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIOutput6::GetDesc1"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(27)]
public HResult GetDesc1(OutputDescription1* pDesc)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput6*, OutputDescription1*, int>)(lpVtbl[27]))((IDXGIOutput6*)Unsafe.AsPointer(ref this), pDesc);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIOutput6::CheckHardwareCompositionSupport"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(28)]
public HResult CheckHardwareCompositionSupport(uint* pFlags)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput6*, uint*, int>)(lpVtbl[28]))((IDXGIOutput6*)Unsafe.AsPointer(ref this), pFlags);
}
}

View File

@@ -0,0 +1,173 @@
// ------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
namespace Win32.Graphics.Dxgi;
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIOutputDuplication"]/*' />
/// <unmanaged>IDXGIOutputDuplication</unmanaged>
[Guid("191cfac3-a341-470d-b26e-a864f428319c")]
[NativeTypeName("struct IDXGIOutputDuplication : IDXGIObject")]
[NativeInheritance("IDXGIObject")]
public unsafe partial struct IDXGIOutputDuplication : INativeGuid
{
public static ref readonly Guid IID_IDXGIOutputDuplication
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
ReadOnlySpan<byte> data = new byte[] {
0xC3, 0xFA, 0x1C, 0x19,
0x41, 0xA3,
0x0D, 0x47,
0xB2,
0x6E,
0xA8,
0x64,
0xF4,
0x28,
0x31,
0x9C
};
Debug.Assert(data.Length == Unsafe.SizeOf<Guid>());
return ref Unsafe.As<byte, Guid>(ref MemoryMarshal.GetReference(data));
}
}
#if NET6_0_OR_GREATER
static Guid* INativeGuid.NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_IDXGIOutputDuplication));
#else
public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_IDXGIOutputDuplication));
#endif
public void** lpVtbl;
/// <inheritdoc cref="IUnknown.QueryInterface" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(0)]
public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject)
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, Guid*, void**, int>)(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject);
}
/// <inheritdoc cref="IUnknown.AddRef" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(1)]
[return: NativeTypeName("ULONG")]
public uint AddRef()
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, uint>)(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IUnknown.Release" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(2)]
[return: NativeTypeName("ULONG")]
public uint Release()
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, uint>)(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IDXGIObject.SetPrivateData" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(3)]
public HResult SetPrivateData(Guid* Name, uint DataSize, void* pData)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutputDuplication*, Guid*, uint, void*, int>)(lpVtbl[3]))((IDXGIOutputDuplication*)Unsafe.AsPointer(ref this), Name, DataSize, pData);
}
/// <inheritdoc cref="IDXGIObject.SetPrivateDataInterface" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(4)]
public HResult SetPrivateDataInterface(Guid* Name, IUnknown* pUnknown)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutputDuplication*, Guid*, IUnknown*, int>)(lpVtbl[4]))((IDXGIOutputDuplication*)Unsafe.AsPointer(ref this), Name, pUnknown);
}
/// <inheritdoc cref="IDXGIObject.GetPrivateData" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(5)]
public HResult GetPrivateData(Guid* Name, uint* pDataSize, void* pData)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutputDuplication*, Guid*, uint*, void*, int>)(lpVtbl[5]))((IDXGIOutputDuplication*)Unsafe.AsPointer(ref this), Name, pDataSize, pData);
}
/// <inheritdoc cref="IDXGIObject.GetParent" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(6)]
public HResult GetParent(Guid* riid, void** ppParent)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutputDuplication*, Guid*, void**, int>)(lpVtbl[6]))((IDXGIOutputDuplication*)Unsafe.AsPointer(ref this), riid, ppParent);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIOutputDuplication::GetDesc"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(7)]
public void GetDesc(OutduplDescription* pDesc)
{
((delegate* unmanaged[Stdcall]<IDXGIOutputDuplication*, OutduplDescription*, void>)(lpVtbl[7]))((IDXGIOutputDuplication*)Unsafe.AsPointer(ref this), pDesc);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIOutputDuplication::AcquireNextFrame"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(8)]
public HResult AcquireNextFrame(uint TimeoutInMilliseconds, OutduplFrameInfo* pFrameInfo, IDXGIResource** ppDesktopResource)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutputDuplication*, uint, OutduplFrameInfo*, IDXGIResource**, int>)(lpVtbl[8]))((IDXGIOutputDuplication*)Unsafe.AsPointer(ref this), TimeoutInMilliseconds, pFrameInfo, ppDesktopResource);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIOutputDuplication::GetFrameDirtyRects"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(9)]
public HResult GetFrameDirtyRects(uint DirtyRectsBufferSize, RawRect* pDirtyRectsBuffer, uint* pDirtyRectsBufferSizeRequired)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutputDuplication*, uint, RawRect*, uint*, int>)(lpVtbl[9]))((IDXGIOutputDuplication*)Unsafe.AsPointer(ref this), DirtyRectsBufferSize, pDirtyRectsBuffer, pDirtyRectsBufferSizeRequired);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIOutputDuplication::GetFrameMoveRects"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(10)]
public HResult GetFrameMoveRects(uint MoveRectsBufferSize, OutduplMoveRect* pMoveRectBuffer, uint* pMoveRectsBufferSizeRequired)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutputDuplication*, uint, OutduplMoveRect*, uint*, int>)(lpVtbl[10]))((IDXGIOutputDuplication*)Unsafe.AsPointer(ref this), MoveRectsBufferSize, pMoveRectBuffer, pMoveRectsBufferSizeRequired);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIOutputDuplication::GetFramePointerShape"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(11)]
public HResult GetFramePointerShape(uint PointerShapeBufferSize, void* pPointerShapeBuffer, uint* pPointerShapeBufferSizeRequired, OutduplPointerShapeInfo* pPointerShapeInfo)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutputDuplication*, uint, void*, uint*, OutduplPointerShapeInfo*, int>)(lpVtbl[11]))((IDXGIOutputDuplication*)Unsafe.AsPointer(ref this), PointerShapeBufferSize, pPointerShapeBuffer, pPointerShapeBufferSizeRequired, pPointerShapeInfo);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIOutputDuplication::MapDesktopSurface"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(12)]
public HResult MapDesktopSurface(MappedRect* pLockedRect)
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutputDuplication*, MappedRect*, int>)(lpVtbl[12]))((IDXGIOutputDuplication*)Unsafe.AsPointer(ref this), pLockedRect);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIOutputDuplication::UnMapDesktopSurface"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(13)]
public HResult UnMapDesktopSurface()
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutputDuplication*, int>)(lpVtbl[13]))((IDXGIOutputDuplication*)Unsafe.AsPointer(ref this));
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIOutputDuplication::ReleaseFrame"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(14)]
public HResult ReleaseFrame()
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutputDuplication*, int>)(lpVtbl[14]))((IDXGIOutputDuplication*)Unsafe.AsPointer(ref this));
}
}

View File

@@ -0,0 +1,149 @@
// ------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
namespace Win32.Graphics.Dxgi;
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIResource"]/*' />
/// <unmanaged>IDXGIResource</unmanaged>
[Guid("035f3ab4-482e-4e50-b41f-8a7f8bd8960b")]
[NativeTypeName("struct IDXGIResource : IDXGIDeviceSubObject")]
[NativeInheritance("IDXGIDeviceSubObject")]
public unsafe partial struct IDXGIResource : INativeGuid
{
public static ref readonly Guid IID_IDXGIResource
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
ReadOnlySpan<byte> data = new byte[] {
0xB4, 0x3A, 0x5F, 0x03,
0x2E, 0x48,
0x50, 0x4E,
0xB4,
0x1F,
0x8A,
0x7F,
0x8B,
0xD8,
0x96,
0x0B
};
Debug.Assert(data.Length == Unsafe.SizeOf<Guid>());
return ref Unsafe.As<byte, Guid>(ref MemoryMarshal.GetReference(data));
}
}
#if NET6_0_OR_GREATER
static Guid* INativeGuid.NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_IDXGIResource));
#else
public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_IDXGIResource));
#endif
public void** lpVtbl;
/// <inheritdoc cref="IUnknown.QueryInterface" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(0)]
public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject)
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, Guid*, void**, int>)(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject);
}
/// <inheritdoc cref="IUnknown.AddRef" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(1)]
[return: NativeTypeName("ULONG")]
public uint AddRef()
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, uint>)(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IUnknown.Release" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(2)]
[return: NativeTypeName("ULONG")]
public uint Release()
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, uint>)(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IDXGIObject.SetPrivateData" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(3)]
public HResult SetPrivateData(Guid* Name, uint DataSize, void* pData)
{
return ((delegate* unmanaged[Stdcall]<IDXGIResource*, Guid*, uint, void*, int>)(lpVtbl[3]))((IDXGIResource*)Unsafe.AsPointer(ref this), Name, DataSize, pData);
}
/// <inheritdoc cref="IDXGIObject.SetPrivateDataInterface" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(4)]
public HResult SetPrivateDataInterface(Guid* Name, IUnknown* pUnknown)
{
return ((delegate* unmanaged[Stdcall]<IDXGIResource*, Guid*, IUnknown*, int>)(lpVtbl[4]))((IDXGIResource*)Unsafe.AsPointer(ref this), Name, pUnknown);
}
/// <inheritdoc cref="IDXGIObject.GetPrivateData" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(5)]
public HResult GetPrivateData(Guid* Name, uint* pDataSize, void* pData)
{
return ((delegate* unmanaged[Stdcall]<IDXGIResource*, Guid*, uint*, void*, int>)(lpVtbl[5]))((IDXGIResource*)Unsafe.AsPointer(ref this), Name, pDataSize, pData);
}
/// <inheritdoc cref="IDXGIObject.GetParent" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(6)]
public HResult GetParent(Guid* riid, void** ppParent)
{
return ((delegate* unmanaged[Stdcall]<IDXGIResource*, Guid*, void**, int>)(lpVtbl[6]))((IDXGIResource*)Unsafe.AsPointer(ref this), riid, ppParent);
}
/// <inheritdoc cref="IDXGIDeviceSubObject.GetDevice" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(7)]
public HResult GetDevice(Guid* riid, void** ppDevice)
{
return ((delegate* unmanaged[Stdcall]<IDXGIResource*, Guid*, void**, int>)(lpVtbl[7]))((IDXGIResource*)Unsafe.AsPointer(ref this), riid, ppDevice);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIResource::GetSharedHandle"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(8)]
public HResult GetSharedHandle(Handle* pSharedHandle)
{
return ((delegate* unmanaged[Stdcall]<IDXGIResource*, Handle*, int>)(lpVtbl[8]))((IDXGIResource*)Unsafe.AsPointer(ref this), pSharedHandle);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIResource::GetUsage"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(9)]
public HResult GetUsage(uint* pUsage)
{
return ((delegate* unmanaged[Stdcall]<IDXGIResource*, uint*, int>)(lpVtbl[9]))((IDXGIResource*)Unsafe.AsPointer(ref this), pUsage);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIResource::SetEvictionPriority"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(10)]
public HResult SetEvictionPriority(ResourcePriority EvictionPriority)
{
return ((delegate* unmanaged[Stdcall]<IDXGIResource*, ResourcePriority, int>)(lpVtbl[10]))((IDXGIResource*)Unsafe.AsPointer(ref this), EvictionPriority);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIResource::GetEvictionPriority"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(11)]
public HResult GetEvictionPriority(uint* pEvictionPriority)
{
return ((delegate* unmanaged[Stdcall]<IDXGIResource*, uint*, int>)(lpVtbl[11]))((IDXGIResource*)Unsafe.AsPointer(ref this), pEvictionPriority);
}
}

View File

@@ -0,0 +1,165 @@
// ------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
namespace Win32.Graphics.Dxgi;
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIResource1"]/*' />
/// <unmanaged>IDXGIResource1</unmanaged>
[Guid("30961379-4609-4a41-998e-54fe567ee0c1")]
[NativeTypeName("struct IDXGIResource1 : IDXGIResource")]
[NativeInheritance("IDXGIResource")]
public unsafe partial struct IDXGIResource1 : INativeGuid
{
public static ref readonly Guid IID_IDXGIResource1
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
ReadOnlySpan<byte> data = new byte[] {
0x79, 0x13, 0x96, 0x30,
0x09, 0x46,
0x41, 0x4A,
0x99,
0x8E,
0x54,
0xFE,
0x56,
0x7E,
0xE0,
0xC1
};
Debug.Assert(data.Length == Unsafe.SizeOf<Guid>());
return ref Unsafe.As<byte, Guid>(ref MemoryMarshal.GetReference(data));
}
}
#if NET6_0_OR_GREATER
static Guid* INativeGuid.NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_IDXGIResource1));
#else
public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_IDXGIResource1));
#endif
public void** lpVtbl;
/// <inheritdoc cref="IUnknown.QueryInterface" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(0)]
public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject)
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, Guid*, void**, int>)(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject);
}
/// <inheritdoc cref="IUnknown.AddRef" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(1)]
[return: NativeTypeName("ULONG")]
public uint AddRef()
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, uint>)(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IUnknown.Release" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(2)]
[return: NativeTypeName("ULONG")]
public uint Release()
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, uint>)(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IDXGIObject.SetPrivateData" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(3)]
public HResult SetPrivateData(Guid* Name, uint DataSize, void* pData)
{
return ((delegate* unmanaged[Stdcall]<IDXGIResource1*, Guid*, uint, void*, int>)(lpVtbl[3]))((IDXGIResource1*)Unsafe.AsPointer(ref this), Name, DataSize, pData);
}
/// <inheritdoc cref="IDXGIObject.SetPrivateDataInterface" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(4)]
public HResult SetPrivateDataInterface(Guid* Name, IUnknown* pUnknown)
{
return ((delegate* unmanaged[Stdcall]<IDXGIResource1*, Guid*, IUnknown*, int>)(lpVtbl[4]))((IDXGIResource1*)Unsafe.AsPointer(ref this), Name, pUnknown);
}
/// <inheritdoc cref="IDXGIObject.GetPrivateData" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(5)]
public HResult GetPrivateData(Guid* Name, uint* pDataSize, void* pData)
{
return ((delegate* unmanaged[Stdcall]<IDXGIResource1*, Guid*, uint*, void*, int>)(lpVtbl[5]))((IDXGIResource1*)Unsafe.AsPointer(ref this), Name, pDataSize, pData);
}
/// <inheritdoc cref="IDXGIObject.GetParent" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(6)]
public HResult GetParent(Guid* riid, void** ppParent)
{
return ((delegate* unmanaged[Stdcall]<IDXGIResource1*, Guid*, void**, int>)(lpVtbl[6]))((IDXGIResource1*)Unsafe.AsPointer(ref this), riid, ppParent);
}
/// <inheritdoc cref="IDXGIDeviceSubObject.GetDevice" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(7)]
public HResult GetDevice(Guid* riid, void** ppDevice)
{
return ((delegate* unmanaged[Stdcall]<IDXGIResource1*, Guid*, void**, int>)(lpVtbl[7]))((IDXGIResource1*)Unsafe.AsPointer(ref this), riid, ppDevice);
}
/// <inheritdoc cref="IDXGIResource.GetSharedHandle" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(8)]
public HResult GetSharedHandle(Handle* pSharedHandle)
{
return ((delegate* unmanaged[Stdcall]<IDXGIResource1*, Handle*, int>)(lpVtbl[8]))((IDXGIResource1*)Unsafe.AsPointer(ref this), pSharedHandle);
}
/// <inheritdoc cref="IDXGIResource.GetUsage" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(9)]
public HResult GetUsage(uint* pUsage)
{
return ((delegate* unmanaged[Stdcall]<IDXGIResource1*, uint*, int>)(lpVtbl[9]))((IDXGIResource1*)Unsafe.AsPointer(ref this), pUsage);
}
/// <inheritdoc cref="IDXGIResource.SetEvictionPriority" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(10)]
public HResult SetEvictionPriority(ResourcePriority EvictionPriority)
{
return ((delegate* unmanaged[Stdcall]<IDXGIResource1*, ResourcePriority, int>)(lpVtbl[10]))((IDXGIResource1*)Unsafe.AsPointer(ref this), EvictionPriority);
}
/// <inheritdoc cref="IDXGIResource.GetEvictionPriority" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(11)]
public HResult GetEvictionPriority(uint* pEvictionPriority)
{
return ((delegate* unmanaged[Stdcall]<IDXGIResource1*, uint*, int>)(lpVtbl[11]))((IDXGIResource1*)Unsafe.AsPointer(ref this), pEvictionPriority);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIResource1::CreateSubresourceSurface"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(12)]
public HResult CreateSubresourceSurface(uint index, IDXGISurface2** ppSurface)
{
return ((delegate* unmanaged[Stdcall]<IDXGIResource1*, uint, IDXGISurface2**, int>)(lpVtbl[12]))((IDXGIResource1*)Unsafe.AsPointer(ref this), index, ppSurface);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGIResource1::CreateSharedHandle"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(13)]
public HResult CreateSharedHandle(Security.SECURITY_ATTRIBUTES* pAttributes, uint dwAccess, ushort* lpName, Handle* pHandle)
{
return ((delegate* unmanaged[Stdcall]<IDXGIResource1*, Security.SECURITY_ATTRIBUTES*, uint, ushort*, Handle*, int>)(lpVtbl[13]))((IDXGIResource1*)Unsafe.AsPointer(ref this), pAttributes, dwAccess, lpName, pHandle);
}
}

View File

@@ -0,0 +1,141 @@
// ------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
namespace Win32.Graphics.Dxgi;
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGISurface"]/*' />
/// <unmanaged>IDXGISurface</unmanaged>
[Guid("cafcb56c-6ac3-4889-bf47-9e23bbd260ec")]
[NativeTypeName("struct IDXGISurface : IDXGIDeviceSubObject")]
[NativeInheritance("IDXGIDeviceSubObject")]
public unsafe partial struct IDXGISurface : INativeGuid
{
public static ref readonly Guid IID_IDXGISurface
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
ReadOnlySpan<byte> data = new byte[] {
0x6C, 0xB5, 0xFC, 0xCA,
0xC3, 0x6A,
0x89, 0x48,
0xBF,
0x47,
0x9E,
0x23,
0xBB,
0xD2,
0x60,
0xEC
};
Debug.Assert(data.Length == Unsafe.SizeOf<Guid>());
return ref Unsafe.As<byte, Guid>(ref MemoryMarshal.GetReference(data));
}
}
#if NET6_0_OR_GREATER
static Guid* INativeGuid.NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_IDXGISurface));
#else
public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_IDXGISurface));
#endif
public void** lpVtbl;
/// <inheritdoc cref="IUnknown.QueryInterface" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(0)]
public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject)
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, Guid*, void**, int>)(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject);
}
/// <inheritdoc cref="IUnknown.AddRef" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(1)]
[return: NativeTypeName("ULONG")]
public uint AddRef()
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, uint>)(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IUnknown.Release" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(2)]
[return: NativeTypeName("ULONG")]
public uint Release()
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, uint>)(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IDXGIObject.SetPrivateData" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(3)]
public HResult SetPrivateData(Guid* Name, uint DataSize, void* pData)
{
return ((delegate* unmanaged[Stdcall]<IDXGISurface*, Guid*, uint, void*, int>)(lpVtbl[3]))((IDXGISurface*)Unsafe.AsPointer(ref this), Name, DataSize, pData);
}
/// <inheritdoc cref="IDXGIObject.SetPrivateDataInterface" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(4)]
public HResult SetPrivateDataInterface(Guid* Name, IUnknown* pUnknown)
{
return ((delegate* unmanaged[Stdcall]<IDXGISurface*, Guid*, IUnknown*, int>)(lpVtbl[4]))((IDXGISurface*)Unsafe.AsPointer(ref this), Name, pUnknown);
}
/// <inheritdoc cref="IDXGIObject.GetPrivateData" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(5)]
public HResult GetPrivateData(Guid* Name, uint* pDataSize, void* pData)
{
return ((delegate* unmanaged[Stdcall]<IDXGISurface*, Guid*, uint*, void*, int>)(lpVtbl[5]))((IDXGISurface*)Unsafe.AsPointer(ref this), Name, pDataSize, pData);
}
/// <inheritdoc cref="IDXGIObject.GetParent" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(6)]
public HResult GetParent(Guid* riid, void** ppParent)
{
return ((delegate* unmanaged[Stdcall]<IDXGISurface*, Guid*, void**, int>)(lpVtbl[6]))((IDXGISurface*)Unsafe.AsPointer(ref this), riid, ppParent);
}
/// <inheritdoc cref="IDXGIDeviceSubObject.GetDevice" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(7)]
public HResult GetDevice(Guid* riid, void** ppDevice)
{
return ((delegate* unmanaged[Stdcall]<IDXGISurface*, Guid*, void**, int>)(lpVtbl[7]))((IDXGISurface*)Unsafe.AsPointer(ref this), riid, ppDevice);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGISurface::GetDesc"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(8)]
public HResult GetDesc(SurfaceDescription* pDesc)
{
return ((delegate* unmanaged[Stdcall]<IDXGISurface*, SurfaceDescription*, int>)(lpVtbl[8]))((IDXGISurface*)Unsafe.AsPointer(ref this), pDesc);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGISurface::Map"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(9)]
public HResult Map(MappedRect* pLockedRect, uint MapFlags)
{
return ((delegate* unmanaged[Stdcall]<IDXGISurface*, MappedRect*, uint, int>)(lpVtbl[9]))((IDXGISurface*)Unsafe.AsPointer(ref this), pLockedRect, MapFlags);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGISurface::Unmap"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(10)]
public HResult Unmap()
{
return ((delegate* unmanaged[Stdcall]<IDXGISurface*, int>)(lpVtbl[10]))((IDXGISurface*)Unsafe.AsPointer(ref this));
}
}

View File

@@ -0,0 +1,157 @@
// ------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
namespace Win32.Graphics.Dxgi;
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGISurface1"]/*' />
/// <unmanaged>IDXGISurface1</unmanaged>
[Guid("4ae63092-6327-4c1b-80ae-bfe12ea32b86")]
[NativeTypeName("struct IDXGISurface1 : IDXGISurface")]
[NativeInheritance("IDXGISurface")]
public unsafe partial struct IDXGISurface1 : INativeGuid
{
public static ref readonly Guid IID_IDXGISurface1
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
ReadOnlySpan<byte> data = new byte[] {
0x92, 0x30, 0xE6, 0x4A,
0x27, 0x63,
0x1B, 0x4C,
0x80,
0xAE,
0xBF,
0xE1,
0x2E,
0xA3,
0x2B,
0x86
};
Debug.Assert(data.Length == Unsafe.SizeOf<Guid>());
return ref Unsafe.As<byte, Guid>(ref MemoryMarshal.GetReference(data));
}
}
#if NET6_0_OR_GREATER
static Guid* INativeGuid.NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_IDXGISurface1));
#else
public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_IDXGISurface1));
#endif
public void** lpVtbl;
/// <inheritdoc cref="IUnknown.QueryInterface" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(0)]
public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject)
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, Guid*, void**, int>)(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject);
}
/// <inheritdoc cref="IUnknown.AddRef" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(1)]
[return: NativeTypeName("ULONG")]
public uint AddRef()
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, uint>)(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IUnknown.Release" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(2)]
[return: NativeTypeName("ULONG")]
public uint Release()
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, uint>)(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IDXGIObject.SetPrivateData" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(3)]
public HResult SetPrivateData(Guid* Name, uint DataSize, void* pData)
{
return ((delegate* unmanaged[Stdcall]<IDXGISurface1*, Guid*, uint, void*, int>)(lpVtbl[3]))((IDXGISurface1*)Unsafe.AsPointer(ref this), Name, DataSize, pData);
}
/// <inheritdoc cref="IDXGIObject.SetPrivateDataInterface" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(4)]
public HResult SetPrivateDataInterface(Guid* Name, IUnknown* pUnknown)
{
return ((delegate* unmanaged[Stdcall]<IDXGISurface1*, Guid*, IUnknown*, int>)(lpVtbl[4]))((IDXGISurface1*)Unsafe.AsPointer(ref this), Name, pUnknown);
}
/// <inheritdoc cref="IDXGIObject.GetPrivateData" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(5)]
public HResult GetPrivateData(Guid* Name, uint* pDataSize, void* pData)
{
return ((delegate* unmanaged[Stdcall]<IDXGISurface1*, Guid*, uint*, void*, int>)(lpVtbl[5]))((IDXGISurface1*)Unsafe.AsPointer(ref this), Name, pDataSize, pData);
}
/// <inheritdoc cref="IDXGIObject.GetParent" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(6)]
public HResult GetParent(Guid* riid, void** ppParent)
{
return ((delegate* unmanaged[Stdcall]<IDXGISurface1*, Guid*, void**, int>)(lpVtbl[6]))((IDXGISurface1*)Unsafe.AsPointer(ref this), riid, ppParent);
}
/// <inheritdoc cref="IDXGIDeviceSubObject.GetDevice" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(7)]
public HResult GetDevice(Guid* riid, void** ppDevice)
{
return ((delegate* unmanaged[Stdcall]<IDXGISurface1*, Guid*, void**, int>)(lpVtbl[7]))((IDXGISurface1*)Unsafe.AsPointer(ref this), riid, ppDevice);
}
/// <inheritdoc cref="IDXGISurface.GetDesc" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(8)]
public HResult GetDesc(SurfaceDescription* pDesc)
{
return ((delegate* unmanaged[Stdcall]<IDXGISurface1*, SurfaceDescription*, int>)(lpVtbl[8]))((IDXGISurface1*)Unsafe.AsPointer(ref this), pDesc);
}
/// <inheritdoc cref="IDXGISurface.Map" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(9)]
public HResult Map(MappedRect* pLockedRect, uint MapFlags)
{
return ((delegate* unmanaged[Stdcall]<IDXGISurface1*, MappedRect*, uint, int>)(lpVtbl[9]))((IDXGISurface1*)Unsafe.AsPointer(ref this), pLockedRect, MapFlags);
}
/// <inheritdoc cref="IDXGISurface.Unmap" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(10)]
public HResult Unmap()
{
return ((delegate* unmanaged[Stdcall]<IDXGISurface1*, int>)(lpVtbl[10]))((IDXGISurface1*)Unsafe.AsPointer(ref this));
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGISurface1::GetDC"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(11)]
public HResult GetDC(Bool32 Discard, IntPtr* phdc)
{
return ((delegate* unmanaged[Stdcall]<IDXGISurface1*, Bool32, IntPtr*, int>)(lpVtbl[11]))((IDXGISurface1*)Unsafe.AsPointer(ref this), Discard, phdc);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGISurface1::ReleaseDC"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(12)]
public HResult ReleaseDC(RawRect* pDirtyRect)
{
return ((delegate* unmanaged[Stdcall]<IDXGISurface1*, RawRect*, int>)(lpVtbl[12]))((IDXGISurface1*)Unsafe.AsPointer(ref this), pDirtyRect);
}
}

View File

@@ -0,0 +1,165 @@
// ------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
namespace Win32.Graphics.Dxgi;
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGISurface2"]/*' />
/// <unmanaged>IDXGISurface2</unmanaged>
[Guid("aba496dd-b617-4cb8-a866-bc44d7eb1fa2")]
[NativeTypeName("struct IDXGISurface2 : IDXGISurface1")]
[NativeInheritance("IDXGISurface1")]
public unsafe partial struct IDXGISurface2 : INativeGuid
{
public static ref readonly Guid IID_IDXGISurface2
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
ReadOnlySpan<byte> data = new byte[] {
0xDD, 0x96, 0xA4, 0xAB,
0x17, 0xB6,
0xB8, 0x4C,
0xA8,
0x66,
0xBC,
0x44,
0xD7,
0xEB,
0x1F,
0xA2
};
Debug.Assert(data.Length == Unsafe.SizeOf<Guid>());
return ref Unsafe.As<byte, Guid>(ref MemoryMarshal.GetReference(data));
}
}
#if NET6_0_OR_GREATER
static Guid* INativeGuid.NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_IDXGISurface2));
#else
public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_IDXGISurface2));
#endif
public void** lpVtbl;
/// <inheritdoc cref="IUnknown.QueryInterface" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(0)]
public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject)
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, Guid*, void**, int>)(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject);
}
/// <inheritdoc cref="IUnknown.AddRef" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(1)]
[return: NativeTypeName("ULONG")]
public uint AddRef()
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, uint>)(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IUnknown.Release" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(2)]
[return: NativeTypeName("ULONG")]
public uint Release()
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, uint>)(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IDXGIObject.SetPrivateData" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(3)]
public HResult SetPrivateData(Guid* Name, uint DataSize, void* pData)
{
return ((delegate* unmanaged[Stdcall]<IDXGISurface2*, Guid*, uint, void*, int>)(lpVtbl[3]))((IDXGISurface2*)Unsafe.AsPointer(ref this), Name, DataSize, pData);
}
/// <inheritdoc cref="IDXGIObject.SetPrivateDataInterface" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(4)]
public HResult SetPrivateDataInterface(Guid* Name, IUnknown* pUnknown)
{
return ((delegate* unmanaged[Stdcall]<IDXGISurface2*, Guid*, IUnknown*, int>)(lpVtbl[4]))((IDXGISurface2*)Unsafe.AsPointer(ref this), Name, pUnknown);
}
/// <inheritdoc cref="IDXGIObject.GetPrivateData" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(5)]
public HResult GetPrivateData(Guid* Name, uint* pDataSize, void* pData)
{
return ((delegate* unmanaged[Stdcall]<IDXGISurface2*, Guid*, uint*, void*, int>)(lpVtbl[5]))((IDXGISurface2*)Unsafe.AsPointer(ref this), Name, pDataSize, pData);
}
/// <inheritdoc cref="IDXGIObject.GetParent" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(6)]
public HResult GetParent(Guid* riid, void** ppParent)
{
return ((delegate* unmanaged[Stdcall]<IDXGISurface2*, Guid*, void**, int>)(lpVtbl[6]))((IDXGISurface2*)Unsafe.AsPointer(ref this), riid, ppParent);
}
/// <inheritdoc cref="IDXGIDeviceSubObject.GetDevice" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(7)]
public HResult GetDevice(Guid* riid, void** ppDevice)
{
return ((delegate* unmanaged[Stdcall]<IDXGISurface2*, Guid*, void**, int>)(lpVtbl[7]))((IDXGISurface2*)Unsafe.AsPointer(ref this), riid, ppDevice);
}
/// <inheritdoc cref="IDXGISurface.GetDesc" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(8)]
public HResult GetDesc(SurfaceDescription* pDesc)
{
return ((delegate* unmanaged[Stdcall]<IDXGISurface2*, SurfaceDescription*, int>)(lpVtbl[8]))((IDXGISurface2*)Unsafe.AsPointer(ref this), pDesc);
}
/// <inheritdoc cref="IDXGISurface.Map" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(9)]
public HResult Map(MappedRect* pLockedRect, uint MapFlags)
{
return ((delegate* unmanaged[Stdcall]<IDXGISurface2*, MappedRect*, uint, int>)(lpVtbl[9]))((IDXGISurface2*)Unsafe.AsPointer(ref this), pLockedRect, MapFlags);
}
/// <inheritdoc cref="IDXGISurface.Unmap" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(10)]
public HResult Unmap()
{
return ((delegate* unmanaged[Stdcall]<IDXGISurface2*, int>)(lpVtbl[10]))((IDXGISurface2*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IDXGISurface1.GetDC" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(11)]
public HResult GetDC(Bool32 Discard, IntPtr* phdc)
{
return ((delegate* unmanaged[Stdcall]<IDXGISurface2*, Bool32, IntPtr*, int>)(lpVtbl[11]))((IDXGISurface2*)Unsafe.AsPointer(ref this), Discard, phdc);
}
/// <inheritdoc cref="IDXGISurface1.ReleaseDC" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(12)]
public HResult ReleaseDC(RawRect* pDirtyRect)
{
return ((delegate* unmanaged[Stdcall]<IDXGISurface2*, RawRect*, int>)(lpVtbl[12]))((IDXGISurface2*)Unsafe.AsPointer(ref this), pDirtyRect);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGISurface2::GetResource"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(13)]
public HResult GetResource(Guid* riid, void** ppParentResource, uint* pSubresourceIndex)
{
return ((delegate* unmanaged[Stdcall]<IDXGISurface2*, Guid*, void**, uint*, int>)(lpVtbl[13]))((IDXGISurface2*)Unsafe.AsPointer(ref this), riid, ppParentResource, pSubresourceIndex);
}
}

View File

@@ -0,0 +1,197 @@
// ------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
namespace Win32.Graphics.Dxgi;
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGISwapChain"]/*' />
/// <unmanaged>IDXGISwapChain</unmanaged>
[Guid("310d36a0-d2e7-4c0a-aa04-6a9d23b8886a")]
[NativeTypeName("struct IDXGISwapChain : IDXGIDeviceSubObject")]
[NativeInheritance("IDXGIDeviceSubObject")]
public unsafe partial struct IDXGISwapChain : INativeGuid
{
public static ref readonly Guid IID_IDXGISwapChain
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
ReadOnlySpan<byte> data = new byte[] {
0xA0, 0x36, 0x0D, 0x31,
0xE7, 0xD2,
0x0A, 0x4C,
0xAA,
0x04,
0x6A,
0x9D,
0x23,
0xB8,
0x88,
0x6A
};
Debug.Assert(data.Length == Unsafe.SizeOf<Guid>());
return ref Unsafe.As<byte, Guid>(ref MemoryMarshal.GetReference(data));
}
}
#if NET6_0_OR_GREATER
static Guid* INativeGuid.NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_IDXGISwapChain));
#else
public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_IDXGISwapChain));
#endif
public void** lpVtbl;
/// <inheritdoc cref="IUnknown.QueryInterface" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(0)]
public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject)
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, Guid*, void**, int>)(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject);
}
/// <inheritdoc cref="IUnknown.AddRef" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(1)]
[return: NativeTypeName("ULONG")]
public uint AddRef()
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, uint>)(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IUnknown.Release" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(2)]
[return: NativeTypeName("ULONG")]
public uint Release()
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, uint>)(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IDXGIObject.SetPrivateData" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(3)]
public HResult SetPrivateData(Guid* Name, uint DataSize, void* pData)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain*, Guid*, uint, void*, int>)(lpVtbl[3]))((IDXGISwapChain*)Unsafe.AsPointer(ref this), Name, DataSize, pData);
}
/// <inheritdoc cref="IDXGIObject.SetPrivateDataInterface" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(4)]
public HResult SetPrivateDataInterface(Guid* Name, IUnknown* pUnknown)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain*, Guid*, IUnknown*, int>)(lpVtbl[4]))((IDXGISwapChain*)Unsafe.AsPointer(ref this), Name, pUnknown);
}
/// <inheritdoc cref="IDXGIObject.GetPrivateData" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(5)]
public HResult GetPrivateData(Guid* Name, uint* pDataSize, void* pData)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain*, Guid*, uint*, void*, int>)(lpVtbl[5]))((IDXGISwapChain*)Unsafe.AsPointer(ref this), Name, pDataSize, pData);
}
/// <inheritdoc cref="IDXGIObject.GetParent" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(6)]
public HResult GetParent(Guid* riid, void** ppParent)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain*, Guid*, void**, int>)(lpVtbl[6]))((IDXGISwapChain*)Unsafe.AsPointer(ref this), riid, ppParent);
}
/// <inheritdoc cref="IDXGIDeviceSubObject.GetDevice" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(7)]
public HResult GetDevice(Guid* riid, void** ppDevice)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain*, Guid*, void**, int>)(lpVtbl[7]))((IDXGISwapChain*)Unsafe.AsPointer(ref this), riid, ppDevice);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGISwapChain::Present"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(8)]
public HResult Present(uint SyncInterval, PresentFlags Flags)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain*, uint, PresentFlags, int>)(lpVtbl[8]))((IDXGISwapChain*)Unsafe.AsPointer(ref this), SyncInterval, Flags);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGISwapChain::GetBuffer"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(9)]
public HResult GetBuffer(uint Buffer, Guid* riid, void** ppSurface)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain*, uint, Guid*, void**, int>)(lpVtbl[9]))((IDXGISwapChain*)Unsafe.AsPointer(ref this), Buffer, riid, ppSurface);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGISwapChain::SetFullscreenState"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(10)]
public HResult SetFullscreenState(Bool32 Fullscreen, IDXGIOutput* pTarget)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain*, Bool32, IDXGIOutput*, int>)(lpVtbl[10]))((IDXGISwapChain*)Unsafe.AsPointer(ref this), Fullscreen, pTarget);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGISwapChain::GetFullscreenState"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(11)]
public HResult GetFullscreenState(Bool32* pFullscreen, IDXGIOutput** ppTarget)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain*, Bool32*, IDXGIOutput**, int>)(lpVtbl[11]))((IDXGISwapChain*)Unsafe.AsPointer(ref this), pFullscreen, ppTarget);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGISwapChain::GetDesc"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(12)]
public HResult GetDesc(SwapChainDescription* pDesc)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain*, SwapChainDescription*, int>)(lpVtbl[12]))((IDXGISwapChain*)Unsafe.AsPointer(ref this), pDesc);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGISwapChain::ResizeBuffers"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(13)]
public HResult ResizeBuffers(uint BufferCount, uint Width, uint Height, Common.Format NewFormat, SwapChainFlags SwapChainFlags)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain*, uint, uint, uint, Common.Format, SwapChainFlags, int>)(lpVtbl[13]))((IDXGISwapChain*)Unsafe.AsPointer(ref this), BufferCount, Width, Height, NewFormat, SwapChainFlags);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGISwapChain::ResizeTarget"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(14)]
public HResult ResizeTarget(Common.ModeDescription* pNewTargetParameters)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain*, Common.ModeDescription*, int>)(lpVtbl[14]))((IDXGISwapChain*)Unsafe.AsPointer(ref this), pNewTargetParameters);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGISwapChain::GetContainingOutput"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(15)]
public HResult GetContainingOutput(IDXGIOutput** ppOutput)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain*, IDXGIOutput**, int>)(lpVtbl[15]))((IDXGISwapChain*)Unsafe.AsPointer(ref this), ppOutput);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGISwapChain::GetFrameStatistics"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(16)]
public HResult GetFrameStatistics(FrameStatistics* pStats)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain*, FrameStatistics*, int>)(lpVtbl[16]))((IDXGISwapChain*)Unsafe.AsPointer(ref this), pStats);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGISwapChain::GetLastPresentCount"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(17)]
public HResult GetLastPresentCount(uint* pLastPresentCount)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain*, uint*, int>)(lpVtbl[17]))((IDXGISwapChain*)Unsafe.AsPointer(ref this), pLastPresentCount);
}
}

View File

@@ -0,0 +1,285 @@
// ------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
namespace Win32.Graphics.Dxgi;
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGISwapChain1"]/*' />
/// <unmanaged>IDXGISwapChain1</unmanaged>
[Guid("790a45f7-0d42-4876-983a-0a55cfe6f4aa")]
[NativeTypeName("struct IDXGISwapChain1 : IDXGISwapChain")]
[NativeInheritance("IDXGISwapChain")]
public unsafe partial struct IDXGISwapChain1 : INativeGuid
{
public static ref readonly Guid IID_IDXGISwapChain1
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
ReadOnlySpan<byte> data = new byte[] {
0xF7, 0x45, 0x0A, 0x79,
0x42, 0x0D,
0x76, 0x48,
0x98,
0x3A,
0x0A,
0x55,
0xCF,
0xE6,
0xF4,
0xAA
};
Debug.Assert(data.Length == Unsafe.SizeOf<Guid>());
return ref Unsafe.As<byte, Guid>(ref MemoryMarshal.GetReference(data));
}
}
#if NET6_0_OR_GREATER
static Guid* INativeGuid.NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_IDXGISwapChain1));
#else
public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_IDXGISwapChain1));
#endif
public void** lpVtbl;
/// <inheritdoc cref="IUnknown.QueryInterface" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(0)]
public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject)
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, Guid*, void**, int>)(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject);
}
/// <inheritdoc cref="IUnknown.AddRef" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(1)]
[return: NativeTypeName("ULONG")]
public uint AddRef()
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, uint>)(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IUnknown.Release" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(2)]
[return: NativeTypeName("ULONG")]
public uint Release()
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, uint>)(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IDXGIObject.SetPrivateData" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(3)]
public HResult SetPrivateData(Guid* Name, uint DataSize, void* pData)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain1*, Guid*, uint, void*, int>)(lpVtbl[3]))((IDXGISwapChain1*)Unsafe.AsPointer(ref this), Name, DataSize, pData);
}
/// <inheritdoc cref="IDXGIObject.SetPrivateDataInterface" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(4)]
public HResult SetPrivateDataInterface(Guid* Name, IUnknown* pUnknown)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain1*, Guid*, IUnknown*, int>)(lpVtbl[4]))((IDXGISwapChain1*)Unsafe.AsPointer(ref this), Name, pUnknown);
}
/// <inheritdoc cref="IDXGIObject.GetPrivateData" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(5)]
public HResult GetPrivateData(Guid* Name, uint* pDataSize, void* pData)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain1*, Guid*, uint*, void*, int>)(lpVtbl[5]))((IDXGISwapChain1*)Unsafe.AsPointer(ref this), Name, pDataSize, pData);
}
/// <inheritdoc cref="IDXGIObject.GetParent" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(6)]
public HResult GetParent(Guid* riid, void** ppParent)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain1*, Guid*, void**, int>)(lpVtbl[6]))((IDXGISwapChain1*)Unsafe.AsPointer(ref this), riid, ppParent);
}
/// <inheritdoc cref="IDXGIDeviceSubObject.GetDevice" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(7)]
public HResult GetDevice(Guid* riid, void** ppDevice)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain1*, Guid*, void**, int>)(lpVtbl[7]))((IDXGISwapChain1*)Unsafe.AsPointer(ref this), riid, ppDevice);
}
/// <inheritdoc cref="IDXGISwapChain.Present" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(8)]
public HResult Present(uint SyncInterval, PresentFlags Flags)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain1*, uint, PresentFlags, int>)(lpVtbl[8]))((IDXGISwapChain1*)Unsafe.AsPointer(ref this), SyncInterval, Flags);
}
/// <inheritdoc cref="IDXGISwapChain.GetBuffer" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(9)]
public HResult GetBuffer(uint Buffer, Guid* riid, void** ppSurface)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain1*, uint, Guid*, void**, int>)(lpVtbl[9]))((IDXGISwapChain1*)Unsafe.AsPointer(ref this), Buffer, riid, ppSurface);
}
/// <inheritdoc cref="IDXGISwapChain.SetFullscreenState" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(10)]
public HResult SetFullscreenState(Bool32 Fullscreen, IDXGIOutput* pTarget)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain1*, Bool32, IDXGIOutput*, int>)(lpVtbl[10]))((IDXGISwapChain1*)Unsafe.AsPointer(ref this), Fullscreen, pTarget);
}
/// <inheritdoc cref="IDXGISwapChain.GetFullscreenState" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(11)]
public HResult GetFullscreenState(Bool32* pFullscreen, IDXGIOutput** ppTarget)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain1*, Bool32*, IDXGIOutput**, int>)(lpVtbl[11]))((IDXGISwapChain1*)Unsafe.AsPointer(ref this), pFullscreen, ppTarget);
}
/// <inheritdoc cref="IDXGISwapChain.GetDesc" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(12)]
public HResult GetDesc(SwapChainDescription* pDesc)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain1*, SwapChainDescription*, int>)(lpVtbl[12]))((IDXGISwapChain1*)Unsafe.AsPointer(ref this), pDesc);
}
/// <inheritdoc cref="IDXGISwapChain.ResizeBuffers" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(13)]
public HResult ResizeBuffers(uint BufferCount, uint Width, uint Height, Common.Format NewFormat, SwapChainFlags SwapChainFlags)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain1*, uint, uint, uint, Common.Format, SwapChainFlags, int>)(lpVtbl[13]))((IDXGISwapChain1*)Unsafe.AsPointer(ref this), BufferCount, Width, Height, NewFormat, SwapChainFlags);
}
/// <inheritdoc cref="IDXGISwapChain.ResizeTarget" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(14)]
public HResult ResizeTarget(Common.ModeDescription* pNewTargetParameters)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain1*, Common.ModeDescription*, int>)(lpVtbl[14]))((IDXGISwapChain1*)Unsafe.AsPointer(ref this), pNewTargetParameters);
}
/// <inheritdoc cref="IDXGISwapChain.GetContainingOutput" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(15)]
public HResult GetContainingOutput(IDXGIOutput** ppOutput)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain1*, IDXGIOutput**, int>)(lpVtbl[15]))((IDXGISwapChain1*)Unsafe.AsPointer(ref this), ppOutput);
}
/// <inheritdoc cref="IDXGISwapChain.GetFrameStatistics" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(16)]
public HResult GetFrameStatistics(FrameStatistics* pStats)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain1*, FrameStatistics*, int>)(lpVtbl[16]))((IDXGISwapChain1*)Unsafe.AsPointer(ref this), pStats);
}
/// <inheritdoc cref="IDXGISwapChain.GetLastPresentCount" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(17)]
public HResult GetLastPresentCount(uint* pLastPresentCount)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain1*, uint*, int>)(lpVtbl[17]))((IDXGISwapChain1*)Unsafe.AsPointer(ref this), pLastPresentCount);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGISwapChain1::GetDesc1"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(18)]
public HResult GetDesc1(SwapChainDescription1* pDesc)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain1*, SwapChainDescription1*, int>)(lpVtbl[18]))((IDXGISwapChain1*)Unsafe.AsPointer(ref this), pDesc);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGISwapChain1::GetFullscreenDesc"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(19)]
public HResult GetFullscreenDesc(SwapChainFullscreenDescription* pDesc)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain1*, SwapChainFullscreenDescription*, int>)(lpVtbl[19]))((IDXGISwapChain1*)Unsafe.AsPointer(ref this), pDesc);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGISwapChain1::GetHwnd"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(20)]
public HResult GetHwnd(IntPtr* pHwnd)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain1*, IntPtr*, int>)(lpVtbl[20]))((IDXGISwapChain1*)Unsafe.AsPointer(ref this), pHwnd);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGISwapChain1::GetCoreWindow"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(21)]
public HResult GetCoreWindow(Guid* refiid, void** ppUnk)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain1*, Guid*, void**, int>)(lpVtbl[21]))((IDXGISwapChain1*)Unsafe.AsPointer(ref this), refiid, ppUnk);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGISwapChain1::Present1"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(22)]
public HResult Present1(uint SyncInterval, uint PresentFlags, PresentParameters* pPresentParameters)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain1*, uint, uint, PresentParameters*, int>)(lpVtbl[22]))((IDXGISwapChain1*)Unsafe.AsPointer(ref this), SyncInterval, PresentFlags, pPresentParameters);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGISwapChain1::IsTemporaryMonoSupported"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(23)]
public Bool32 IsTemporaryMonoSupported()
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain1*, Bool32>)(lpVtbl[23]))((IDXGISwapChain1*)Unsafe.AsPointer(ref this));
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGISwapChain1::GetRestrictToOutput"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(24)]
public HResult GetRestrictToOutput(IDXGIOutput** ppRestrictToOutput)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain1*, IDXGIOutput**, int>)(lpVtbl[24]))((IDXGISwapChain1*)Unsafe.AsPointer(ref this), ppRestrictToOutput);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGISwapChain1::SetBackgroundColor"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(25)]
public HResult SetBackgroundColor(Color4* pColor)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain1*, Color4*, int>)(lpVtbl[25]))((IDXGISwapChain1*)Unsafe.AsPointer(ref this), pColor);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGISwapChain1::GetBackgroundColor"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(26)]
public HResult GetBackgroundColor(Color4** pColor)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain1*, Color4**, int>)(lpVtbl[26]))((IDXGISwapChain1*)Unsafe.AsPointer(ref this), pColor);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGISwapChain1::SetRotation"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(27)]
public HResult SetRotation(Common.ModeRotation Rotation)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain1*, Common.ModeRotation, int>)(lpVtbl[27]))((IDXGISwapChain1*)Unsafe.AsPointer(ref this), Rotation);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGISwapChain1::GetRotation"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(28)]
public HResult GetRotation(Common.ModeRotation* pRotation)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain1*, Common.ModeRotation*, int>)(lpVtbl[28]))((IDXGISwapChain1*)Unsafe.AsPointer(ref this), pRotation);
}
}

View File

@@ -0,0 +1,341 @@
// ------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
namespace Win32.Graphics.Dxgi;
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGISwapChain2"]/*' />
/// <unmanaged>IDXGISwapChain2</unmanaged>
[Guid("a8be2ac4-199f-4946-b331-79599fb98de7")]
[NativeTypeName("struct IDXGISwapChain2 : IDXGISwapChain1")]
[NativeInheritance("IDXGISwapChain1")]
public unsafe partial struct IDXGISwapChain2 : INativeGuid
{
public static ref readonly Guid IID_IDXGISwapChain2
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
ReadOnlySpan<byte> data = new byte[] {
0xC4, 0x2A, 0xBE, 0xA8,
0x9F, 0x19,
0x46, 0x49,
0xB3,
0x31,
0x79,
0x59,
0x9F,
0xB9,
0x8D,
0xE7
};
Debug.Assert(data.Length == Unsafe.SizeOf<Guid>());
return ref Unsafe.As<byte, Guid>(ref MemoryMarshal.GetReference(data));
}
}
#if NET6_0_OR_GREATER
static Guid* INativeGuid.NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_IDXGISwapChain2));
#else
public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_IDXGISwapChain2));
#endif
public void** lpVtbl;
/// <inheritdoc cref="IUnknown.QueryInterface" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(0)]
public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject)
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, Guid*, void**, int>)(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject);
}
/// <inheritdoc cref="IUnknown.AddRef" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(1)]
[return: NativeTypeName("ULONG")]
public uint AddRef()
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, uint>)(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IUnknown.Release" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(2)]
[return: NativeTypeName("ULONG")]
public uint Release()
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, uint>)(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IDXGIObject.SetPrivateData" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(3)]
public HResult SetPrivateData(Guid* Name, uint DataSize, void* pData)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain2*, Guid*, uint, void*, int>)(lpVtbl[3]))((IDXGISwapChain2*)Unsafe.AsPointer(ref this), Name, DataSize, pData);
}
/// <inheritdoc cref="IDXGIObject.SetPrivateDataInterface" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(4)]
public HResult SetPrivateDataInterface(Guid* Name, IUnknown* pUnknown)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain2*, Guid*, IUnknown*, int>)(lpVtbl[4]))((IDXGISwapChain2*)Unsafe.AsPointer(ref this), Name, pUnknown);
}
/// <inheritdoc cref="IDXGIObject.GetPrivateData" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(5)]
public HResult GetPrivateData(Guid* Name, uint* pDataSize, void* pData)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain2*, Guid*, uint*, void*, int>)(lpVtbl[5]))((IDXGISwapChain2*)Unsafe.AsPointer(ref this), Name, pDataSize, pData);
}
/// <inheritdoc cref="IDXGIObject.GetParent" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(6)]
public HResult GetParent(Guid* riid, void** ppParent)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain2*, Guid*, void**, int>)(lpVtbl[6]))((IDXGISwapChain2*)Unsafe.AsPointer(ref this), riid, ppParent);
}
/// <inheritdoc cref="IDXGIDeviceSubObject.GetDevice" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(7)]
public HResult GetDevice(Guid* riid, void** ppDevice)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain2*, Guid*, void**, int>)(lpVtbl[7]))((IDXGISwapChain2*)Unsafe.AsPointer(ref this), riid, ppDevice);
}
/// <inheritdoc cref="IDXGISwapChain.Present" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(8)]
public HResult Present(uint SyncInterval, PresentFlags Flags)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain2*, uint, PresentFlags, int>)(lpVtbl[8]))((IDXGISwapChain2*)Unsafe.AsPointer(ref this), SyncInterval, Flags);
}
/// <inheritdoc cref="IDXGISwapChain.GetBuffer" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(9)]
public HResult GetBuffer(uint Buffer, Guid* riid, void** ppSurface)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain2*, uint, Guid*, void**, int>)(lpVtbl[9]))((IDXGISwapChain2*)Unsafe.AsPointer(ref this), Buffer, riid, ppSurface);
}
/// <inheritdoc cref="IDXGISwapChain.SetFullscreenState" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(10)]
public HResult SetFullscreenState(Bool32 Fullscreen, IDXGIOutput* pTarget)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain2*, Bool32, IDXGIOutput*, int>)(lpVtbl[10]))((IDXGISwapChain2*)Unsafe.AsPointer(ref this), Fullscreen, pTarget);
}
/// <inheritdoc cref="IDXGISwapChain.GetFullscreenState" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(11)]
public HResult GetFullscreenState(Bool32* pFullscreen, IDXGIOutput** ppTarget)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain2*, Bool32*, IDXGIOutput**, int>)(lpVtbl[11]))((IDXGISwapChain2*)Unsafe.AsPointer(ref this), pFullscreen, ppTarget);
}
/// <inheritdoc cref="IDXGISwapChain.GetDesc" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(12)]
public HResult GetDesc(SwapChainDescription* pDesc)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain2*, SwapChainDescription*, int>)(lpVtbl[12]))((IDXGISwapChain2*)Unsafe.AsPointer(ref this), pDesc);
}
/// <inheritdoc cref="IDXGISwapChain.ResizeBuffers" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(13)]
public HResult ResizeBuffers(uint BufferCount, uint Width, uint Height, Common.Format NewFormat, SwapChainFlags SwapChainFlags)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain2*, uint, uint, uint, Common.Format, SwapChainFlags, int>)(lpVtbl[13]))((IDXGISwapChain2*)Unsafe.AsPointer(ref this), BufferCount, Width, Height, NewFormat, SwapChainFlags);
}
/// <inheritdoc cref="IDXGISwapChain.ResizeTarget" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(14)]
public HResult ResizeTarget(Common.ModeDescription* pNewTargetParameters)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain2*, Common.ModeDescription*, int>)(lpVtbl[14]))((IDXGISwapChain2*)Unsafe.AsPointer(ref this), pNewTargetParameters);
}
/// <inheritdoc cref="IDXGISwapChain.GetContainingOutput" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(15)]
public HResult GetContainingOutput(IDXGIOutput** ppOutput)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain2*, IDXGIOutput**, int>)(lpVtbl[15]))((IDXGISwapChain2*)Unsafe.AsPointer(ref this), ppOutput);
}
/// <inheritdoc cref="IDXGISwapChain.GetFrameStatistics" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(16)]
public HResult GetFrameStatistics(FrameStatistics* pStats)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain2*, FrameStatistics*, int>)(lpVtbl[16]))((IDXGISwapChain2*)Unsafe.AsPointer(ref this), pStats);
}
/// <inheritdoc cref="IDXGISwapChain.GetLastPresentCount" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(17)]
public HResult GetLastPresentCount(uint* pLastPresentCount)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain2*, uint*, int>)(lpVtbl[17]))((IDXGISwapChain2*)Unsafe.AsPointer(ref this), pLastPresentCount);
}
/// <inheritdoc cref="IDXGISwapChain1.GetDesc1" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(18)]
public HResult GetDesc1(SwapChainDescription1* pDesc)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain2*, SwapChainDescription1*, int>)(lpVtbl[18]))((IDXGISwapChain2*)Unsafe.AsPointer(ref this), pDesc);
}
/// <inheritdoc cref="IDXGISwapChain1.GetFullscreenDesc" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(19)]
public HResult GetFullscreenDesc(SwapChainFullscreenDescription* pDesc)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain2*, SwapChainFullscreenDescription*, int>)(lpVtbl[19]))((IDXGISwapChain2*)Unsafe.AsPointer(ref this), pDesc);
}
/// <inheritdoc cref="IDXGISwapChain1.GetHwnd" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(20)]
public HResult GetHwnd(IntPtr* pHwnd)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain2*, IntPtr*, int>)(lpVtbl[20]))((IDXGISwapChain2*)Unsafe.AsPointer(ref this), pHwnd);
}
/// <inheritdoc cref="IDXGISwapChain1.GetCoreWindow" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(21)]
public HResult GetCoreWindow(Guid* refiid, void** ppUnk)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain2*, Guid*, void**, int>)(lpVtbl[21]))((IDXGISwapChain2*)Unsafe.AsPointer(ref this), refiid, ppUnk);
}
/// <inheritdoc cref="IDXGISwapChain1.Present1" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(22)]
public HResult Present1(uint SyncInterval, uint PresentFlags, PresentParameters* pPresentParameters)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain2*, uint, uint, PresentParameters*, int>)(lpVtbl[22]))((IDXGISwapChain2*)Unsafe.AsPointer(ref this), SyncInterval, PresentFlags, pPresentParameters);
}
/// <inheritdoc cref="IDXGISwapChain1.IsTemporaryMonoSupported" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(23)]
public Bool32 IsTemporaryMonoSupported()
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain2*, Bool32>)(lpVtbl[23]))((IDXGISwapChain2*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IDXGISwapChain1.GetRestrictToOutput" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(24)]
public HResult GetRestrictToOutput(IDXGIOutput** ppRestrictToOutput)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain2*, IDXGIOutput**, int>)(lpVtbl[24]))((IDXGISwapChain2*)Unsafe.AsPointer(ref this), ppRestrictToOutput);
}
/// <inheritdoc cref="IDXGISwapChain1.SetBackgroundColor" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(25)]
public HResult SetBackgroundColor(Color4* pColor)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain2*, Color4*, int>)(lpVtbl[25]))((IDXGISwapChain2*)Unsafe.AsPointer(ref this), pColor);
}
/// <inheritdoc cref="IDXGISwapChain1.GetBackgroundColor" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(26)]
public HResult GetBackgroundColor(Color4** pColor)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain2*, Color4**, int>)(lpVtbl[26]))((IDXGISwapChain2*)Unsafe.AsPointer(ref this), pColor);
}
/// <inheritdoc cref="IDXGISwapChain1.SetRotation" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(27)]
public HResult SetRotation(Common.ModeRotation Rotation)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain2*, Common.ModeRotation, int>)(lpVtbl[27]))((IDXGISwapChain2*)Unsafe.AsPointer(ref this), Rotation);
}
/// <inheritdoc cref="IDXGISwapChain1.GetRotation" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(28)]
public HResult GetRotation(Common.ModeRotation* pRotation)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain2*, Common.ModeRotation*, int>)(lpVtbl[28]))((IDXGISwapChain2*)Unsafe.AsPointer(ref this), pRotation);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGISwapChain2::SetSourceSize"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(29)]
public HResult SetSourceSize(uint Width, uint Height)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain2*, uint, uint, int>)(lpVtbl[29]))((IDXGISwapChain2*)Unsafe.AsPointer(ref this), Width, Height);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGISwapChain2::GetSourceSize"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(30)]
public HResult GetSourceSize(uint* pWidth, uint* pHeight)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain2*, uint*, uint*, int>)(lpVtbl[30]))((IDXGISwapChain2*)Unsafe.AsPointer(ref this), pWidth, pHeight);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGISwapChain2::SetMaximumFrameLatency"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(31)]
public HResult SetMaximumFrameLatency(uint MaxLatency)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain2*, uint, int>)(lpVtbl[31]))((IDXGISwapChain2*)Unsafe.AsPointer(ref this), MaxLatency);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGISwapChain2::GetMaximumFrameLatency"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(32)]
public HResult GetMaximumFrameLatency(uint* pMaxLatency)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain2*, uint*, int>)(lpVtbl[32]))((IDXGISwapChain2*)Unsafe.AsPointer(ref this), pMaxLatency);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGISwapChain2::GetFrameLatencyWaitableObject"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(33)]
public Handle GetFrameLatencyWaitableObject()
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain2*, Handle>)(lpVtbl[33]))((IDXGISwapChain2*)Unsafe.AsPointer(ref this));
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGISwapChain2::SetMatrixTransform"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(34)]
public HResult SetMatrixTransform(Matrix3x2* pMatrix)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain2*, Matrix3x2*, int>)(lpVtbl[34]))((IDXGISwapChain2*)Unsafe.AsPointer(ref this), pMatrix);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGISwapChain2::GetMatrixTransform"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(35)]
public HResult GetMatrixTransform(Matrix3x2* pMatrix)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain2*, Matrix3x2*, int>)(lpVtbl[35]))((IDXGISwapChain2*)Unsafe.AsPointer(ref this), pMatrix);
}
}

View File

@@ -0,0 +1,373 @@
// ------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
namespace Win32.Graphics.Dxgi;
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGISwapChain3"]/*' />
/// <unmanaged>IDXGISwapChain3</unmanaged>
[Guid("94d99bdb-f1f8-4ab0-b236-7da0170edab1")]
[NativeTypeName("struct IDXGISwapChain3 : IDXGISwapChain2")]
[NativeInheritance("IDXGISwapChain2")]
public unsafe partial struct IDXGISwapChain3 : INativeGuid
{
public static ref readonly Guid IID_IDXGISwapChain3
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
ReadOnlySpan<byte> data = new byte[] {
0xDB, 0x9B, 0xD9, 0x94,
0xF8, 0xF1,
0xB0, 0x4A,
0xB2,
0x36,
0x7D,
0xA0,
0x17,
0x0E,
0xDA,
0xB1
};
Debug.Assert(data.Length == Unsafe.SizeOf<Guid>());
return ref Unsafe.As<byte, Guid>(ref MemoryMarshal.GetReference(data));
}
}
#if NET6_0_OR_GREATER
static Guid* INativeGuid.NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_IDXGISwapChain3));
#else
public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_IDXGISwapChain3));
#endif
public void** lpVtbl;
/// <inheritdoc cref="IUnknown.QueryInterface" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(0)]
public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject)
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, Guid*, void**, int>)(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject);
}
/// <inheritdoc cref="IUnknown.AddRef" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(1)]
[return: NativeTypeName("ULONG")]
public uint AddRef()
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, uint>)(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IUnknown.Release" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(2)]
[return: NativeTypeName("ULONG")]
public uint Release()
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, uint>)(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IDXGIObject.SetPrivateData" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(3)]
public HResult SetPrivateData(Guid* Name, uint DataSize, void* pData)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain3*, Guid*, uint, void*, int>)(lpVtbl[3]))((IDXGISwapChain3*)Unsafe.AsPointer(ref this), Name, DataSize, pData);
}
/// <inheritdoc cref="IDXGIObject.SetPrivateDataInterface" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(4)]
public HResult SetPrivateDataInterface(Guid* Name, IUnknown* pUnknown)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain3*, Guid*, IUnknown*, int>)(lpVtbl[4]))((IDXGISwapChain3*)Unsafe.AsPointer(ref this), Name, pUnknown);
}
/// <inheritdoc cref="IDXGIObject.GetPrivateData" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(5)]
public HResult GetPrivateData(Guid* Name, uint* pDataSize, void* pData)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain3*, Guid*, uint*, void*, int>)(lpVtbl[5]))((IDXGISwapChain3*)Unsafe.AsPointer(ref this), Name, pDataSize, pData);
}
/// <inheritdoc cref="IDXGIObject.GetParent" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(6)]
public HResult GetParent(Guid* riid, void** ppParent)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain3*, Guid*, void**, int>)(lpVtbl[6]))((IDXGISwapChain3*)Unsafe.AsPointer(ref this), riid, ppParent);
}
/// <inheritdoc cref="IDXGIDeviceSubObject.GetDevice" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(7)]
public HResult GetDevice(Guid* riid, void** ppDevice)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain3*, Guid*, void**, int>)(lpVtbl[7]))((IDXGISwapChain3*)Unsafe.AsPointer(ref this), riid, ppDevice);
}
/// <inheritdoc cref="IDXGISwapChain.Present" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(8)]
public HResult Present(uint SyncInterval, PresentFlags Flags)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain3*, uint, PresentFlags, int>)(lpVtbl[8]))((IDXGISwapChain3*)Unsafe.AsPointer(ref this), SyncInterval, Flags);
}
/// <inheritdoc cref="IDXGISwapChain.GetBuffer" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(9)]
public HResult GetBuffer(uint Buffer, Guid* riid, void** ppSurface)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain3*, uint, Guid*, void**, int>)(lpVtbl[9]))((IDXGISwapChain3*)Unsafe.AsPointer(ref this), Buffer, riid, ppSurface);
}
/// <inheritdoc cref="IDXGISwapChain.SetFullscreenState" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(10)]
public HResult SetFullscreenState(Bool32 Fullscreen, IDXGIOutput* pTarget)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain3*, Bool32, IDXGIOutput*, int>)(lpVtbl[10]))((IDXGISwapChain3*)Unsafe.AsPointer(ref this), Fullscreen, pTarget);
}
/// <inheritdoc cref="IDXGISwapChain.GetFullscreenState" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(11)]
public HResult GetFullscreenState(Bool32* pFullscreen, IDXGIOutput** ppTarget)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain3*, Bool32*, IDXGIOutput**, int>)(lpVtbl[11]))((IDXGISwapChain3*)Unsafe.AsPointer(ref this), pFullscreen, ppTarget);
}
/// <inheritdoc cref="IDXGISwapChain.GetDesc" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(12)]
public HResult GetDesc(SwapChainDescription* pDesc)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain3*, SwapChainDescription*, int>)(lpVtbl[12]))((IDXGISwapChain3*)Unsafe.AsPointer(ref this), pDesc);
}
/// <inheritdoc cref="IDXGISwapChain.ResizeBuffers" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(13)]
public HResult ResizeBuffers(uint BufferCount, uint Width, uint Height, Common.Format NewFormat, SwapChainFlags SwapChainFlags)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain3*, uint, uint, uint, Common.Format, SwapChainFlags, int>)(lpVtbl[13]))((IDXGISwapChain3*)Unsafe.AsPointer(ref this), BufferCount, Width, Height, NewFormat, SwapChainFlags);
}
/// <inheritdoc cref="IDXGISwapChain.ResizeTarget" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(14)]
public HResult ResizeTarget(Common.ModeDescription* pNewTargetParameters)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain3*, Common.ModeDescription*, int>)(lpVtbl[14]))((IDXGISwapChain3*)Unsafe.AsPointer(ref this), pNewTargetParameters);
}
/// <inheritdoc cref="IDXGISwapChain.GetContainingOutput" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(15)]
public HResult GetContainingOutput(IDXGIOutput** ppOutput)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain3*, IDXGIOutput**, int>)(lpVtbl[15]))((IDXGISwapChain3*)Unsafe.AsPointer(ref this), ppOutput);
}
/// <inheritdoc cref="IDXGISwapChain.GetFrameStatistics" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(16)]
public HResult GetFrameStatistics(FrameStatistics* pStats)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain3*, FrameStatistics*, int>)(lpVtbl[16]))((IDXGISwapChain3*)Unsafe.AsPointer(ref this), pStats);
}
/// <inheritdoc cref="IDXGISwapChain.GetLastPresentCount" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(17)]
public HResult GetLastPresentCount(uint* pLastPresentCount)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain3*, uint*, int>)(lpVtbl[17]))((IDXGISwapChain3*)Unsafe.AsPointer(ref this), pLastPresentCount);
}
/// <inheritdoc cref="IDXGISwapChain1.GetDesc1" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(18)]
public HResult GetDesc1(SwapChainDescription1* pDesc)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain3*, SwapChainDescription1*, int>)(lpVtbl[18]))((IDXGISwapChain3*)Unsafe.AsPointer(ref this), pDesc);
}
/// <inheritdoc cref="IDXGISwapChain1.GetFullscreenDesc" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(19)]
public HResult GetFullscreenDesc(SwapChainFullscreenDescription* pDesc)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain3*, SwapChainFullscreenDescription*, int>)(lpVtbl[19]))((IDXGISwapChain3*)Unsafe.AsPointer(ref this), pDesc);
}
/// <inheritdoc cref="IDXGISwapChain1.GetHwnd" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(20)]
public HResult GetHwnd(IntPtr* pHwnd)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain3*, IntPtr*, int>)(lpVtbl[20]))((IDXGISwapChain3*)Unsafe.AsPointer(ref this), pHwnd);
}
/// <inheritdoc cref="IDXGISwapChain1.GetCoreWindow" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(21)]
public HResult GetCoreWindow(Guid* refiid, void** ppUnk)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain3*, Guid*, void**, int>)(lpVtbl[21]))((IDXGISwapChain3*)Unsafe.AsPointer(ref this), refiid, ppUnk);
}
/// <inheritdoc cref="IDXGISwapChain1.Present1" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(22)]
public HResult Present1(uint SyncInterval, uint PresentFlags, PresentParameters* pPresentParameters)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain3*, uint, uint, PresentParameters*, int>)(lpVtbl[22]))((IDXGISwapChain3*)Unsafe.AsPointer(ref this), SyncInterval, PresentFlags, pPresentParameters);
}
/// <inheritdoc cref="IDXGISwapChain1.IsTemporaryMonoSupported" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(23)]
public Bool32 IsTemporaryMonoSupported()
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain3*, Bool32>)(lpVtbl[23]))((IDXGISwapChain3*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IDXGISwapChain1.GetRestrictToOutput" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(24)]
public HResult GetRestrictToOutput(IDXGIOutput** ppRestrictToOutput)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain3*, IDXGIOutput**, int>)(lpVtbl[24]))((IDXGISwapChain3*)Unsafe.AsPointer(ref this), ppRestrictToOutput);
}
/// <inheritdoc cref="IDXGISwapChain1.SetBackgroundColor" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(25)]
public HResult SetBackgroundColor(Color4* pColor)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain3*, Color4*, int>)(lpVtbl[25]))((IDXGISwapChain3*)Unsafe.AsPointer(ref this), pColor);
}
/// <inheritdoc cref="IDXGISwapChain1.GetBackgroundColor" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(26)]
public HResult GetBackgroundColor(Color4** pColor)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain3*, Color4**, int>)(lpVtbl[26]))((IDXGISwapChain3*)Unsafe.AsPointer(ref this), pColor);
}
/// <inheritdoc cref="IDXGISwapChain1.SetRotation" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(27)]
public HResult SetRotation(Common.ModeRotation Rotation)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain3*, Common.ModeRotation, int>)(lpVtbl[27]))((IDXGISwapChain3*)Unsafe.AsPointer(ref this), Rotation);
}
/// <inheritdoc cref="IDXGISwapChain1.GetRotation" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(28)]
public HResult GetRotation(Common.ModeRotation* pRotation)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain3*, Common.ModeRotation*, int>)(lpVtbl[28]))((IDXGISwapChain3*)Unsafe.AsPointer(ref this), pRotation);
}
/// <inheritdoc cref="IDXGISwapChain2.SetSourceSize" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(29)]
public HResult SetSourceSize(uint Width, uint Height)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain3*, uint, uint, int>)(lpVtbl[29]))((IDXGISwapChain3*)Unsafe.AsPointer(ref this), Width, Height);
}
/// <inheritdoc cref="IDXGISwapChain2.GetSourceSize" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(30)]
public HResult GetSourceSize(uint* pWidth, uint* pHeight)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain3*, uint*, uint*, int>)(lpVtbl[30]))((IDXGISwapChain3*)Unsafe.AsPointer(ref this), pWidth, pHeight);
}
/// <inheritdoc cref="IDXGISwapChain2.SetMaximumFrameLatency" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(31)]
public HResult SetMaximumFrameLatency(uint MaxLatency)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain3*, uint, int>)(lpVtbl[31]))((IDXGISwapChain3*)Unsafe.AsPointer(ref this), MaxLatency);
}
/// <inheritdoc cref="IDXGISwapChain2.GetMaximumFrameLatency" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(32)]
public HResult GetMaximumFrameLatency(uint* pMaxLatency)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain3*, uint*, int>)(lpVtbl[32]))((IDXGISwapChain3*)Unsafe.AsPointer(ref this), pMaxLatency);
}
/// <inheritdoc cref="IDXGISwapChain2.GetFrameLatencyWaitableObject" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(33)]
public Handle GetFrameLatencyWaitableObject()
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain3*, Handle>)(lpVtbl[33]))((IDXGISwapChain3*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IDXGISwapChain2.SetMatrixTransform" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(34)]
public HResult SetMatrixTransform(Matrix3x2* pMatrix)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain3*, Matrix3x2*, int>)(lpVtbl[34]))((IDXGISwapChain3*)Unsafe.AsPointer(ref this), pMatrix);
}
/// <inheritdoc cref="IDXGISwapChain2.GetMatrixTransform" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(35)]
public HResult GetMatrixTransform(Matrix3x2* pMatrix)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain3*, Matrix3x2*, int>)(lpVtbl[35]))((IDXGISwapChain3*)Unsafe.AsPointer(ref this), pMatrix);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGISwapChain3::GetCurrentBackBufferIndex"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(36)]
public uint GetCurrentBackBufferIndex()
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain3*, uint>)(lpVtbl[36]))((IDXGISwapChain3*)Unsafe.AsPointer(ref this));
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGISwapChain3::CheckColorSpaceSupport"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(37)]
public HResult CheckColorSpaceSupport(Common.ColorSpaceType ColorSpace, uint* pColorSpaceSupport)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain3*, Common.ColorSpaceType, uint*, int>)(lpVtbl[37]))((IDXGISwapChain3*)Unsafe.AsPointer(ref this), ColorSpace, pColorSpaceSupport);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGISwapChain3::SetColorSpace1"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(38)]
public HResult SetColorSpace1(Common.ColorSpaceType ColorSpace)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain3*, Common.ColorSpaceType, int>)(lpVtbl[38]))((IDXGISwapChain3*)Unsafe.AsPointer(ref this), ColorSpace);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGISwapChain3::ResizeBuffers1"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(39)]
public HResult ResizeBuffers1(uint BufferCount, uint Width, uint Height, Common.Format Format, uint SwapChainFlags, uint* pCreationNodeMask, IUnknown** ppPresentQueue)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain3*, uint, uint, uint, Common.Format, uint, uint*, IUnknown**, int>)(lpVtbl[39]))((IDXGISwapChain3*)Unsafe.AsPointer(ref this), BufferCount, Width, Height, Format, SwapChainFlags, pCreationNodeMask, ppPresentQueue);
}
}

View File

@@ -0,0 +1,381 @@
// ------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
namespace Win32.Graphics.Dxgi;
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGISwapChain4"]/*' />
/// <unmanaged>IDXGISwapChain4</unmanaged>
[Guid("3d585d5a-bd4a-489e-b1f4-3dbcb6452ffb")]
[NativeTypeName("struct IDXGISwapChain4 : IDXGISwapChain3")]
[NativeInheritance("IDXGISwapChain3")]
public unsafe partial struct IDXGISwapChain4 : INativeGuid
{
public static ref readonly Guid IID_IDXGISwapChain4
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
ReadOnlySpan<byte> data = new byte[] {
0x5A, 0x5D, 0x58, 0x3D,
0x4A, 0xBD,
0x9E, 0x48,
0xB1,
0xF4,
0x3D,
0xBC,
0xB6,
0x45,
0x2F,
0xFB
};
Debug.Assert(data.Length == Unsafe.SizeOf<Guid>());
return ref Unsafe.As<byte, Guid>(ref MemoryMarshal.GetReference(data));
}
}
#if NET6_0_OR_GREATER
static Guid* INativeGuid.NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_IDXGISwapChain4));
#else
public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_IDXGISwapChain4));
#endif
public void** lpVtbl;
/// <inheritdoc cref="IUnknown.QueryInterface" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(0)]
public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject)
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, Guid*, void**, int>)(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject);
}
/// <inheritdoc cref="IUnknown.AddRef" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(1)]
[return: NativeTypeName("ULONG")]
public uint AddRef()
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, uint>)(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IUnknown.Release" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(2)]
[return: NativeTypeName("ULONG")]
public uint Release()
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, uint>)(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IDXGIObject.SetPrivateData" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(3)]
public HResult SetPrivateData(Guid* Name, uint DataSize, void* pData)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain4*, Guid*, uint, void*, int>)(lpVtbl[3]))((IDXGISwapChain4*)Unsafe.AsPointer(ref this), Name, DataSize, pData);
}
/// <inheritdoc cref="IDXGIObject.SetPrivateDataInterface" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(4)]
public HResult SetPrivateDataInterface(Guid* Name, IUnknown* pUnknown)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain4*, Guid*, IUnknown*, int>)(lpVtbl[4]))((IDXGISwapChain4*)Unsafe.AsPointer(ref this), Name, pUnknown);
}
/// <inheritdoc cref="IDXGIObject.GetPrivateData" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(5)]
public HResult GetPrivateData(Guid* Name, uint* pDataSize, void* pData)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain4*, Guid*, uint*, void*, int>)(lpVtbl[5]))((IDXGISwapChain4*)Unsafe.AsPointer(ref this), Name, pDataSize, pData);
}
/// <inheritdoc cref="IDXGIObject.GetParent" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(6)]
public HResult GetParent(Guid* riid, void** ppParent)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain4*, Guid*, void**, int>)(lpVtbl[6]))((IDXGISwapChain4*)Unsafe.AsPointer(ref this), riid, ppParent);
}
/// <inheritdoc cref="IDXGIDeviceSubObject.GetDevice" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(7)]
public HResult GetDevice(Guid* riid, void** ppDevice)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain4*, Guid*, void**, int>)(lpVtbl[7]))((IDXGISwapChain4*)Unsafe.AsPointer(ref this), riid, ppDevice);
}
/// <inheritdoc cref="IDXGISwapChain.Present" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(8)]
public HResult Present(uint SyncInterval, PresentFlags Flags)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain4*, uint, PresentFlags, int>)(lpVtbl[8]))((IDXGISwapChain4*)Unsafe.AsPointer(ref this), SyncInterval, Flags);
}
/// <inheritdoc cref="IDXGISwapChain.GetBuffer" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(9)]
public HResult GetBuffer(uint Buffer, Guid* riid, void** ppSurface)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain4*, uint, Guid*, void**, int>)(lpVtbl[9]))((IDXGISwapChain4*)Unsafe.AsPointer(ref this), Buffer, riid, ppSurface);
}
/// <inheritdoc cref="IDXGISwapChain.SetFullscreenState" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(10)]
public HResult SetFullscreenState(Bool32 Fullscreen, IDXGIOutput* pTarget)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain4*, Bool32, IDXGIOutput*, int>)(lpVtbl[10]))((IDXGISwapChain4*)Unsafe.AsPointer(ref this), Fullscreen, pTarget);
}
/// <inheritdoc cref="IDXGISwapChain.GetFullscreenState" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(11)]
public HResult GetFullscreenState(Bool32* pFullscreen, IDXGIOutput** ppTarget)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain4*, Bool32*, IDXGIOutput**, int>)(lpVtbl[11]))((IDXGISwapChain4*)Unsafe.AsPointer(ref this), pFullscreen, ppTarget);
}
/// <inheritdoc cref="IDXGISwapChain.GetDesc" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(12)]
public HResult GetDesc(SwapChainDescription* pDesc)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain4*, SwapChainDescription*, int>)(lpVtbl[12]))((IDXGISwapChain4*)Unsafe.AsPointer(ref this), pDesc);
}
/// <inheritdoc cref="IDXGISwapChain.ResizeBuffers" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(13)]
public HResult ResizeBuffers(uint BufferCount, uint Width, uint Height, Common.Format NewFormat, SwapChainFlags SwapChainFlags)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain4*, uint, uint, uint, Common.Format, SwapChainFlags, int>)(lpVtbl[13]))((IDXGISwapChain4*)Unsafe.AsPointer(ref this), BufferCount, Width, Height, NewFormat, SwapChainFlags);
}
/// <inheritdoc cref="IDXGISwapChain.ResizeTarget" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(14)]
public HResult ResizeTarget(Common.ModeDescription* pNewTargetParameters)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain4*, Common.ModeDescription*, int>)(lpVtbl[14]))((IDXGISwapChain4*)Unsafe.AsPointer(ref this), pNewTargetParameters);
}
/// <inheritdoc cref="IDXGISwapChain.GetContainingOutput" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(15)]
public HResult GetContainingOutput(IDXGIOutput** ppOutput)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain4*, IDXGIOutput**, int>)(lpVtbl[15]))((IDXGISwapChain4*)Unsafe.AsPointer(ref this), ppOutput);
}
/// <inheritdoc cref="IDXGISwapChain.GetFrameStatistics" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(16)]
public HResult GetFrameStatistics(FrameStatistics* pStats)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain4*, FrameStatistics*, int>)(lpVtbl[16]))((IDXGISwapChain4*)Unsafe.AsPointer(ref this), pStats);
}
/// <inheritdoc cref="IDXGISwapChain.GetLastPresentCount" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(17)]
public HResult GetLastPresentCount(uint* pLastPresentCount)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain4*, uint*, int>)(lpVtbl[17]))((IDXGISwapChain4*)Unsafe.AsPointer(ref this), pLastPresentCount);
}
/// <inheritdoc cref="IDXGISwapChain1.GetDesc1" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(18)]
public HResult GetDesc1(SwapChainDescription1* pDesc)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain4*, SwapChainDescription1*, int>)(lpVtbl[18]))((IDXGISwapChain4*)Unsafe.AsPointer(ref this), pDesc);
}
/// <inheritdoc cref="IDXGISwapChain1.GetFullscreenDesc" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(19)]
public HResult GetFullscreenDesc(SwapChainFullscreenDescription* pDesc)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain4*, SwapChainFullscreenDescription*, int>)(lpVtbl[19]))((IDXGISwapChain4*)Unsafe.AsPointer(ref this), pDesc);
}
/// <inheritdoc cref="IDXGISwapChain1.GetHwnd" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(20)]
public HResult GetHwnd(IntPtr* pHwnd)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain4*, IntPtr*, int>)(lpVtbl[20]))((IDXGISwapChain4*)Unsafe.AsPointer(ref this), pHwnd);
}
/// <inheritdoc cref="IDXGISwapChain1.GetCoreWindow" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(21)]
public HResult GetCoreWindow(Guid* refiid, void** ppUnk)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain4*, Guid*, void**, int>)(lpVtbl[21]))((IDXGISwapChain4*)Unsafe.AsPointer(ref this), refiid, ppUnk);
}
/// <inheritdoc cref="IDXGISwapChain1.Present1" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(22)]
public HResult Present1(uint SyncInterval, uint PresentFlags, PresentParameters* pPresentParameters)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain4*, uint, uint, PresentParameters*, int>)(lpVtbl[22]))((IDXGISwapChain4*)Unsafe.AsPointer(ref this), SyncInterval, PresentFlags, pPresentParameters);
}
/// <inheritdoc cref="IDXGISwapChain1.IsTemporaryMonoSupported" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(23)]
public Bool32 IsTemporaryMonoSupported()
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain4*, Bool32>)(lpVtbl[23]))((IDXGISwapChain4*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IDXGISwapChain1.GetRestrictToOutput" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(24)]
public HResult GetRestrictToOutput(IDXGIOutput** ppRestrictToOutput)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain4*, IDXGIOutput**, int>)(lpVtbl[24]))((IDXGISwapChain4*)Unsafe.AsPointer(ref this), ppRestrictToOutput);
}
/// <inheritdoc cref="IDXGISwapChain1.SetBackgroundColor" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(25)]
public HResult SetBackgroundColor(Color4* pColor)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain4*, Color4*, int>)(lpVtbl[25]))((IDXGISwapChain4*)Unsafe.AsPointer(ref this), pColor);
}
/// <inheritdoc cref="IDXGISwapChain1.GetBackgroundColor" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(26)]
public HResult GetBackgroundColor(Color4** pColor)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain4*, Color4**, int>)(lpVtbl[26]))((IDXGISwapChain4*)Unsafe.AsPointer(ref this), pColor);
}
/// <inheritdoc cref="IDXGISwapChain1.SetRotation" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(27)]
public HResult SetRotation(Common.ModeRotation Rotation)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain4*, Common.ModeRotation, int>)(lpVtbl[27]))((IDXGISwapChain4*)Unsafe.AsPointer(ref this), Rotation);
}
/// <inheritdoc cref="IDXGISwapChain1.GetRotation" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(28)]
public HResult GetRotation(Common.ModeRotation* pRotation)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain4*, Common.ModeRotation*, int>)(lpVtbl[28]))((IDXGISwapChain4*)Unsafe.AsPointer(ref this), pRotation);
}
/// <inheritdoc cref="IDXGISwapChain2.SetSourceSize" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(29)]
public HResult SetSourceSize(uint Width, uint Height)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain4*, uint, uint, int>)(lpVtbl[29]))((IDXGISwapChain4*)Unsafe.AsPointer(ref this), Width, Height);
}
/// <inheritdoc cref="IDXGISwapChain2.GetSourceSize" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(30)]
public HResult GetSourceSize(uint* pWidth, uint* pHeight)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain4*, uint*, uint*, int>)(lpVtbl[30]))((IDXGISwapChain4*)Unsafe.AsPointer(ref this), pWidth, pHeight);
}
/// <inheritdoc cref="IDXGISwapChain2.SetMaximumFrameLatency" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(31)]
public HResult SetMaximumFrameLatency(uint MaxLatency)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain4*, uint, int>)(lpVtbl[31]))((IDXGISwapChain4*)Unsafe.AsPointer(ref this), MaxLatency);
}
/// <inheritdoc cref="IDXGISwapChain2.GetMaximumFrameLatency" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(32)]
public HResult GetMaximumFrameLatency(uint* pMaxLatency)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain4*, uint*, int>)(lpVtbl[32]))((IDXGISwapChain4*)Unsafe.AsPointer(ref this), pMaxLatency);
}
/// <inheritdoc cref="IDXGISwapChain2.GetFrameLatencyWaitableObject" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(33)]
public Handle GetFrameLatencyWaitableObject()
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain4*, Handle>)(lpVtbl[33]))((IDXGISwapChain4*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IDXGISwapChain2.SetMatrixTransform" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(34)]
public HResult SetMatrixTransform(Matrix3x2* pMatrix)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain4*, Matrix3x2*, int>)(lpVtbl[34]))((IDXGISwapChain4*)Unsafe.AsPointer(ref this), pMatrix);
}
/// <inheritdoc cref="IDXGISwapChain2.GetMatrixTransform" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(35)]
public HResult GetMatrixTransform(Matrix3x2* pMatrix)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain4*, Matrix3x2*, int>)(lpVtbl[35]))((IDXGISwapChain4*)Unsafe.AsPointer(ref this), pMatrix);
}
/// <inheritdoc cref="IDXGISwapChain3.GetCurrentBackBufferIndex" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(36)]
public uint GetCurrentBackBufferIndex()
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain4*, uint>)(lpVtbl[36]))((IDXGISwapChain4*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IDXGISwapChain3.CheckColorSpaceSupport" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(37)]
public HResult CheckColorSpaceSupport(Common.ColorSpaceType ColorSpace, uint* pColorSpaceSupport)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain4*, Common.ColorSpaceType, uint*, int>)(lpVtbl[37]))((IDXGISwapChain4*)Unsafe.AsPointer(ref this), ColorSpace, pColorSpaceSupport);
}
/// <inheritdoc cref="IDXGISwapChain3.SetColorSpace1" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(38)]
public HResult SetColorSpace1(Common.ColorSpaceType ColorSpace)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain4*, Common.ColorSpaceType, int>)(lpVtbl[38]))((IDXGISwapChain4*)Unsafe.AsPointer(ref this), ColorSpace);
}
/// <inheritdoc cref="IDXGISwapChain3.ResizeBuffers1" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(39)]
public HResult ResizeBuffers1(uint BufferCount, uint Width, uint Height, Common.Format Format, uint SwapChainFlags, uint* pCreationNodeMask, IUnknown** ppPresentQueue)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain4*, uint, uint, uint, Common.Format, uint, uint*, IUnknown**, int>)(lpVtbl[39]))((IDXGISwapChain4*)Unsafe.AsPointer(ref this), BufferCount, Width, Height, Format, SwapChainFlags, pCreationNodeMask, ppPresentQueue);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGISwapChain4::SetHDRMetaData"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(40)]
public HResult SetHDRMetaData(HDRMetadataType Type, uint Size, void* pMetaData)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain4*, HDRMetadataType, uint, void*, int>)(lpVtbl[40]))((IDXGISwapChain4*)Unsafe.AsPointer(ref this), Type, Size, pMetaData);
}
}

View File

@@ -0,0 +1,101 @@
// ------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
namespace Win32.Graphics.Dxgi;
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGISwapChainMedia"]/*' />
/// <unmanaged>IDXGISwapChainMedia</unmanaged>
[Guid("dd95b90b-f05f-4f6a-bd65-25bfb264bd84")]
[NativeTypeName("struct IDXGISwapChainMedia : IUnknown")]
[NativeInheritance("IUnknown")]
public unsafe partial struct IDXGISwapChainMedia : INativeGuid
{
public static ref readonly Guid IID_IDXGISwapChainMedia
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
ReadOnlySpan<byte> data = new byte[] {
0x0B, 0xB9, 0x95, 0xDD,
0x5F, 0xF0,
0x6A, 0x4F,
0xBD,
0x65,
0x25,
0xBF,
0xB2,
0x64,
0xBD,
0x84
};
Debug.Assert(data.Length == Unsafe.SizeOf<Guid>());
return ref Unsafe.As<byte, Guid>(ref MemoryMarshal.GetReference(data));
}
}
#if NET6_0_OR_GREATER
static Guid* INativeGuid.NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_IDXGISwapChainMedia));
#else
public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_IDXGISwapChainMedia));
#endif
public void** lpVtbl;
/// <inheritdoc cref="IUnknown.QueryInterface" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(0)]
public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject)
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, Guid*, void**, int>)(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject);
}
/// <inheritdoc cref="IUnknown.AddRef" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(1)]
[return: NativeTypeName("ULONG")]
public uint AddRef()
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, uint>)(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IUnknown.Release" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(2)]
[return: NativeTypeName("ULONG")]
public uint Release()
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, uint>)(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this));
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGISwapChainMedia::GetFrameStatisticsMedia"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(3)]
public HResult GetFrameStatisticsMedia(FrameStatisticsMedia* pStats)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChainMedia*, FrameStatisticsMedia*, int>)(lpVtbl[3]))((IDXGISwapChainMedia*)Unsafe.AsPointer(ref this), pStats);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGISwapChainMedia::SetPresentDuration"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(4)]
public HResult SetPresentDuration(uint Duration)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChainMedia*, uint, int>)(lpVtbl[4]))((IDXGISwapChainMedia*)Unsafe.AsPointer(ref this), Duration);
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGISwapChainMedia::CheckPresentDurationSupport"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(5)]
public HResult CheckPresentDurationSupport(uint DesiredPresentDuration, uint* pClosestSmallerPresentDuration, uint* pClosestLargerPresentDuration)
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChainMedia*, uint, uint*, uint*, int>)(lpVtbl[5]))((IDXGISwapChainMedia*)Unsafe.AsPointer(ref this), DesiredPresentDuration, pClosestSmallerPresentDuration, pClosestLargerPresentDuration);
}
}

View File

@@ -0,0 +1,93 @@
// ------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
namespace Win32.Graphics.Dxgi;
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGraphicsAnalysis"]/*' />
/// <unmanaged>IDXGraphicsAnalysis</unmanaged>
[Guid("9f251514-9d4d-4902-9d60-18988ab7d4b5")]
[NativeTypeName("struct IDXGraphicsAnalysis : IUnknown")]
[NativeInheritance("IUnknown")]
public unsafe partial struct IDXGraphicsAnalysis : INativeGuid
{
public static ref readonly Guid IID_IDXGraphicsAnalysis
{
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
ReadOnlySpan<byte> data = new byte[] {
0x14, 0x15, 0x25, 0x9F,
0x4D, 0x9D,
0x02, 0x49,
0x9D,
0x60,
0x18,
0x98,
0x8A,
0xB7,
0xD4,
0xB5
};
Debug.Assert(data.Length == Unsafe.SizeOf<Guid>());
return ref Unsafe.As<byte, Guid>(ref MemoryMarshal.GetReference(data));
}
}
#if NET6_0_OR_GREATER
static Guid* INativeGuid.NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_IDXGraphicsAnalysis));
#else
public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_IDXGraphicsAnalysis));
#endif
public void** lpVtbl;
/// <inheritdoc cref="IUnknown.QueryInterface" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(0)]
public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject)
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, Guid*, void**, int>)(lpVtbl[0]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject);
}
/// <inheritdoc cref="IUnknown.AddRef" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(1)]
[return: NativeTypeName("ULONG")]
public uint AddRef()
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, uint>)(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this));
}
/// <inheritdoc cref="IUnknown.Release" />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(2)]
[return: NativeTypeName("ULONG")]
public uint Release()
{
return ((delegate* unmanaged[Stdcall]<IUnknown*, uint>)(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this));
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGraphicsAnalysis::BeginCapture"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(3)]
public void BeginCapture()
{
((delegate* unmanaged[Stdcall]<IDXGraphicsAnalysis*, void>)(lpVtbl[3]))((IDXGraphicsAnalysis*)Unsafe.AsPointer(ref this));
}
/// <include file='../Dxgi.xml' path='doc/member[@name="IDXGraphicsAnalysis::EndCapture"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(4)]
public void EndCapture()
{
((delegate* unmanaged[Stdcall]<IDXGraphicsAnalysis*, void>)(lpVtbl[4]))((IDXGraphicsAnalysis*)Unsafe.AsPointer(ref this));
}
}

View File

@@ -0,0 +1,21 @@
// ------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
namespace Win32.Graphics.Dxgi;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_INFO_QUEUE_FILTER"]/*' />
/// <unmanaged>DXGI_INFO_QUEUE_FILTER</unmanaged>
public partial struct InfoQueueFilter
{
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_INFO_QUEUE_FILTER::AllowList"]/*' />
public InfoQueueFilterDescription AllowList;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_INFO_QUEUE_FILTER::DenyList"]/*' />
public InfoQueueFilterDescription DenyList;
}

View File

@@ -0,0 +1,33 @@
// ------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
namespace Win32.Graphics.Dxgi;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_INFO_QUEUE_FILTER_DESC"]/*' />
/// <unmanaged>DXGI_INFO_QUEUE_FILTER_DESC</unmanaged>
public partial struct InfoQueueFilterDescription
{
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_INFO_QUEUE_FILTER_DESC::NumCategories"]/*' />
public uint NumCategories;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_INFO_QUEUE_FILTER_DESC::pCategoryList"]/*' />
public unsafe InfoQueueMessageCategory* pCategoryList;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_INFO_QUEUE_FILTER_DESC::NumSeverities"]/*' />
public uint NumSeverities;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_INFO_QUEUE_FILTER_DESC::pSeverityList"]/*' />
public unsafe InfoQueueMessageSeverity* pSeverityList;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_INFO_QUEUE_FILTER_DESC::NumIDs"]/*' />
public uint NumIDs;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_INFO_QUEUE_FILTER_DESC::pIDList"]/*' />
public unsafe int* pIDList;
}

View File

@@ -0,0 +1,33 @@
// ------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
namespace Win32.Graphics.Dxgi;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_INFO_QUEUE_MESSAGE"]/*' />
/// <unmanaged>DXGI_INFO_QUEUE_MESSAGE</unmanaged>
public partial struct InfoQueueMessage
{
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_INFO_QUEUE_MESSAGE::Producer"]/*' />
public Guid Producer;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_INFO_QUEUE_MESSAGE::Category"]/*' />
public InfoQueueMessageCategory Category;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_INFO_QUEUE_MESSAGE::Severity"]/*' />
public InfoQueueMessageSeverity Severity;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_INFO_QUEUE_MESSAGE::ID"]/*' />
public int ID;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_INFO_QUEUE_MESSAGE::pDescription"]/*' />
public unsafe byte* pDescription;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_INFO_QUEUE_MESSAGE::DescriptionByteLength"]/*' />
public nuint DescriptionByteLength;
}

View File

@@ -0,0 +1,49 @@
// ------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
namespace Win32.Graphics.Dxgi;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_INFO_QUEUE_MESSAGE_CATEGORY"]/*' />
/// <unmanaged>DXGI_INFO_QUEUE_MESSAGE_CATEGORY</unmanaged>
public enum InfoQueueMessageCategory : int
{
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_INFO_QUEUE_MESSAGE_CATEGORY::DXGI_INFO_QUEUE_MESSAGE_CATEGORY_UNKNOWN"]/*' />
/// <unmanaged>DXGI_INFO_QUEUE_MESSAGE_CATEGORY_UNKNOWN</unmanaged>
Unknown = 0,
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_INFO_QUEUE_MESSAGE_CATEGORY::DXGI_INFO_QUEUE_MESSAGE_CATEGORY_MISCELLANEOUS"]/*' />
/// <unmanaged>DXGI_INFO_QUEUE_MESSAGE_CATEGORY_MISCELLANEOUS</unmanaged>
Miscellaneous = 1,
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_INFO_QUEUE_MESSAGE_CATEGORY::DXGI_INFO_QUEUE_MESSAGE_CATEGORY_INITIALIZATION"]/*' />
/// <unmanaged>DXGI_INFO_QUEUE_MESSAGE_CATEGORY_INITIALIZATION</unmanaged>
Initialization = 2,
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_INFO_QUEUE_MESSAGE_CATEGORY::DXGI_INFO_QUEUE_MESSAGE_CATEGORY_CLEANUP"]/*' />
/// <unmanaged>DXGI_INFO_QUEUE_MESSAGE_CATEGORY_CLEANUP</unmanaged>
Cleanup = 3,
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_INFO_QUEUE_MESSAGE_CATEGORY::DXGI_INFO_QUEUE_MESSAGE_CATEGORY_COMPILATION"]/*' />
/// <unmanaged>DXGI_INFO_QUEUE_MESSAGE_CATEGORY_COMPILATION</unmanaged>
Compilation = 4,
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_INFO_QUEUE_MESSAGE_CATEGORY::DXGI_INFO_QUEUE_MESSAGE_CATEGORY_STATE_CREATION"]/*' />
/// <unmanaged>DXGI_INFO_QUEUE_MESSAGE_CATEGORY_STATE_CREATION</unmanaged>
StateCreation = 5,
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_INFO_QUEUE_MESSAGE_CATEGORY::DXGI_INFO_QUEUE_MESSAGE_CATEGORY_STATE_SETTING"]/*' />
/// <unmanaged>DXGI_INFO_QUEUE_MESSAGE_CATEGORY_STATE_SETTING</unmanaged>
StateSetting = 6,
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_INFO_QUEUE_MESSAGE_CATEGORY::DXGI_INFO_QUEUE_MESSAGE_CATEGORY_STATE_GETTING"]/*' />
/// <unmanaged>DXGI_INFO_QUEUE_MESSAGE_CATEGORY_STATE_GETTING</unmanaged>
StateGetting = 7,
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_INFO_QUEUE_MESSAGE_CATEGORY::DXGI_INFO_QUEUE_MESSAGE_CATEGORY_RESOURCE_MANIPULATION"]/*' />
/// <unmanaged>DXGI_INFO_QUEUE_MESSAGE_CATEGORY_RESOURCE_MANIPULATION</unmanaged>
ResourceManipulation = 8,
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_INFO_QUEUE_MESSAGE_CATEGORY::DXGI_INFO_QUEUE_MESSAGE_CATEGORY_EXECUTION"]/*' />
/// <unmanaged>DXGI_INFO_QUEUE_MESSAGE_CATEGORY_EXECUTION</unmanaged>
Execution = 9,
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_INFO_QUEUE_MESSAGE_CATEGORY::DXGI_INFO_QUEUE_MESSAGE_CATEGORY_SHADER"]/*' />
/// <unmanaged>DXGI_INFO_QUEUE_MESSAGE_CATEGORY_SHADER</unmanaged>
Shader = 10,
}

View File

@@ -0,0 +1,31 @@
// ------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
namespace Win32.Graphics.Dxgi;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_INFO_QUEUE_MESSAGE_SEVERITY"]/*' />
/// <unmanaged>DXGI_INFO_QUEUE_MESSAGE_SEVERITY</unmanaged>
public enum InfoQueueMessageSeverity : int
{
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_INFO_QUEUE_MESSAGE_SEVERITY::DXGI_INFO_QUEUE_MESSAGE_SEVERITY_CORRUPTION"]/*' />
/// <unmanaged>DXGI_INFO_QUEUE_MESSAGE_SEVERITY_CORRUPTION</unmanaged>
Corruption = 0,
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_INFO_QUEUE_MESSAGE_SEVERITY::DXGI_INFO_QUEUE_MESSAGE_SEVERITY_ERROR"]/*' />
/// <unmanaged>DXGI_INFO_QUEUE_MESSAGE_SEVERITY_ERROR</unmanaged>
Error = 1,
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_INFO_QUEUE_MESSAGE_SEVERITY::DXGI_INFO_QUEUE_MESSAGE_SEVERITY_WARNING"]/*' />
/// <unmanaged>DXGI_INFO_QUEUE_MESSAGE_SEVERITY_WARNING</unmanaged>
Warning = 2,
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_INFO_QUEUE_MESSAGE_SEVERITY::DXGI_INFO_QUEUE_MESSAGE_SEVERITY_INFO"]/*' />
/// <unmanaged>DXGI_INFO_QUEUE_MESSAGE_SEVERITY_INFO</unmanaged>
Info = 3,
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_INFO_QUEUE_MESSAGE_SEVERITY::DXGI_INFO_QUEUE_MESSAGE_SEVERITY_MESSAGE"]/*' />
/// <unmanaged>DXGI_INFO_QUEUE_MESSAGE_SEVERITY_MESSAGE</unmanaged>
Message = 4,
}

View File

@@ -0,0 +1,23 @@
// ------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
namespace Win32.Graphics.Dxgi;
/// <unmanaged>DXGI_MAP</unmanaged>
[Flags]
public enum MapFlags : uint
{
None = 0,
/// <unmanaged>DXGI_MAP_READ</unmanaged>
Read = 1,
/// <unmanaged>DXGI_MAP_WRITE</unmanaged>
Write = 2,
/// <unmanaged>DXGI_MAP_DISCARD</unmanaged>
Discard = 4,
}

View File

@@ -0,0 +1,21 @@
// ------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
namespace Win32.Graphics.Dxgi;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_MAPPED_RECT"]/*' />
/// <unmanaged>DXGI_MAPPED_RECT</unmanaged>
public partial struct MappedRect
{
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_MAPPED_RECT::Pitch"]/*' />
public int Pitch;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_MAPPED_RECT::pBits"]/*' />
public unsafe byte* pBits;
}

View File

@@ -0,0 +1,22 @@
// ------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
namespace Win32.Graphics.Dxgi;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_MEMORY_SEGMENT_GROUP"]/*' />
/// <unmanaged>DXGI_MEMORY_SEGMENT_GROUP</unmanaged>
public enum MemorySegmentGroup : int
{
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_MEMORY_SEGMENT_GROUP::DXGI_MEMORY_SEGMENT_GROUP_LOCAL"]/*' />
/// <unmanaged>DXGI_MEMORY_SEGMENT_GROUP_LOCAL</unmanaged>
Local = 0,
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_MEMORY_SEGMENT_GROUP::DXGI_MEMORY_SEGMENT_GROUP_NON_LOCAL"]/*' />
/// <unmanaged>DXGI_MEMORY_SEGMENT_GROUP_NON_LOCAL</unmanaged>
NonLocal = 1,
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,36 @@
// ------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
namespace Win32.Graphics.Dxgi;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_MODE_DESC1"]/*' />
/// <unmanaged>DXGI_MODE_DESC1</unmanaged>
public partial struct ModeDescription1
{
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_MODE_DESC1::Width"]/*' />
public uint Width;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_MODE_DESC1::Height"]/*' />
public uint Height;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_MODE_DESC1::RefreshRate"]/*' />
public Common.Rational RefreshRate;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_MODE_DESC1::Format"]/*' />
public Common.Format Format;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_MODE_DESC1::ScanlineOrdering"]/*' />
public Common.ModeScanlineOrder ScanlineOrdering;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_MODE_DESC1::Scaling"]/*' />
public Common.ModeScaling Scaling;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_MODE_DESC1::Stereo"]/*' />
public Bool32 Stereo;
}

View File

@@ -0,0 +1,27 @@
// ------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
namespace Win32.Graphics.Dxgi;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAGS"]/*' />
/// <unmanaged>DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAGS</unmanaged>
[Flags]
public enum MultiplaneOverlayYcbcrFlags : int
{
None = 0,
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAGS::DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAG_NOMINAL_RANGE"]/*' />
/// <unmanaged>DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAG_NOMINAL_RANGE</unmanaged>
YcbcrFlagNominalRange = 1,
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAGS::DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAG_BT709"]/*' />
/// <unmanaged>DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAG_BT709</unmanaged>
YcbcrFlagBt709 = 2,
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAGS::DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAG_xvYCC"]/*' />
/// <unmanaged>DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAG_xvYCC</unmanaged>
YcbcrFlagXvycc = 4,
}

View File

@@ -0,0 +1,21 @@
// ------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
namespace Win32.Graphics.Dxgi;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_OFFER_RESOURCE_FLAGS"]/*' />
/// <unmanaged>DXGI_OFFER_RESOURCE_FLAGS</unmanaged>
[Flags]
public enum OfferResourceFlags : int
{
None = 0,
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_OFFER_RESOURCE_FLAGS::DXGI_OFFER_RESOURCE_FLAG_ALLOW_DECOMMIT"]/*' />
/// <unmanaged>DXGI_OFFER_RESOURCE_FLAG_ALLOW_DECOMMIT</unmanaged>
AllowDecommit = 1,
}

View File

@@ -0,0 +1,25 @@
// ------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
namespace Win32.Graphics.Dxgi;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_OFFER_RESOURCE_PRIORITY"]/*' />
/// <unmanaged>DXGI_OFFER_RESOURCE_PRIORITY</unmanaged>
public enum OfferResourcePriority : int
{
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_OFFER_RESOURCE_PRIORITY::DXGI_OFFER_RESOURCE_PRIORITY_LOW"]/*' />
/// <unmanaged>DXGI_OFFER_RESOURCE_PRIORITY_LOW</unmanaged>
Low = 1,
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_OFFER_RESOURCE_PRIORITY::DXGI_OFFER_RESOURCE_PRIORITY_NORMAL"]/*' />
/// <unmanaged>DXGI_OFFER_RESOURCE_PRIORITY_NORMAL</unmanaged>
Normal = 2,
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_OFFER_RESOURCE_PRIORITY::DXGI_OFFER_RESOURCE_PRIORITY_HIGH"]/*' />
/// <unmanaged>DXGI_OFFER_RESOURCE_PRIORITY_HIGH</unmanaged>
High = 3,
}

View File

@@ -0,0 +1,24 @@
// ------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
namespace Win32.Graphics.Dxgi;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_OUTDUPL_DESC"]/*' />
/// <unmanaged>DXGI_OUTDUPL_DESC</unmanaged>
public partial struct OutduplDescription
{
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_OUTDUPL_DESC::ModeDesc"]/*' />
public Common.ModeDescription ModeDesc;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_OUTDUPL_DESC::Rotation"]/*' />
public Common.ModeRotation Rotation;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_OUTDUPL_DESC::DesktopImageInSystemMemory"]/*' />
public Bool32 DesktopImageInSystemMemory;
}

View File

@@ -0,0 +1,21 @@
// ------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
namespace Win32.Graphics.Dxgi;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_OUTDUPL_FLAG"]/*' />
/// <unmanaged>DXGI_OUTDUPL_FLAG</unmanaged>
[Flags]
public enum OutduplFlags : int
{
None = 0,
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_OUTDUPL_FLAG::DXGI_OUTDUPL_COMPOSITED_UI_CAPTURE_ONLY"]/*' />
/// <unmanaged>DXGI_OUTDUPL_COMPOSITED_UI_CAPTURE_ONLY</unmanaged>
CompositedUICaptureOnly = 1,
}

View File

@@ -0,0 +1,39 @@
// ------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
namespace Win32.Graphics.Dxgi;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_OUTDUPL_FRAME_INFO"]/*' />
/// <unmanaged>DXGI_OUTDUPL_FRAME_INFO</unmanaged>
public partial struct OutduplFrameInfo
{
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_OUTDUPL_FRAME_INFO::LastPresentTime"]/*' />
public LargeInteger LastPresentTime;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_OUTDUPL_FRAME_INFO::LastMouseUpdateTime"]/*' />
public LargeInteger LastMouseUpdateTime;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_OUTDUPL_FRAME_INFO::AccumulatedFrames"]/*' />
public uint AccumulatedFrames;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_OUTDUPL_FRAME_INFO::RectsCoalesced"]/*' />
public Bool32 RectsCoalesced;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_OUTDUPL_FRAME_INFO::ProtectedContentMaskedOut"]/*' />
public Bool32 ProtectedContentMaskedOut;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_OUTDUPL_FRAME_INFO::PointerPosition"]/*' />
public OutduplPointerPosition PointerPosition;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_OUTDUPL_FRAME_INFO::TotalMetadataBufferSize"]/*' />
public uint TotalMetadataBufferSize;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_OUTDUPL_FRAME_INFO::PointerShapeBufferSize"]/*' />
public uint PointerShapeBufferSize;
}

View File

@@ -0,0 +1,21 @@
// ------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
namespace Win32.Graphics.Dxgi;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_OUTDUPL_MOVE_RECT"]/*' />
/// <unmanaged>DXGI_OUTDUPL_MOVE_RECT</unmanaged>
public partial struct OutduplMoveRect
{
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_OUTDUPL_MOVE_RECT::SourcePoint"]/*' />
public System.Drawing.Point SourcePoint;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_OUTDUPL_MOVE_RECT::DestinationRect"]/*' />
public RawRect DestinationRect;
}

View File

@@ -0,0 +1,21 @@
// ------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
namespace Win32.Graphics.Dxgi;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_OUTDUPL_POINTER_POSITION"]/*' />
/// <unmanaged>DXGI_OUTDUPL_POINTER_POSITION</unmanaged>
public partial struct OutduplPointerPosition
{
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_OUTDUPL_POINTER_POSITION::Position"]/*' />
public System.Drawing.Point Position;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_OUTDUPL_POINTER_POSITION::Visible"]/*' />
public Bool32 Visible;
}

View File

@@ -0,0 +1,30 @@
// ------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
namespace Win32.Graphics.Dxgi;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_OUTDUPL_POINTER_SHAPE_INFO"]/*' />
/// <unmanaged>DXGI_OUTDUPL_POINTER_SHAPE_INFO</unmanaged>
public partial struct OutduplPointerShapeInfo
{
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_OUTDUPL_POINTER_SHAPE_INFO::Type"]/*' />
public uint Type;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_OUTDUPL_POINTER_SHAPE_INFO::Width"]/*' />
public uint Width;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_OUTDUPL_POINTER_SHAPE_INFO::Height"]/*' />
public uint Height;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_OUTDUPL_POINTER_SHAPE_INFO::Pitch"]/*' />
public uint Pitch;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_OUTDUPL_POINTER_SHAPE_INFO::HotSpot"]/*' />
public System.Drawing.Point HotSpot;
}

View File

@@ -0,0 +1,25 @@
// ------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
namespace Win32.Graphics.Dxgi;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_OUTDUPL_POINTER_SHAPE_TYPE"]/*' />
/// <unmanaged>DXGI_OUTDUPL_POINTER_SHAPE_TYPE</unmanaged>
public enum OutduplPointerShapeType : int
{
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_OUTDUPL_POINTER_SHAPE_TYPE::DXGI_OUTDUPL_POINTER_SHAPE_TYPE_MONOCHROME"]/*' />
/// <unmanaged>DXGI_OUTDUPL_POINTER_SHAPE_TYPE_MONOCHROME</unmanaged>
Monochrome = 1,
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_OUTDUPL_POINTER_SHAPE_TYPE::DXGI_OUTDUPL_POINTER_SHAPE_TYPE_COLOR"]/*' />
/// <unmanaged>DXGI_OUTDUPL_POINTER_SHAPE_TYPE_COLOR</unmanaged>
Color = 2,
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_OUTDUPL_POINTER_SHAPE_TYPE::DXGI_OUTDUPL_POINTER_SHAPE_TYPE_MASKED_COLOR"]/*' />
/// <unmanaged>DXGI_OUTDUPL_POINTER_SHAPE_TYPE_MASKED_COLOR</unmanaged>
MaskedColor = 4,
}

View File

@@ -0,0 +1,30 @@
// ------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
namespace Win32.Graphics.Dxgi;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_OUTPUT_DESC"]/*' />
/// <unmanaged>DXGI_OUTPUT_DESC</unmanaged>
public partial struct OutputDescription
{
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_OUTPUT_DESC::DeviceName"]/*' />
public unsafe fixed ushort DeviceName[32];
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_OUTPUT_DESC::DesktopCoordinates"]/*' />
public RawRect DesktopCoordinates;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_OUTPUT_DESC::AttachedToDesktop"]/*' />
public Bool32 AttachedToDesktop;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_OUTPUT_DESC::Rotation"]/*' />
public Common.ModeRotation Rotation;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_OUTPUT_DESC::Monitor"]/*' />
public IntPtr Monitor;
}

View File

@@ -0,0 +1,57 @@
// ------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
namespace Win32.Graphics.Dxgi;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_OUTPUT_DESC1"]/*' />
/// <unmanaged>DXGI_OUTPUT_DESC1</unmanaged>
public partial struct OutputDescription1
{
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_OUTPUT_DESC1::DeviceName"]/*' />
public unsafe fixed ushort DeviceName[32];
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_OUTPUT_DESC1::DesktopCoordinates"]/*' />
public RawRect DesktopCoordinates;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_OUTPUT_DESC1::AttachedToDesktop"]/*' />
public Bool32 AttachedToDesktop;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_OUTPUT_DESC1::Rotation"]/*' />
public Common.ModeRotation Rotation;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_OUTPUT_DESC1::Monitor"]/*' />
public IntPtr Monitor;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_OUTPUT_DESC1::BitsPerColor"]/*' />
public uint BitsPerColor;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_OUTPUT_DESC1::ColorSpace"]/*' />
public Common.ColorSpaceType ColorSpace;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_OUTPUT_DESC1::RedPrimary"]/*' />
public unsafe fixed float RedPrimary[2];
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_OUTPUT_DESC1::GreenPrimary"]/*' />
public unsafe fixed float GreenPrimary[2];
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_OUTPUT_DESC1::BluePrimary"]/*' />
public unsafe fixed float BluePrimary[2];
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_OUTPUT_DESC1::WhitePoint"]/*' />
public unsafe fixed float WhitePoint[2];
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_OUTPUT_DESC1::MinLuminance"]/*' />
public float MinLuminance;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_OUTPUT_DESC1::MaxLuminance"]/*' />
public float MaxLuminance;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_OUTPUT_DESC1::MaxFullFrameLuminance"]/*' />
public float MaxFullFrameLuminance;
}

View File

@@ -0,0 +1,21 @@
// ------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
namespace Win32.Graphics.Dxgi;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_OVERLAY_COLOR_SPACE_SUPPORT_FLAG"]/*' />
/// <unmanaged>DXGI_OVERLAY_COLOR_SPACE_SUPPORT_FLAG</unmanaged>
[Flags]
public enum OverlayColorSpaceSupportFlags : int
{
None = 0,
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_OVERLAY_COLOR_SPACE_SUPPORT_FLAG::DXGI_OVERLAY_COLOR_SPACE_SUPPORT_FLAG_PRESENT"]/*' />
/// <unmanaged>DXGI_OVERLAY_COLOR_SPACE_SUPPORT_FLAG_PRESENT</unmanaged>
Present = 1,
}

View File

@@ -0,0 +1,24 @@
// ------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
namespace Win32.Graphics.Dxgi;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_OVERLAY_SUPPORT_FLAG"]/*' />
/// <unmanaged>DXGI_OVERLAY_SUPPORT_FLAG</unmanaged>
[Flags]
public enum OverlaySupportFlags : int
{
None = 0,
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_OVERLAY_SUPPORT_FLAG::DXGI_OVERLAY_SUPPORT_FLAG_DIRECT"]/*' />
/// <unmanaged>DXGI_OVERLAY_SUPPORT_FLAG_DIRECT</unmanaged>
Direct = 1,
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_OVERLAY_SUPPORT_FLAG::DXGI_OVERLAY_SUPPORT_FLAG_SCALING"]/*' />
/// <unmanaged>DXGI_OVERLAY_SUPPORT_FLAG_SCALING</unmanaged>
Scaling = 2,
}

View File

@@ -0,0 +1,35 @@
// ------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
namespace Win32.Graphics.Dxgi;
/// <unmanaged>DXGI_PRESENT</unmanaged>
[Flags]
public enum PresentFlags : uint
{
None = 0,
/// <unmanaged>DXGI_PRESENT_TEST</unmanaged>
Test = 1,
/// <unmanaged>DXGI_PRESENT_DO_NOT_SEQUENCE</unmanaged>
DoNotSequence = 2,
/// <unmanaged>DXGI_PRESENT_RESTART</unmanaged>
Restart = 4,
/// <unmanaged>DXGI_PRESENT_DO_NOT_WAIT</unmanaged>
DoNotWait = 8,
/// <unmanaged>DXGI_PRESENT_STEREO_PREFER_RIGHT</unmanaged>
StereoPreferRight = 16,
/// <unmanaged>DXGI_PRESENT_STEREO_TEMPORARY_MONO</unmanaged>
StereoTemporaryMono = 32,
/// <unmanaged>DXGI_PRESENT_RESTRICT_TO_OUTPUT</unmanaged>
RestrictToOutput = 64,
/// <unmanaged>DXGI_PRESENT_USE_DURATION</unmanaged>
UseDuration = 256,
/// <unmanaged>DXGI_PRESENT_ALLOW_TEARING</unmanaged>
AllowTearing = 512,
}

View File

@@ -0,0 +1,27 @@
// ------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
namespace Win32.Graphics.Dxgi;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_PRESENT_PARAMETERS"]/*' />
/// <unmanaged>DXGI_PRESENT_PARAMETERS</unmanaged>
public partial struct PresentParameters
{
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_PRESENT_PARAMETERS::DirtyRectsCount"]/*' />
public uint DirtyRectsCount;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_PRESENT_PARAMETERS::pDirtyRects"]/*' />
public unsafe RawRect* pDirtyRects;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_PRESENT_PARAMETERS::pScrollRect"]/*' />
public unsafe RawRect* pScrollRect;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_PRESENT_PARAMETERS::pScrollOffset"]/*' />
public unsafe System.Drawing.Point* pScrollOffset;
}

View File

@@ -0,0 +1,27 @@
// ------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
namespace Win32.Graphics.Dxgi;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_QUERY_VIDEO_MEMORY_INFO"]/*' />
/// <unmanaged>DXGI_QUERY_VIDEO_MEMORY_INFO</unmanaged>
public partial struct QueryVideoMemoryInfo
{
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_QUERY_VIDEO_MEMORY_INFO::Budget"]/*' />
public ulong Budget;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_QUERY_VIDEO_MEMORY_INFO::CurrentUsage"]/*' />
public ulong CurrentUsage;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_QUERY_VIDEO_MEMORY_INFO::AvailableForReservation"]/*' />
public ulong AvailableForReservation;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_QUERY_VIDEO_MEMORY_INFO::CurrentReservation"]/*' />
public ulong CurrentReservation;
}

View File

@@ -0,0 +1,25 @@
// ------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
namespace Win32.Graphics.Dxgi;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_RECLAIM_RESOURCE_RESULTS"]/*' />
/// <unmanaged>DXGI_RECLAIM_RESOURCE_RESULTS</unmanaged>
public enum ReclaimResourceResults : int
{
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_RECLAIM_RESOURCE_RESULTS::DXGI_RECLAIM_RESOURCE_RESULT_OK"]/*' />
/// <unmanaged>DXGI_RECLAIM_RESOURCE_RESULT_OK</unmanaged>
Ok = 0,
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_RECLAIM_RESOURCE_RESULTS::DXGI_RECLAIM_RESOURCE_RESULT_DISCARDED"]/*' />
/// <unmanaged>DXGI_RECLAIM_RESOURCE_RESULT_DISCARDED</unmanaged>
Discarded = 1,
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_RECLAIM_RESOURCE_RESULTS::DXGI_RECLAIM_RESOURCE_RESULT_NOT_COMMITTED"]/*' />
/// <unmanaged>DXGI_RECLAIM_RESOURCE_RESULT_NOT_COMMITTED</unmanaged>
NotCommitted = 2,
}

View File

@@ -0,0 +1,30 @@
// ------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
namespace Win32.Graphics.Dxgi;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_DEBUG_RLO_FLAGS"]/*' />
/// <unmanaged>DXGI_DEBUG_RLO_FLAGS</unmanaged>
[Flags]
public enum ReportLiveObjectFlags : uint
{
None = 0,
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_DEBUG_RLO_FLAGS::DXGI_DEBUG_RLO_SUMMARY"]/*' />
/// <unmanaged>DXGI_DEBUG_RLO_SUMMARY</unmanaged>
Summary = 1,
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_DEBUG_RLO_FLAGS::DXGI_DEBUG_RLO_DETAIL"]/*' />
/// <unmanaged>DXGI_DEBUG_RLO_DETAIL</unmanaged>
Detail = 2,
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_DEBUG_RLO_FLAGS::DXGI_DEBUG_RLO_IGNORE_INTERNAL"]/*' />
/// <unmanaged>DXGI_DEBUG_RLO_IGNORE_INTERNAL</unmanaged>
IgnoreInternal = 4,
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_DEBUG_RLO_FLAGS::DXGI_DEBUG_RLO_ALL"]/*' />
/// <unmanaged>DXGI_DEBUG_RLO_ALL</unmanaged>
All = 7,
}

View File

@@ -0,0 +1,25 @@
// ------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
namespace Win32.Graphics.Dxgi;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_RESIDENCY"]/*' />
/// <unmanaged>DXGI_RESIDENCY</unmanaged>
public enum Residency : int
{
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_RESIDENCY::DXGI_RESIDENCY_FULLY_RESIDENT"]/*' />
/// <unmanaged>DXGI_RESIDENCY_FULLY_RESIDENT</unmanaged>
FullyResident = 1,
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_RESIDENCY::DXGI_RESIDENCY_RESIDENT_IN_SHARED_MEMORY"]/*' />
/// <unmanaged>DXGI_RESIDENCY_RESIDENT_IN_SHARED_MEMORY</unmanaged>
ResidentInSharedMemory = 2,
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_RESIDENCY::DXGI_RESIDENCY_EVICTED_TO_DISK"]/*' />
/// <unmanaged>DXGI_RESIDENCY_EVICTED_TO_DISK</unmanaged>
EvictedToDisk = 3,
}

View File

@@ -0,0 +1,31 @@
// ------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
namespace Win32.Graphics.Dxgi;
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_RESOURCE_PRIORITY"]/*' />
/// <unmanaged>DXGI_RESOURCE_PRIORITY</unmanaged>
public enum ResourcePriority : uint
{
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_RESOURCE_PRIORITY::DXGI_RESOURCE_PRIORITY_MINIMUM"]/*' />
/// <unmanaged>DXGI_RESOURCE_PRIORITY_MINIMUM</unmanaged>
Minimum = 671088640,
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_RESOURCE_PRIORITY::DXGI_RESOURCE_PRIORITY_LOW"]/*' />
/// <unmanaged>DXGI_RESOURCE_PRIORITY_LOW</unmanaged>
Low = 1342177280,
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_RESOURCE_PRIORITY::DXGI_RESOURCE_PRIORITY_NORMAL"]/*' />
/// <unmanaged>DXGI_RESOURCE_PRIORITY_NORMAL</unmanaged>
Normal = 2013265920,
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_RESOURCE_PRIORITY::DXGI_RESOURCE_PRIORITY_HIGH"]/*' />
/// <unmanaged>DXGI_RESOURCE_PRIORITY_HIGH</unmanaged>
High = 2684354560,
/// <include file='../Dxgi.xml' path='doc/member[@name="DXGI_RESOURCE_PRIORITY::DXGI_RESOURCE_PRIORITY_MAXIMUM"]/*' />
/// <unmanaged>DXGI_RESOURCE_PRIORITY_MAXIMUM</unmanaged>
Maximum = 3355443200,
}

Some files were not shown because too many files have changed in this diff Show More