Metabase Settings
The settings for the mobile device system resources, such as registry keys and APIs, are contained in a database referred to as the metabase. The metabase maintains security permissions and UI representation information for every setting on the mobile device. Each metabase entry corresponds to a setting and is associated with an access role that indicates which security roles are required to configure the setting.
If a settings entry is not stored in the metabase, it cannot be accessed by the settings application to display the information.
You can create or change the metabase settings by modifying the provisioning XML document.
Note Microsoft recommends that you use a three-digit number in the name of your .provxml files, such as mxip_opr_100, mxip_opr_200, mxip_opr_300, so that there is an adequate number of ordinals to identify successive versions of the file.
The following table shows the Unicode characters used in the .provxml file.
Unicode character | Description |
---|---|
0xF000 | Represented as an equal sign in the following sample code. |
0xF001 | Represented as a semi-colon in the following sample code. |
The following sample .provxml file adds a single entry to the metabase.
Note In this sample, the equal sign and the semicolon are placeholders for Unicode characters. You must replace the equal signs and semicolons with the correct Unicode character to use the code.
<wap-provisioningdoc>
<characteristic type="Metabase">
<characteristic type="Registry\HKLM\Software\Microsoft\TestKey3">
<parm name="datatype" value="integer"/>
<parm name="maxvalue" value="30"/>
<parm name="minvalue" value="0"/>
<parm name="access-role" value="190"/>
<parm name="rw-access" value="3"/>
<characteristic type="label">
<parm name="0409" value="Test Key"/>
<parm name="0407" value="Test-Taste"/>
<parm name="040c" value="Clé D'Essai"/>
</characteristic>
<characteristic type="options">
<parm name="0409" value="Red=1;Green=2;Blue=3"/>
<parm name="0407" value="Rot=1;Grün=2;Blau=3"/>
<parm name="040c" value="Rouge=1;Vert=2;Bleu=3"/>
</characteristic>
</characteristic>
</characteristic>
<wap-provisioningdoc>
The <characteristic type="Metabase"> directs the configuration engine to process the sub-characteristics using the Metabase Configuration Service Provider. The general structure of a metabase entry specifies the location of the setting within the Configuration Service Providers. For example, in the preceding sample .provxml file, the metabase entry specified is in the Registry Configuration Service Provider, under the HKLM\Software\Microsoft\TestKey3 registry key.
When the setting has been specified, the UI and security information is provided. In the above example, the registry entry is an integer, has a maximum value of 30 and a minimum value of 0. The access-role parameter determines who can access the setting. The rw-access parameter determines what can be done with the setting once access has been granted.
The stored UI information consists of a localized text label and specific options that should be presented to the user. In the previous example, the setting would be displayed to the user as a spin box.
To see the supported values, such as access-role and rw-access, see Metabase Configuration Service Provider.
The following table shows the user interface elements supported by the metabase. It includes the data types supported by the metabase and any specific semantics supported by the data type. Semantics are used to further describe the type of data used in the setting. For example, a string control can further be defined as a phone number field. The settings control panel will display the setting using an edit control that has text entry restrictions appropriate to a phone number.
Data Type | Semantic Type | Supports Options | Visual Representation |
---|---|---|---|
date | None | No | Date edit control with a long date format. |
date | short-date_time | No | Date edit control with a short date format. |
time | None | No | Time edit control with seconds. |
time | short-date_time | No | Time edit control without seconds. |
boolean | N/A | No | Checkbox. |
integer | None | No | An edit control into which the user can only enter an integral value. |
integer | None | A string of the format:"red=2;blue=3;green=4" | A spinner control that displays the values red, blue, and green to the user. The user's choice is always passed down in the value as the corresponding integral value. |
integer | Level | No | A progress bar control. The value must be between 0 and 100 |
string | None | No | A standard edit control in multipress mode |
string | N/A | A string of the format: "red;green;blue" | A spinner control that displays the values red, blue, and green to the user. The user's choice is passed down simply as the string selected in the UI |
string | N/A | A string of the format:"Happy Song=happy.wav;Soft Melody=sm.mid;Annoyng Beep=beep.wav" | A spinner control that displays the values on the left-hand side of each equal sign to the user. The user's choice is passed down in the value as the corresponding string for the right-hand side. For example, the file name in this case. |
string | No | An edit control suitable for entering e-mail addresses | |
string | text | No | An expandable edit control in predictive text entry mode |
string | url | No | An edit control suitable for entering a URL |
string | phone-number | No | An edit control suitable for entering a phone number |
string | alphanumeric-password | No | An edit control for entering an alpha numeric password. The contents are hidden from display using asterisks |
string | numeric-password | No | An edit control for entering a numeric password. The contents are hidden from display using asterisks |
string | label | No | A static read-only label |
string | link | No | A read-only control which indicates to the user that it is actionable |
See Also
Configuration Service Providers | Metabase Configuration Service Provider | Security Roles
Send feedback on this topic to the authors.
© 2005 Microsoft Corporation. All rights reserved.