Platform SDK: Files and I/O |
This section describes how distributed link tracking is implemented.
Link tracking functionality is primarily implemented in the form of two system services.
This server service maintains information in the DC about volumes and files which have been moved. The information on moves cannot grow above a certain size and it is automatically removed if it becomes unnecessary.
The link tracking services are exposed via the IShellLink and IOleLink interfaces. Thus, they are used by shell shortcuts. When the IShellLink::Resolve method is called and the referent file cannot be found (for example, when the user activates a shell shortcut), the tracking service is called automatically to find the file. Similarly, when the IOleLink implementation cannot find a file, for example in its BindToSource method, it automatically calls on the tracking service.