如果我们有一个在 EDK2/UEFI 中安装协议的驱动程序,然后卸载该驱动程序,该协议是否继续存在并可供其他驱动程序和服务使用?UEFI 应用程序的相同问题。我主要想知道 UEFI 框架是否以某种方式将协议与安装它们的驱动程序联系起来,如果驱动程序被卸载,协议是否在卸载图像后仍可供其他驱动程序使用,或者协议是否在驱动程序被卸载时也退出内存。
我认为当然可以编写代码来使这种情况成为当驱动程序退出时它会卸载它所创建的协议,但是这是否会在 UEFI/EDK2 中默认发生?或者只有当驱动程序明确声明在卸载协议时卸载协议时才会发生这种情况?
此外,这里的行业最佳实践是什么?协议通常应该继续存在于安装它们的驱动程序之后,还是应该将两者联系起来?
对不起,如果这个问题是高水平的。我正在尝试对这个主题获得一些高级别的直觉。