Feature Management Overview

This section gives an overview of feature management, what it does, how it works, how to use it and links to relevant links.

Purpose

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.

Architecture

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.

Description

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.

  • This does all the feature management work that is keeping track of the status of each feature.

The communication to the feature management server is carried out via the two dll files i.e. featdiscovery.dll and featmgr.dll.

  • Provide a means of telling the client when a change to the status of a feature has occurred.

  • Allows the client to specify which feature is to be enabled or disabled.

  • Allows the client to add or delete features.

Components

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.