Compartilhar via


Interfaces (COM)

As interfaces a seguir são fornecidas pelo COM.

Interface Descrição
IAccessControl Habilita o gerenciamento de acesso a objetos e propriedades nos objetos.
IAgileObject Marca uma interface como ágil entre apartamentos.
IBindCtx Fornece acesso a um contexto de associação, que é um objeto que armazena informações sobre uma operação de associação de moniker específica.
IBlockingLock Fornece um semáforo que pode ser usado para fornecer acesso temporariamente exclusivo a um recurso compartilhado, como um arquivo.
ICallFactory Cria um objeto de chamada para processar chamadas aos métodos de uma interface assíncrona.
ICallFrame Habilita a manipulação de quadros de chamada, como quadros de pilha. O quadro de chamada é o corpo das informações que um procedimento deve salvar para permitir que ele retorne corretamente ao chamador. Um quadro de chamada pode existir na pilha ou nos registros. Um quadro de pilha mantém as informações de contexto do chamador na pilha.
ICallFrameEvents Fornece notificações de chamada de método.
ICallFrameWalker Orienta um quadro de pilha em busca de valores interessantes.
ICallIndirect Invoca um objeto com uma referência indireta aos argumentos de invocações, em vez da chamada direta tradicional.
ICallInterceptor Dá suporte ao registro e ao cancelamento do registro de coletores de eventos que desejam ser notificados sobre chamadas feitas diretamente na interface. Além disso, essa interface fornece um meio pelo qual uma invocação pode ser realizada com uma referência indireta aos argumentos de invocações.
ICallUnmarshal É usado no lado do servidor (recebimento) de uma invocação remota. Uma instância apropriada do ICallUnmarshal pode ser usada para transformar novamente em um quadro de chamada uma invocação de método previamente marshalada por uma chamada para ICallFrame::Marshal no lado do cliente (envio).
ICancelMethodCalls Gerencia solicitações de cancelamento em uma chamada de método de saída e monitora o estado atual dessa chamada de método no thread do servidor.
ICatInformation Obtém informações sobre as categorias implementadas ou exigidas por determinada classe, bem como informações sobre as categorias registradas no computador especificado.
ICatRegister Fornece métodos para registrar e cancelar o registro de informações de categoria de componente no registro. Isso inclui os nomes de categorias legíveis por humanos e as categorias implementadas/exigidas por um determinado componente ou classe.
IClassActivator Especifica um método que recupera um objeto de classe.
IClassFactory Permite que uma classe de objetos seja criada.
IClassFactory2 Permite que um objeto de fábrica de classes, em qualquer tipo de servidor de objetos, controle a criação de objetos por meio do licenciamento.
IClientSecurity Fornece ao cliente controle sobre as configurações de segurança para cada proxy de interface individual de um objeto.
IComThreadingInfo Permite obter as seguintes informações sobre o apartamento e o thread em que o chamador está executando: tipo de apartamento, tipo de thread e GUID de thread. Ele também permite que você especifique um GUID de thread.
IConnectionPoint Dá suporte a pontos de conexão para objetos conectáveis.
IConnectionPointContainer Dá suporte a pontos de conexão para objetos conectáveis.
IContext Dá suporte à configuração de propriedades de contexto COM+.
IContextCallback Fornece um mecanismo para executar uma função dentro de um contexto de objeto COM+ específico.
IContinueCallback Fornece um mecanismo de retorno de chamada genérico para processos interruptíveis que devem perguntar periodicamente a um objeto se deseja continuar.
IEnumCATID Enumera identificadores de categoria.
IEnumCLSID Enumera identificadores de classe.
IEnumCATEGORYINFO Enumera categorias de componentes registradas no sistema.
IEnumConnectionPoints Enumera pontos de conexão.
IEnumConnections Enumera as conexões atuais para um objeto conectável.
IEnumContextProps Fornece um mecanismo para enumerar as propriedades de contexto associadas a um contexto de objeto COM+.
IEnumGUID Permite que os clientes enumerem por meio de uma coleção de IDs de classe para classes COM.
IEnumString Enumerar cadeias de caracteres. LPWSTR é o tipo que indica um ponteiro para uma cadeia de caracteres com término zero de caracteres largos ou Unicode.
IEnumUnknown Enumera objetos com a interfaceIUnknown. Ele pode ser usado para enumerar por meio dos objetos em um componente que contém vários objetos.
IEventProperty Associa uma propriedade de evento nomeada ao seu valor.
IEventPublisher Registra, modifica, remove e fornece informações sobre um editor de eventos.
IExternalConnection Gerencia a contagem de conexões marshaladas ou externas de um objeto de servidor. Um servidor que mantém essa contagem pode detectar quando não tem conexões externas e desligar-se de forma ordenada.
IFastRundown Marca uma interface como qualificada para um comportamento de rundown rápido.
IFileBasedLogInit Inicializa uma instância de uma implementação baseada em arquivo de ILog.
IForegroundTransfer Transfere a janela de primeiro plano para o processo que hospeda o servidor COM.
IGlobalInterfaceTable Permite que qualquer apartamento em um processo obtenha acesso a uma interface implementada em um objeto em qualquer outro apartamento no processo.
IGlobalOptions Define e consulta determinadas propriedades globais do runtime COM.
IInitializeSpy Executa a inicialização ou a limpeza ao entrar ou sair de um apartamento COM.
IInternalUnknown Usado exclusivamente em manipuladores leves do lado do cliente que exigem acesso a algumas das interfaces internas no proxy.
ILog Fornece funcionalidade genérica de log de baixo nível.
IMalloc Aloca, libera e gerencia a memória.
IMallocSpy Permite que os desenvolvedores de aplicativos monitorem a alocação de memória (espionada), detectem vazamentos de memória e simulem falhas de memória em chamadas para métodos de IMalloc.
IMarshal Permite que um objeto COM defina e gerencie o marshaling de seus ponteiros de interface.
IMarshalingStream Fornece informações adicionais sobre o contexto de marshaling para objetos de marshaled personalizados e unmarshalers.
IMessageFilter Fornece aos servidores e aplicativos COM a capacidade de lidar seletivamente com mensagens COM de entrada e saída enquanto aguarda respostas de chamadas síncronas. Filtrar mensagens ajuda a garantir que as chamadas sejam tratadas de uma maneira que melhore o desempenho e evite deadlocks. As mensagens COM podem ser síncronas, assíncronas ou sincronizadas com entrada; a maioria das chamadas de interface são síncronas.
IMoniker Permite que você use um objeto moniker, que contém informações que identificam exclusivamente um objeto COM. Um objeto que tem um ponteiro para o objeto IMoniker do objeto moniker interface pode localizar, ativar e obter acesso ao objeto identificado sem ter nenhuma outra informação específica sobre onde o objeto está realmente localizado em um sistema distribuído.
IMultiQI Permite que um cliente consulte um proxy de objeto ou manipulador para várias interfaces usando uma única chamada RPC. Usando essa interface, em vez de depender de chamadas separadas para IUnknown::QueryInterface, os clientes podem reduzir o número de chamadas RPC que precisam cruzar limites de thread, processo ou computador e, portanto, o tempo necessário para obter os ponteiros de interface solicitados.
IObjContext Executa várias operações em contextos.
IOleItemContainer Usado por monikers de item quando eles são associados aos objetos que identificam.
IOrpcDebugNotify Fornece funcionalidade de depuração remota.
IParseDisplayName Analisa uma cadeia de caracteres de nome exibivel para convertê-la em um moniker para implementações personalizadas de moniker.
IPersist Fornece o CLSID de um objeto que pode ser armazenado persistentemente no sistema. Permite que o objeto especifique qual manipulador de objetos usar no processo do cliente, pois ele é usado na implementação padrão do marshaling.
IPersistFile Permite que um objeto seja carregado ou salvo em um arquivo de disco, em vez de um objeto de armazenamento ou fluxo.
IPersistStorage Permite que um aplicativo de contêiner passe um objeto de armazenamento para um de seus objetos contidos e carregue e salve o objeto de armazenamento.
IPersistStream Habilita o salvamento e o carregamento de objetos que usam um fluxo serial simples para suas necessidades de armazenamento.
IPersistStreamInit Uma substituição para IPersistStream que adiciona um método de inicialização.
IPipeByte Transfere dados do tipo de byte (que tem 8 bits de largura).
IPipeDouble Transfere dados do tipo duplo (que tem 64 bits de largura).
IPipeLong Transfere dados do tipo inteiro longo (que tem 32 bits de largura).
IProcessInitControl Especifica o intervalo de tempo limite de inicialização do processo.
IProcessLock Usado por ISurrogateService para impedir que o processo seja encerrado devido a um tempo limite.
IProgressNotify Permite que aplicativos e outros objetos recebam notificações de alterações no andamento de uma operação de download.
IProvideClassInfo Fornece acesso às informações de tipo para a entrada de coclass de um objeto em sua biblioteca de tipos.
IProvideClassInfo2 Uma extensão para IProvideClassInfo que torna mais rápido e fácil recuperar a IID da interface de saída de um objeto para seu conjunto de eventos padrão.
IProvideMultipleClassInfo Uma extensão para IProvideClassInfo2 que torna mais rápido e fácil recuperar informações de tipo de um componente que pode ter várias coclasses que determinam seu comportamento.
IPSFactoryBuffer Fornece métodos personalizados para a criação de proxies e stubs de objeto COM. Essa interface não é marshalable.
IROTData Implementado por monikers para habilitar a ROT (tabela de objetos em execução) para comparar monikers uns com os outros.
IRpcChannelBuffer Faz marshaling de dados entre um proxy de cliente COM e um stub de servidor COM.
IRpcOptions Permite que os chamadores definam ou consultem os valores de várias propriedades que controlam como o COM lida com chamadas de procedimento remoto (RPC).
IRpcProxyBuffer Controla o proxy RPC usado para realizar marshaling de dados entre componentes COM.
IRpcStubBuffer Controla o stub RPC usado para realizar marshaling de dados entre componentes COM.
IRunnableObject Permite que um contêiner controle a execução de seus objetos inseridos. No caso de um objeto implementado com um servidor local, chamar o método Executar inicia o arquivo .EXE do servidor. No caso de um objeto implementado com um servidor em processo, chamar Executar faz com que o objeto .DLL arquivo faça a transição para o estado em execução.
IRunningObjectTable Gerencia o acesso à ROT (tabela de objetos em execução), uma tabela de pesquisa globalmente acessível em cada estação de trabalho. A ROT de uma estação de trabalho controla os objetos que podem ser identificados por um moniker e que estão em execução na estação de trabalho. Quando um cliente tenta associar um moniker a um objeto, o moniker verifica o ROT para ver se o objeto já está em execução; isso permite que o moniker se associe à instância atual em vez de carregar uma nova.
IServerSecurity Usado por um servidor para ajudar a autenticar o cliente e gerenciar a representação do cliente.
IStdMarshalInfo Recupera o CLSID que identifica o manipulador a ser usado no processo de destino durante o marshaling padrão.
do ISurrogate Usado para carregar dinamicamente novos servidores DLL em um substituto existente e liberar o substituto quando ele não for mais necessário.
ISurrogateService Usado para inicializar, iniciar e lançar um aplicativo COM+. Você também pode atualizar o catálogo e encerrar o processo.
ISynchronize Fornece comunicação assíncrona entre objetos sobre a ocorrência de um evento. Objetos que implementam ISynchronize podem receber indicações de que ocorreu um evento e podem responder a consultas sobre o evento. Dessa forma, os clientes podem garantir que uma solicitação tenha sido processada antes de enviarem uma solicitação subsequente que depende da conclusão da primeira.
ISynchronizeContainer Gerencia um grupo de objetos de sincronização não assinados.
ISynchronizeEvent Atribui um identificador de evento a um objeto de sincronização.
ISynchronizeHandle Recupera um identificador associado a um objeto de sincronização.
IUnknown Permite que os clientes obtenham ponteiros para outras interfaces em um determinado objeto por meio do métodoQueryInterface e gerenciem a existência do objeto por meio dos métodos AddRef e Release. Todas as outras interfaces COM são herdadas, direta ou indiretamente, de IUnknown. Portanto, os três métodos no IUnknown são as primeiras entradas na VTable para cada interface.