如何设置dxe驱动程序的加载顺序?

问题描述

据我所知,DXE调度程序首先加载Apriori文件中指定的驱动程序。然后加载其他考虑的依赖项。 我想在AMITSE之前或之后加载实用程序。如果在AMITSE之后,这个主意是CreateEvent(EVT_SIGNAL_EXIT_BOOT_SERVICES,...,MAINFCN,...),但是在MAINFCN中我无法处理其他事件。 也许更好的策略是在收到EVT_SIGNAL_EXIT_BOOT_SERVICES时加载UEFI_APPLICATION?

我要解决的主要问题是AMITSE屏幕之间的执行驱动程序(邀请按键进入设置和设置屏幕)。

所以我尝试了:

  1. 将驱动程序放置在音量不同的位置-无法解决问题(驱动程序在AMITSE邀请屏幕后加载)。
  2. 在[depex]部分中输入TRUE-驱动程序根本没有加载。
  3. CreateEvent(..)-无法处理其他事件(以捕获按键)。

未尝试:

  1. 在引发启动服务之前引发引发事件以加载应用程序的驱动程序。

也许有更简单的方法

解决方法

通过编写建议运行应用程序的驱动程序来解决。

创建事件并捕获EVT_SIGNAL_EXIT_BOOT_SERVICES的想法将不起作用,因为在此事件之后[实际上在ExitBootServices()之后),EFI系统表的多个字段应设置为NULL。其中包括ConsoleInHandle,ConIn,ConsoleOutHandle,ConOut, StandardErrorHandle,StdErr和BootServicesTable。 [UEFI规范,版本2.8,第218-219页]