);\r
\r
/**\r
- This function will update the Boot####/Driver####/SysPrep#### and the \r
- BootOrder/DriverOrder/SysPrepOrder to add a new load option.\r
+ This function will register the new Boot####, Driver#### or SysPrep#### option.\r
+ After the *#### is updated, the *Order will also be updated.\r
\r
- @param Option Pointer to load option to add.\r
- @param Position Position of the new load option to put in the BootOrder/DriverOrder/SysPrepOrder.\r
+ @param Option Pointer to load option to add. If on input\r
+ Option->OptionNumber is LoadOptionNumberUnassigned,\r
+ then on output Option->OptionNumber is updated to\r
+ the number of the new Boot####,\r
+ Driver#### or SysPrep#### option.\r
+ @param Position Position of the new load option to put in the ****Order variable.\r
+\r
+ @retval EFI_SUCCESS The *#### have been successfully registered.\r
+ @retval EFI_INVALID_PARAMETER The option number exceeds 0xFFFF.\r
+ @retval EFI_ALREADY_STARTED The option number of Option is being used already.\r
+ Note: this API only adds new load option, no replacement support.\r
+ @retval EFI_OUT_OF_RESOURCES There is no free option number that can be used when the\r
+ option number specified in the Option is LoadOptionNumberUnassigned.\r
+ @return Status codes of gRT->SetVariable ().\r
\r
- @retval EFI_SUCCESS The load option has been successfully added.\r
- @retval Others Error status returned by RT->SetVariable.\r
**/\r
EFI_STATUS\r
EFIAPI\r
EfiBootManagerAddLoadOptionVariable (\r
- IN EFI_BOOT_MANAGER_LOAD_OPTION *Option,\r
- IN UINTN Position\r
+ IN OUT EFI_BOOT_MANAGER_LOAD_OPTION *Option,\r
+ IN UINTN Position\r
);\r
\r
/**\r
This function will register the new Boot####, Driver#### or SysPrep#### option.\r
After the *#### is updated, the *Order will also be updated.\r
\r
- @param Option Pointer to load option to add.\r
+ @param Option Pointer to load option to add. If on input\r
+ Option->OptionNumber is LoadOptionNumberUnassigned,\r
+ then on output Option->OptionNumber is updated to\r
+ the number of the new Boot####,\r
+ Driver#### or SysPrep#### option.\r
@param Position Position of the new load option to put in the ****Order variable.\r
\r
@retval EFI_SUCCESS The *#### have been successfully registered.\r
Note: this API only adds new load option, no replacement support.\r
@retval EFI_OUT_OF_RESOURCES There is no free option number that can be used when the\r
option number specified in the Option is LoadOptionNumberUnassigned.\r
- @retval EFI_STATUS Return the status of gRT->SetVariable ().\r
+ @return Status codes of gRT->SetVariable ().\r
\r
**/\r
EFI_STATUS\r
EFIAPI\r
EfiBootManagerAddLoadOptionVariable (\r
- IN EFI_BOOT_MANAGER_LOAD_OPTION *Option,\r
- IN UINTN Position\r
+ IN OUT EFI_BOOT_MANAGER_LOAD_OPTION *Option,\r
+ IN UINTN Position\r
)\r
{\r
EFI_STATUS Status;\r