\r
\r
\r
-\r
/**\r
Uninstalls a list of protocol interface in the boot services environment.\r
- This function calls UnisatllProtocolInterface() in a loop. This is\r
+ This function calls UninstallProtocolInterface() in a loop. This is\r
basically a lib function to save space.\r
\r
- @param Handle The handle to uninstall the protocol\r
+ If any errors are generated while the protocol interfaces are being\r
+ uninstalled, then the protocol interfaces uninstalled prior to the error will\r
+ be reinstalled and EFI_INVALID_PARAMETER will be returned.\r
+\r
+ @param Handle The handle to uninstall the protocol interfaces\r
+ from.\r
@param ... EFI_GUID followed by protocol instance. A NULL\r
- terminates the list. The pairs are the\r
+ terminates the list. The pairs are the\r
arguments to UninstallProtocolInterface(). All\r
the protocols are added to Handle.\r
\r
- @return Status code\r
-\r
+ @retval EFI_SUCCESS if all protocol interfaces where uninstalled.\r
+ @retval EFI_INVALID_PARAMETER if any protocol interface could not be\r
+ uninstalled and an attempt was made to\r
+ reinstall previously uninstalled protocol\r
+ interfaces.\r
**/\r
EFI_STATUS\r
EFIAPI\r
CoreInstallProtocolInterface (&Handle, Protocol, EFI_NATIVE_INTERFACE, Interface);\r
}\r
VA_END (Args);\r
+ Status = EFI_INVALID_PARAMETER;\r
}\r
\r
return Status;\r