49 Status =
gBS->LocateHandleBuffer (
56 if (!EFI_ERROR (Status)) {
57 for (HandleIndex = 0; HandleIndex < HandleCount; HandleIndex++) {
58 Status =
gBS->DisconnectController (
59 HandleBuffer[HandleIndex],
65 gBS->FreePool (HandleBuffer);
119 if (EFI_ERROR (Status)) {
120 if ((Status == EFI_VOLUME_CORRUPTED) && (ProblemParam !=
NULL)) {
185 if ((Param1 !=
NULL) && (Handle1 ==
NULL)) {
188 }
else if ((Param2 !=
NULL) && (Handle2 ==
NULL)) {
191 }
else if ((Param3 !=
NULL) && (Handle3 ==
NULL)) {
194 }
else if ((Handle2 !=
NULL) && EFI_ERROR (
gBS->OpenProtocol (Handle2, &gEfiDriverBindingProtocolGuid,
NULL,
gImageHandle,
NULL, EFI_OPEN_PROTOCOL_TEST_PROTOCOL))) {
195 ASSERT (Param2 !=
NULL);
199 ASSERT (Param1 !=
NULL);
200 Status =
gBS->DisconnectController (Handle1, Handle2, Handle3);
208 if (Status == EFI_SECURITY_VIOLATION) {
210 }
else if (Status == EFI_INVALID_PARAMETER) {
212 }
else if (EFI_ERROR (Status)) {
217 return (ShellStatus);
EFI_STATUS ShellConnectFromDevPaths(IN CONST CHAR16 *Key)
EFI_STATUS DisconnectAll(VOID)
SHELL_STATUS EFIAPI ShellCommandRunDisconnect(IN EFI_HANDLE ImageHandle, IN EFI_SYSTEM_TABLE *SystemTable)
VOID EFIAPI FreePool(IN VOID *Buffer)
EFI_HANDLE EFIAPI ConvertHandleIndexToHandle(IN CONST UINTN TheIndex)
#define ASSERT_EFI_ERROR(StatusParameter)
@ SHELL_SECURITY_VIOLATION
@ SHELL_INVALID_PARAMETER
EFI_STATUS EFIAPI CommandInit(VOID)
UINTN EFIAPI ShellStrToUintn(IN CONST CHAR16 *String)
#define ShellCommandLineParse(CheckList, CheckPackage, ProblemParam, AutoPageBreak)
Make it easy to upgrade from older versions of the shell library.
EFI_STATUS EFIAPI ShellPrintHiiEx(IN INT32 Col OPTIONAL, IN INT32 Row OPTIONAL, IN CONST CHAR8 *Language OPTIONAL, IN CONST EFI_STRING_ID HiiFormatStringId, IN CONST EFI_HII_HANDLE HiiFormatHandle,...)
BOOLEAN EFIAPI ShellCommandLineGetFlag(IN CONST LIST_ENTRY *CONST CheckPackage, IN CONST CHAR16 *CONST KeyString)
@ TypeFlag
A flag that is present or not present only (IE "-a").
EFI_STATUS EFIAPI ShellInitialize(VOID)
CONST CHAR16 *EFIAPI ShellCommandLineGetRawValue(IN CONST LIST_ENTRY *CONST CheckPackage, IN UINTN Position)
UINTN EFIAPI ShellCommandLineGetCount(IN CONST LIST_ENTRY *CheckPackage)
EFI_STATUS EFIAPI ShellConvertStringToUint64(IN CONST CHAR16 *String, OUT UINT64 *Value, IN CONST BOOLEAN ForceHex, IN CONST BOOLEAN StopAtSpace)