This section gives an overview of feature management, what it does, how it works, how to use it and links to relevant links.
A feature is a piece of functionality that is shipped with the device, but which can be disabled or enabled.
Feature management is used to manage the enabling and disabling of these features and associated activities for example to provide a means of allowing the system to know if a feature is enabled or not.
The feature management system consists of a server and two dll files.
The feature management system has a standard client server architecture. The server is the feature management server and the dll files provide a series of APIs with which the client can communicate with the server.
As described above, the functionality of feature management can be broken into two groups: the server and the dll files.
The feature manager server: this comes as an executable called featmgrserver.exe.
The communication to the feature management server is carried out via the two dll files i.e. featdiscovery.dll and featmgr.dll.
The following components make up the feature management collection.
Feature Discovery
featdiscovery.dll
Provides the APIs that provide only a subset of what can be provided by feature management.
It provides the functionality for TFeatureSet and CFeatureDiscovery.
Feature Manager
featmgr.dll
Provides the APIs that allow the client to carry out the full functionality available with feature management.
It provides the functionality for RFeatMgrClient, RFeatureControl, MFeatureObserver and CFeatureNotifier.
Feature Manager Server
featmgrserver.exe
Performs all the actual operations and maintains details about features.