Platform SDK: SMTP Server Events

Event Bindings

[This is preliminary documentation and subject to change.]

The SMTP and NNTP services use the Server Extension Objects (SEO) COM component (seo.dll) to manage event sink bindings and notifications. SEO binding information is stored in the Windows 2000 Internet Information Services (IIS) metabase. Each application, such as an SMTP virtual service instance, is a source of runtime events, and provides an implementation of an SEO event dispatcher. At startup, each event source creates a custom dispatcher and loads the dispatcher with binding information from the database. The database contains configuration information about each subscribing event sink COM class. When events occur at runtime, the service notifies its own dispatcher of the event. The dispatcher in turn creates and executes each registered event sink.

A binding is between a particular event source and sink for a particular event type. Each binding is comprised of the following information:

Property Description
ID Required.

A GUID uniquely identifying the binding.

DisplayName Optional.

An optional human-readable name for the binding.

SinkClass Required.

The programmatic identifier (ProgID) or CLSID for the event sink COM class. If present, the CLSID is in registry, string format: "{GUID}".

Enabled Optional.

A flag indicating whether the binding is currently active (enabled). If this flag is not specified, the default is enabled.

MaxFirings Optional.

The number of event notifications the sink can receive before the binding in disabled.

EventBindingProperties A dictionary (or hash) of additional properties defined for the binding as a whole.
SinkProperties A dictionary (or hash) of configuration properties persisted with the binding relevant to the sink. These properties are not interpreted by the SEO mechanism, but can be passed to an event sink when notifications occur.
SourceProperties A dictionary (or hash) of configuration properties relevant to the event source. These properties are not interpreted by the SEO architecture, but can be used by a particular event source for additional configuration information.