4 types derived from ComWrappers
PresentationFramework (1)
MS\Internal\WindowsRuntime\Generated\WinRT\ComWrappersSupport.net5.cs (1)
55internal class WpfWinRTComWrappers : ComWrappers
System.Private.Windows.Core (1)
Windows\Win32\System\Com\WinFormsComWrappers.cs (1)
11internal unsafe partial class WinFormsComWrappers : ComWrappers
System.Runtime.InteropServices (1)
System\Runtime\InteropServices\Marshalling\StrategyBasedComWrappers.cs (1)
20public class StrategyBasedComWrappers : ComWrappers
System.Windows.Forms.Tests (1)
System\Windows\Forms\ComponentModel\Com2Interop\ComNativeDescriptorTests.cs (1)
326private class UnknownComWrappers : ComWrappers
65 references to ComWrappers
PresentationFramework (3)
MS\Internal\WindowsRuntime\Generated\WinRT\ComWrappersSupport.cs (1)
9using ComInterfaceEntry = System.Runtime.InteropServices.ComWrappers.ComInterfaceEntry;
MS\Internal\WindowsRuntime\Generated\WinRT\ComWrappersSupport.net5.cs (2)
8using static System.Runtime.InteropServices.ComWrappers; 16private static ComWrappers ComWrappers { get; } = new WpfWinRTComWrappers();
System.ComponentModel.TypeConverter (1)
System\ComponentModel\TypeDescriptor.cs (1)
1763&& ComWrappers.TryGetComInstance(instance, out nint unknown))
System.Private.CoreLib (34)
src\libraries\System.Private.CoreLib\src\System\Runtime\InteropServices\ComWrappers.cs (21)
69/// Associates a managed object with the <see cref="ManagedObjectWrapperHolder"/> that was created for it by this <see cref="ComWrappers" /> instance. 74internal static bool TryGetComInstanceForIID(object obj, Guid iid, out IntPtr unknown, out ComWrappers? comWrappers) 486public IntPtr ComIp => _wrapper->As(in ComWrappers.IID_IUnknown); 536private ComWrappers _comWrappers; 555ComWrappers comWrappers, 579protected NativeObjectWrapper(IntPtr externalComObject, IntPtr inner, ComWrappers comWrappers, object comProxy, CreateObjectFlags flags) 607internal ComWrappers ComWrappers => _comWrappers; 668ComWrappers comWrappers, 735private static ComWrappers? s_globalInstanceForTrackerSupport; 737internal static ComWrappers? GlobalInstanceForTrackerSupport => s_globalInstanceForTrackerSupport; 742private static ComWrappers? s_globalInstanceForMarshalling; 744internal static object? GetOrCreateObjectFromWrapper(ComWrappers wrapper, IntPtr externalComObject) 772/// this <see cref="ComWrappers" /> instance, the previously created COM interface will be returned. 902/// using this <see cref="ComWrappers" /> instance, the previously created object will be returned. 923/// using this <see cref="ComWrappers" /> instance, the previously created object will be returned. 1376/// Register a <see cref="ComWrappers" /> instance to be used as the global instance for reference tracker support. 1386public static void RegisterForTrackerSupport(ComWrappers instance) 1397/// Register a <see cref="ComWrappers" /> instance to be used as the global instance for marshalling in the runtime. 1410public static void RegisterForMarshalling(ComWrappers instance) 1544if (context is not ComWrappers comWrappers) 1581out ComWrappers? wrapper))
src\libraries\System.Private.CoreLib\src\System\Runtime\InteropServices\CreateComInterfaceFlags.cs (1)
7/// Enumeration of flags for <see cref="ComWrappers.GetOrCreateComInterfaceForObject(object, CreateComInterfaceFlags)"/>.
src\libraries\System.Private.CoreLib\src\System\Runtime\InteropServices\CreatedWrapperFlags.cs (2)
7/// Enumeration of flags for <see cref="ComWrappers.CreateObject(IntPtr, CreateObjectFlags, object?, out CreatedWrapperFlags)"/>. 24/// <see cref="ComWrappers.TryGetComInstance" /> will return <c>false</c> for the returned object.
src\libraries\System.Private.CoreLib\src\System\Runtime\InteropServices\CreateObjectFlags.cs (1)
10/// Enumeration of flags for <see cref="ComWrappers.GetOrCreateObjectForComInstance(IntPtr, CreateObjectFlags)"/>.
src\libraries\System.Private.CoreLib\src\System\Runtime\InteropServices\ReferenceTrackerHost.cs (6)
85if (Marshal.QueryInterface(punk, ComWrappers.IID_IUnknown, out IntPtr ppv) != HResults.S_OK) 93using ComHolder trackerTarget = new ComHolder(ComWrappers.GetOrCreateTrackerTarget(identity.Ptr)); 94return Marshal.QueryInterface(trackerTarget.Ptr, ComWrappers.IID_IReferenceTrackerTarget, out *ppNewReference); 139if (*guid == ComWrappers.IID_IReferenceTrackerHost || *guid == ComWrappers.IID_IUnknown) 172ComWrappers.GetUntrackedIUnknownImpl(out Vftbl.AddRef, out Vftbl.Release);
src\libraries\System.Private.CoreLib\src\System\Runtime\InteropServices\TrackerObjectManager.cs (1)
9using static System.Runtime.InteropServices.ComWrappers;
src\System\Runtime\InteropServices\ComWrappers.CoreCLR.cs (2)
44IntPtr* vftbl = (IntPtr*)RuntimeHelpers.AllocateTypeAssociatedMemory(typeof(ComWrappers), 3 * sizeof(IntPtr)); 51IntPtr* vftbl = (IntPtr*)RuntimeHelpers.AllocateTypeAssociatedMemory(typeof(ComWrappers), 4 * sizeof(IntPtr));
System.Private.Windows.Core (10)
Windows\Win32\System\Com\ComHelpers.cs (5)
94else if (ComWrappers.TryGetComInstance(@object, out nint unknown)) 139if (ComWrappers.TryGetObject((nint)unknown, out object? obj)) 252if (ComWrappers.TryGetObject((nint)unknown, out object? obj)) 286/// <see cref="ComWrappers"/> capable wrapper for <see cref="Marshal.GetObjectForIUnknown(nint)"/>. 297if (ComWrappers.TryGetObject((nint)unknown, out object? obj))
Windows\Win32\System\Com\ComInterfaceTable.cs (1)
5using static System.Runtime.InteropServices.ComWrappers;
Windows\Win32\System\Com\IComCallableWrapper.cs (1)
69/// Used to flag that the COM object is a <see cref="ComWrappers"/> generated object.
Windows\Win32\System\Com\IUnknown.CCW.cs (1)
20/// This is a simplified version of what <see cref="ComWrappers"/> does. It is useful when we want to manage
Windows\Win32\System\Com\WinFormsComStrategy.cs (1)
19/// strategy for <see cref="ComWrappers.ComputeVtables(object, CreateComInterfaceFlags, out int)"/>. We rely
Windows\Win32\System\Com\WinFormsComWrappers.cs (1)
9/// The <see cref="ComWrappers"/> implementation for WinForm's COM interop usages.
System.Runtime.InteropServices (15)
artifacts\obj\System.Runtime.InteropServices\Debug\net10.0\System.Runtime.InteropServices.Forwards.cs (1)
72[assembly: System.Runtime.CompilerServices.TypeForwardedTo(typeof(System.Runtime.InteropServices.ComWrappers))]
System\Runtime\InteropServices\Marshalling\ComExposedClassAttribute.cs (1)
16public unsafe ComWrappers.ComInterfaceEntry* GetComInterfaceEntries(out int count) => T.GetComInterfaceEntries(out count);
System\Runtime\InteropServices\Marshalling\ComInterfaceMarshaller.cs (2)
13/// to <see cref="ComWrappers.GetOrCreateObjectForComInstance(IntPtr, CreateObjectFlags)"/>. 37if (!ComWrappers.TryGetComInstance(managed, out nint unknown))
System\Runtime\InteropServices\Marshalling\IComExposedClass.cs (2)
13/// Get the COM interface information to provide to a <see cref="ComWrappers"/> instance to expose this type to COM. 17public static abstract ComWrappers.ComInterfaceEntry* GetComInterfaceEntries(out int count);
System\Runtime\InteropServices\Marshalling\IComExposedDetails.cs (2)
15/// Get the COM interface information to provide to a <see cref="ComWrappers"/> instance to expose this type to COM. 19ComWrappers.ComInterfaceEntry* GetComInterfaceEntries(out int count);
System\Runtime\InteropServices\Marshalling\StrategyBasedComWrappers.cs (5)
13/// A <see cref="ComWrappers"/>-based type that uses customizable strategy objects to implement COM object wrappers and managed object wrappers exposed to COM. 81/// <inheritdoc cref="ComWrappers.ComputeVtables" /> 92/// <inheritdoc cref="ComWrappers.CreateObject(nint, CreateObjectFlags)" /> 109/// <inheritdoc cref="ComWrappers.CreateObject(nint, CreateObjectFlags, object?, out CreatedWrapperFlags)" /> 115/// <inheritdoc cref="ComWrappers.ReleaseObjects" />
System\Runtime\InteropServices\Marshalling\UniqueComInterfaceMarshaller.cs (2)
14/// to <see cref="ComWrappers.GetOrCreateObjectForComInstance(IntPtr, CreateObjectFlags)"/>. 36if (!ComWrappers.TryGetComInstance(managed, out nint unknown))
System.Windows.Forms (1)
System\Windows\Forms\OLE\DropTarget.cs (1)
54if (ComWrappers.TryGetObject(unknown, out object? obj) && obj is IDataObject iDataObject)
System.Windows.Forms.Tests (1)
System\Windows\Forms\ComponentModel\Com2Interop\ComNativeDescriptorTests.cs (1)
329public static ComWrappers Instance { get; } = new UnknownComWrappers();