// ------------------------------------------------------------------------------ // // 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; /// /// IDXGISwapChain [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 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()); 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_IDXGISwapChain)); #else public static Guid* NativeGuid => (Guid*)Unsafe.AsPointer(ref Unsafe.AsRef(in IID_IDXGISwapChain)); #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]))((IUnknown*)Unsafe.AsPointer(ref this), riid, ppvObject); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(1)] [return: NativeTypeName("ULONG")] public uint AddRef() { return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IUnknown*)Unsafe.AsPointer(ref this)); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(2)] [return: NativeTypeName("ULONG")] public uint Release() { return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IUnknown*)Unsafe.AsPointer(ref this)); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(3)] public HResult SetPrivateData(Guid* Name, uint DataSize, void* pData) { return ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((IDXGISwapChain*)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]))((IDXGISwapChain*)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]))((IDXGISwapChain*)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]))((IDXGISwapChain*)Unsafe.AsPointer(ref this), riid, ppParent); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(7)] public HResult GetDevice(Guid* riid, void** ppDevice) { return ((delegate* unmanaged[Stdcall])(lpVtbl[7]))((IDXGISwapChain*)Unsafe.AsPointer(ref this), riid, ppDevice); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(8)] public HResult Present(uint SyncInterval, PresentFlags Flags) { return ((delegate* unmanaged[Stdcall])(lpVtbl[8]))((IDXGISwapChain*)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]))((IDXGISwapChain*)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]))((IDXGISwapChain*)Unsafe.AsPointer(ref this), Fullscreen, pTarget); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(11)] public HResult GetFullscreenState(Bool32* pFullscreen, IDXGIOutput** ppTarget) { return ((delegate* unmanaged[Stdcall])(lpVtbl[11]))((IDXGISwapChain*)Unsafe.AsPointer(ref this), pFullscreen, ppTarget); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(12)] public HResult GetDesc(SwapChainDescription* pDesc) { return ((delegate* unmanaged[Stdcall])(lpVtbl[12]))((IDXGISwapChain*)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]))((IDXGISwapChain*)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]))((IDXGISwapChain*)Unsafe.AsPointer(ref this), pNewTargetParameters); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(15)] public HResult GetContainingOutput(IDXGIOutput** ppOutput) { return ((delegate* unmanaged[Stdcall])(lpVtbl[15]))((IDXGISwapChain*)Unsafe.AsPointer(ref this), ppOutput); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(16)] public HResult GetFrameStatistics(FrameStatistics* pStats) { return ((delegate* unmanaged[Stdcall])(lpVtbl[16]))((IDXGISwapChain*)Unsafe.AsPointer(ref this), pStats); } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(17)] public HResult GetLastPresentCount(uint* pLastPresentCount) { return ((delegate* unmanaged[Stdcall])(lpVtbl[17]))((IDXGISwapChain*)Unsafe.AsPointer(ref this), pLastPresentCount); } }