Microsoft Chat Server SDK Reference

The Chat Server Extensibility API

The chat server extensibility API is defined in terms of COM interfaces.

This API consists of a set of "callback" interfaces that are invoked when the corresponding event occurs within the server. An extension writer must implement the interface methods for event notification and "bind" them to the appropriate server event.

The following table summarizes the interfaces implemented by an extension to receive server event notification.

Interface Description
IChatChannelCallBack This interface defines the set of events related to actions made by and upon a chat server channel.
IChatExtensionCallBack This interface is used for the administration of the extension. It includes a method Init that allows the extension to declare its bindings as the chat server starts. Note: Chat extensions must implement this interface.
IChatServerCallBack This interface defines the set of events related to the chat server itself, including methods to monitor the creation/destruction of channels and users.
IChatUserCallBack This interface defines the set of events related to actions made by and upon a chat server user.

Most callback methods are passed the chat object responsible for the event. Using this object, the extension can manipulate object properties, or request further callback notifications. Extension writers should assume that chat objects are only valid for the duration of the callback and should not hold any references to the objects beyond the scope of the notification call.

Note to C++ Developers: Any return values from callback methods must be passed back in the parameter provided—usually the Cancel parameter. If a method returns an HRESULT other than S_OK, the following user message will be sent:

<server> <nick> 999 :Extension caused error <hresult> 

Fatal errors (such as causing an access violation) are not detected by the chat server.


© 1998 Microsoft Corporation. All rights reserved.