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. |