Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
O serviço Eventos COM+ usa um objeto de classe de evento para gerenciar a conexão entre o editor e o assinante. O objeto de classe de evento é um componente COM+ que é gerenciado e armazenado pelo sistema de eventos COM+ e contém as interfaces e métodos usados por um editor para disparar eventos. É um objeto persistente que indica os eventos que podem ocorrer e, opcionalmente, identifica o editor. Você especifica as interfaces e os métodos que deseja que uma classe de evento contenha fornecendo uma biblioteca de tipos.
Para disparar um evento, o editor instancia o objeto de classe de evento chamando CoCreateInstance ou o método de CreateObject do Microsoft Visual Basic e solicitando que a interface do evento seja retornada. O objeto de classe de evento instanciado contém a implementação do sistema de eventos da interface solicitada. Um assinante interessado também deve implementar a interface de classe de evento para receber eventos de um determinado editor. Quando o objeto de classe de evento é instanciado, o sistema de eventos o associa aos assinantes apropriados. A lista de assinantes é mantida durante o tempo de vida do objeto de classe de evento. Um evento pode ser entregue a vários subscritores em série ou em paralelo.
Ao implementar um objeto de classe de evento, deve fornecer uma DLL de auto-registo que exporta as funções DllRegisterServer e DllUnregisterServer. A função DllRegisterServer registra uma classe COM e a função DllUnregisterServer cancela o registro do componente. Os objetos de classe de evento são armazenados no catálogo COM+, usando a ferramenta de administração de Serviços de Componentes ou programaticamente usando os métodos das interfaces de ICOMAdminCatalog::InstallEventClass ou ICOMAdminCatalog::InstallMultipleEventClasses. Para obter informações detalhadas sobre como registrar objetos de classe de evento, consulte Registrando uma classe de evento.
Como os objetos de classe de evento são componentes configurados, outros atributos, como enfileiramento, transações, segurança e assim por diante, podem ser configurados para eles usando a ferramenta de administração de Serviços de Componentes ou as funções do SDK Administrativo COM+.
Observação
O serviço Eventos COM+ usa o marshaling de biblioteca de tipos. Isso coloca algumas restrições nas interfaces de classe de evento. Por exemplo, o empacotador de biblioteca de tipos não suporta os atributos MIDL size_is e length_is.
Um objeto de classe de evento possui atributos de publicação que determinam a maneira como os eventos são publicados, bem como as seguintes propriedades:
- EventCLSID. Um identificador exclusivo que especifica o CLSID do componente.
- EventClassName. Um identificador exclusivo que especifica o PROGID do componente.
- TypeLibrary. Fornece uma lista de interfaces oferecidas pelo objeto de classe de evento. Não há necessidade de implementar as interfaces de disparo especificadas na biblioteca de tipos.
Tópicos relacionados