COM Interfaces

The following table shows the COM interfaces with a description of the purpose of each.

Programming element Description
IAccessControl This interface manages access to objects and properties.
IBindCtx This interface provides access to a bind context, which is an object that stores information about a particular moniker binding operation.
ICatInformation This interface provides methods for obtaining information about the categories implemented or required by a certain class, as well as information about the categories registered on a given machine.
ICatRegister This interface provides methods for registering and unregistering component category information in the Registry.
IClassActivator This interface specifies a method that retrieves a class object.
IClassFactory Because this interface contains two methods intended to deal with an entire class of objects, it is implemented on the class object for a specific class of objects, identified by a class identifier (CLSID).
IClassFactory2 This interface enables a class factory object, in any sort of object server, to control object creation through licensing.
IClientSecurity This interface gives the client control over the security settings for each individual interface proxy of an object.
IConnectionPoint This interface supports connection points for connectable objects.
IConnectionPointContainer This interface supports connection points for connectable objects.
IContinueCallback This interface is a generic callback mechanism for interruptible processes that should periodically ask an object whether to continue.
IDataObject This interface specifies methods that enable data transfer and notification of changes in data.
IDccMan This interface is implemented by the Windows CE connection manager. It allows an application some control of the connection manager and the ability to register for connection notifications.
IDccManSink This interface is implemented by a client application that needs to be notified by the Windows CE connection manager about the connection and disconnection events it handles.
IEnumConnectionPoints This interface enumerates connection points. Connectable objects support the following features:
IEnumConnections This interface enumerates the current connections for a connectable object.
IEnumFORMATETC This interface is used to enumerate an array of FORMATETC structures.
IEnumMoniker This interface is used to enumerate the components of a moniker or to enumerate the monikers in a table of monikers.
IEnumSTATDATA This interface is used to enumerate through an array of STATDATA structures, which contain advisory connection information for a data object.
IEnumSTATSTG This interface is used to enumerate through an array of STATSTG structures that contains statistical information about an open storage, stream, or byte array object.
IEnumString This interface enumerates strings.
IEnumUnknown This enumerator enumerates objects with the IUnknown interface.
IErrorlog This interface is an abstraction of an error log used to communicate detailed error information between a client and an object.
IExternalConnection This interface manages a server object's count of marshaled, or external, connections.
IFillLockBytes This interface enables downloading code to write data asynchronously to a structured storage byte array.
IGlobalInterfaceTable This interface allows any apartment in a process to get access to an interface implemented on an object in any other apartment in the process.
IMalloc This interface allocates, frees, and manages memory.
IMallocSpy This interface is a debugging interface that allows application developers to monitor (spy on) memory allocation, detect memory leaks, and simulate memory failure in calls to IMalloc methods.
IMarshal This interface enables a COM object to define and manage the marshaling of its interface pointers.
IMessageFilter This interface provides COM servers and applications with the ability to selectively handle incoming and outgoing COM messages while waiting for responses from synchronous calls.
IMoniker This interface contains methods that allow you to use a moniker object, which contains information that uniquely identifies a Component Object Model (COM) object.
IMultiQI This interface enables a client to query an object proxy, or handler, for multiple interfaces, using a single RPC call.
IObjectSafety This interface allows a container to retrieve the current initialization or scripting capabilities for an ActiveX control and to ask a control to make itself safe.
IOleItemContainer This interface is used by item monikers when they are bound to the objects they identify.
IOleLink This interface provides functions for managing information about the linked object, such as the location of the link source and the cached presentation data for the linked object.
IParseDisplayName This interface parses a displayable name string to convert it into a moniker for custom moniker implementations.
IPersist This interface defines the single method GetClassID, which is designed to supply the class identifier (CLSID) of an object that can be stored persistently in the system.
IPersistFile This interface provides methods that permit an object to be loaded from or saved to a disk file, rather than a storage object or stream.
IPersistPropertyBag This interface works in conjunction with IPropertyBag to define an individual property-based persistence mechanism.
IPersistStorage This interface defines methods that enable a container application to pass a storage object to one of its contained objects and to load and save the storage object.
IPersistStream This interface provides methods for saving and loading objects that use a simple serial stream for their storage needs.
IPersistStreamInit This interface is defined as a replacement for IPersistStream to add an initialization method, InitNew.
IProgressNotify This interface enables applications and other objects to receive notifications of changes during a downloading operation.
IPropertyBag This interface provides an object with a property bag in which the object can persistently save its properties.
IProvideClassInfo This interface provides a single method for accessing the type information for an object's coclass entry in its type library.
IProvideClassInfo2 This interface is a simple extension to the IProvideClassInfo interface for the purpose of making it quick and easy to retrieve an object's outgoing interface IID for its default event set.
IROTData This interface is implemented by monikers to enable the Running Object Table (ROT) to compare monikers against each other.
IRunnableObject This interface enables a container to control the running of its embedded objects.
IRunningObjectTable This interface manages access to the Running Object Table (ROT), a globally accessible look-up table on each workstation.
ISequentialStream This interface supports simplified sequential access to stream objects.
IServerSecurity This interface is used by a server to help authenticate the client and to manage impersonation of the client.
IStdMarshalInfo This interface returns the CLSID identifying the handler to be used in the destination process during standard marshaling.
ISurrogate This interface defines two methods: one for dynamically loading new DLL servers into an existing surrogate, and one to free the surrogate when it is no longer needed.
IUnknown This interface enables clients to get pointers to other interfaces on a specified object through the IUnknown::QueryInterface method, and manage the existence of the object through the IUnknown::AddRef and IUnknown::Release methods.
IViewObject2 This interface is an extension to the IViewObject interface, which returns the size of the drawing for a given view of an object.
IViewObjectEx This interface is an extension derived from the IViewObject2 interface to provide support for:
IAccessControl This interface manages access to objects and properties.

See Also

COM Reference

Last updated on Wednesday, April 13, 2005

© 2005 Microsoft Corporation. All rights reserved.