Shell環境下增加Internal Command

1.在$(EFI_SOURCE)\Application\shell\下建立一個文件,命名爲Hello

      包括Hello.c、Hello.h、Hellostrings.uni

2.在$(EFI_SOURCE)\Application\shell\Shell.inf orShellFull.inf中的【sources.common】

添加               Hello\Hello.c
                       Hello\Hello.h
                       Hello\Hellostrings.uni

3.把Hello命令包在Shell環境裏是在$(EFI_SOURCE)\Application\shell\shellenv\cmddisp.c

                 SEnvlnternalCommands[]={

                   InitializeHello,      L"Hello",      InitializeHelloLineHelp, }

InitializeHello在Hello.c中

EFI_BOOTSHELL_CODE(
  EFI_APPLICATION_ENTRY_POINT(InitializeHello)
)

EFI_STATUS
InitializeHello(
 IN EFI_HANDLE      ImageHandle,
 IN EFI_SYSTEM_TABLE    *SystemTable
)

{

}

InitializeHelloLineHelp在Hello.c中

EFI_STATUS
InitializeHelloLineHelp(
  OUT CHAR16 **Str
)
{
  return LibCmdGetStringByToken(STRING_ARRAY_NAME,&EfiHelloGuid,STRING_TOKEN(STR_HELLO_LINEHELP),Str);
}

STRING_TOKEN(STR_HELLO_LINEHELP)調用的在Hellostrings.uni中定義

4.完成編譯,進行Bios更新

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章