Platform SDK: Exchange 2000 Server

Event Scope

[This is preliminary documentation and subject to change.]

Both synchronous and asynchronous events support scope. The scope defines the range of folders and optionally subfolders that the event sink registration covers.

When an event sink is registered for a folder and its subfolders, it is called a recursive event.

Recursive Event Scope

You can register for recursive events only on top-level folders.

Permissions for your sink to handle recursive events are determined only at the folder in which the event is registered. This means that if you have rights to register and receive notifications for events in the parent folder, then you can receive notification in all child folders. The folder hierarchy should be managed such that child folders are created only in parents whose recursive events they can trust. Note that you can perform additional checks during both event registration and by checking the context of the event notification when handling the event.

Note   If a sink is registered both as a recursive sink, and again within the recursive scope as a non-recursive sink, then the same sink will be notified once for the root and once for the interior node.

To register for a recursive event scope, the application must save the Item to the root folder from which the sink is to recur. The application must also set the Item schema "http://schemas.microsoft.com/exchange/events/matchscope" to one of its specified values. See the Registration Item for details on this schema property.

See the Recursive Sink Firing Order subtopic in Sink Priority for when sinks receive notification of event registrations with recursive scopes.

The example in Registering a Store Event Sink Binding in Programming Tasks registers for recursive scope.

MDB-Wide Events

To register a Public MDB wide event, save the event registration item in the "MDB Events" folder at the root of the MDB. The behavior is the same as all other events.

Server-wide events and Private MDB-wide events are not supported.