4 Das UEFI-Programmiermodell
Die UEFI-Shell verfügt über eine Programmierungs-API. Sie können damit eigene UEFI-Anwendungen
zum Aufrufen von Shell-Programmierungs-APIs oder -Protokollen schreiben. Weitere Informationen
enthält die UEFI-Shellspezifikation und EDK2. Die UEFI-Shell stellt eine Programmierungs-API bereit,
siehe
Tabelle 12 (Seite
So können UEFI-Shellanwendungen auf Low-Level-Shellfunktionen zugreifen, z. B.: Dateien, Pipes,
Umgebungsvariablen, aktuelles Arbeitsverzeichnis, Zuordnungen, Hilfetext, Aliasnamen und Starten
von Shellanwendungen und -skripts.
Tabelle 12 UEFI-Anwendungs-APIs
Funktionstyp
EFI_SHELL_EXECUTE
EFI_SHELL_GET_ENV
EFI_SHELL_SET_ENV
EFI_SHELL_GET_ALIAS
EFI_SHELL_SET_ALIAS
EFI_SHELL_GET_HELP_TEXT
EFI_SHELL_GET_DEVICE_PATH_FROM_MAP
EFI_SHELL_GET_MAP_FROM_DEVICE_PATH
EFI_SHELL_GET_DEVICE_PATH_FROM_FILE_PATH
EFI_SHELL_GET_FILE_PATH_FROM_DEVICE_PATH
EFI_SHELL_SET_MAP
EFI_SHELL_GET_CUR_DIR
EFI_SHELL_SET_CUR_DIR
EFI_SHELL_OPEN_FILE_LIST
EFI_SHELL_FREE_FILE_LIST
EFI_SHELL_REMOVE_DUP_IN_FILE_LIST
EFI_SHELL_BATCH_IS_ACTIVE
EFI_SHELL_IS_ROOT_SHELL
70
Das UEFI-Programmiermodell
70). EFI_SHELL_PROTOCOL stellt Shelldienste für UEFI-Anwendungen bereit.
Funktionsname
Execute
GetEnv
SetEnv
GetAlias
SetAlias
GetHelpText
GetDevicePathFromMap
GetMapFromDevicePath
GetDevicePathFromFilePath
GetFilePathFromDevicePath
SetMap
GetCurDir
SetCurDir
OpenFileList
FreeFileList
RemoveDupInFileList
BatchIsActive
IsRootShell
Beschreibung
Veranlasst die Shell zum Analysieren und
Ausführen der Befehlszeile.
Ruft die Umgebungsvariable ab.
Ändert eine bestimmte Umgebungsvariable.
Ruft den Aliasnamen eines bestimmten
Shellbefehls ab.
Fügt den Aliasnamen für einen bestimmten
Shellbefehl hinzu oder entfernt ihn.
Gibt Hilfeinformationen zu einem bestimmten
Befehl zurück.
Gibt den Gerätepfad einer Zuordnung zurück.
Gibt die Zuordnung zurück, die einem
bestimmten Gerätepfad entspricht.
Konvertiert einen Dateipfad in einen
Gerätepfad, in dem alle Zuordnungen durch
entsprechende Gerätepfade ersetzt wurden.
Konvertiert einen Gerätepfad in einen
Dateipfad, in dem der einer der Zuordnungen
entsprechende Teil des Gerätepfads durch
diese Zuordnung ersetzt ist.
Erstellt/Aktualisiert/Löscht eine Zuordnung
zwischen einem Gerät und einem Gerätepfad.
Gibt das aktuelle Verzeichnis auf einem Gerät
zurück.
Wechselt das aktuelle Verzeichnis auf einem
Gerät.
Öffnet die Dateien, die dem angegebenen
Pfadmuster entsprechen.
Gibt die von OpenFileList() erstellte Dateiliste
frei.
Löscht die Duplikatdateien in der gegebenen
Dateiliste.
Gibt an, ob derzeit Skriptdateien verarbeitet
werden.
Ermittelt, ob die aktive Shell die Stammshell
ist.