Share via


DMProcessConfigXML (Windows Embedded CE) (Windows Embedded CE 6.0)

1/6/2010

This Device Configuration API function grants local access to the configuration-management functionality of a Windows Embedded CE powered device. Application developers can use this to configure device settings. This function enables the submission of Open Mobile Alliance (OMA) Client Provisioning Extensible Markup Language (XML) information to change the settings of a device.

Syntax

HRESULT DMProcessConfigXML(
  LPCWSTR pszWXMLin,
  DWORD dwFlags,
  LPWSTR* ppszwXMLout
);

Parameters

  • pszWXMLin
    [in] The input XML buffer containing the configuration data. The parameter holds the XML that will be used to configure the device.
  • dwFlags
    [in] Specifies an action flag. The following table shows the possible values.

    Option Value Description

    CFGFLAG_PROCESS

    0x0001

    The configuration-management service and the configuration service providers process the input data from the configuration XML file. Changes are applied.

    CFGFLAG_METADATA

    0x0002

    The configuration-management service gathers and returns metadata for any XML parameter elements it encounters. No changes are processed.

  • ppszwXMLout
    [out] Pointer to the output XML buffer. For more information, see Remarks.

Return Value

Returns the standard HRESULT value S_OK to indicate success. The following table shows the additional error codes that might be returned.

Value Description

CONFIG_E_OBJECTBUSY

Another instance of the configuration-management service is currently running.

CONFIG_E_CANCELTIMEOUT

Waiting for the session to be timed out.

CONFIG_E_ENTRYNOTFOUND

No metabase entry was found.

CONFIG_E_CSPEXCEPTION

An exception occurred in one of the configuration service providers.

CONFIG_E_TRANSACTIONINGFAILURE

A configuration-management service failed to roll back properly. The affected settings might be in an unknown state.

CONFIG_E_BAD_XML

The XML input is invalid or malformed.

Remarks

You can call DMProcessConfigXML from within the setup DLL file of a .cab file.

The caller of DMProcessConfigXML is responsible for cleanup of the output buffer that the ppszwXMLout parameter references. Memory is allocated in the implementation by means of the new [] operator. Therefore, the caller must use the delete [] <varname> statement to free the output buffer.

Note

If DMProcessConfigXML retrieves a document, the caller should parse the document for errors.

The Configuration Manager component is transactional and must process only one configuration request at a time to prevent collisions. Therefore, the DMProcessConfigXML function processes only one XML configuration request at a time.

Note

DMProcessConfigXML accepts only Open Mobile Alliance (OMA) Client Provisioning XML. It does not accept OMA Device Management (DM) SyncML XML. OMA Device Management (DM) SyncML XML is not supported by Windows Embedded CE 6.0.

Code Example

The following code example demonstrates how to use DMProcessConfigXML.

Important

For readability, the following code example does not contain security checking or error handling. Do not use the following code in a production environment.

// WAP provisioning XML to add a new browser favorite.
LPCWSTR g_wszFavoriteXml =
  L"<wap-provisioningdoc>"
     L"<characteristic type=\"BrowserFavorite\">"
        L"<characteristic type=\"Baldwin Museum of Science\">"
           L"<parm name=\"URL\" value=\"http://www.baldwinmuseumofscience.com\"/>"
        L"</characteristic>"
     L"</characteristic>"
  L"</wap-provisioningdoc>";
// Use configuration XML to add a new browser favorite to the device.
HRESULT AddFavorite()
{
    HRESULT hr         = E_FAIL;
    LPWSTR wszOutput   = NULL;
    // Process the XML.
    hr = DMProcessConfigXML(g_wszFavoriteXml, CFGFLAG_PROCESS, &wszOutput);
    
    // The caller must delete the XML returned from DMProcessConfigXML.
    delete [] wszOutput;
    
    return hr;
}

Requirements

Header cfgmgrapi.h
Library aygshell.lib

See Also

Concepts

Configuring Device Connection Settings by using OMA XML

Other Resources

Connection Manager OMA XML Provisioning File
Connection Manager Configuration