客户新增需求,将启动项顺序显示在type11中
目前所使用的启动项顺序代表如下:
#define BoTagUefiNvme 1
#define BoTagUefiHardDisk 2
#define BoTagUefiUsb 3
#define BoTagUefiNetWork 4
#define BoTagUefiApplication 5
先通过:获取目前的BootOrder列表以及bootOrder的数量
GetEfiGlobalVariable2 (L"BootOrder", (VOID **) &BootOrder, &BootOrderSize);
然后再通过:获取所有BootOption,
LoadOptions = EfiBootManagerGetLoadOptions (&LoadOptionCount, LoadOptionTypeBoot);
如果不熟悉BootOption,可参考:UEFI下BootOption_fell_sky的博客-优快云博客_boot option uefi
获取完所有的BootOption启动项之后,可根据BootOption.DevicePath进行判断,判断是否为nvme,hdd,usb等设备。
然后使用AsciiStrCat等字符串函数将其组成字符并上传smbios