Sets the MPF error variable to the HRESULT and description for
the current error and raises it to a provisioning engine, which
propagates the error back to the calling procedure. Used by
Microsoft Provisioning Framework (MPF).
For example, a CreateAccount procedure calls another procedure,
CheckDatabase, to set up a user in a database. If the user already
exists, CheckDatabase generates an error. In this situation, a call
to SetError throws the error back to CreateAccount.
MPF propagates an error through the procedure stack only if its
error code is different from that of the error that is currently
raised. This means that if you attempt to map an error to another
error with the same code (even if the description is different),
the error will not change, and the existing error description will
be propagated to the caller.