226 references to IUnknown
System.Private.Windows.Core (70)
Windows\Win32\Foundation\HRESULT.cs (1)
89/// aren't actually <see cref="IUnknown"/> or <see cref="IDispatch"/> object pointers.
Windows\Win32\System\Com\AgileComPointer.cs (7)
49/// <see cref="IUnknown.Release"/> after the GIT adds a ref to the interface. 88uint count = ((IUnknown*)@interface)->Release(); 106using var currentUnknown = GetInterface<IUnknown>(); 107using var otherUnknown = other.GetInterface<IUnknown>(); 114using var currentUnknown = GetInterface<IUnknown>(); 115using ComScope<IUnknown> otherUnknown = ComScope<IUnknown>.QueryFrom(other);
Windows\Win32\System\Com\ComHelpers.cs (29)
88IUnknown* ccw = null; 92ccw = (IUnknown*)WinFormsComWrappers.Instance.GetOrCreateComInterfaceForObject(@object, CreateComInterfaceFlags.None); 97ccw = (IUnknown*)unknown; 105ccw = (IUnknown*)Marshal.GetIUnknownForObject(@object); 119if (typeof(T) == typeof(IUnknown)) 136IUnknown* unknown, 156/// <inheritdoc cref="TryGetObjectForIUnknown{TObject}(IUnknown*, bool, out TObject)"/> 163/// <inheritdoc cref="TryGetObjectForIUnknown{TObject}(IUnknown*, bool, out TObject)"/> 176IUnknown* unknown = (IUnknown*)comPointer; 177if (typeof(TInterface) == typeof(IUnknown)) 182HRESULT hr = unknown->QueryInterface(IID.Get<IUnknown>(), (void**)&unknown); 193/// <inheritdoc cref="TryGetObjectForIUnknown{TObject}(IUnknown*, bool, out TObject)"/> 195IUnknown* unknown, 206IUnknown* unknown, 248using ComScope<IUnknown> unknown = new(null); 249((IUnknown*)comPointer)->QueryInterface(IID.Get<IUnknown>(), unknown).ThrowOnFailure(); 257using ComScope<IUnknown> ccw = new((IUnknown*)(void*)Marshal.GetIUnknownForObject(@object)); 261/// <inheritdoc cref="GetObjectForIUnknown(IUnknown*)"/> 270IUnknown* unknown = (IUnknown*)comPointer; 272if (typeof(TInterface) == typeof(IUnknown)) 277unknown->QueryInterface(IID.Get<IUnknown>(), (void**)&unknown).ThrowOnFailure(); 281/// <inheritdoc cref="GetObjectForIUnknown(IUnknown*)"/> 289internal static object GetObjectForIUnknown(IUnknown* unknown) 314/// <see cref="IUnknown"/> vtable population hook for CsWin32's generated <see cref="IVTable"/> implementation. 316static partial void PopulateIUnknownImpl<TComInterface>(IUnknown.Vtbl* vtable)
Windows\Win32\System\Com\ComScope.cs (11)
11/// to ensure <see cref="IUnknown.Release"/> is called when going out of scope with the using. 28/// <see cref="IUnknown.Interface"/> or some other interface tag to enforce that this is being used around 36public IUnknown* AsUnknown => (IUnknown*)_value; 63hr = ((IUnknown*)Value)->QueryInterface(IID.Get<TTo>(), scope); 73((IUnknown*)Value)->QueryInterface(IID.Get<TTo>(), scope).ThrowOnFailure(); 83hr = from is null ? HRESULT.E_POINTER : ((IUnknown*)from)->QueryInterface(IID.Get<T>(), scope); 98((IUnknown*)from)->QueryInterface(IID.Get<T>(), scope).ThrowOnFailure(); 113IUnknown* unknown; 127IUnknown* unknown = (IUnknown*)_value;
Windows\Win32\System\Com\GlobalInterfaceTable.cs (1)
41(IUnknown*)@interface,
Windows\Win32\System\Com\GlobalInterfaceTable.UnknownStrategy.cs (1)
21_cookie = RegisterInterface((IUnknown*)unknown);
Windows\Win32\System\Com\IUnknown.CCW.cs (7)
12/// Manual COM Callable Wrapper for <see cref="IUnknown"/>. 21/// our own <see cref="IUnknown.QueryInterface(Guid*, void**)"/> handling for debugging and testing purposes. 43public static unsafe IUnknown* Create(Interface @object) => 44(IUnknown*)Lifetime<Vtbl, Interface>.Allocate(@object, s_vtable); 47private static unsafe HRESULT QueryInterface(IUnknown* @this, Guid* iid, void* ppObject) 69private static unsafe uint AddRef(IUnknown* @this) => Lifetime<Vtbl, Interface>.AddRef(@this); 72private static unsafe uint Release(IUnknown* @this) => Lifetime<Vtbl, Interface>.Release(@this);
Windows\Win32\System\Com\STGMEDIUM.cs (2)
15IUnknown* pUnkForRelease = ComHelpers.TryGetComPointer<IUnknown>(comTypeStg.pUnkForRelease, out _);
Windows\Win32\System\Com\WinFormsComWrappers.cs (4)
17internal static void PopulateIUnknownVTable(IUnknown.Vtbl* unknown) 20unknown->QueryInterface_1 = (delegate* unmanaged[Stdcall]<IUnknown*, Guid*, void**, HRESULT>)fpQueryInterface; 21unknown->AddRef_2 = (delegate* unmanaged[Stdcall]<IUnknown*, uint>)fpAddRef; 22unknown->Release_3 = (delegate* unmanaged[Stdcall]<IUnknown*, uint>)fpRelease;
Windows\Win32\System\Variant\VARIANT.cs (6)
164IUnknown* pInterface = *(IUnknown**)data; 393result[i] = data[i] == IntPtr.Zero ? null : ComHelpers.GetObjectForIUnknown((IUnknown*)data[i]); 603SetValue(array, ComHelpers.GetObjectForIUnknown((IUnknown*)data), indices, lowerBounds); 949public static explicit operator VARIANT(IUnknown* value) 957public static explicit operator IUnknown*(VARIANT value)
Windows\Win32\UI\Controls\Dialogs\PRINTDLGEXW.cs (1)
295public unsafe IUnknown* lpCallback;
System.Private.Windows.Core.Tests (1)
System\Private\Windows\Ole\DataObjectProxy.cs (1)
102if (iid->Equals(IDataObject.IID_Guid) || iid->Equals(IUnknown.IID_Guid))
System.Windows.Forms (42)
System\Windows\Forms\Accessibility\AccessibleObject.cs (3)
990HRESULT IRawElementProviderSimple.Interface.GetPatternProvider(UIA_PATTERN_ID patternId, IUnknown** pRetVal) 1001*pRetVal = ComHelpers.GetComPointer<IUnknown>(this); 3357HRESULT IDispatchEx.Interface.GetNameSpaceParent(IUnknown** ppunk)
System\Windows\Forms\ActiveX\AxHost.AxContainer.cs (1)
72*result = (VARIANT)ComHelpers.GetComPointer<IUnknown>(extender);
System\Windows\Forms\ActiveX\AxHost.AxContainer.ExtenderProxy.cs (4)
189public IUnknown* Parent 197return extender is null ? null : ComHelpers.GetComPointer<IUnknown>(extender); 265public IUnknown* Container 270return container is null ? null : ComHelpers.GetComPointer<IUnknown>(container);
System\Windows\Forms\ActiveX\AxHost.ConnectionPointCookie.cs (2)
104IUnknown* ccw = ComHelpers.TryGetComPointer<IUnknown>(sink, out HRESULT hr);
System\Windows\Forms\ActiveX\AxHost.cs (8)
2259using ComScope<IUnknown> unknown = new(null); 2262(IUnknown*)null, 2264IID.Get<IUnknown>(), 2286using ComScope<IUnknown> unknown = new(null); 2287hr = factory.Value->CreateInstanceLic(null, null, IID.Get<IUnknown>(), new BSTR(license), unknown); 2959using ComScope<IUnknown> unknown = ComHelpers.TryGetComScope<IUnknown>(_instance, out HRESULT hr); 3027using var unknown = ComHelpers.GetComScope<IUnknown>(_instance);
System\Windows\Forms\ActiveX\AxHost.EnumUnknown.cs (2)
28unsafe HRESULT IEnumUnknown.Interface.Next(uint celt, IUnknown** rgelt, uint* pceltFetched) 56*rgelt = ComHelpers.GetComPointer<IUnknown>(_array[_location]);
System\Windows\Forms\ActiveX\Control.ActiveXFontMarshaler.cs (1)
60using var nativeFont = ComScope<IFont>.TryQueryFrom((IUnknown*)pObj, out HRESULT hr);
System\Windows\Forms\Application.ComponentManager.cs (2)
327IUnknown* punkOuter, 328IUnknown* punkServProv,
System\Windows\Forms\Application.ComponentThreadContext.cs (1)
110using ComScope<IUnknown> serviceHandle = new(null);
System\Windows\Forms\ComponentModel\COM2Interop\COM2ComponentEditor.cs (2)
62using var unknown = ComHelpers.GetComScope<IUnknown>(obj); 96using var unknown = ComHelpers.GetComScope<IUnknown>(obj);
System\Windows\Forms\ComponentModel\COM2Interop\COM2FontConverter.cs (2)
31using var iFont = ComScope<IFont>.TryQueryFrom((IUnknown*)nativeValue, out HRESULT hr); 86using var font = ComScope<IFont>.TryQueryFrom((IUnknown*)nativeValue, out HRESULT hr);
System\Windows\Forms\ComponentModel\COM2Interop\COM2PictureConverter.cs (3)
41using var picture = ComScope<IPicture>.TryQueryFrom((IUnknown*)nativeValue, out HRESULT hr); 124IUnknown* unknown; 125picture.Value->QueryInterface(IID.Get<IUnknown>(), (void**)&unknown).ThrowOnFailure();
System\Windows\Forms\ComponentModel\COM2Interop\COM2PropertyPageUITypeConverter.cs (2)
73addresses[i] = (nint)ComHelpers.GetComPointer<IUnknown>(objects[i]); 84(IUnknown**)pObjAddrs,
System\Windows\Forms\Controls\ComboBox\ComboBox.ComboBoxItemAccessibleObject.cs (1)
121UIA_PROPERTY_ID.UIA_SelectionItemSelectionContainerPropertyId => (VARIANT)ComHelpers.GetComPointer<IUnknown>(_owningComboBox.ChildListAccessibleObject),
System\Windows\Forms\Controls\DataGridView\DataGridViewCell.DataGridViewCellAccessibleObject.cs (1)
688=> (VARIANT)ComHelpers.GetComPointer<IUnknown>(_owner?.DataGridView?.AccessibilityObject),
System\Windows\Forms\Controls\WebBrowser\HtmlDocument.cs (1)
39using var scope = _htmlDocument2.GetInterface<IUnknown>();
System\Windows\Forms\Controls\WebBrowser\HtmlElement.cs (1)
53using var scope = _htmlElement.GetInterface<IUnknown>();
System\Windows\Forms\Controls\WebBrowser\HtmlWindow.cs (1)
33using var scope = _htmlWindow2.GetInterface<IUnknown>();
System\Windows\Forms\Controls\WebBrowser\WebBrowserBase.cs (2)
845IID.GetRef<IUnknown>(), 850_activeXInstance = ComHelpers.GetObjectForIUnknown((IUnknown*)unknown);
System\Windows\Forms\OLE\DropTarget.cs (1)
52using var unknown = ComScope<IUnknown>.QueryFrom(nativeDataObject);
System\Windows\Forms\StringSource.cs (1)
49(IUnknown*)ComHelpers.GetComPointer<IEnumString>(this),
System.Windows.Forms.Interop.Tests (2)
PropertyGridTests.cs (2)
131out IUnknown* result); 142out IUnknown* result);
System.Windows.Forms.Primitives (52)
Interop\UiaCore\Interop.StubFragmentRoot.cs (1)
112HRESULT IRawElementProviderSimple.Interface.GetPatternProvider(UIA_PATTERN_ID patternId, IUnknown** pRetVal)
Microsoft\Office\IMsoComponent.cs (3)
124/// <inheritdoc cref="IUnknown.QueryInterface(Guid*, void**)"/> 131/// <inheritdoc cref="IUnknown.AddRef"/> 138/// <inheritdoc cref="IUnknown.Release"/>
Microsoft\Office\IMsoComponentManager.cs (11)
36/// <inheritdoc cref="IUnknown.QueryInterface(Guid*, void**)"/> 43/// <inheritdoc cref="IUnknown.AddRef"/> 50/// <inheritdoc cref="IUnknown.Release"/> 163/// <inheritdoc cref="Interface.FCreateSubComponentManager(IUnknown*, IUnknown*, Guid*, void**)"/> 164public BOOL FCreateSubComponentManager(IUnknown* punkOuter, IUnknown* punkServProv, Guid* riid, void** ppvObj) 167return ((delegate* unmanaged[Stdcall]<IMsoComponentManager*, IUnknown*, IUnknown*, Guid*, void**, BOOL>)_lpVtbl[15]) 494IUnknown* punkOuter, 495IUnknown* punkServProv,
Microsoft\Office\IMsoComponentManager.NativeAdapter.cs (2)
105BOOL Interface.FCreateSubComponentManager(IUnknown* punkOuter, IUnknown* punkServProv, Guid* riid, void** ppvObj)
Microsoft\VisualStudio\Shell\ICategorizeProperties.cs (3)
34/// <inheritdoc cref="IUnknown.QueryInterface(Guid*, void**)"/> 41/// <inheritdoc cref="IUnknown.AddRef"/> 48/// <inheritdoc cref="IUnknown.Release"/>
Microsoft\VisualStudio\Shell\IProvidePropertyBuilder.cs (3)
34/// <inheritdoc cref="IUnknown.QueryInterface(Guid*, void**)"/> 41/// <inheritdoc cref="IUnknown.AddRef"/> 48/// <inheritdoc cref="IUnknown.Release"/>
Microsoft\VisualStudio\Shell\IVSMDPerPropertyBrowsing.cs (3)
35/// <inheritdoc cref="IUnknown.QueryInterface(Guid*, void**)"/> 42/// <inheritdoc cref="IUnknown.AddRef"/> 49/// <inheritdoc cref="IUnknown.Release"/>
Microsoft\VisualStudio\Shell\IVsPerPropertyBrowsing.cs (3)
34/// <inheritdoc cref="IUnknown.QueryInterface(Guid*, void**)"/> 41/// <inheritdoc cref="IUnknown.AddRef"/> 48/// <inheritdoc cref="IUnknown.Release"/>
System\DisposeHelper.cs (2)
30IUnknown* localComPointer = (IUnknown*)comPointer;
System\Windows\Forms\AccessibilityExtensions.cs (2)
11/// <inheritdoc cref="PInvoke.LresultFromObject(Guid*, WPARAM, IUnknown*)"/> 16using var unknown = ComHelpers.TryGetComScope<IUnknown>(accessible, out _);
System\Windows\Forms\Automation\UiaTextRange.cs (4)
140*pRetVal = ComHelpers.TryGetObjectForIUnknown((IUnknown*)range, out UiaTextRange? editRange) && editRange.Start == Start && editRange.End == End; 156if (!ComHelpers.TryGetObjectForIUnknown((IUnknown*)targetRange, out UiaTextRange? editRange)) 560if (!ComHelpers.TryGetObjectForIUnknown((IUnknown*)targetRange, out UiaTextRange? textRange)) 915IUnknown* unknown;
System\Windows\Forms\IExtender.cs (9)
31/// <inheritdoc cref="IUnknown.QueryInterface(Guid*, void**)"/> 38/// <inheritdoc cref="IUnknown.AddRef()"/> 45/// <inheritdoc cref="IUnknown.Release()"/> 75internal delegate* unmanaged[Stdcall]<IExtender*, IUnknown**, HRESULT> get_Parent_21; 77internal delegate* unmanaged[Stdcall]<IExtender*, IUnknown**, HRESULT> get_Container_23; 197private static HRESULT get_Parent(IExtender* @this, IUnknown** value) 205private static HRESULT get_Container(IExtender* @this, IUnknown** value) 235IUnknown* Parent { get; } 239IUnknown* Container { get; }
Windows\Win32\System\Com\ComSafeArrayScope.cs (2)
54using ComScope<IUnknown> unknown = new((IUnknown*)_value[i]);
Windows\Win32\System\Com\StandardDispatch.cs (1)
240HRESULT IDispatchEx.Interface.GetNameSpaceParent(IUnknown** ppunk)
Windows\Win32\System\Com\UnknownDispatch.cs (3)
7/// Base <see cref="IDispatch"/> class for <see cref="IUnknown"/>. 9internal abstract unsafe class UnknownDispatch : StandardDispatch<IUnknown> 15private static ITypeInfo* TypeInfo { get; } = ComHelpers.GetRegisteredTypeInfo(s_stdole, 2, 0, IUnknown.IID_Guid);
System.Windows.Forms.Primitives.Tests (33)
Interop\Oleaut32\VARIANTTests.cs (24)
321using VARIANT variant = Create((VARENUM)vt, (IUnknown*)data); 329using VARIANT variant = Create((VARENUM)vt | VT_BYREF, (IUnknown*)&data); 414using VARIANT variant = Create(VT_I8, (IUnknown*)data); 437using VARIANT variant = Create(VT_I8 | VT_BYREF, (IUnknown*)&data); 463using VARIANT variant = Create(VT_UI8, (IUnknown*)data); 481using VARIANT variant = Create(VT_UI8 | VT_BYREF, (IUnknown*)&data); 503using VARIANT variant = Create(VT_CY, (IUnknown*)data); 522using VARIANT variant = Create(VT_CY | VT_BYREF, (IUnknown*)&data); 541using VARIANT variant = Create(VT_R4, (IUnknown*)data); 584using VARIANT variant = Create(VT_R8, (IUnknown*)data); 600using VARIANT variant = Create(VT_R8 | VT_BYREF, (IUnknown*)&data); 614using VARIANT variant = Create(VT_BYREF | VT_NULL, (IUnknown*)data); 622using VARIANT variant = Create(VT_BYREF | VT_NULL, (IUnknown*)&data); 643using VARIANT variant = Create(VT_EMPTY, (IUnknown*)data); 651using VARIANT variant = Create(VT_BYREF | VT_EMPTY, (IUnknown*)&data); 704using VARIANT variant = Create(VT_HRESULT, (IUnknown*)data); 712using VARIANT variant = Create(VT_HRESULT | VT_BYREF, (IUnknown*)&data); 860using VARIANT variant = Create(VT_LPWSTR, (IUnknown*)(void*)Marshal.StringToCoTaskMemUni(text)); 938using ComScope<IUnknown> unknown = new((IUnknown*)(void*)Marshal.GetIUnknownForObject(o)); 946IUnknown* unknown = null; 970using ComScope<IUnknown> unknown = new((IUnknown*)(void*)Marshal.GetIUnknownForObject(o)); 978IUnknown* unknown = null;
System\Windows\Forms\Automation\UiaTextRangeTests.cs (2)
465IUnknown* unknown; 1335public HRESULT GetPatternProvider(UIA_PATTERN_ID patternId, IUnknown** pRetVal) => HRESULT.E_NOTIMPL;
Windows\Win32\AgileComPointerTests.cs (3)
44using var proxyUnknownPtr = proxyAgileStream.GetInterface<IUnknown>(); 45using ComScope<IUnknown> originalUnknownPtr = new(null); 46((IStream*)originalPtr)->QueryInterface(IID.Get<IUnknown>(), originalUnknownPtr);
Windows\Win32\System\Com\ComSafeArrayScopeTests.cs (2)
17Assert.Throws<ArgumentException>(() => new ComSafeArrayScope<IUnknown>(array)); 39public HRESULT GetPatternProvider(UIA_PATTERN_ID patternId, IUnknown** pRetVal) => throw new NotImplementedException();
Windows\Win32\System\Com\SafeArrayScopeTests.cs (2)
73ArgumentException e = Assert.Throws<ArgumentException>(() => new SafeArrayScope<IUnknown>(size: 1)); 78e = Assert.Throws<ArgumentException>(() => new SafeArrayScope<IUnknown>(array));
System.Windows.Forms.Primitives.TestUtilities (4)
Windows\Win32\System\Com\ComClassFactory.cs (4)
49internal HRESULT CreateInstance(out IUnknown* unknown) 52fixed (IUnknown** u = &unknown) 54return _classFactory->CreateInstance(null, IID.Get<IUnknown>(), (void**)u); 60HRESULT result = CreateInstance(out IUnknown* punk);
System.Windows.Forms.Tests (22)
System\Windows\Forms\AxHostTests.cs (1)
3083using var ocx = ComHelpers.GetComScope<IUnknown>(control.GetOcx());
System\Windows\Forms\ClipboardTests.cs (9)
472using var dataUnknown = dataScope.Query<IUnknown>(); 473using var proxyUnknown = proxy.Query<IUnknown>(); 478using var realDataPointerUnknown = realDataPointer.Query<IUnknown>(); 1330using ComScope<IUnknown> originalUnknown = iDataObject.Query<IUnknown>(); 1343using ComScope<IUnknown> unknown = receivedIDataObject.Query<IUnknown>(); 1354using ComScope<IUnknown> wrapperUnknown = wrapper.Query<IUnknown>();
System\Windows\Forms\ComponentModel\Com2Interop\COM2FontConverterTests.cs (3)
40using Font? font = (Font?)converter.ConvertNativeToManaged((VARIANT)(IUnknown*)iFont, s_stubDescriptor); 72using Font? font = (Font?)converter.ConvertNativeToManaged((VARIANT)(IUnknown*)iFont, s_stubDescriptor); 84new CustomGetNativeValueDescriptor((VARIANT)(IUnknown*)iFont.Value),
System\Windows\Forms\ComponentModel\Com2Interop\COM2PictureConverterTests.cs (6)
70using var unknown = ComHelpers.GetComScope<IUnknown>(nullIPicture); 80using var unknown = ComHelpers.GetComScope<IUnknown>(iconIPicture); 101using var unknown = ComHelpers.GetComScope<IUnknown>(bitmapIPicture); 123using var unknown = ComHelpers.GetComScope<IUnknown>(new TestIPicture(1, PICTYPE.PICTYPE_METAFILE)); 143using ComScope<IPicture> picture = ComScope<IPicture>.QueryFrom((IUnknown*)native); 164using ComScope<IPicture> picture = ComScope<IPicture>.QueryFrom((IUnknown*)native);
System\Windows\Forms\ComponentModel\Com2Interop\ComNativeDescriptorTests.cs (3)
100out IUnknown* mediaPlayerPtr); 113ComScope<IUnknown> unknown = new(null); 118IID.Get<IUnknown>(),