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