Error reporting and handling
If your application needs to report some error when processing the callback, it should throw ECBProcError exception.
The application must pass the error code with the exception by passing the error code as a parameter to ECBProcError constructor.
Use the error codes, defined by Win32 API, when throwing the exception. These error codes are listed in WinError.h header file in Windows Platform SDK. CallbackProcess API will catch ECBProcError exception and extract the error code. The error code will be reported to the operating system. The original request will not be passed further to the registry.
If some exception occurs when the callback is executed and your code doesn't handle this exception in a graceful manner, CallbackProcess API will catch it for you and the original request will be passed further to the underlying file system..
Several methods of CallbackProcess class (namely Install() method and Install function of the installer DLL) write extended information about the reasons of the reported error to Windows event log. User-mode part of CallbackProcess writes records to "Windows events \ Applications" folder of Windows event log. Kernel-mode part of CallbackProcess writes records to "Windows events \ System" folder of Windows event log.
The information written to the event log has meaning for EldoS Corporation developers, not for the users. So if you or your customers have problems with installing CallbackProcess drivers, please export the event log records related to CallbackProcess in native format and send us the resulting file for analysis.
Logging to system event log is disabled by default. In order to enable it you need to create the value "Enabled" of type "dword" in "HKEY_LOCAL_MACHINE\SOFTWARE\EldoS\EventLog" and reboot the system. To disable logging, delete the created "Eanbled" value from "HKEY_LOCAL_MACHINE\SOFTWARE\EldoS\EventLog".