Any failure of a power-up test or conditional test will cause the following actions to take place:
Note that you should never, ever see such a failure unless someone has interfered with the DLL file or some serious problem has occurred on your system.
* The error log file will be given a filename "pkierr.log". If the process does not have permissions to write to that directory, no log file be created.
** By terminate its own process, we mean that the CryptoSys DllMain function will return false. This will cause statically-linked applications to terminate, and applications that use LoadLibrary, like Visual Basic, to return an error message saying it cannot find the DLL file.
You can make settings in the machine's registry to prevent the message box displaying and to change the destination directory of the log file. See Optional Registry Settings. It is not possible to prevent the DLL from exiting if a critical error happens.
The user may call the power-up self-tests on demand with the PKI_PowerUpTests
function. In the event that such an "on demand" test fails, the module will log the error event and return an error
code but will not terminate the process.
Be aware that the automatic self-tests fail only in exceptional circumstances. You should never see one in practice unless the software module has been tampered with.