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

IRunningObjectTable

using System; using System.CodeDom.Compiler; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Runtime.InteropServices.ComTypes; using System.Runtime.Versioning; using Windows.Win32.Foundation; namespace Windows.Win32.System.Com { [Guid("00000010-0000-0000-C000-000000000046")] [SupportedOSPlatform("windows5.0")] [GeneratedCode("Microsoft.Windows.CsWin32", "0.3.151+58e949951d.RR")] internal struct IRunningObjectTable : IVTable<IRunningObjectTable, IRunningObjectTable.Vtbl>, IVTable, IComIID { internal struct Vtbl { internal IntPtr QueryInterface_1; internal IntPtr AddRef_2; internal IntPtr Release_3; internal IntPtr Register_4; internal IntPtr Revoke_5; internal IntPtr IsRunning_6; internal IntPtr GetObject_7; internal IntPtr NoteChangeTime_8; internal IntPtr GetTimeOfLastChange_9; internal IntPtr EnumRunning_10; } [ComImport] [Guid("00000010-0000-0000-C000-000000000046")] [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] [SupportedOSPlatform("windows5.0")] internal interface Interface { [PreserveSig] unsafe HRESULT Register(ROT_FLAGS grfFlags, IUnknown* punkObject, IMoniker* pmkObjectName, uint* pdwRegister); [PreserveSig] HRESULT Revoke(uint dwRegister); [PreserveSig] unsafe HRESULT IsRunning(IMoniker* pmkObjectName); [PreserveSig] unsafe HRESULT GetObject(IMoniker* pmkObjectName, IUnknown** ppunkObject); [PreserveSig] unsafe HRESULT NoteChangeTime(uint dwRegister, global::System.Runtime.InteropServices.ComTypes.FILETIME* pfiletime); [PreserveSig] unsafe HRESULT GetTimeOfLastChange(IMoniker* pmkObjectName, global::System.Runtime.InteropServices.ComTypes.FILETIME* pfiletime); [PreserveSig] unsafe HRESULT EnumRunning(IEnumMoniker** ppenumMoniker); } private unsafe void** lpVtbl; internal static readonly Guid IID_Guid = new Guid(16, 0, 0, 192, 0, 0, 0, 0, 0, 0, 70); [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>.20236655D21C3FC1B73E43D010B8F27F58EA4DABA77E80BE366688E760D7DFE6, 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 Register(ROT_FLAGS grfFlags, IUnknown* punkObject, IMoniker* pmkObjectName, out uint pdwRegister) { fixed (uint* pdwRegister2 = &pdwRegister) { return Register(grfFlags, punkObject, pmkObjectName, pdwRegister2); } } [UnmanagedCallersOnly(CallConvs = new Type[] { typeof(CallConvStdcall) })] private unsafe static HRESULT Register(IRunningObjectTable* pThis, ROT_FLAGS grfFlags, IUnknown* punkObject, IMoniker* pmkObjectName, uint* pdwRegister) { try { Interface object; HRESULT result = ComHelpers.UnwrapCCW<IRunningObjectTable, Interface>(pThis, out object); if (!result.Failed) return object.Register(grfFlags, punkObject, pmkObjectName, pdwRegister); return result; } catch (Exception ex) { return (HRESULT)ex.HResult; } } public unsafe HRESULT Register(ROT_FLAGS grfFlags, IUnknown* punkObject, IMoniker* pmkObjectName, uint* pdwRegister) { IntPtr intPtr = (IntPtr)lpVtbl[3]; return (HRESULT); } [UnmanagedCallersOnly(CallConvs = new Type[] { typeof(CallConvStdcall) })] private unsafe static HRESULT Revoke(IRunningObjectTable* pThis, uint dwRegister) { try { Interface object; HRESULT result = ComHelpers.UnwrapCCW<IRunningObjectTable, Interface>(pThis, out object); if (!result.Failed) return object.Revoke(dwRegister); return result; } catch (Exception ex) { return (HRESULT)ex.HResult; } } public unsafe HRESULT Revoke(uint dwRegister) { IntPtr intPtr = (IntPtr)lpVtbl[4]; return (HRESULT); } [UnmanagedCallersOnly(CallConvs = new Type[] { typeof(CallConvStdcall) })] private unsafe static HRESULT IsRunning(IRunningObjectTable* pThis, IMoniker* pmkObjectName) { try { Interface object; HRESULT result = ComHelpers.UnwrapCCW<IRunningObjectTable, Interface>(pThis, out object); if (!result.Failed) return object.IsRunning(pmkObjectName); return result; } catch (Exception ex) { return (HRESULT)ex.HResult; } } public unsafe HRESULT IsRunning(IMoniker* pmkObjectName) { IntPtr intPtr = (IntPtr)lpVtbl[5]; return (HRESULT); } [UnmanagedCallersOnly(CallConvs = new Type[] { typeof(CallConvStdcall) })] private unsafe static HRESULT GetObject(IRunningObjectTable* pThis, IMoniker* pmkObjectName, IUnknown** ppunkObject) { try { Interface object; HRESULT result = ComHelpers.UnwrapCCW<IRunningObjectTable, Interface>(pThis, out object); if (!result.Failed) return object.GetObject(pmkObjectName, ppunkObject); return result; } catch (Exception ex) { return (HRESULT)ex.HResult; } } public unsafe HRESULT GetObject(IMoniker* pmkObjectName, IUnknown** ppunkObject) { IntPtr intPtr = (IntPtr)lpVtbl[6]; return (HRESULT); } internal unsafe HRESULT NoteChangeTime(uint dwRegister, [In] [IsReadOnly] ref global::System.Runtime.InteropServices.ComTypes.FILETIME pfiletime) { fixed (global::System.Runtime.InteropServices.ComTypes.FILETIME* pfiletime2 = &pfiletime) { return NoteChangeTime(dwRegister, pfiletime2); } } [UnmanagedCallersOnly(CallConvs = new Type[] { typeof(CallConvStdcall) })] private unsafe static HRESULT NoteChangeTime(IRunningObjectTable* pThis, uint dwRegister, global::System.Runtime.InteropServices.ComTypes.FILETIME* pfiletime) { try { Interface object; HRESULT result = ComHelpers.UnwrapCCW<IRunningObjectTable, Interface>(pThis, out object); if (!result.Failed) return object.NoteChangeTime(dwRegister, pfiletime); return result; } catch (Exception ex) { return (HRESULT)ex.HResult; } } public unsafe HRESULT NoteChangeTime(uint dwRegister, global::System.Runtime.InteropServices.ComTypes.FILETIME* pfiletime) { IntPtr intPtr = (IntPtr)lpVtbl[7]; return (HRESULT); } internal unsafe HRESULT GetTimeOfLastChange(IMoniker* pmkObjectName, out global::System.Runtime.InteropServices.ComTypes.FILETIME pfiletime) { fixed (global::System.Runtime.InteropServices.ComTypes.FILETIME* pfiletime2 = &pfiletime) { return GetTimeOfLastChange(pmkObjectName, pfiletime2); } } [UnmanagedCallersOnly(CallConvs = new Type[] { typeof(CallConvStdcall) })] private unsafe static HRESULT GetTimeOfLastChange(IRunningObjectTable* pThis, IMoniker* pmkObjectName, global::System.Runtime.InteropServices.ComTypes.FILETIME* pfiletime) { try { Interface object; HRESULT result = ComHelpers.UnwrapCCW<IRunningObjectTable, Interface>(pThis, out object); if (!result.Failed) return object.GetTimeOfLastChange(pmkObjectName, pfiletime); return result; } catch (Exception ex) { return (HRESULT)ex.HResult; } } public unsafe HRESULT GetTimeOfLastChange(IMoniker* pmkObjectName, global::System.Runtime.InteropServices.ComTypes.FILETIME* pfiletime) { IntPtr intPtr = (IntPtr)lpVtbl[8]; return (HRESULT); } [UnmanagedCallersOnly(CallConvs = new Type[] { typeof(CallConvStdcall) })] private unsafe static HRESULT EnumRunning(IRunningObjectTable* pThis, IEnumMoniker** ppenumMoniker) { try { Interface object; HRESULT result = ComHelpers.UnwrapCCW<IRunningObjectTable, Interface>(pThis, out object); if (!result.Failed) return object.EnumRunning(ppenumMoniker); return result; } catch (Exception ex) { return (HRESULT)ex.HResult; } } public unsafe HRESULT EnumRunning(IEnumMoniker** ppenumMoniker) { IntPtr intPtr = (IntPtr)lpVtbl[9]; 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) { vtable->Register_4 = (IntPtr)(void*); vtable->Revoke_5 = (IntPtr)(void*); vtable->IsRunning_6 = (IntPtr)(void*); vtable->GetObject_7 = (IntPtr)(void*); vtable->NoteChangeTime_8 = (IntPtr)(void*); vtable->GetTimeOfLastChange_9 = (IntPtr)(void*); vtable->EnumRunning_10 = (IntPtr)(void*); } unsafe void IVTable<IRunningObjectTable, Vtbl>.PopulateVTable(Vtbl* vtable) { this.PopulateVTable(vtable); } } }