Error Provider

Raises specific MPF errors and remaps raised errors to other errors with localized descriptions. Used by Microsoft Provisioning Framework (MPF).


Program Files\Microsoft Provisioning\Providers\MPFError.dll

Name Error Provider
Version 1
Provider Source Provisioning.MPFError.1

The following table lists the errors returned by this provider.

HRESULT Description
0x80004005 The XML error map file was not found in \HKEY_LOCAL_MACHINE\Software\Microsoft\Provisioning\Providers\Error Provider\RootFolder.

Customizing the Provider

Several Microsoft® Windows® registry values allow customization of the provider procedures TranslateProvisioningError and TranslateUserError. These values are located in \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Provisioning\Providers\Error Provider.

Value Description
MustHandleError Determines how to resolve errors when a mapping does not exist in a translation lookup file. If set to 1 (true, default), the provider sets the MPF error to a generic error with hr=E_FAIL (0x80004005) and a description of the failed ErrorId from the error database. If set to 0 (false), MPF maintains the original error code and description but changes the error source to "Error Provider".

This value corresponds to the request XML's mustHandleError node. (The latter exists only as a backup in case someone deletes the registry key.) Any value defined for the registry key overrides any value specified for the request.

RootFolder Specifies the location of the translation mapping file.

To prevent the provider from logging events to the application event log, you can also create the following additional registry entry.

Public Methods
Procedure Description
Raises an error to the Windows® application event log.
Sets the MPF error variable to the HRESULT and description for the current error and raises it to the , which propagates the error back to the calling procedure.
Translates an MPF error raised by a calling procedure and uses a lookup table to translate it into a message that is more meaningful for the current context. For example, this procedure can be used to translate a potentially confusing low-level error to a friendly message.
Translates a user-specified error to another error. Useful when you know the specific error you want to raise. Mainly used for localization.
 Applies To