<PackageReference Include="System.Drawing.Common" Version="10.0.0-preview.3.25173.2" />

IPictureDisp

using System; using System.CodeDom.Compiler; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Runtime.Versioning; using Windows.Win32.Foundation; using Windows.Win32.System.Com; using Windows.Win32.System.Variant; namespace Windows.Win32.System.Ole { [Guid("7BF80981-BF32-101A-8BBB-00AA00300CAB")] [SupportedOSPlatform("windows5.0")] [GeneratedCode("Microsoft.Windows.CsWin32", "0.3.151+58e949951d.RR")] internal struct IPictureDisp : IVTable<IPictureDisp, IPictureDisp.Vtbl>, IVTable, IComIID { internal struct Vtbl { internal IntPtr QueryInterface_1; internal IntPtr AddRef_2; internal IntPtr Release_3; internal IntPtr GetTypeInfoCount_4; internal IntPtr GetTypeInfo_5; internal IntPtr GetIDsOfNames_6; internal IntPtr Invoke_7; } [ComImport] [Guid("7BF80981-BF32-101A-8BBB-00AA00300CAB")] [InterfaceType(ComInterfaceType.InterfaceIsIDispatch)] [SupportedOSPlatform("windows5.0")] internal interface Interface { } private unsafe void** lpVtbl; internal static readonly Guid IID_Guid = new Guid(2079852929, 48946, 4122, 139, 187, 0, 170, 0, 48, 12, 171); [IsReadOnly] static unsafe ref Guid IComIID.Guid { [MethodImpl(MethodImplOptions.AggressiveInlining)] [return: IsReadOnly] get { return ref Unsafe.As<byte, Guid>(ref MemoryMarshal.GetReference(new ReadOnlySpan<byte>(&global::<PrivateImplementationDetails>.5FA76D4D17F1AB4B91870CA88B28FAC619E80E4A9FA5E34B24305D1B00DD8D21, 16))); } } internal unsafe HRESULT QueryInterface([In] [IsReadOnly] ref Guid riid, out void* ppvObject) { fixed (void** ppvObject2 = &ppvObject) { fixed (Guid* riid2 = &riid) { return QueryInterface(riid2, ppvObject2); } } } public unsafe HRESULT QueryInterface(Guid* riid, void** ppvObject) { IntPtr intPtr = (IntPtr)(*lpVtbl); return (HRESULT); } public unsafe uint AddRef() { IntPtr intPtr = (IntPtr)lpVtbl[1]; return (uint); } public unsafe uint Release() { IntPtr intPtr = (IntPtr)lpVtbl[2]; return (uint); } internal unsafe HRESULT GetTypeInfoCount(out uint pctinfo) { fixed (uint* pctinfo2 = &pctinfo) { return GetTypeInfoCount(pctinfo2); } } public unsafe HRESULT GetTypeInfoCount(uint* pctinfo) { IntPtr intPtr = (IntPtr)lpVtbl[3]; return (HRESULT); } public unsafe HRESULT GetTypeInfo(uint iTInfo, uint lcid, ITypeInfo** ppTInfo) { IntPtr intPtr = (IntPtr)lpVtbl[4]; return (HRESULT); } internal unsafe HRESULT GetIDsOfNames([In] [IsReadOnly] ref Guid riid, ReadOnlySpan<PWSTR> rgszNames, uint lcid, Span<int> rgDispId) { fixed (int* rgDispId2 = &rgDispId.GetPinnableReference()) { fixed (PWSTR* rgszNames2 = &rgszNames.GetPinnableReference()) { fixed (Guid* riid2 = &riid) { if (rgszNames.Length != rgDispId.Length) throw new ArgumentException(); return GetIDsOfNames(riid2, rgszNames2, (uint)rgDispId.Length, lcid, rgDispId2); } } } } public unsafe HRESULT GetIDsOfNames(Guid* riid, PWSTR* rgszNames, uint cNames, uint lcid, int* rgDispId) { IntPtr intPtr = (IntPtr)lpVtbl[5]; return (HRESULT); } internal unsafe HRESULT Invoke(int dispIdMember, [In] [IsReadOnly] ref Guid riid, uint lcid, DISPATCH_FLAGS wFlags, [In] [IsReadOnly] ref DISPPARAMS pDispParams, VARIANT* pVarResult, EXCEPINFO* pExcepInfo, uint* puArgErr) { fixed (DISPPARAMS* pDispParams2 = &pDispParams) { fixed (Guid* riid2 = &riid) { return Invoke(dispIdMember, riid2, lcid, wFlags, pDispParams2, pVarResult, pExcepInfo, puArgErr); } } } public unsafe HRESULT Invoke(int dispIdMember, Guid* riid, uint lcid, DISPATCH_FLAGS wFlags, DISPPARAMS* pDispParams, VARIANT* pVarResult = default(VARIANT*), EXCEPINFO* pExcepInfo = default(EXCEPINFO*), uint* puArgErr = default(uint*)) { IntPtr intPtr = (IntPtr)lpVtbl[6]; return (HRESULT); } internal unsafe HRESULT QueryInterface<[IsUnmanaged] T>(out T* ppv) where T : struct { Guid riid = typeof(T).GUID; void* ppvObject; HRESULT result = QueryInterface(ref riid, out ppvObject); if (result.Succeeded) ppv = (T*)ppvObject; else ppv = null; return result; } public unsafe static void PopulateVTable(Vtbl* vtable) { } unsafe void IVTable<IPictureDisp, Vtbl>.PopulateVTable(Vtbl* vtable) { this.PopulateVTable(vtable); } } }