Link Tracking Services

[This is preliminary documentation and subject to change.]

Link-tracking functionality is primarily implemented in the form of two system services.

Tracking Service
The tracking service runs on all machines and manages the link-tracking activities for that machine. These activities include searching for link sources and processing link-source moves. When a link source is moved, the service passes the new revised-LSID to the Tracking (Server) Service which runs on the domain controller (DC), and which is described below.

The tracking service exposes its functionality through the track file COM object, which implements the ITrackFile interface. Link clients may be created using the ITrackFile::CreateFromPath method, and link sources may be found using the ITrackFile::Resolve method. When the state of a track file object is updated by a create or resolve, it must be persisted using the IPersistStream or IPersistMemory interface.

Tracking (Server) Service
The server portion of the tracking service runs on each domain controller in a domain. The service accepts notifications of object and volume moves from the tracking service on a given machine and allows workstations to query a link source's revised LSID given its birth-LSID.