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
Last updated on Wednesday, April 13, 2005
© 2005 Microsoft Corporation. All rights reserved.