2.2.49.1.2 Connectable Servers

A connectable server is a COM server that enables bidirectional communication with clients. Server-initiated communication MAY be specified using source interfaces (as specified in section 2.2.49.8) or bindable properties (as specified in section 2.2.49.1.3).

The automation IDL extensions allow a connectable server to define source interfaces for communicating with clients. If the server does not define source interfaces, server-initiated communication is limited to notifications related to bindable properties.

A connectable server provides the following functionality:<29>

  • Identifies itself as a connectable server.

  • Enables its clients to enumerate its available source interfaces.

  • Enables its clients to register and unregister a client-implemented interface with any of its available source interfaces.

  • Enables its clients to enumerate the registered connections for each available source interface.

A client of the connectable server MUST implement one or more of the source interfaces that are specified by the server.

A connectable server MUST have one or more interfaces that are declared with the [source] attribute (as specified in section 2.2.49.8) or one or more properties that are declared with the [bindable] attribute (as specified in section 2.2.49.5.2).