Update metadata to 39.0.18-preview

Generator: Add initial Interface generation.
This commit is contained in:
Amer Koleci
2022-12-01 16:26:51 +01:00
parent b04caed143
commit 61295b00a2
572 changed files with 48214 additions and 887 deletions

View File

@@ -1,7 +1,7 @@
// Copyright © Amer Koleci and Contributors.
// Licensed under the MIT License (MIT). See LICENSE in the repository root for more information.
using static Win32.Graphics.Dxgi.Apis;
using static Win32.Apis;
using static Win32.StringUtilities;
namespace Win32.Graphics.Dxgi;
@@ -44,11 +44,22 @@ public unsafe partial struct AdapterDescription2
public static unsafe class IDXGIFactory5Extensions
{
public static TFeature CheckFeatureSupport<TFeature>(this ref IDXGIFactory5 factory, Feature feature)
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static bool IsTearingSupported<TDXGIFactory5>(ref this TDXGIFactory5 self)
where TDXGIFactory5 : unmanaged, IDXGIFactory5.Interface
{
Bool32 supported = default;
HResult hr = self.CheckFeatureSupport(Feature.PresentAllowTearing, &supported, sizeof(Bool32));
return hr.Success && supported == true;
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static TFeature CheckFeatureSupport<TDXGIFactory5, TFeature>(ref this TDXGIFactory5 self, Feature feature)
where TDXGIFactory5 : unmanaged, IDXGIFactory5.Interface
where TFeature : unmanaged
{
TFeature featureData = default;
factory.CheckFeatureSupport(feature, &featureData, sizeof(TFeature)).ThrowIfFailed();
ThrowIfFailed(self.CheckFeatureSupport(feature, &featureData, sizeof(TFeature)));
return featureData;
}
}

View File

@@ -14,7 +14,7 @@ namespace Win32.Graphics.Dxgi;
[Guid("2411e7e1-12ac-4ccf-bd14-9798e8534dc0")]
[NativeTypeName("struct IDXGIAdapter : IDXGIObject")]
[NativeInheritance("IDXGIObject")]
public unsafe partial struct IDXGIAdapter : INativeGuid
public unsafe partial struct IDXGIAdapter : IDXGIAdapter.Interface, INativeGuid
{
public static ref readonly Guid IID_IDXGIAdapter
{
@@ -129,5 +129,16 @@ public unsafe partial struct IDXGIAdapter : INativeGuid
{
return ((delegate* unmanaged[Stdcall]<IDXGIAdapter*, Guid*, LargeInteger*, int>)(lpVtbl[9]))((IDXGIAdapter*)Unsafe.AsPointer(ref this), InterfaceName, pUMDVersion);
}
public interface Interface : IDXGIObject.Interface
{
[VtblIndex(7)]
HResult EnumOutputs(uint Output, IDXGIOutput** ppOutput);
[VtblIndex(8)]
HResult GetDesc(AdapterDescription* pDesc);
[VtblIndex(9)]
HResult CheckInterfaceSupport(Guid* InterfaceName, LargeInteger* pUMDVersion);
}
}

View File

@@ -14,7 +14,7 @@ namespace Win32.Graphics.Dxgi;
[Guid("29038f61-3839-4626-91fd-086879011a05")]
[NativeTypeName("struct IDXGIAdapter1 : IDXGIAdapter")]
[NativeInheritance("IDXGIAdapter")]
public unsafe partial struct IDXGIAdapter1 : INativeGuid
public unsafe partial struct IDXGIAdapter1 : IDXGIAdapter1.Interface, INativeGuid
{
public static ref readonly Guid IID_IDXGIAdapter1
{
@@ -137,5 +137,10 @@ public unsafe partial struct IDXGIAdapter1 : INativeGuid
{
return ((delegate* unmanaged[Stdcall]<IDXGIAdapter1*, AdapterDescription1*, int>)(lpVtbl[10]))((IDXGIAdapter1*)Unsafe.AsPointer(ref this), pDesc);
}
public interface Interface : IDXGIAdapter.Interface
{
[VtblIndex(10)]
HResult GetDesc1(AdapterDescription1* pDesc);
}
}

View File

@@ -14,7 +14,7 @@ namespace Win32.Graphics.Dxgi;
[Guid("0aa1ae0a-fa0e-4b84-8644-e05ff8e5acb5")]
[NativeTypeName("struct IDXGIAdapter2 : IDXGIAdapter1")]
[NativeInheritance("IDXGIAdapter1")]
public unsafe partial struct IDXGIAdapter2 : INativeGuid
public unsafe partial struct IDXGIAdapter2 : IDXGIAdapter2.Interface, INativeGuid
{
public static ref readonly Guid IID_IDXGIAdapter2
{
@@ -145,5 +145,10 @@ public unsafe partial struct IDXGIAdapter2 : INativeGuid
{
return ((delegate* unmanaged[Stdcall]<IDXGIAdapter2*, AdapterDescription2*, int>)(lpVtbl[11]))((IDXGIAdapter2*)Unsafe.AsPointer(ref this), pDesc);
}
public interface Interface : IDXGIAdapter1.Interface
{
[VtblIndex(11)]
HResult GetDesc2(AdapterDescription2* pDesc);
}
}

View File

@@ -14,7 +14,7 @@ namespace Win32.Graphics.Dxgi;
[Guid("645967a4-1392-4310-a798-8053ce3e93fd")]
[NativeTypeName("struct IDXGIAdapter3 : IDXGIAdapter2")]
[NativeInheritance("IDXGIAdapter2")]
public unsafe partial struct IDXGIAdapter3 : INativeGuid
public unsafe partial struct IDXGIAdapter3 : IDXGIAdapter3.Interface, INativeGuid
{
public static ref readonly Guid IID_IDXGIAdapter3
{
@@ -193,5 +193,25 @@ public unsafe partial struct IDXGIAdapter3 : INativeGuid
{
((delegate* unmanaged[Stdcall]<IDXGIAdapter3*, uint, void>)(lpVtbl[17]))((IDXGIAdapter3*)Unsafe.AsPointer(ref this), dwCookie);
}
public interface Interface : IDXGIAdapter2.Interface
{
[VtblIndex(12)]
HResult RegisterHardwareContentProtectionTeardownStatusEvent(Handle hEvent, uint* pdwCookie);
[VtblIndex(13)]
void UnregisterHardwareContentProtectionTeardownStatus(uint dwCookie);
[VtblIndex(14)]
HResult QueryVideoMemoryInfo(uint NodeIndex, MemorySegmentGroup MemorySegmentGroup, QueryVideoMemoryInfo* pVideoMemoryInfo);
[VtblIndex(15)]
HResult SetVideoMemoryReservation(uint NodeIndex, MemorySegmentGroup MemorySegmentGroup, ulong Reservation);
[VtblIndex(16)]
HResult RegisterVideoMemoryBudgetChangeNotificationEvent(Handle hEvent, uint* pdwCookie);
[VtblIndex(17)]
void UnregisterVideoMemoryBudgetChangeNotification(uint dwCookie);
}
}

View File

@@ -14,7 +14,7 @@ namespace Win32.Graphics.Dxgi;
[Guid("3c8d99d1-4fbf-4181-a82c-af66bf7bd24e")]
[NativeTypeName("struct IDXGIAdapter4 : IDXGIAdapter3")]
[NativeInheritance("IDXGIAdapter3")]
public unsafe partial struct IDXGIAdapter4 : INativeGuid
public unsafe partial struct IDXGIAdapter4 : IDXGIAdapter4.Interface, INativeGuid
{
public static ref readonly Guid IID_IDXGIAdapter4
{
@@ -201,5 +201,10 @@ public unsafe partial struct IDXGIAdapter4 : INativeGuid
{
return ((delegate* unmanaged[Stdcall]<IDXGIAdapter4*, AdapterDescription3*, int>)(lpVtbl[18]))((IDXGIAdapter4*)Unsafe.AsPointer(ref this), pDesc);
}
public interface Interface : IDXGIAdapter3.Interface
{
[VtblIndex(18)]
HResult GetDesc3(AdapterDescription3* pDesc);
}
}

View File

@@ -14,7 +14,7 @@ namespace Win32.Graphics.Dxgi;
[Guid("119e7452-de9e-40fe-8806-88f90c12b441")]
[NativeTypeName("struct IDXGIDebug : IUnknown")]
[NativeInheritance("IUnknown")]
public unsafe partial struct IDXGIDebug : INativeGuid
public unsafe partial struct IDXGIDebug : IDXGIDebug.Interface, INativeGuid
{
public static ref readonly Guid IID_IDXGIDebug
{
@@ -81,5 +81,10 @@ public unsafe partial struct IDXGIDebug : INativeGuid
{
return ((delegate* unmanaged[Stdcall]<IDXGIDebug*, Guid, ReportLiveObjectFlags, int>)(lpVtbl[3]))((IDXGIDebug*)Unsafe.AsPointer(ref this), apiid, flags);
}
public interface Interface : IUnknown.Interface
{
[VtblIndex(3)]
HResult ReportLiveObjects(Guid apiid, ReportLiveObjectFlags flags);
}
}

View File

@@ -14,7 +14,7 @@ namespace Win32.Graphics.Dxgi;
[Guid("c5a05f0c-16f2-4adf-9f4d-a8c4d58ac550")]
[NativeTypeName("struct IDXGIDebug1 : IDXGIDebug")]
[NativeInheritance("IDXGIDebug")]
public unsafe partial struct IDXGIDebug1 : INativeGuid
public unsafe partial struct IDXGIDebug1 : IDXGIDebug1.Interface, INativeGuid
{
public static ref readonly Guid IID_IDXGIDebug1
{
@@ -105,5 +105,16 @@ public unsafe partial struct IDXGIDebug1 : INativeGuid
{
return ((delegate* unmanaged[Stdcall]<IDXGIDebug1*, Bool32>)(lpVtbl[6]))((IDXGIDebug1*)Unsafe.AsPointer(ref this));
}
public interface Interface : IDXGIDebug.Interface
{
[VtblIndex(4)]
void EnableLeakTrackingForThread();
[VtblIndex(5)]
void DisableLeakTrackingForThread();
[VtblIndex(6)]
Bool32 IsLeakTrackingEnabledForThread();
}
}

View File

@@ -14,7 +14,7 @@ namespace Win32.Graphics.Dxgi;
[Guid("2633066b-4514-4c7a-8fd8-12ea98059d18")]
[NativeTypeName("struct IDXGIDecodeSwapChain : IUnknown")]
[NativeInheritance("IUnknown")]
public unsafe partial struct IDXGIDecodeSwapChain : INativeGuid
public unsafe partial struct IDXGIDecodeSwapChain : IDXGIDecodeSwapChain.Interface, INativeGuid
{
public static ref readonly Guid IID_IDXGIDecodeSwapChain
{
@@ -145,5 +145,34 @@ public unsafe partial struct IDXGIDecodeSwapChain : INativeGuid
{
return ((delegate* unmanaged[Stdcall]<IDXGIDecodeSwapChain*, MultiplaneOverlayYcbcrFlags>)(lpVtbl[11]))((IDXGIDecodeSwapChain*)Unsafe.AsPointer(ref this));
}
public interface Interface : IUnknown.Interface
{
[VtblIndex(3)]
HResult PresentBuffer(uint BufferToPresent, uint SyncInterval, uint Flags);
[VtblIndex(4)]
HResult SetSourceRect(RawRect* pRect);
[VtblIndex(5)]
HResult SetTargetRect(RawRect* pRect);
[VtblIndex(6)]
HResult SetDestSize(uint Width, uint Height);
[VtblIndex(7)]
HResult GetSourceRect(RawRect* pRect);
[VtblIndex(8)]
HResult GetTargetRect(RawRect* pRect);
[VtblIndex(9)]
HResult GetDestSize(uint* pWidth, uint* pHeight);
[VtblIndex(10)]
HResult SetColorSpace(MultiplaneOverlayYcbcrFlags ColorSpace);
[VtblIndex(11)]
MultiplaneOverlayYcbcrFlags GetColorSpace();
}
}

View File

@@ -14,7 +14,7 @@ namespace Win32.Graphics.Dxgi;
[Guid("54ec77fa-1377-44e6-8c32-88fd5f44c84c")]
[NativeTypeName("struct IDXGIDevice : IDXGIObject")]
[NativeInheritance("IDXGIObject")]
public unsafe partial struct IDXGIDevice : INativeGuid
public unsafe partial struct IDXGIDevice : IDXGIDevice.Interface, INativeGuid
{
public static ref readonly Guid IID_IDXGIDevice
{
@@ -145,5 +145,22 @@ public unsafe partial struct IDXGIDevice : INativeGuid
{
return ((delegate* unmanaged[Stdcall]<IDXGIDevice*, int*, int>)(lpVtbl[11]))((IDXGIDevice*)Unsafe.AsPointer(ref this), pPriority);
}
public interface Interface : IDXGIObject.Interface
{
[VtblIndex(7)]
HResult GetAdapter(IDXGIAdapter** pAdapter);
[VtblIndex(8)]
HResult CreateSurface(SurfaceDescription* pDesc, uint NumSurfaces, Usage Usage, SharedResource* pSharedResource, IDXGISurface** ppSurface);
[VtblIndex(9)]
HResult QueryResourceResidency(IUnknown** ppResources, Residency* pResidencyStatus, uint NumResources);
[VtblIndex(10)]
HResult SetGPUThreadPriority(int Priority);
[VtblIndex(11)]
HResult GetGPUThreadPriority(int* pPriority);
}
}

View File

@@ -14,7 +14,7 @@ namespace Win32.Graphics.Dxgi;
[Guid("77db970f-6276-48ba-ba28-070143b4392c")]
[NativeTypeName("struct IDXGIDevice1 : IDXGIDevice")]
[NativeInheritance("IDXGIDevice")]
public unsafe partial struct IDXGIDevice1 : INativeGuid
public unsafe partial struct IDXGIDevice1 : IDXGIDevice1.Interface, INativeGuid
{
public static ref readonly Guid IID_IDXGIDevice1
{
@@ -161,5 +161,13 @@ public unsafe partial struct IDXGIDevice1 : INativeGuid
{
return ((delegate* unmanaged[Stdcall]<IDXGIDevice1*, uint*, int>)(lpVtbl[13]))((IDXGIDevice1*)Unsafe.AsPointer(ref this), pMaxLatency);
}
public interface Interface : IDXGIDevice.Interface
{
[VtblIndex(12)]
HResult SetMaximumFrameLatency(uint MaxLatency);
[VtblIndex(13)]
HResult GetMaximumFrameLatency(uint* pMaxLatency);
}
}

View File

@@ -14,7 +14,7 @@ namespace Win32.Graphics.Dxgi;
[Guid("05008617-fbfd-4051-a790-144884b4f6a9")]
[NativeTypeName("struct IDXGIDevice2 : IDXGIDevice1")]
[NativeInheritance("IDXGIDevice1")]
public unsafe partial struct IDXGIDevice2 : INativeGuid
public unsafe partial struct IDXGIDevice2 : IDXGIDevice2.Interface, INativeGuid
{
public static ref readonly Guid IID_IDXGIDevice2
{
@@ -185,5 +185,16 @@ public unsafe partial struct IDXGIDevice2 : INativeGuid
{
return ((delegate* unmanaged[Stdcall]<IDXGIDevice2*, Handle, int>)(lpVtbl[16]))((IDXGIDevice2*)Unsafe.AsPointer(ref this), hEvent);
}
public interface Interface : IDXGIDevice1.Interface
{
[VtblIndex(14)]
HResult OfferResources(uint NumResources, IDXGIResource** ppResources, OfferResourcePriority Priority);
[VtblIndex(15)]
HResult ReclaimResources(uint NumResources, IDXGIResource** ppResources, Bool32* pDiscarded);
[VtblIndex(16)]
HResult EnqueueSetEvent(Handle hEvent);
}
}

View File

@@ -14,7 +14,7 @@ namespace Win32.Graphics.Dxgi;
[Guid("6007896c-3244-4afd-bf18-a6d3beda5023")]
[NativeTypeName("struct IDXGIDevice3 : IDXGIDevice2")]
[NativeInheritance("IDXGIDevice2")]
public unsafe partial struct IDXGIDevice3 : INativeGuid
public unsafe partial struct IDXGIDevice3 : IDXGIDevice3.Interface, INativeGuid
{
public static ref readonly Guid IID_IDXGIDevice3
{
@@ -193,5 +193,10 @@ public unsafe partial struct IDXGIDevice3 : INativeGuid
{
((delegate* unmanaged[Stdcall]<IDXGIDevice3*, void>)(lpVtbl[17]))((IDXGIDevice3*)Unsafe.AsPointer(ref this));
}
public interface Interface : IDXGIDevice2.Interface
{
[VtblIndex(17)]
void Trim();
}
}

View File

@@ -14,7 +14,7 @@ namespace Win32.Graphics.Dxgi;
[Guid("95b4f95f-d8da-4ca4-9ee6-3b76d5968a10")]
[NativeTypeName("struct IDXGIDevice4 : IDXGIDevice3")]
[NativeInheritance("IDXGIDevice3")]
public unsafe partial struct IDXGIDevice4 : INativeGuid
public unsafe partial struct IDXGIDevice4 : IDXGIDevice4.Interface, INativeGuid
{
public static ref readonly Guid IID_IDXGIDevice4
{
@@ -209,5 +209,13 @@ public unsafe partial struct IDXGIDevice4 : INativeGuid
{
return ((delegate* unmanaged[Stdcall]<IDXGIDevice4*, uint, IDXGIResource**, ReclaimResourceResults*, int>)(lpVtbl[19]))((IDXGIDevice4*)Unsafe.AsPointer(ref this), NumResources, ppResources, pResults);
}
public interface Interface : IDXGIDevice3.Interface
{
[VtblIndex(18)]
HResult OfferResources1(uint NumResources, IDXGIResource** ppResources, OfferResourcePriority Priority, uint Flags);
[VtblIndex(19)]
HResult ReclaimResources1(uint NumResources, IDXGIResource** ppResources, ReclaimResourceResults* pResults);
}
}

View File

@@ -14,7 +14,7 @@ namespace Win32.Graphics.Dxgi;
[Guid("3d3e0379-f9de-4d58-bb6c-18d62992f1a6")]
[NativeTypeName("struct IDXGIDeviceSubObject : IDXGIObject")]
[NativeInheritance("IDXGIObject")]
public unsafe partial struct IDXGIDeviceSubObject : INativeGuid
public unsafe partial struct IDXGIDeviceSubObject : IDXGIDeviceSubObject.Interface, INativeGuid
{
public static ref readonly Guid IID_IDXGIDeviceSubObject
{
@@ -113,5 +113,10 @@ public unsafe partial struct IDXGIDeviceSubObject : INativeGuid
{
return ((delegate* unmanaged[Stdcall]<IDXGIDeviceSubObject*, Guid*, void**, int>)(lpVtbl[7]))((IDXGIDeviceSubObject*)Unsafe.AsPointer(ref this), riid, ppDevice);
}
public interface Interface : IDXGIObject.Interface
{
[VtblIndex(7)]
HResult GetDevice(Guid* riid, void** ppDevice);
}
}

View File

@@ -14,7 +14,7 @@ namespace Win32.Graphics.Dxgi;
[Guid("ea9dbf1a-c88e-4486-854a-98aa0138f30c")]
[NativeTypeName("struct IDXGIDisplayControl : IUnknown")]
[NativeInheritance("IUnknown")]
public unsafe partial struct IDXGIDisplayControl : INativeGuid
public unsafe partial struct IDXGIDisplayControl : IDXGIDisplayControl.Interface, INativeGuid
{
public static ref readonly Guid IID_IDXGIDisplayControl
{
@@ -89,5 +89,13 @@ public unsafe partial struct IDXGIDisplayControl : INativeGuid
{
((delegate* unmanaged[Stdcall]<IDXGIDisplayControl*, Bool32, void>)(lpVtbl[4]))((IDXGIDisplayControl*)Unsafe.AsPointer(ref this), enabled);
}
public interface Interface : IUnknown.Interface
{
[VtblIndex(3)]
Bool32 IsStereoEnabled();
[VtblIndex(4)]
void SetStereoEnabled(Bool32 enabled);
}
}

View File

@@ -14,7 +14,7 @@ namespace Win32.Graphics.Dxgi;
[Guid("7b7166ec-21c7-44ae-b21a-c9ae321ae369")]
[NativeTypeName("struct IDXGIFactory : IDXGIObject")]
[NativeInheritance("IDXGIObject")]
public unsafe partial struct IDXGIFactory : INativeGuid
public unsafe partial struct IDXGIFactory : IDXGIFactory.Interface, INativeGuid
{
public static ref readonly Guid IID_IDXGIFactory
{
@@ -145,5 +145,22 @@ public unsafe partial struct IDXGIFactory : INativeGuid
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory*, IntPtr, IDXGIAdapter**, int>)(lpVtbl[11]))((IDXGIFactory*)Unsafe.AsPointer(ref this), Module, ppAdapter);
}
public interface Interface : IDXGIObject.Interface
{
[VtblIndex(7)]
HResult EnumAdapters(uint Adapter, IDXGIAdapter** ppAdapter);
[VtblIndex(8)]
HResult MakeWindowAssociation(IntPtr WindowHandle, WindowAssociationFlags Flags);
[VtblIndex(9)]
HResult GetWindowAssociation(IntPtr* pWindowHandle);
[VtblIndex(10)]
HResult CreateSwapChain(IUnknown* pDevice, SwapChainDescription* pDesc, IDXGISwapChain** ppSwapChain);
[VtblIndex(11)]
HResult CreateSoftwareAdapter(IntPtr Module, IDXGIAdapter** ppAdapter);
}
}

View File

@@ -14,7 +14,7 @@ namespace Win32.Graphics.Dxgi;
[Guid("770aae78-f26f-4dba-a829-253c83d1b387")]
[NativeTypeName("struct IDXGIFactory1 : IDXGIFactory")]
[NativeInheritance("IDXGIFactory")]
public unsafe partial struct IDXGIFactory1 : INativeGuid
public unsafe partial struct IDXGIFactory1 : IDXGIFactory1.Interface, INativeGuid
{
public static ref readonly Guid IID_IDXGIFactory1
{
@@ -161,5 +161,13 @@ public unsafe partial struct IDXGIFactory1 : INativeGuid
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory1*, Bool32>)(lpVtbl[13]))((IDXGIFactory1*)Unsafe.AsPointer(ref this));
}
public interface Interface : IDXGIFactory.Interface
{
[VtblIndex(12)]
HResult EnumAdapters1(uint Adapter, IDXGIAdapter1** ppAdapter);
[VtblIndex(13)]
Bool32 IsCurrent();
}
}

View File

@@ -14,7 +14,7 @@ namespace Win32.Graphics.Dxgi;
[Guid("50c83a1c-e072-4c48-87b0-3630fa36a6d0")]
[NativeTypeName("struct IDXGIFactory2 : IDXGIFactory1")]
[NativeInheritance("IDXGIFactory1")]
public unsafe partial struct IDXGIFactory2 : INativeGuid
public unsafe partial struct IDXGIFactory2 : IDXGIFactory2.Interface, INativeGuid
{
public static ref readonly Guid IID_IDXGIFactory2
{
@@ -249,5 +249,40 @@ public unsafe partial struct IDXGIFactory2 : INativeGuid
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory2*, IUnknown*, SwapChainDescription1*, IDXGIOutput*, IDXGISwapChain1**, int>)(lpVtbl[24]))((IDXGIFactory2*)Unsafe.AsPointer(ref this), pDevice, pDesc, pRestrictToOutput, ppSwapChain);
}
public interface Interface : IDXGIFactory1.Interface
{
[VtblIndex(14)]
Bool32 IsWindowedStereoEnabled();
[VtblIndex(15)]
HResult CreateSwapChainForHwnd(IUnknown* pDevice, IntPtr hWnd, SwapChainDescription1* pDesc, SwapChainFullscreenDescription* pFullscreenDesc, IDXGIOutput* pRestrictToOutput, IDXGISwapChain1** ppSwapChain);
[VtblIndex(16)]
HResult CreateSwapChainForCoreWindow(IUnknown* pDevice, IUnknown* pWindow, SwapChainDescription1* pDesc, IDXGIOutput* pRestrictToOutput, IDXGISwapChain1** ppSwapChain);
[VtblIndex(17)]
HResult GetSharedResourceAdapterLuid(Handle hResource, Luid* pLuid);
[VtblIndex(18)]
HResult RegisterStereoStatusWindow(IntPtr WindowHandle, uint wMsg, uint* pdwCookie);
[VtblIndex(19)]
HResult RegisterStereoStatusEvent(Handle hEvent, uint* pdwCookie);
[VtblIndex(20)]
void UnregisterStereoStatus(uint dwCookie);
[VtblIndex(21)]
HResult RegisterOcclusionStatusWindow(IntPtr WindowHandle, uint wMsg, uint* pdwCookie);
[VtblIndex(22)]
HResult RegisterOcclusionStatusEvent(Handle hEvent, uint* pdwCookie);
[VtblIndex(23)]
void UnregisterOcclusionStatus(uint dwCookie);
[VtblIndex(24)]
HResult CreateSwapChainForComposition(IUnknown* pDevice, SwapChainDescription1* pDesc, IDXGIOutput* pRestrictToOutput, IDXGISwapChain1** ppSwapChain);
}
}

View File

@@ -14,7 +14,7 @@ namespace Win32.Graphics.Dxgi;
[Guid("25483823-cd46-4c7d-86ca-47aa95b837bd")]
[NativeTypeName("struct IDXGIFactory3 : IDXGIFactory2")]
[NativeInheritance("IDXGIFactory2")]
public unsafe partial struct IDXGIFactory3 : INativeGuid
public unsafe partial struct IDXGIFactory3 : IDXGIFactory3.Interface, INativeGuid
{
public static ref readonly Guid IID_IDXGIFactory3
{
@@ -257,5 +257,10 @@ public unsafe partial struct IDXGIFactory3 : INativeGuid
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory3*, uint>)(lpVtbl[25]))((IDXGIFactory3*)Unsafe.AsPointer(ref this));
}
public interface Interface : IDXGIFactory2.Interface
{
[VtblIndex(25)]
uint GetCreationFlags();
}
}

View File

@@ -14,7 +14,7 @@ namespace Win32.Graphics.Dxgi;
[Guid("1bc6ea02-ef36-464f-bf0c-21ca39e5168a")]
[NativeTypeName("struct IDXGIFactory4 : IDXGIFactory3")]
[NativeInheritance("IDXGIFactory3")]
public unsafe partial struct IDXGIFactory4 : INativeGuid
public unsafe partial struct IDXGIFactory4 : IDXGIFactory4.Interface, INativeGuid
{
public static ref readonly Guid IID_IDXGIFactory4
{
@@ -273,5 +273,13 @@ public unsafe partial struct IDXGIFactory4 : INativeGuid
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory4*, Guid*, void**, int>)(lpVtbl[27]))((IDXGIFactory4*)Unsafe.AsPointer(ref this), riid, ppvAdapter);
}
public interface Interface : IDXGIFactory3.Interface
{
[VtblIndex(26)]
HResult EnumAdapterByLuid(Luid AdapterLuid, Guid* riid, void** ppvAdapter);
[VtblIndex(27)]
HResult EnumWarpAdapter(Guid* riid, void** ppvAdapter);
}
}

View File

@@ -14,7 +14,7 @@ namespace Win32.Graphics.Dxgi;
[Guid("7632e1f5-ee65-4dca-87fd-84cd75f8838d")]
[NativeTypeName("struct IDXGIFactory5 : IDXGIFactory4")]
[NativeInheritance("IDXGIFactory4")]
public unsafe partial struct IDXGIFactory5 : INativeGuid
public unsafe partial struct IDXGIFactory5 : IDXGIFactory5.Interface, INativeGuid
{
public static ref readonly Guid IID_IDXGIFactory5
{
@@ -281,5 +281,10 @@ public unsafe partial struct IDXGIFactory5 : INativeGuid
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory5*, Feature, void*, int, int>)(lpVtbl[28]))((IDXGIFactory5*)Unsafe.AsPointer(ref this), Feature, pFeatureSupportData, FeatureSupportDataSize);
}
public interface Interface : IDXGIFactory4.Interface
{
[VtblIndex(28)]
HResult CheckFeatureSupport(Feature Feature, void* pFeatureSupportData, int FeatureSupportDataSize);
}
}

View File

@@ -14,7 +14,7 @@ namespace Win32.Graphics.Dxgi;
[Guid("c1b6694f-ff09-44a9-b03c-77900a0a1d17")]
[NativeTypeName("struct IDXGIFactory6 : IDXGIFactory5")]
[NativeInheritance("IDXGIFactory5")]
public unsafe partial struct IDXGIFactory6 : INativeGuid
public unsafe partial struct IDXGIFactory6 : IDXGIFactory6.Interface, INativeGuid
{
public static ref readonly Guid IID_IDXGIFactory6
{
@@ -289,5 +289,10 @@ public unsafe partial struct IDXGIFactory6 : INativeGuid
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory6*, uint, GpuPreference, Guid*, void**, int>)(lpVtbl[29]))((IDXGIFactory6*)Unsafe.AsPointer(ref this), Adapter, GpuPreference, riid, ppvAdapter);
}
public interface Interface : IDXGIFactory5.Interface
{
[VtblIndex(29)]
HResult EnumAdapterByGpuPreference(uint Adapter, GpuPreference GpuPreference, Guid* riid, void** ppvAdapter);
}
}

View File

@@ -14,7 +14,7 @@ namespace Win32.Graphics.Dxgi;
[Guid("a4966eed-76db-44da-84c1-ee9a7afb20a8")]
[NativeTypeName("struct IDXGIFactory7 : IDXGIFactory6")]
[NativeInheritance("IDXGIFactory6")]
public unsafe partial struct IDXGIFactory7 : INativeGuid
public unsafe partial struct IDXGIFactory7 : IDXGIFactory7.Interface, INativeGuid
{
public static ref readonly Guid IID_IDXGIFactory7
{
@@ -305,5 +305,13 @@ public unsafe partial struct IDXGIFactory7 : INativeGuid
{
return ((delegate* unmanaged[Stdcall]<IDXGIFactory7*, uint, int>)(lpVtbl[31]))((IDXGIFactory7*)Unsafe.AsPointer(ref this), dwCookie);
}
public interface Interface : IDXGIFactory6.Interface
{
[VtblIndex(30)]
HResult RegisterAdaptersChangedEvent(Handle hEvent, uint* pdwCookie);
[VtblIndex(31)]
HResult UnregisterAdaptersChangedEvent(uint dwCookie);
}
}

View File

@@ -14,7 +14,7 @@ namespace Win32.Graphics.Dxgi;
[Guid("41e7d1f2-a591-4f7b-a2e5-fa9c843e1c12")]
[NativeTypeName("struct IDXGIFactoryMedia : IUnknown")]
[NativeInheritance("IUnknown")]
public unsafe partial struct IDXGIFactoryMedia : INativeGuid
public unsafe partial struct IDXGIFactoryMedia : IDXGIFactoryMedia.Interface, INativeGuid
{
public static ref readonly Guid IID_IDXGIFactoryMedia
{
@@ -89,5 +89,13 @@ public unsafe partial struct IDXGIFactoryMedia : INativeGuid
{
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);
}
public interface Interface : IUnknown.Interface
{
[VtblIndex(3)]
HResult CreateSwapChainForCompositionSurfaceHandle(IUnknown* pDevice, Handle hSurface, SwapChainDescription1* pDesc, IDXGIOutput* pRestrictToOutput, IDXGISwapChain1** ppSwapChain);
[VtblIndex(4)]
HResult CreateDecodeSwapChainForCompositionSurfaceHandle(IUnknown* pDevice, Handle hSurface, DecodeSwapChainDescription* pDesc, IDXGIResource* pYuvDecodeBuffers, IDXGIOutput* pRestrictToOutput, IDXGIDecodeSwapChain** ppSwapChain);
}
}

View File

@@ -14,7 +14,7 @@ namespace Win32.Graphics.Dxgi;
[Guid("d67441c7-672a-476f-9e82-cd55b44949ce")]
[NativeTypeName("struct IDXGIInfoQueue : IUnknown")]
[NativeInheritance("IUnknown")]
public unsafe partial struct IDXGIInfoQueue : INativeGuid
public unsafe partial struct IDXGIInfoQueue : IDXGIInfoQueue.Interface, INativeGuid
{
public static ref readonly Guid IID_IDXGIInfoQueue
{
@@ -369,5 +369,118 @@ public unsafe partial struct IDXGIInfoQueue : INativeGuid
{
return ((delegate* unmanaged[Stdcall]<IDXGIInfoQueue*, Guid, Bool32>)(lpVtbl[39]))((IDXGIInfoQueue*)Unsafe.AsPointer(ref this), Producer);
}
public interface Interface : IUnknown.Interface
{
[VtblIndex(3)]
HResult SetMessageCountLimit(Guid Producer, ulong MessageCountLimit);
[VtblIndex(4)]
void ClearStoredMessages(Guid Producer);
[VtblIndex(5)]
HResult GetMessage(Guid Producer, ulong MessageIndex, InfoQueueMessage* pMessage, nuint* pMessageByteLength);
[VtblIndex(6)]
ulong GetNumStoredMessagesAllowedByRetrievalFilters(Guid Producer);
[VtblIndex(7)]
ulong GetNumStoredMessages(Guid Producer);
[VtblIndex(8)]
ulong GetNumMessagesDiscardedByMessageCountLimit(Guid Producer);
[VtblIndex(9)]
ulong GetMessageCountLimit(Guid Producer);
[VtblIndex(10)]
ulong GetNumMessagesAllowedByStorageFilter(Guid Producer);
[VtblIndex(11)]
ulong GetNumMessagesDeniedByStorageFilter(Guid Producer);
[VtblIndex(12)]
HResult AddStorageFilterEntries(Guid Producer, InfoQueueFilter* pFilter);
[VtblIndex(13)]
HResult GetStorageFilter(Guid Producer, InfoQueueFilter* pFilter, nuint* pFilterByteLength);
[VtblIndex(14)]
void ClearStorageFilter(Guid Producer);
[VtblIndex(15)]
HResult PushEmptyStorageFilter(Guid Producer);
[VtblIndex(16)]
HResult PushDenyAllStorageFilter(Guid Producer);
[VtblIndex(17)]
HResult PushCopyOfStorageFilter(Guid Producer);
[VtblIndex(18)]
HResult PushStorageFilter(Guid Producer, InfoQueueFilter* pFilter);
[VtblIndex(19)]
void PopStorageFilter(Guid Producer);
[VtblIndex(20)]
uint GetStorageFilterStackSize(Guid Producer);
[VtblIndex(21)]
HResult AddRetrievalFilterEntries(Guid Producer, InfoQueueFilter* pFilter);
[VtblIndex(22)]
HResult GetRetrievalFilter(Guid Producer, InfoQueueFilter* pFilter, nuint* pFilterByteLength);
[VtblIndex(23)]
void ClearRetrievalFilter(Guid Producer);
[VtblIndex(24)]
HResult PushEmptyRetrievalFilter(Guid Producer);
[VtblIndex(25)]
HResult PushDenyAllRetrievalFilter(Guid Producer);
[VtblIndex(26)]
HResult PushCopyOfRetrievalFilter(Guid Producer);
[VtblIndex(27)]
HResult PushRetrievalFilter(Guid Producer, InfoQueueFilter* pFilter);
[VtblIndex(28)]
void PopRetrievalFilter(Guid Producer);
[VtblIndex(29)]
uint GetRetrievalFilterStackSize(Guid Producer);
[VtblIndex(30)]
HResult AddMessage(Guid Producer, InfoQueueMessageCategory Category, InfoQueueMessageSeverity Severity, int ID, sbyte* pDescription);
[VtblIndex(31)]
HResult AddApplicationMessage(InfoQueueMessageSeverity Severity, sbyte* pDescription);
[VtblIndex(32)]
HResult SetBreakOnCategory(Guid Producer, InfoQueueMessageCategory Category, Bool32 bEnable);
[VtblIndex(33)]
HResult SetBreakOnSeverity(Guid Producer, InfoQueueMessageSeverity Severity, Bool32 bEnable);
[VtblIndex(34)]
HResult SetBreakOnID(Guid Producer, int ID, Bool32 bEnable);
[VtblIndex(35)]
Bool32 GetBreakOnCategory(Guid Producer, InfoQueueMessageCategory Category);
[VtblIndex(36)]
Bool32 GetBreakOnSeverity(Guid Producer, InfoQueueMessageSeverity Severity);
[VtblIndex(37)]
Bool32 GetBreakOnID(Guid Producer, int ID);
[VtblIndex(38)]
void SetMuteDebugOutput(Guid Producer, Bool32 bMute);
[VtblIndex(39)]
Bool32 GetMuteDebugOutput(Guid Producer);
}
}

View File

@@ -14,7 +14,7 @@ namespace Win32.Graphics.Dxgi;
[Guid("9d8e1289-d7b3-465f-8126-250e349af85d")]
[NativeTypeName("struct IDXGIKeyedMutex : IDXGIDeviceSubObject")]
[NativeInheritance("IDXGIDeviceSubObject")]
public unsafe partial struct IDXGIKeyedMutex : INativeGuid
public unsafe partial struct IDXGIKeyedMutex : IDXGIKeyedMutex.Interface, INativeGuid
{
public static ref readonly Guid IID_IDXGIKeyedMutex
{
@@ -129,5 +129,13 @@ public unsafe partial struct IDXGIKeyedMutex : INativeGuid
{
return ((delegate* unmanaged[Stdcall]<IDXGIKeyedMutex*, ulong, int>)(lpVtbl[9]))((IDXGIKeyedMutex*)Unsafe.AsPointer(ref this), Key);
}
public interface Interface : IDXGIDeviceSubObject.Interface
{
[VtblIndex(8)]
HResult AcquireSync(ulong Key, uint dwMilliseconds);
[VtblIndex(9)]
HResult ReleaseSync(ulong Key);
}
}

View File

@@ -14,7 +14,7 @@ namespace Win32.Graphics.Dxgi;
[Guid("aec22fb8-76f3-4639-9be0-28eb43a67a2e")]
[NativeTypeName("struct IDXGIObject : IUnknown")]
[NativeInheritance("IUnknown")]
public unsafe partial struct IDXGIObject : INativeGuid
public unsafe partial struct IDXGIObject : IDXGIObject.Interface, INativeGuid
{
public static ref readonly Guid IID_IDXGIObject
{
@@ -105,5 +105,19 @@ public unsafe partial struct IDXGIObject : INativeGuid
{
return ((delegate* unmanaged[Stdcall]<IDXGIObject*, Guid*, void**, int>)(lpVtbl[6]))((IDXGIObject*)Unsafe.AsPointer(ref this), riid, ppParent);
}
public interface Interface : IUnknown.Interface
{
[VtblIndex(3)]
HResult SetPrivateData(Guid* Name, uint DataSize, void* pData);
[VtblIndex(4)]
HResult SetPrivateDataInterface(Guid* Name, IUnknown* pUnknown);
[VtblIndex(5)]
HResult GetPrivateData(Guid* Name, uint* pDataSize, void* pData);
[VtblIndex(6)]
HResult GetParent(Guid* riid, void** ppParent);
}
}

View File

@@ -14,7 +14,7 @@ namespace Win32.Graphics.Dxgi;
[Guid("ae02eedb-c735-4690-8d52-5a8dc20213aa")]
[NativeTypeName("struct IDXGIOutput : IDXGIObject")]
[NativeInheritance("IDXGIObject")]
public unsafe partial struct IDXGIOutput : INativeGuid
public unsafe partial struct IDXGIOutput : IDXGIOutput.Interface, INativeGuid
{
public static ref readonly Guid IID_IDXGIOutput
{
@@ -201,5 +201,43 @@ public unsafe partial struct IDXGIOutput : INativeGuid
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput*, FrameStatistics*, int>)(lpVtbl[18]))((IDXGIOutput*)Unsafe.AsPointer(ref this), pStats);
}
public interface Interface : IDXGIObject.Interface
{
[VtblIndex(7)]
HResult GetDesc(OutputDescription* pDesc);
[VtblIndex(8)]
HResult GetDisplayModeList(Common.Format EnumFormat, EnumModesFlags Flags, uint* pNumModes, Common.ModeDescription* pDesc);
[VtblIndex(9)]
HResult FindClosestMatchingMode(Common.ModeDescription* pModeToMatch, Common.ModeDescription* pClosestMatch, IUnknown* pConcernedDevice);
[VtblIndex(10)]
HResult WaitForVBlank();
[VtblIndex(11)]
HResult TakeOwnership(IUnknown* pDevice, Bool32 Exclusive);
[VtblIndex(12)]
void ReleaseOwnership();
[VtblIndex(13)]
HResult GetGammaControlCapabilities(Common.GammaControlCapabilities* pGammaCaps);
[VtblIndex(14)]
HResult SetGammaControl(Common.GammaControl* pArray);
[VtblIndex(15)]
HResult GetGammaControl(Common.GammaControl* pArray);
[VtblIndex(16)]
HResult SetDisplaySurface(IDXGISurface* pScanoutSurface);
[VtblIndex(17)]
HResult GetDisplaySurfaceData(IDXGISurface* pDestination);
[VtblIndex(18)]
HResult GetFrameStatistics(FrameStatistics* pStats);
}
}

View File

@@ -14,7 +14,7 @@ namespace Win32.Graphics.Dxgi;
[Guid("00cddea8-939b-4b83-a340-a685226666cc")]
[NativeTypeName("struct IDXGIOutput1 : IDXGIOutput")]
[NativeInheritance("IDXGIOutput")]
public unsafe partial struct IDXGIOutput1 : INativeGuid
public unsafe partial struct IDXGIOutput1 : IDXGIOutput1.Interface, INativeGuid
{
public static ref readonly Guid IID_IDXGIOutput1
{
@@ -233,5 +233,19 @@ public unsafe partial struct IDXGIOutput1 : INativeGuid
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput1*, IUnknown*, IDXGIOutputDuplication**, int>)(lpVtbl[22]))((IDXGIOutput1*)Unsafe.AsPointer(ref this), pDevice, ppOutputDuplication);
}
public interface Interface : IDXGIOutput.Interface
{
[VtblIndex(19)]
HResult GetDisplayModeList1(Common.Format EnumFormat, uint Flags, uint* pNumModes, ModeDescription1* pDesc);
[VtblIndex(20)]
HResult FindClosestMatchingMode1(ModeDescription1* pModeToMatch, ModeDescription1* pClosestMatch, IUnknown* pConcernedDevice);
[VtblIndex(21)]
HResult GetDisplaySurfaceData1(IDXGIResource* pDestination);
[VtblIndex(22)]
HResult DuplicateOutput(IUnknown* pDevice, IDXGIOutputDuplication** ppOutputDuplication);
}
}

View File

@@ -14,7 +14,7 @@ namespace Win32.Graphics.Dxgi;
[Guid("595e39d1-2724-4663-99b1-da969de28364")]
[NativeTypeName("struct IDXGIOutput2 : IDXGIOutput1")]
[NativeInheritance("IDXGIOutput1")]
public unsafe partial struct IDXGIOutput2 : INativeGuid
public unsafe partial struct IDXGIOutput2 : IDXGIOutput2.Interface, INativeGuid
{
public static ref readonly Guid IID_IDXGIOutput2
{
@@ -241,5 +241,10 @@ public unsafe partial struct IDXGIOutput2 : INativeGuid
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput2*, Bool32>)(lpVtbl[23]))((IDXGIOutput2*)Unsafe.AsPointer(ref this));
}
public interface Interface : IDXGIOutput1.Interface
{
[VtblIndex(23)]
Bool32 SupportsOverlays();
}
}

View File

@@ -14,7 +14,7 @@ namespace Win32.Graphics.Dxgi;
[Guid("8a6bb301-7e7e-41f4-a8e0-5b32f7f99b18")]
[NativeTypeName("struct IDXGIOutput3 : IDXGIOutput2")]
[NativeInheritance("IDXGIOutput2")]
public unsafe partial struct IDXGIOutput3 : INativeGuid
public unsafe partial struct IDXGIOutput3 : IDXGIOutput3.Interface, INativeGuid
{
public static ref readonly Guid IID_IDXGIOutput3
{
@@ -249,5 +249,10 @@ public unsafe partial struct IDXGIOutput3 : INativeGuid
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput3*, Common.Format, IUnknown*, uint*, int>)(lpVtbl[24]))((IDXGIOutput3*)Unsafe.AsPointer(ref this), EnumFormat, pConcernedDevice, pFlags);
}
public interface Interface : IDXGIOutput2.Interface
{
[VtblIndex(24)]
HResult CheckOverlaySupport(Common.Format EnumFormat, IUnknown* pConcernedDevice, uint* pFlags);
}
}

View File

@@ -14,7 +14,7 @@ namespace Win32.Graphics.Dxgi;
[Guid("dc7dca35-2196-414d-9f53-617884032a60")]
[NativeTypeName("struct IDXGIOutput4 : IDXGIOutput3")]
[NativeInheritance("IDXGIOutput3")]
public unsafe partial struct IDXGIOutput4 : INativeGuid
public unsafe partial struct IDXGIOutput4 : IDXGIOutput4.Interface, INativeGuid
{
public static ref readonly Guid IID_IDXGIOutput4
{
@@ -257,5 +257,10 @@ public unsafe partial struct IDXGIOutput4 : INativeGuid
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput4*, Common.Format, Common.ColorSpaceType, IUnknown*, uint*, int>)(lpVtbl[25]))((IDXGIOutput4*)Unsafe.AsPointer(ref this), Format, ColorSpace, pConcernedDevice, pFlags);
}
public interface Interface : IDXGIOutput3.Interface
{
[VtblIndex(25)]
HResult CheckOverlayColorSpaceSupport(Common.Format Format, Common.ColorSpaceType ColorSpace, IUnknown* pConcernedDevice, uint* pFlags);
}
}

View File

@@ -14,7 +14,7 @@ namespace Win32.Graphics.Dxgi;
[Guid("80a07424-ab52-42eb-833c-0c42fd282d98")]
[NativeTypeName("struct IDXGIOutput5 : IDXGIOutput4")]
[NativeInheritance("IDXGIOutput4")]
public unsafe partial struct IDXGIOutput5 : INativeGuid
public unsafe partial struct IDXGIOutput5 : IDXGIOutput5.Interface, INativeGuid
{
public static ref readonly Guid IID_IDXGIOutput5
{
@@ -265,5 +265,10 @@ public unsafe partial struct IDXGIOutput5 : INativeGuid
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput5*, IUnknown*, uint, uint, Common.Format*, IDXGIOutputDuplication**, int>)(lpVtbl[26]))((IDXGIOutput5*)Unsafe.AsPointer(ref this), pDevice, Flags, SupportedFormatsCount, pSupportedFormats, ppOutputDuplication);
}
public interface Interface : IDXGIOutput4.Interface
{
[VtblIndex(26)]
HResult DuplicateOutput1(IUnknown* pDevice, uint Flags, uint SupportedFormatsCount, Common.Format* pSupportedFormats, IDXGIOutputDuplication** ppOutputDuplication);
}
}

View File

@@ -14,7 +14,7 @@ namespace Win32.Graphics.Dxgi;
[Guid("068346e8-aaec-4b84-add7-137f513f77a1")]
[NativeTypeName("struct IDXGIOutput6 : IDXGIOutput5")]
[NativeInheritance("IDXGIOutput5")]
public unsafe partial struct IDXGIOutput6 : INativeGuid
public unsafe partial struct IDXGIOutput6 : IDXGIOutput6.Interface, INativeGuid
{
public static ref readonly Guid IID_IDXGIOutput6
{
@@ -281,5 +281,13 @@ public unsafe partial struct IDXGIOutput6 : INativeGuid
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutput6*, uint*, int>)(lpVtbl[28]))((IDXGIOutput6*)Unsafe.AsPointer(ref this), pFlags);
}
public interface Interface : IDXGIOutput5.Interface
{
[VtblIndex(27)]
HResult GetDesc1(OutputDescription1* pDesc);
[VtblIndex(28)]
HResult CheckHardwareCompositionSupport(uint* pFlags);
}
}

View File

@@ -14,7 +14,7 @@ namespace Win32.Graphics.Dxgi;
[Guid("191cfac3-a341-470d-b26e-a864f428319c")]
[NativeTypeName("struct IDXGIOutputDuplication : IDXGIObject")]
[NativeInheritance("IDXGIObject")]
public unsafe partial struct IDXGIOutputDuplication : INativeGuid
public unsafe partial struct IDXGIOutputDuplication : IDXGIOutputDuplication.Interface, INativeGuid
{
public static ref readonly Guid IID_IDXGIOutputDuplication
{
@@ -169,5 +169,31 @@ public unsafe partial struct IDXGIOutputDuplication : INativeGuid
{
return ((delegate* unmanaged[Stdcall]<IDXGIOutputDuplication*, int>)(lpVtbl[14]))((IDXGIOutputDuplication*)Unsafe.AsPointer(ref this));
}
public interface Interface : IDXGIObject.Interface
{
[VtblIndex(7)]
void GetDesc(OutduplDescription* pDesc);
[VtblIndex(8)]
HResult AcquireNextFrame(uint TimeoutInMilliseconds, OutduplFrameInfo* pFrameInfo, IDXGIResource** ppDesktopResource);
[VtblIndex(9)]
HResult GetFrameDirtyRects(uint DirtyRectsBufferSize, RawRect* pDirtyRectsBuffer, uint* pDirtyRectsBufferSizeRequired);
[VtblIndex(10)]
HResult GetFrameMoveRects(uint MoveRectsBufferSize, OutduplMoveRect* pMoveRectBuffer, uint* pMoveRectsBufferSizeRequired);
[VtblIndex(11)]
HResult GetFramePointerShape(uint PointerShapeBufferSize, void* pPointerShapeBuffer, uint* pPointerShapeBufferSizeRequired, OutduplPointerShapeInfo* pPointerShapeInfo);
[VtblIndex(12)]
HResult MapDesktopSurface(MappedRect* pLockedRect);
[VtblIndex(13)]
HResult UnMapDesktopSurface();
[VtblIndex(14)]
HResult ReleaseFrame();
}
}

View File

@@ -14,7 +14,7 @@ namespace Win32.Graphics.Dxgi;
[Guid("035f3ab4-482e-4e50-b41f-8a7f8bd8960b")]
[NativeTypeName("struct IDXGIResource : IDXGIDeviceSubObject")]
[NativeInheritance("IDXGIDeviceSubObject")]
public unsafe partial struct IDXGIResource : INativeGuid
public unsafe partial struct IDXGIResource : IDXGIResource.Interface, INativeGuid
{
public static ref readonly Guid IID_IDXGIResource
{
@@ -145,5 +145,19 @@ public unsafe partial struct IDXGIResource : INativeGuid
{
return ((delegate* unmanaged[Stdcall]<IDXGIResource*, uint*, int>)(lpVtbl[11]))((IDXGIResource*)Unsafe.AsPointer(ref this), pEvictionPriority);
}
public interface Interface : IDXGIDeviceSubObject.Interface
{
[VtblIndex(8)]
HResult GetSharedHandle(Handle* pSharedHandle);
[VtblIndex(9)]
HResult GetUsage(Usage* pUsage);
[VtblIndex(10)]
HResult SetEvictionPriority(ResourcePriority EvictionPriority);
[VtblIndex(11)]
HResult GetEvictionPriority(uint* pEvictionPriority);
}
}

View File

@@ -14,7 +14,7 @@ namespace Win32.Graphics.Dxgi;
[Guid("30961379-4609-4a41-998e-54fe567ee0c1")]
[NativeTypeName("struct IDXGIResource1 : IDXGIResource")]
[NativeInheritance("IDXGIResource")]
public unsafe partial struct IDXGIResource1 : INativeGuid
public unsafe partial struct IDXGIResource1 : IDXGIResource1.Interface, INativeGuid
{
public static ref readonly Guid IID_IDXGIResource1
{
@@ -161,5 +161,13 @@ public unsafe partial struct IDXGIResource1 : INativeGuid
{
return ((delegate* unmanaged[Stdcall]<IDXGIResource1*, Security.SECURITY_ATTRIBUTES*, uint, ushort*, Handle*, int>)(lpVtbl[13]))((IDXGIResource1*)Unsafe.AsPointer(ref this), pAttributes, dwAccess, lpName, pHandle);
}
public interface Interface : IDXGIResource.Interface
{
[VtblIndex(12)]
HResult CreateSubresourceSurface(uint index, IDXGISurface2** ppSurface);
[VtblIndex(13)]
HResult CreateSharedHandle(Security.SECURITY_ATTRIBUTES* pAttributes, uint dwAccess, ushort* lpName, Handle* pHandle);
}
}

View File

@@ -14,7 +14,7 @@ namespace Win32.Graphics.Dxgi;
[Guid("cafcb56c-6ac3-4889-bf47-9e23bbd260ec")]
[NativeTypeName("struct IDXGISurface : IDXGIDeviceSubObject")]
[NativeInheritance("IDXGIDeviceSubObject")]
public unsafe partial struct IDXGISurface : INativeGuid
public unsafe partial struct IDXGISurface : IDXGISurface.Interface, INativeGuid
{
public static ref readonly Guid IID_IDXGISurface
{
@@ -137,5 +137,16 @@ public unsafe partial struct IDXGISurface : INativeGuid
{
return ((delegate* unmanaged[Stdcall]<IDXGISurface*, int>)(lpVtbl[10]))((IDXGISurface*)Unsafe.AsPointer(ref this));
}
public interface Interface : IDXGIDeviceSubObject.Interface
{
[VtblIndex(8)]
HResult GetDesc(SurfaceDescription* pDesc);
[VtblIndex(9)]
HResult Map(MappedRect* pLockedRect, uint MapFlags);
[VtblIndex(10)]
HResult Unmap();
}
}

View File

@@ -14,7 +14,7 @@ namespace Win32.Graphics.Dxgi;
[Guid("4ae63092-6327-4c1b-80ae-bfe12ea32b86")]
[NativeTypeName("struct IDXGISurface1 : IDXGISurface")]
[NativeInheritance("IDXGISurface")]
public unsafe partial struct IDXGISurface1 : INativeGuid
public unsafe partial struct IDXGISurface1 : IDXGISurface1.Interface, INativeGuid
{
public static ref readonly Guid IID_IDXGISurface1
{
@@ -153,5 +153,13 @@ public unsafe partial struct IDXGISurface1 : INativeGuid
{
return ((delegate* unmanaged[Stdcall]<IDXGISurface1*, RawRect*, int>)(lpVtbl[12]))((IDXGISurface1*)Unsafe.AsPointer(ref this), pDirtyRect);
}
public interface Interface : IDXGISurface.Interface
{
[VtblIndex(11)]
HResult GetDC(Bool32 Discard, IntPtr* phdc);
[VtblIndex(12)]
HResult ReleaseDC(RawRect* pDirtyRect);
}
}

View File

@@ -14,7 +14,7 @@ namespace Win32.Graphics.Dxgi;
[Guid("aba496dd-b617-4cb8-a866-bc44d7eb1fa2")]
[NativeTypeName("struct IDXGISurface2 : IDXGISurface1")]
[NativeInheritance("IDXGISurface1")]
public unsafe partial struct IDXGISurface2 : INativeGuid
public unsafe partial struct IDXGISurface2 : IDXGISurface2.Interface, INativeGuid
{
public static ref readonly Guid IID_IDXGISurface2
{
@@ -161,5 +161,10 @@ public unsafe partial struct IDXGISurface2 : INativeGuid
{
return ((delegate* unmanaged[Stdcall]<IDXGISurface2*, Guid*, void**, uint*, int>)(lpVtbl[13]))((IDXGISurface2*)Unsafe.AsPointer(ref this), riid, ppParentResource, pSubresourceIndex);
}
public interface Interface : IDXGISurface1.Interface
{
[VtblIndex(13)]
HResult GetResource(Guid* riid, void** ppParentResource, uint* pSubresourceIndex);
}
}

View File

@@ -14,7 +14,7 @@ namespace Win32.Graphics.Dxgi;
[Guid("310d36a0-d2e7-4c0a-aa04-6a9d23b8886a")]
[NativeTypeName("struct IDXGISwapChain : IDXGIDeviceSubObject")]
[NativeInheritance("IDXGIDeviceSubObject")]
public unsafe partial struct IDXGISwapChain : INativeGuid
public unsafe partial struct IDXGISwapChain : IDXGISwapChain.Interface, INativeGuid
{
public static ref readonly Guid IID_IDXGISwapChain
{
@@ -193,5 +193,37 @@ public unsafe partial struct IDXGISwapChain : INativeGuid
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain*, uint*, int>)(lpVtbl[17]))((IDXGISwapChain*)Unsafe.AsPointer(ref this), pLastPresentCount);
}
public interface Interface : IDXGIDeviceSubObject.Interface
{
[VtblIndex(8)]
HResult Present(uint SyncInterval, PresentFlags Flags);
[VtblIndex(9)]
HResult GetBuffer(uint Buffer, Guid* riid, void** ppSurface);
[VtblIndex(10)]
HResult SetFullscreenState(Bool32 Fullscreen, IDXGIOutput* pTarget);
[VtblIndex(11)]
HResult GetFullscreenState(Bool32* pFullscreen, IDXGIOutput** ppTarget);
[VtblIndex(12)]
HResult GetDesc(SwapChainDescription* pDesc);
[VtblIndex(13)]
HResult ResizeBuffers(uint BufferCount, uint Width, uint Height, Common.Format NewFormat, SwapChainFlags SwapChainFlags);
[VtblIndex(14)]
HResult ResizeTarget(Common.ModeDescription* pNewTargetParameters);
[VtblIndex(15)]
HResult GetContainingOutput(IDXGIOutput** ppOutput);
[VtblIndex(16)]
HResult GetFrameStatistics(FrameStatistics* pStats);
[VtblIndex(17)]
HResult GetLastPresentCount(uint* pLastPresentCount);
}
}

View File

@@ -14,7 +14,7 @@ namespace Win32.Graphics.Dxgi;
[Guid("790a45f7-0d42-4876-983a-0a55cfe6f4aa")]
[NativeTypeName("struct IDXGISwapChain1 : IDXGISwapChain")]
[NativeInheritance("IDXGISwapChain")]
public unsafe partial struct IDXGISwapChain1 : INativeGuid
public unsafe partial struct IDXGISwapChain1 : IDXGISwapChain1.Interface, INativeGuid
{
public static ref readonly Guid IID_IDXGISwapChain1
{
@@ -281,5 +281,40 @@ public unsafe partial struct IDXGISwapChain1 : INativeGuid
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain1*, Common.ModeRotation*, int>)(lpVtbl[28]))((IDXGISwapChain1*)Unsafe.AsPointer(ref this), pRotation);
}
public interface Interface : IDXGISwapChain.Interface
{
[VtblIndex(18)]
HResult GetDesc1(SwapChainDescription1* pDesc);
[VtblIndex(19)]
HResult GetFullscreenDesc(SwapChainFullscreenDescription* pDesc);
[VtblIndex(20)]
HResult GetHwnd(IntPtr* pHwnd);
[VtblIndex(21)]
HResult GetCoreWindow(Guid* refiid, void** ppUnk);
[VtblIndex(22)]
HResult Present1(uint SyncInterval, uint PresentFlags, PresentParameters* pPresentParameters);
[VtblIndex(23)]
Bool32 IsTemporaryMonoSupported();
[VtblIndex(24)]
HResult GetRestrictToOutput(IDXGIOutput** ppRestrictToOutput);
[VtblIndex(25)]
HResult SetBackgroundColor(Color4* pColor);
[VtblIndex(26)]
HResult GetBackgroundColor(Color4** pColor);
[VtblIndex(27)]
HResult SetRotation(Common.ModeRotation Rotation);
[VtblIndex(28)]
HResult GetRotation(Common.ModeRotation* pRotation);
}
}

View File

@@ -14,7 +14,7 @@ namespace Win32.Graphics.Dxgi;
[Guid("a8be2ac4-199f-4946-b331-79599fb98de7")]
[NativeTypeName("struct IDXGISwapChain2 : IDXGISwapChain1")]
[NativeInheritance("IDXGISwapChain1")]
public unsafe partial struct IDXGISwapChain2 : INativeGuid
public unsafe partial struct IDXGISwapChain2 : IDXGISwapChain2.Interface, INativeGuid
{
public static ref readonly Guid IID_IDXGISwapChain2
{
@@ -337,5 +337,28 @@ public unsafe partial struct IDXGISwapChain2 : INativeGuid
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain2*, Matrix3x2*, int>)(lpVtbl[35]))((IDXGISwapChain2*)Unsafe.AsPointer(ref this), pMatrix);
}
public interface Interface : IDXGISwapChain1.Interface
{
[VtblIndex(29)]
HResult SetSourceSize(uint Width, uint Height);
[VtblIndex(30)]
HResult GetSourceSize(uint* pWidth, uint* pHeight);
[VtblIndex(31)]
HResult SetMaximumFrameLatency(uint MaxLatency);
[VtblIndex(32)]
HResult GetMaximumFrameLatency(uint* pMaxLatency);
[VtblIndex(33)]
Handle GetFrameLatencyWaitableObject();
[VtblIndex(34)]
HResult SetMatrixTransform(Matrix3x2* pMatrix);
[VtblIndex(35)]
HResult GetMatrixTransform(Matrix3x2* pMatrix);
}
}

View File

@@ -14,7 +14,7 @@ namespace Win32.Graphics.Dxgi;
[Guid("94d99bdb-f1f8-4ab0-b236-7da0170edab1")]
[NativeTypeName("struct IDXGISwapChain3 : IDXGISwapChain2")]
[NativeInheritance("IDXGISwapChain2")]
public unsafe partial struct IDXGISwapChain3 : INativeGuid
public unsafe partial struct IDXGISwapChain3 : IDXGISwapChain3.Interface, INativeGuid
{
public static ref readonly Guid IID_IDXGISwapChain3
{
@@ -369,5 +369,19 @@ public unsafe partial struct IDXGISwapChain3 : INativeGuid
{
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);
}
public interface Interface : IDXGISwapChain2.Interface
{
[VtblIndex(36)]
uint GetCurrentBackBufferIndex();
[VtblIndex(37)]
HResult CheckColorSpaceSupport(Common.ColorSpaceType ColorSpace, uint* pColorSpaceSupport);
[VtblIndex(38)]
HResult SetColorSpace1(Common.ColorSpaceType ColorSpace);
[VtblIndex(39)]
HResult ResizeBuffers1(uint BufferCount, uint Width, uint Height, Common.Format Format, uint SwapChainFlags, uint* pCreationNodeMask, IUnknown** ppPresentQueue);
}
}

View File

@@ -14,7 +14,7 @@ namespace Win32.Graphics.Dxgi;
[Guid("3d585d5a-bd4a-489e-b1f4-3dbcb6452ffb")]
[NativeTypeName("struct IDXGISwapChain4 : IDXGISwapChain3")]
[NativeInheritance("IDXGISwapChain3")]
public unsafe partial struct IDXGISwapChain4 : INativeGuid
public unsafe partial struct IDXGISwapChain4 : IDXGISwapChain4.Interface, INativeGuid
{
public static ref readonly Guid IID_IDXGISwapChain4
{
@@ -377,5 +377,10 @@ public unsafe partial struct IDXGISwapChain4 : INativeGuid
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChain4*, HDRMetadataType, uint, void*, int>)(lpVtbl[40]))((IDXGISwapChain4*)Unsafe.AsPointer(ref this), Type, Size, pMetaData);
}
public interface Interface : IDXGISwapChain3.Interface
{
[VtblIndex(40)]
HResult SetHDRMetaData(HDRMetadataType Type, uint Size, void* pMetaData);
}
}

View File

@@ -14,7 +14,7 @@ namespace Win32.Graphics.Dxgi;
[Guid("dd95b90b-f05f-4f6a-bd65-25bfb264bd84")]
[NativeTypeName("struct IDXGISwapChainMedia : IUnknown")]
[NativeInheritance("IUnknown")]
public unsafe partial struct IDXGISwapChainMedia : INativeGuid
public unsafe partial struct IDXGISwapChainMedia : IDXGISwapChainMedia.Interface, INativeGuid
{
public static ref readonly Guid IID_IDXGISwapChainMedia
{
@@ -97,5 +97,16 @@ public unsafe partial struct IDXGISwapChainMedia : INativeGuid
{
return ((delegate* unmanaged[Stdcall]<IDXGISwapChainMedia*, uint, uint*, uint*, int>)(lpVtbl[5]))((IDXGISwapChainMedia*)Unsafe.AsPointer(ref this), DesiredPresentDuration, pClosestSmallerPresentDuration, pClosestLargerPresentDuration);
}
public interface Interface : IUnknown.Interface
{
[VtblIndex(3)]
HResult GetFrameStatisticsMedia(FrameStatisticsMedia* pStats);
[VtblIndex(4)]
HResult SetPresentDuration(uint Duration);
[VtblIndex(5)]
HResult CheckPresentDurationSupport(uint DesiredPresentDuration, uint* pClosestSmallerPresentDuration, uint* pClosestLargerPresentDuration);
}
}

View File

@@ -14,7 +14,7 @@ namespace Win32.Graphics.Dxgi;
[Guid("9f251514-9d4d-4902-9d60-18988ab7d4b5")]
[NativeTypeName("struct IDXGraphicsAnalysis : IUnknown")]
[NativeInheritance("IUnknown")]
public unsafe partial struct IDXGraphicsAnalysis : INativeGuid
public unsafe partial struct IDXGraphicsAnalysis : IDXGraphicsAnalysis.Interface, INativeGuid
{
public static ref readonly Guid IID_IDXGraphicsAnalysis
{
@@ -89,5 +89,13 @@ public unsafe partial struct IDXGraphicsAnalysis : INativeGuid
{
((delegate* unmanaged[Stdcall]<IDXGraphicsAnalysis*, void>)(lpVtbl[4]))((IDXGraphicsAnalysis*)Unsafe.AsPointer(ref this));
}
public interface Interface : IUnknown.Interface
{
[VtblIndex(3)]
void BeginCapture();
[VtblIndex(4)]
void EndCapture();
}
}