Important:
This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.
4/8/2010

The Inventory Configuration Service Provider enables an OMA DM server to query basic device hardware information, operating system information, file system information, and installed application information.

This Configuration Service Provider is managed over the OMA DM protocol.

The following table shows the default security settings for the Inventory Configuration Service Provider. The default security role maps to each subnode unless specific permission is granted to the subnode.

Permissions

Read/write

Roles allowed to query and update setting

Manager

Note:
Access to this Configuration Service Provider is determined by security roles. Because OEMs and mobile operators can selectively disallow access, ask them about the availability of this Configuration Service Provider. For more information about roles, see Security Rolesand Default Roles for Configuration Service Providers.

The following image shows the Inventory Configuration Service Provider management object in tree format as used by OMA DM.

./Vendor/MSFT/SwMgmt/Inventory

Groups all the delivered and deployed Deployment Components in the device.

Type com.microsoft/windowsmobile/1.0/swinventory

Access type

Get

Data type

node

Occurs

One

./Vendor/MSFT/SwMgmt/Inventory/Deployed

Groups deployed objects.

Access type

Get

Data type

node

Occurs

One

./Vendor/MSFT/SwMgmt/Inventory/Deployed/<X>

Placeholder for the Deployment Components in the device.

Access type

Get

Data type

node

Occurs

ZeroOrMore

./Vendor/MSFT/SwMgmt/Inventory/Deployed/<X>/ID

Specifies the ID of a Deployment Component in the device. It is locally unique.

Access type

Get

Data type

chr

Occurs

One

./Vendor/MSFT/SwMgmt/Inventory/Deployed/<X>/Name

Specifies the Name of a Deployment Component in the device. The value is the UTF-8 encoded Unicode name of the installed software.

Access type

Get

Data type

chr

Occurs

One

./Vendor/MSFT/SwMgmt/Inventory/Deployed/<X>/State

Specifies the state of the application. The only valid value is Active.

Access type

Get

Data type

chr

Occurs

One

./Vendor/MSFT/SwMgmt/Inventory/Deployed/<X>/Status

Specifies the current state of the application removal process. The valid values and their meanings are:

Integer Value Status Description

10

Idle or Start

A removal process is starting.

20

Remove Failed

A remove process failed. The software still appears in the device management tree, but it may not be able to run.

30

Remove in Progress

A removal process has started.

Access type

Get

Data type

int

Occurs

ZeroOrOne

./Vendor/MSFT/SwMgmt/Inventory/Deployed/<X>/PkgIDRef

Specifies the package ID that is delivered to the device. This parameter has the same value as the PkgID parameter in the Download Configuration Provider Management Object tree.

If the package is not delivered over software distribution remote session, then no Download tree is generated, and this node is empty.

Access type

Get

Data type

chr

Occurs

One

./Vendor/MSFT/SwMgmt/Inventory/Deployed/<X>/Operations

Groups executable operations.

Access type

Get

Data type

node

Occurs

One

./Vendor/MSFT/SwMgmt/Inventory/Deployed/<X>/Operations/Remove

Used with the Exec command to start a Remove operation to remove a component from the Software Component Management framework.

Presence of this node means the specific application supports the removal action. If an application doesn’t support Remove, a Device Management Get command will return a Not Found error.

If an entity that doesn’t have sufficient rights tries to access this parameter for an application that does support the Remove the action, a Permission Denied error is returned.

When the Configuration Service Provider accepts an Exec command, a 202 status code is returned to the server (command accepted and will be executed). The un-installation result will be sent back to the server via the generic alert through a separate client initiated DM session.

If the application is successfully removed, the corresponding Inventory entry is also removed. If Remove fails, the inventory entry will still exist

Access type

Get, Exec

Data type

null

Occurs

ZeroOrOne

./Vendor/MSFT/SwMgmt/Inventory/Deployed/<X>/Ext

Groups vendor specific options.

Access type

Get

Data type

node

Occurs

One

./Vendor/MSFT/SwMgmt/Inventory/Deployed/<X>/Ext/Microsoft

Groups Microsoft specific options.

Access type

Get

Data type

node

Occurs

One

./Vendor/MSFT/SwMgmt/Inventory/Deployed/<X>/Ext/Microsoft/RemoveOptions

Specifies the nature of a remove request. The only valid value is Silent.

Access type

Get, Add

Data type

chr

Occurs

ZeroOrOne

./Vendor/MSFT/SwMgmt/Inventory/Deployed/<X>/Ext/Microsoft/CabHash

This node provides the SHA1 hash of the installation .cab file.

Access type

Get

Data type

chr

Occurs

One

Remarks

The Inventory Configuration Service Provider is the central place to handle remove requests, and return the results of a remove request to the Device Management client.

If an application was installed before upgrading a device to Windows Mobile 6.1, it can be queried using the Inventory Configuration Service Provider, but the values for CabHash and PkgIDRef will be empty.

Caution:
Installing an application with the same name as an existing application will overwrite the existing application, regardless of the user role.

At the end of a removal operation the device sends a report to the Device Management server using a Generic Alert message. The alert message includes the following data:

  • An integer result code – Used to report status of the operation.

  • The URI of the node on which the Exec command was invoked – Used to identify the source.

  • An alert type – Used to identify the operation.

  • Correlator – Used by the server and passed as part of the Exec command.

Note:
The Mark element isn’t supported in Windows Mobile 6.1.
Note:
If the OMA DM session aborts normally, the device behaves as if it finished successfully.

Result Code Result Message Informative Description of Status Code Usage

200

Successful

Successful - The Request has Succeeded

400

Client Error

Client error – based on User or Device behaviour

408

Remove Failed

The software component remove operation failed

410

Undefined Error

Indicates failure not defined by any other error code

See Also