Interfaces (COM)

COM proporciona las siguientes interfaces.

Interfaz Descripción
IAccessControl Permite la administración del acceso a objetos y propiedades de los objetos.
IAgileObject Marca una interfaz como ágil en los apartamentos.
IBindCtx Proporciona acceso a un contexto de enlace, que es un objeto que almacena información sobre una operación de enlace de moniker determinada.
IBlockingLock Proporciona un semáforo que se puede usar para proporcionar acceso temporalmente exclusivo a un recurso compartido, como un archivo.
ICallFactory Crea un objeto de llamada para procesar llamadas a los métodos de una interfaz asincrónica.
ICallFrame Permite la manipulación de fotogramas de llamada, como marcos de pila. El marco de llamada es el cuerpo de la información que un procedimiento debe guardar para permitirle volver correctamente a su autor de la llamada. Un marco de llamada puede existir en la pila o en los registros. Un marco de pila mantiene la información de contexto del autor de la llamada en la pila.
ICallFrameEvents Entrega notificaciones de llamada de método.
ICallFrameWalker Recorre un marco de pila buscando valores interesantes.
ICallIndirect Invoca un objeto con una referencia indirecta a los argumentos de invocaciones, en lugar de la llamada directa tradicional.
ICallInterceptor Admite el registro y el anulación del registro de receptores de eventos que desean recibir notificaciones de las llamadas realizadas directamente en la interfaz. Además, esta interfaz proporciona un medio por el que se puede realizar una invocación con una referencia indirecta a los argumentos invocaciones.
ICallUnmarshal Se usa en el servidor (recepción) de una invocación remota. Se puede usar una instancia adecuada de ICallUnmarshal para volver a transformar en un marco de llamada una invocación de método serializado previamente por una llamada a ICallFrame::Marshal en el lado cliente (envío).
ICancelMethodCalls Administra las solicitudes de cancelación en una llamada de método saliente y supervisa el estado actual de esa llamada de método en el subproceso del servidor.
ICatInformation Obtiene información sobre las categorías implementadas o requeridas por una determinada clase, así como información sobre las categorías registradas en el equipo especificado.
ICatRegister Proporciona métodos para registrar y anular el registro de información de categorías de componentes en el Registro. Esto incluye los nombres legibles de las categorías y las categorías implementadas o requeridas por un componente o clase determinado.
IClassActivator Especifica un método que recupera un objeto de clase.
IClassFactory Permite crear una clase de objetos.
IClassFactory2 Permite que un objeto de generador de clases, en cualquier tipo de servidor de objetos, controle la creación de objetos mediante licencias.
IClientSecurity Proporciona al cliente control sobre la configuración de seguridad de cada proxy de interfaz individual de un objeto.
IComThreadingInfo Permite obtener la siguiente información sobre el apartamento y el subproceso en el que se ejecuta el autor de la llamada: tipo de apartamento, tipo de subproceso y GUID de subproceso. También permite especificar un GUID de subproceso.
IConnectionPoint Admite puntos de conexión para objetos conectables.
IConnectionPointContainer Admite puntos de conexión para objetos conectables.
IContext Admite la configuración de propiedades de contexto COM+.
IContextCallback Proporciona un mecanismo para ejecutar una función dentro de un contexto de objeto COM+ específico.
IContinueCallback Proporciona un mecanismo de devolución de llamada genérico para los procesos interrumpibles que deben preguntar periódicamente a un objeto si se debe continuar.
IEnumCATID Enumera los identificadores de categoría.
IEnumCLSID Enumera los identificadores de clase.
IEnumCATEGORYINFO Enumera las categorías de componentes registradas en el sistema.
IEnumConnectionPoints Enumera los puntos de conexión.
IEnumConnections Enumera las conexiones actuales para un objeto conectable.
IEnumContextProps Proporciona un mecanismo para enumerar las propiedades de contexto asociadas a un contexto de objeto COM+.
IEnumGUID Permite a los clientes enumerar a través de una colección de identificadores de clase para clases COM.
IEnumString Enumerar cadenas. LPWSTR es el tipo que indica un puntero a una cadena terminada en cero de caracteres anchos o Unicode.
IEnumUnknown Enumera los objetos con la interfaz IUnknown . Se puede usar para enumerar a través de los objetos de un componente que contiene varios objetos.
IEventProperty Asocia una propiedad de evento con nombre con su valor.
IEventPublisher Registra, modifica, quita y proporciona información sobre un publicador de eventos.
IExternalConnection Administra el recuento de un objeto de servidor de conexiones externas o de cálculo de referencias. Un servidor que mantiene este recuento puede detectar cuándo no tiene conexiones externas y cerrarse de forma ordenada.
IFastRundown Marca una interfaz como apta para un comportamiento de desfase rápido.
IFileBasedLogInit Inicializa una instancia de una implementación basada en archivos de ILog.
IForegroundTransfer Transfiere la ventana de primer plano al proceso que hospeda el servidor COM.
IGlobalInterfaceTable Permite que cualquier apartamento de un proceso obtenga acceso a una interfaz implementada en un objeto en cualquier otro apartamento del proceso.
IGlobalOptions Establece y consulta determinadas propiedades globales del entorno de ejecución COM.
IInitializeSpy Realiza la inicialización o limpieza al entrar o salir de un apartamento COM.
IInternalUnknown Se usa exclusivamente en controladores ligeros del lado cliente que requieren acceso a algunas de las interfaces internas del proxy.
Ilog Proporciona funcionalidad genérica de registro de bajo nivel.
IMalloc Asigna, libera y administra memoria.
IMallocSpy Permite a los desarrolladores de aplicaciones supervisar (espiar) la asignación de memoria, detectar fugas de memoria y simular errores de memoria en llamadas a métodos IMalloc .
IMarshal Permite a un objeto COM para definir y administrar el cálculo de referencias de los punteros de la interfaz.
IMarshalingStream Proporciona información adicional sobre el contexto de serialización a objetos serializado personalizados y desmarshalers.
IMessageFilter Proporciona servidores COM y aplicaciones con la capacidad de controlar selectivamente los mensajes COM entrantes y salientes mientras esperan respuestas de llamadas sincrónicas. El filtrado de mensajes ayuda a garantizar que las llamadas se controlan de forma que mejore el rendimiento y evite interbloqueos. Los mensajes COM pueden ser sincrónicos, asincrónicos o sincronizados de entrada; la mayoría de las llamadas de interfaz son sincrónicas.
Imoniker Permite usar un objeto moniker, que contiene información que identifica de forma única un objeto COM. Un objeto que tiene un puntero a la interfaz IMoniker del objeto moniker puede localizar, activar y obtener acceso al objeto identificado sin tener ninguna otra información específica sobre dónde se encuentra realmente el objeto en un sistema distribuido.
IMultiQI Permite a un cliente consultar un proxy de objeto o un controlador para varias interfaces mediante una sola llamada RPC. Con esta interfaz, en lugar de depender de llamadas independientes a IUnknown::QueryInterface, los clientes pueden reducir el número de llamadas RPC que tienen que cruzar los límites de subproceso, proceso o máquina y, por lo tanto, la cantidad de tiempo necesario para obtener los punteros de interfaz solicitados.
IObjContext Realiza varias operaciones en contextos.
IOleItemContainer Lo usan los monikers de elementos cuando están enlazados a los objetos que identifican.
IOrpcDebugNotify Proporciona funcionalidad de depuración remota.
IParseDisplayName Analiza una cadena de nombre que se puede mostrar para convertirlo en un moniker para implementaciones de moniker personalizadas.
IPersist Proporciona el CLSID de un objeto que se puede almacenar de forma persistente en el sistema. Permite al objeto especificar qué controlador de objetos usar en el proceso de cliente, ya que se usa en la implementación predeterminada de serialización.
IPersistFile Permite cargar o guardar un objeto en un archivo de disco, en lugar de un objeto de almacenamiento o una secuencia.
IPersistStorage Permite a una aplicación contenedora pasar un objeto de almacenamiento a uno de sus objetos contenidos y cargar y guardar el objeto de almacenamiento.
Ipersiststream Permite guardar y cargar objetos que usan una secuencia serie simple para sus necesidades de almacenamiento.
IPersistStreamInit Reemplazo de IPersistStream que agrega un método de inicialización.
IPipeByte Transfiere datos del tipo de byte (que es de 8 bits de ancho).
IPipeDouble Transfiere datos del tipo doble (que es de 64 bits de ancho).
IPipeLong Transfiere datos del tipo entero largo (que es de 32 bits de ancho).
IProcessInitControl Especifica el intervalo de tiempo de espera de inicialización del proceso.
IProcessLock Lo usa ISurrogateService para evitar que el proceso termine debido a un tiempo de espera.
IProgressNotify Permite a las aplicaciones y otros objetos recibir notificaciones de cambios en el progreso de una operación de descarga.
IProvideClassInfo Proporciona acceso a la información de tipo para la entrada de coclase de un objeto en su biblioteca de tipos.
IProvideClassInfo2 Una extensión a IProvideClassInfo que hace que sea más rápido y fácil recuperar el IID de la interfaz saliente de un objeto para su conjunto de eventos predeterminado.
IProvideMultipleClassInfo Una extensión a IProvideClassInfo2 que facilita la recuperación de información de tipos de un componente que puede tener varias coclases que determinan su comportamiento.
IPSFactoryBuffer Proporciona métodos personalizados para la creación de servidores proxy de objetos COM y códigos auxiliares. Esta interfaz no es serializable.
IROTData Implementado por monikers para permitir que la tabla de objetos en ejecución (ROT) compare monikers entre sí.
IRpcChannelBuffer Calcula las referencias de los datos entre un proxy de cliente COM y un código auxiliar del servidor COM.
IRpcOptions Permite a los autores de llamadas establecer o consultar los valores de varias propiedades que controlan cómo COM controla las llamadas a procedimientos remotos (RPC).
IRpcProxyBuffer Controla el proxy RPC usado para serializar datos entre componentes COM.
IRpcStubBuffer Controla el código auxiliar RPC usado para serializar datos entre componentes COM.
IRunnableObject Habilita a un contenedor para controlar la ejecución de sus objetos incrustados. En el caso de un objeto implementado con un servidor local, al llamar al método Run se inicia el archivo .EXE del servidor. En el caso de un objeto implementado con un servidor en proceso, llamar a Run hace que el objeto .DLL archivo pase al estado en ejecución.
IRunningObjectTable Administra el acceso a la tabla de objetos en ejecución (ROT), una tabla de búsqueda accesible globalmente en cada estación de trabajo. Rot de una estación de trabajo realiza un seguimiento de esos objetos que se pueden identificar mediante un moniker y que se ejecutan actualmente en la estación de trabajo. Cuando un cliente intenta enlazar un moniker a un objeto, el moniker comprueba el ROT para ver si el objeto ya está en ejecución; esto permite que el moniker se enlace a la instancia actual en lugar de cargar uno nuevo.
IServerSecurity Lo usa un servidor para ayudar a autenticar el cliente y administrar la suplantación del cliente.
IStdMarshalInfo Recupera el CLSID que identifica el controlador que se va a usar en el proceso de destino durante la serialización estándar.
ISurrogate Se usa para cargar dinámicamente nuevos servidores DLL en un suplente existente y liberarlo cuando ya no sea necesario.
ISurrogateService Se usa para inicializar, iniciar y liberar una aplicación COM+. También puede actualizar el catálogo y apagar el proceso.
ISynchronize Proporciona comunicación asincrónica entre objetos sobre la aparición de un evento. Los objetos que implementan ISynchronize pueden recibir indicaciones de que se ha producido un evento y pueden responder a consultas sobre el evento. De este modo, los clientes pueden asegurarse de que se haya procesado una solicitud antes de enviar una solicitud posterior que dependa de la finalización de la primera.
ISynchronizeContainer Administra un grupo de objetos de sincronización sin signo.
ISynchronizeEvent Asigna un identificador de evento a un objeto de sincronización.
ISynchronizeHandle Recupera un identificador asociado a un objeto de sincronización.
IUnknown Permite a los clientes obtener punteros a otras interfaces de un objeto determinado a través del método QueryInterface y administrar la existencia del objeto a través de los métodos AddRef y Release . Todas las demás interfaces COM se heredan, directa o indirectamente, de IUnknown. Por lo tanto, los tres métodos de IUnknown son las primeras entradas de la VTable para cada interfaz.