14.3 Repair() Implementation

The Repair() service attempts repair operations on a driver-managed controller or a child the driver has produced. This service is not allowed to use any of the console-I/Orelated protocols. Instead, the status of the repair operation is returned to the caller. The Repair() service supports an optional parameter called ProgressNotification that may be NULL. The caller may pass in a notification function to Repair() so the caller can inform the user of the progress during extended repair operations. If a repair operation takes a short period of time to execute, ProgressNotification may be ignored. If the repair operation takes an extended period of time to execute, the UEFI Driver should periodically call the function specified by ProgressNotification with Value and Limit parameters expressing the amount of repair work currently completed. The caller may choose to log or display the progress of the repair operation as well as the final results of the repair operation.