3.2.1.2 List of Clients Connected to the Server

For each client connected to the server, the list MUST contain the following data elements:

id:  Unique identifier (UID) of type LdmObjectId associated with the client for the entire duration of the client connection. The identifier is assigned by the server and used by the client to identify tasks requested by it when enumerating tasks or receiving notifications related to the progress or failure of tasks. The server MUST NOT change the identifier and MUST NOT assign it to another client until the server shuts down. The identifier does not need to be persisted across separate server sessions.

notifyInterface: Pointer to the IDMNotify interface implemented by the client to receive notifications from the server. Clients interested in receiving notifications MUST pass such a pointer in the call to IVolumeClient::Initialize or IVolumeClient3::Initialize. The server MUST retain it for use whenever a notification is to be sent to the client.

The list is empty at server initialization time. Elements are added to, or removed from, the list as a result of clients calling the Initialize and Uninitialize methods of either IVolumeClient or IVolumeClient3.