// ------------------------------------------------------------------------------ // // This code was generated by a tool. // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // // ------------------------------------------------------------------------------ namespace Win32.Graphics.Dxgi; /// /// IDXGISwapChain1 [Guid("790a45f7-0d42-4876-983a-0a55cfe6f4aa")] [NativeTypeName("struct IDXGISwapChain1 : IDXGISwapChain")] [NativeInheritance("IDXGISwapChain")] public unsafe partial struct IDXGISwapChain1 : IDXGISwapChain1.Interface, INativeGuid { public static ref readonly Guid IID_IDXGISwapChain1 { [MethodImpl(MethodImplOptions.AggressiveInlining)] get { ReadOnlySpan 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()); return ref Unsafe.As(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; /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(0)] public HResult QueryInterface([NativeTypeName("const IID &")] Guid* riid, void** ppvObject) { return ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IDXGISwapChain1*)Unsafe.AsPointer(ref this), riid, ppvObject); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(1)] [return: NativeTypeName("ULONG")] public uint AddRef() { return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IDXGISwapChain1*)Unsafe.AsPointer(ref this)); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(2)] [return: NativeTypeName("ULONG")] public uint Release() { return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IDXGISwapChain1*)Unsafe.AsPointer(ref this)); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(3)] public HResult SetPrivateData(Guid* Name, uint DataSize, void* pData) { return ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((IDXGISwapChain1*)Unsafe.AsPointer(ref this), Name, DataSize, pData); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(4)] public HResult SetPrivateDataInterface(Guid* Name, IUnknown* pUnknown) { return ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((IDXGISwapChain1*)Unsafe.AsPointer(ref this), Name, pUnknown); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(5)] public HResult GetPrivateData(Guid* Name, uint* pDataSize, void* pData) { return ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((IDXGISwapChain1*)Unsafe.AsPointer(ref this), Name, pDataSize, pData); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(6)] public HResult GetParent(Guid* riid, void** ppParent) { return ((delegate* unmanaged[Stdcall])(lpVtbl[6]))((IDXGISwapChain1*)Unsafe.AsPointer(ref this), riid, ppParent); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(7)] public HResult GetDevice(Guid* riid, void** ppDevice) { return ((delegate* unmanaged[Stdcall])(lpVtbl[7]))((IDXGISwapChain1*)Unsafe.AsPointer(ref this), riid, ppDevice); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(8)] public HResult Present(uint SyncInterval, PresentFlags Flags) { return ((delegate* unmanaged[Stdcall])(lpVtbl[8]))((IDXGISwapChain1*)Unsafe.AsPointer(ref this), SyncInterval, Flags); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(9)] public HResult GetBuffer(uint Buffer, Guid* riid, void** ppSurface) { return ((delegate* unmanaged[Stdcall])(lpVtbl[9]))((IDXGISwapChain1*)Unsafe.AsPointer(ref this), Buffer, riid, ppSurface); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(10)] public HResult SetFullscreenState(Bool32 Fullscreen, IDXGIOutput* pTarget) { return ((delegate* unmanaged[Stdcall])(lpVtbl[10]))((IDXGISwapChain1*)Unsafe.AsPointer(ref this), Fullscreen, pTarget); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(11)] public HResult GetFullscreenState(Bool32* pFullscreen, IDXGIOutput** ppTarget) { return ((delegate* unmanaged[Stdcall])(lpVtbl[11]))((IDXGISwapChain1*)Unsafe.AsPointer(ref this), pFullscreen, ppTarget); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(12)] public HResult GetDesc(SwapChainDescription* pDesc) { return ((delegate* unmanaged[Stdcall])(lpVtbl[12]))((IDXGISwapChain1*)Unsafe.AsPointer(ref this), pDesc); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(13)] public HResult ResizeBuffers(uint BufferCount, uint Width, uint Height, Common.Format NewFormat, SwapChainFlags SwapChainFlags) { return ((delegate* unmanaged[Stdcall])(lpVtbl[13]))((IDXGISwapChain1*)Unsafe.AsPointer(ref this), BufferCount, Width, Height, NewFormat, SwapChainFlags); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(14)] public HResult ResizeTarget(Common.ModeDescription* pNewTargetParameters) { return ((delegate* unmanaged[Stdcall])(lpVtbl[14]))((IDXGISwapChain1*)Unsafe.AsPointer(ref this), pNewTargetParameters); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(15)] public HResult GetContainingOutput(IDXGIOutput** ppOutput) { return ((delegate* unmanaged[Stdcall])(lpVtbl[15]))((IDXGISwapChain1*)Unsafe.AsPointer(ref this), ppOutput); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(16)] public HResult GetFrameStatistics(FrameStatistics* pStats) { return ((delegate* unmanaged[Stdcall])(lpVtbl[16]))((IDXGISwapChain1*)Unsafe.AsPointer(ref this), pStats); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(17)] public HResult GetLastPresentCount(uint* pLastPresentCount) { return ((delegate* unmanaged[Stdcall])(lpVtbl[17]))((IDXGISwapChain1*)Unsafe.AsPointer(ref this), pLastPresentCount); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(18)] public HResult GetDesc1(SwapChainDescription1* pDesc) { return ((delegate* unmanaged[Stdcall])(lpVtbl[18]))((IDXGISwapChain1*)Unsafe.AsPointer(ref this), pDesc); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(19)] public HResult GetFullscreenDesc(SwapChainFullscreenDescription* pDesc) { return ((delegate* unmanaged[Stdcall])(lpVtbl[19]))((IDXGISwapChain1*)Unsafe.AsPointer(ref this), pDesc); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(20)] public HResult GetHwnd(IntPtr* pHwnd) { return ((delegate* unmanaged[Stdcall])(lpVtbl[20]))((IDXGISwapChain1*)Unsafe.AsPointer(ref this), pHwnd); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(21)] public HResult GetCoreWindow(Guid* refiid, void** ppUnk) { return ((delegate* unmanaged[Stdcall])(lpVtbl[21]))((IDXGISwapChain1*)Unsafe.AsPointer(ref this), refiid, ppUnk); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(22)] public HResult Present1(uint SyncInterval, uint PresentFlags, PresentParameters* pPresentParameters) { return ((delegate* unmanaged[Stdcall])(lpVtbl[22]))((IDXGISwapChain1*)Unsafe.AsPointer(ref this), SyncInterval, PresentFlags, pPresentParameters); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(23)] public Bool32 IsTemporaryMonoSupported() { return ((delegate* unmanaged[Stdcall])(lpVtbl[23]))((IDXGISwapChain1*)Unsafe.AsPointer(ref this)); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(24)] public HResult GetRestrictToOutput(IDXGIOutput** ppRestrictToOutput) { return ((delegate* unmanaged[Stdcall])(lpVtbl[24]))((IDXGISwapChain1*)Unsafe.AsPointer(ref this), ppRestrictToOutput); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(25)] public HResult SetBackgroundColor(Color4* pColor) { return ((delegate* unmanaged[Stdcall])(lpVtbl[25]))((IDXGISwapChain1*)Unsafe.AsPointer(ref this), pColor); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(26)] public HResult GetBackgroundColor(Color4** pColor) { return ((delegate* unmanaged[Stdcall])(lpVtbl[26]))((IDXGISwapChain1*)Unsafe.AsPointer(ref this), pColor); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(27)] public HResult SetRotation(Common.ModeRotation Rotation) { return ((delegate* unmanaged[Stdcall])(lpVtbl[27]))((IDXGISwapChain1*)Unsafe.AsPointer(ref this), Rotation); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(28)] public HResult GetRotation(Common.ModeRotation* pRotation) { return ((delegate* unmanaged[Stdcall])(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); } }