日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

UEFI shell控制台向.efi文件传入参数--通过protocol实现

發布時間:2023/12/10 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 UEFI shell控制台向.efi文件传入参数--通过protocol实现 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目標

過控制臺傳入的參數為:

? ? ? ? Argc,傳入參數的個數;

? ? ? ? Argv,存放參數字符串的字符指針數組。各參數保存為字符串,數組元素為字符串指針;

/// Parsed arg list converted more C-like format.///CHAR16 **Argv;UINTN Argc;

實現

UEFI shell中向.efi中傳入參數,需要EfiShellInterface相關protocol--gEfiShellInterfaceGuid,及EFI_SHELL_INTERFACE;

? ? ? ??Protocol使用之前進行LocateProtocol /?OpenProtocol 操作(BootServices),Status = EFI_SUCCESS表示相關protocol已install且可以使用。推薦使用OpenProtocol,傳入ImageHandle,其他傳入的參數參考source。LocateProtocol可能會失敗。這與protocol在handle上的掛載規則有關,不展開講。

? ? ? ? ?ImageHandle,Dxe_module傳入參數。

? ? ? ? ?Guid:見source code。

? ? ? Argc,Argv包含在EFI_SHELL_INTERFACE結構體中;結構體及成員定義見Bios sourcecode,將定義所在頭文件#include(Project中有對應頭文件?) 或將相關類型定義從其他Bios sourcecode復制過來(未包含類型定義所在頭文件)。

P.s. 成員類型定義要在EFI_SHELL_INTERFACE結構定義之前;

? ? ? ??根據Build錯誤添加未定義類型;

??

?

?

總結

以上是生活随笔為你收集整理的UEFI shell控制台向.efi文件传入参数--通过protocol实现的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。