Compartilhar via


Interfaces (COM)

As seguintes interfaces são fornecidas pela COM.

Interface Descrição
IAccessControl Permite 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 vinculação, que é um objeto que armazena informações sobre uma operação de vinculaçã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 para os métodos de uma interface assíncrona.
ICallFrame Permite a manipulação de quadros de chamada, como quadros de pilha. O quadro de chamada é o corpo de informações que um procedimento deve salvar para permitir que ele retorne corretamente ao chamador. Um quadro de chamada pode existir na pilha ou em registradores. Um quadro de pilha mantém as informações de contexto do chamador na pilha.
ICallFrameEvents Entrega notificações de chamada de método.
ICallFrameWalker Percorre um quadro de pilha à procura de valores interessantes.
ICallIndireto Invoca um objeto com uma referência indireta aos argumentos de invocações, em vez da chamada direta tradicional.
ICallInterceptor Suporta o registro e cancelamento do registro de coletores de eventos que desejam ser notificados de 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 chamada remota. Uma instância apropriada de ICallUnmarshal pode ser usada para transformar novamente em um quadro de chamada uma invocação de método anteriormente empacotada 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.
ICatInformações Obtém informações sobre as categorias implementadas ou exigidas por uma 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 legíveis por humanos das categorias 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 classe, em qualquer tipo de servidor de objetos, controle a criação de objetos por meio de licenciamento.
IClientSecurity Fornece ao cliente controle sobre as configurações de segurança para cada proxy de interface individual de um objeto.
IComThreadingInfo Permite que você obtenha as seguintes informações sobre o apartamento e o thread 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 Suporta pontos de conexão para objetos conectáveis.
IConnectionPointContainer Suporta pontos de conexão para objetos conectáveis.
IContext Oferece 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 genérico de retorno de chamada 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 de 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 terminada em zero de caracteres largos ou Unicode.
IEnumDesconhecido Enumera objetos com a interface IUnknown. Ele pode ser usado para enumerar através dos objetos em um componente que contém vários objetos.
IEventProperty Associa uma propriedade de evento nomeado ao seu valor.
IEventPublisher Registra, modifica, remove e fornece informações sobre um editor de eventos.
IExternalConnection Gerencia a contagem de conexões marshaled ou externas de um objeto de servidor. Um servidor que mantém essa contagem pode detectar quando não tem conexões externas e se desligar de forma ordenada.
IFastRundown Marca uma interface como qualificada para comportamento de rundown rápido.
IFileBasedLogInit Inicializa uma instância de uma implementação baseada em arquivo do ILog.
IForegroundTransfer Transfere a janela de primeiro plano para o processo que hospeda o servidor COM.
IGlobalInterfaceTable Permite que qualquer apartamento em um processo tenha acesso a uma interface implementada em um objeto em qualquer outro apartamento no processo.
IGlobalOptions Define e consulta determinadas propriedades globais do tempo de execução COM.
IInitializeSpy Executa inicialização ou limpeza ao entrar ou sair de um apartamento COM.
IInternalDesconhecido 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 (espionem) a alocação de memória, detectem vazamentos de memória e simulem falhas de memória em chamadas para métodos IMalloc.
IMarshal Permite que um objeto COM defina e gerencie o empacotamento de seus ponteiros de interface.
IMarshalingStream Fornece informações adicionais sobre o contexto de empacotamento para objetos empacotados personalizados e unmarshalers.
IMessageFilter Fornece servidores e aplicativos COM com a capacidade de manipular seletivamente mensagens COM de entrada e saída enquanto aguarda respostas de chamadas síncronas. A filtragem de mensagens ajuda a garantir que as chamadas sejam tratadas de uma maneira que melhore o desempenho e evite bloqueios. As mensagens COM podem ser síncronas, assíncronas ou sincronizadas com entrada; A maioria das chamadas de interface são síncronas.
IMonista 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 a interface IMoniker do objeto moniker 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 máquina e, portanto, a quantidade de tempo necessária para obter os ponteiros de interface solicitados.
IObjContexto Executa várias operações em contextos.
IOleItemContainer Usado por apelidos de item quando eles estão vinculados aos objetos que eles identificam.
IOrpcDebugNotify Fornece funcionalidade de depuração remota.
IParseDisplayName Analisa uma cadeia de caracteres de nome exibível para convertê-la em um apelido para implementações de moniker personalizadas.
IPersist Fornece o CLSID de um objeto que pode ser armazenado persistentemente no sistema. Permite que o objeto especifique qual manipulador de objeto usar no processo do cliente, como ele é usado na implementação padrão de marshaling.
IPersistFile Permite que um objeto seja carregado ou salvo em um arquivo de disco, em vez de um objeto ou fluxo de armazenamento.
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 Permite salvar e carregar objetos que usam um fluxo serial simples para suas necessidades de armazenamento.
IPersistStreamInit Um substituto para IPersistStream que adiciona um método de inicialização.
IPipeByte Transfere dados do tipo de byte (que tem 8 bits de largura).
IPipeDuplo 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 pelo 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 coclasse de um objeto em sua biblioteca de tipos.
IProvideClassInfo2 Uma extensão para IProvideClassInfo que torna mais rápido e fácil recuperar o 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. Esta interface não é marshalable.
IROTData Implementado por monikers para permitir que a tabela de objetos em execução (ROT) compare monikers entre si.
IRpcChannelBuffer Marshals 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 manipula chamadas de procedimento remoto (RPC).
IRpcProxyBuffer Controla o proxy RPC usado para agrupar dados entre componentes COM.
IRpcStubBuffer Controla o stub RPC usado para agrupar dados entre componentes COM.
IRunnableObject Permite que um contêiner controle a execução de seus objetos incorporados. No caso de um objeto implementado com um servidor local, chamar o método Run inicia o arquivo .EXE do servidor. No caso de um objeto implementado com um servidor em processo, chamar Run faz com que o objeto .DLL arquivo faça a transição para o estado de execução.
IRunningObjectTable Gerencia o acesso à tabela de objetos em execução (ROT), uma tabela de pesquisa acessível globalmente em cada estação de trabalho. O ROT de uma estação de trabalho controla os objetos que podem ser identificados por um moniker e que estão atualmente em execução na estação de trabalho. Quando um cliente tenta vincular 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 vincule à 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 empacotamento padrão.
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. Os objetos que implementam ISynchronize podem receber indicações de que um evento ocorreu e podem responder a consultas sobre o evento. Dessa forma, os clientes podem se certificar de que uma solicitação foi processada antes de enviar uma solicitação subsequente que depende da conclusão da primeira.
ISynchronizeContainer Gerencia um grupo de objetos de sincronização não sinalizados.
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étodo QueryInterface 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 em IUnknown são as primeiras entradas no VTable para cada interface.