1 type derived from StrategyBasedComWrappers
System.Private.Windows.Core (1)
Windows\Win32\System\Com\WinFormsComStrategy.cs (1)
25internal unsafe class WinFormsComStrategy : StrategyBasedComWrappers
1 instantiation of StrategyBasedComWrappers
System.Runtime.InteropServices (1)
System\Runtime\InteropServices\Marshalling\StrategyBasedComWrappers.cs (1)
17internal static StrategyBasedComWrappers DefaultMarshallingInstance { get; } = new();
17 references to StrategyBasedComWrappers
System.Private.Windows.Core (4)
Windows\Win32\System\Com\GlobalInterfaceTable.cs (1)
72/// Creates a new instance of an <see cref="IIUnknownStrategy"/> for <see cref="StrategyBasedComWrappers"/>
Windows\Win32\System\Com\GlobalInterfaceTable.UnknownStrategy.cs (1)
12/// Strategy for <see cref="StrategyBasedComWrappers"/> that uses the <see cref="GlobalInterfaceTable"/>.
Windows\Win32\System\Com\WinFormsComStrategy.cs (2)
9/// Windows Forms <see cref="StrategyBasedComWrappers"/> implementation. 13/// Deriving from <see cref="StrategyBasedComWrappers"/> allows us to leverage the functionality the runtime
System.Runtime.InteropServices (13)
System\Runtime\InteropServices\Marshalling\ComInterfaceMarshaller.cs (4)
9/// COM interface marshaller using a <see cref="StrategyBasedComWrappers" /> instance 24private static readonly Guid? TargetInterfaceIID = StrategyBasedComWrappers.DefaultIUnknownInterfaceDetailsStrategy.GetIUnknownDerivedDetails(typeof(T).TypeHandle)?.Iid; 39unknown = StrategyBasedComWrappers.DefaultMarshallingInstance.GetOrCreateComInterfaceForObject(managed, CreateComInterfaceFlags.None); 57return (T)StrategyBasedComWrappers.DefaultMarshallingInstance.GetOrCreateObjectForComInstance((nint)unmanaged, CreateObjectFlags.Unwrap);
System\Runtime\InteropServices\Marshalling\ComVariantMarshaller.cs (6)
100variant = ComVariant.CreateRaw(VarEnum.VT_UNKNOWN, StrategyBasedComWrappers.DefaultMarshallingInstance.GetOrCreateComInterfaceForObject(wrapped, CreateComInterfaceFlags.None)); 103else if (managed is not null && StrategyBasedComWrappers.DefaultIUnknownInterfaceDetailsStrategy.GetComExposedTypeDetails(managed.GetType().TypeHandle) is not null) 105variant = ComVariant.CreateRaw(VarEnum.VT_UNKNOWN, StrategyBasedComWrappers.DefaultMarshallingInstance.GetOrCreateComInterfaceForObject(managed, CreateComInterfaceFlags.None)); 167return StrategyBasedComWrappers.DefaultMarshallingInstance.GetOrCreateObjectForComInstance(unmanaged.GetRawDataRef<nint>(), CreateObjectFlags.Unwrap); 203return StrategyBasedComWrappers.DefaultMarshallingInstance.GetOrCreateObjectForComInstance(*(nint*)unmanaged.GetRawDataRef<nint>(), CreateObjectFlags.Unwrap); 327*(IntPtr*)_unmanaged.GetRawDataRef<nint>() = StrategyBasedComWrappers.DefaultMarshallingInstance.GetOrCreateComInterfaceForObject(unkObj, CreateComInterfaceFlags.None);
System\Runtime\InteropServices\Marshalling\StrategyBasedComWrappers.cs (1)
17internal static StrategyBasedComWrappers DefaultMarshallingInstance { get; } = new();
System\Runtime\InteropServices\Marshalling\UniqueComInterfaceMarshaller.cs (2)
38unknown = StrategyBasedComWrappers.DefaultMarshallingInstance.GetOrCreateComInterfaceForObject(managed, CreateComInterfaceFlags.None); 58return (T)StrategyBasedComWrappers.DefaultMarshallingInstance.GetOrCreateObjectForComInstance((nint)unmanaged, CreateObjectFlags.UniqueInstance);