IUnknown (Interfaces)
Last changed: PJonDevelopment (http---pjondevelopment.50webs.com)-189.25.187.30

.
Summary
Base interface that all other COM interfaces inherit from. Defines the standard reference counting and interface discovery mechanisms for COM objects.

C# Signature:

    [ComVisible(false)]
    [ComImport, InterfaceType(ComInterfaceType.InterfaceIsIUnknown), Guid("00000000-0000-0000-C000-000000000046")]
    public interface IUnknown
    {
    IntPtr QueryInterface(ref Guid riid);

    [PreserveSig]
    UInt32 AddRef();

    [PreserveSig]
    UInt32 Release();
    }

VB Signature:

<ComVisible(False)> _
<ComImport()> _
<InterfaceType(ComInterfaceType.InterfaceIsIUnknown)> _
<Guid("00000000-0000-0000-C000-000000000046")> _
Public Interface IUnknown
     Function QueryInterface(ByRef riid As Guid) As IntPtr

     <PreserveSig()> _
     Function AddRef() As Integer

     <PreserveSig()> _
     Function Release() As Integer
End Interface

User-Defined Types:

None.

Notes:

It is usually not necessary to call IUnknown's methods directly in your .NET code. The interop runtime code will insert the appropriate method calls for reference counting when the managed proxy objects are created and freed, and will translate typecast, "is", and "as" operators into calls to QueryInterface.

Documentation
IUnknown on MSDN