template<class S, class T = S*>
struct ServiceTrackerCustomizer< S, T >
ServiceTrackerCustomizer interface allows a
ServiceTracker to customize the service objects that are tracked.
ServiceTrackerCustomizer is called when a service is being added to a
ServiceTrackerCustomizer can then return an object for the tracked service. A
ServiceTrackerCustomizer is also called when a tracked service is modified or has been removed from a
The methods in this interface may be called as the result of a
ServiceEvent being received by a
ServiceEvents are synchronously delivered, it is highly recommended that implementations of these methods do not register (
ModuleContext::RegisterService), modify (
ServiceRegistration::SetProperties) or unregister (
ServiceRegistration::Unregister) a service while being synchronized on any object.
ServiceTracker class is thread-safe. It does not call a
ServiceTrackerCustomizer while holding any locks.
ServiceTrackerCustomizer implementations must also be thread-safe.
- Template Parameters
|S||The type of the service being tracked |
|T||The type of the tracked object. |