UEFIプログラミングモデル

UEFIシェルには、プログラミングAPIが用意されています。これを使用して、シェルのプログラムAPIまたはプロトコルを呼び出すための独自のUEFIアプリケーションを記述することができます。詳しくは、UEFI Shell SpecificationおよびEDK2を参照してください。UEFIシェルには、以下の表に示すプログラミングAPIが用意されています。EFI_SHELL_PROTOCOLは、UEFIアプリケーションにシェルサービスを提供します。これは、ファイル、パイプ、環境変数、現在の作業ディレクトリ、マッピング、ヘルプテキスト、エイリアス、起動シェルアプリケーションおよびスクリプトなど、低レベルのシェル関数へのUEFIシェルアプリケーションアクセスを提供します。

UEFIアプリケーションAPI

関数タイプ

関数名

説明

EFI_SHELL_EXECUTE

Execute

シェルがコマンドラインを解析して実行します。

EFI_SHELL_GET_ENV

GetEnv

環境変数を取得します。

EFI_SHELL_SET_ENV

SetEnv

特定の環境変数を変更します。

EFI_SHELL_GET_ALIAS

GetAlias

特定のシェルコマンドのエイリアスを取得します。

EFI_SHELL_SET_ALIAS

SetAlias

特定のシェルコマンドのエイリアスを追加または削除します。

EFI_SHELL_GET_HELP_TEXT

GetHelpText

特定のコマンドに関するヘルプ情報を返します。

EFI_SHELL_GET_DEVICE_PATH_FROM_MAP

GetDevicePathFromMap

マッピングに対応するデバイスパスを返します。

EFI_SHELL_GET_MAP_FROM_DEVICE_PATH

GetMapFromDevicePath

特定のデバイスパスに対応するマッピングを返します。

EFI_SHELL_GET_DEVICE_PATH_FROM_FILE_PATH

GetDevicePathFromFilePath

ファイルパスをデバイスパスに変換します。すべてのマッピングが、対応するデバイスパスに置き換えられます。

EFI_SHELL_GET_FILE_PATH_FROM_DEVICE_PATH

GetFilePathFromDevicePath

デバイスパスをファイルパスに変換します。デバイスパスのうちいずれかのマッピングに対応する部分が、そのマッピングに置き換えられます。

EFI_SHELL_SET_MAP

SetMap

デバイスとデバイスパス間のマッピングを作成、更新、または削除します。

EFI_SHELL_GET_CUR_DIR

GetCurDir

デバイスの現在のディレクトリを返します。

EFI_SHELL_SET_CUR_DIR

SetCurDir

デバイスの現在のディレクトリを変更します。

EFI_SHELL_OPEN_FILE_LIST

OpenFileList

指定したパスパターンに一致するファイルを開きます。

EFI_SHELL_FREE_FILE_LIST

FreeFileList

OpenFileList()で作成したファイルリストを解放します。

EFI_SHELL_REMOVE_DUP_IN_FILE_LIST

RemoveDupInFileList

指定されたファイルリスト内の重複ファイルを削除します。

EFI_SHELL_BATCH_IS_ACTIVE

BatchIsActive

処理されているスクリプトファイルがあるかどうかを表示します。

EFI_SHELL_IS_ROOT_SHELL

IsRootShell

アクティブなシェルがルートシェルであるかどうかを確認します。

EFI_SHELL_ENABLE_PAGE_BREAK

EnablePageBreak

改ページ出力モードを有効にします。

EFI_SHELL_DISABLE_PAGE_BREAK

DisablePageBreak

改ページ出力モードを無効にします。

EFI_SHELL_GET_PAGE_BREAK

GetPageBreak

改ページ出力モードの有効化ステータスを取得します。

EFI_SHELL_GET_DEVICE_NAME

GetDeviceName

デバイスハンドルで指定されたデバイスの名前を取得します。

EFI_SHELL_GET_FILE_INFO

GetFileInfo

特定のファイルハンドルに関する情報を表示します。

EFI_SHELL_SET_FILE_INFO

SetFileInfo

特定のファイルハンドルに関する情報を変更します。

EFI_SHELL_OPEN_FILE_BY_NAME

OpenFileByName

名前に基づいてファイルを開き、ファイルハンドルを返します。

EFI_SHELL_CLOSE_FILE

CloseFile

開いているファイルを閉じます。

EFI_SHELL_CREATE_FILE

CreateFile

新しいファイルを作成します。

EFI_SHELL_READ_FILE

ReadFile

データをファイルから読み取ります。

EFI_SHELL_WRITE_FILE

WriteFile

データをファイルに書き込みます。

EFI_SHELL_DELETE_FILE

DeleteFile

ファイルを削除します。

EFI_SHELL_DELETE_FILE_BY_NAME

DeleteFileByName

ファイルを名前に基づいて削除します。

EFI_SHELL_GET_FILE_POSITION

GetFilePosition

ファイル内の現在の読み取り/書き込み位置を表示します。

EFI_SHELL_SET_FILE_POSITION

SetFilePosition

ファイル内の現在の読み取り/書き込み位置を変更します。

EFI_SHELL_FLUSH_FILE

FlushFile

すべてのバッファーデータをファイルに書き込みます。

EFI_SHELL_FIND_FILES

FindFiles

ファイルリスト内のパターンに一致するすべてのファイルを表示します。

EFI_SHELL_FIND_FILES_IN_DIR

FindFilesInDir

ファイルリストで指定されたディレクトリ内のすべてのファイルを表示します。

EFI_SHELL_GET_FILE_SIZE

GetFileSize

ファイルのサイズを表示します。

EFI_SHELL_OPEN_ROOT

OpenRoot

ファイルシステムのルートディレクトリを表示します。

EFI_SHELL_OPEN_ROOT_BY_HANDLE

OpenRootByHandle

特定のハンドル上のファイルシステムのルートディレクトリを表示します。

EFI_EVENT

ExecutionBreak

ユーザーがCTRL+Cキーを押して現在のUEFIシェルコマンドの実行を中断するよう指示したときに、UEFIシェルから通知されるイベント。

UINT32

MajorVersion

シェル環境のメジャーバージョン。

UINT32

MinorVersion

シェル環境のマイナーバージョン。