Shell环境下增加Internal Command

来源:互联网 发布:leonard susskind知乎 编辑:程序博客网 时间:2024/05/17 08:38

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更新

 

原创粉丝点击