Windows 内核模式平台运行时机制 (PRM) 库
平台运行时机制 (PRM) 是基于 GUID 的接口,使驱动程序能够运行在统一可扩展固件接口 (UEFI) 固件中预加载的处理程序。 PRM 提供的功能类似于系统管理模式 (SMM) 中的系统管理中断 (SMI) 调用,但更安全。
在系统运行时,固件可以包含多个 PRM 模块,并且每个模块都有一组唯一的处理程序。
驱动程序可以调用 PRM 处理程序进行低级别操作,例如控制硬件组件、管理热状态或高级电源管理。
执行以下步骤来检查特定处理程序的可用性并运行该处理程序。 可以在 PrmFunc 示例中找到此进程的示例实施。
通过调用 ExGetPrmInterface 例程,获取指向 PRM_INTERFACE 结构的指针。 此结构包含指向 PRM 操作例程的指针。
通过调用 PRM_LOCK_MODULE 例程,针对 PRM 模块的潜在运行时更新进行同步。 锁定和解锁调用是事务性系列 PRM 处理程序调用所必需的,但通常建议使用它们。
使用 PRM_QUERY_HANDLER 例程检查指定的 PRM 处理程序是否存在。
如果查询成功,则通过调用 PRM_INVOKE_HANDLER 例程调用 PRM 处理程序。 提供 GUID 和参数缓冲区,该缓冲区应包含 PRM 处理程序的参数。 EfiStatus 输出参数将指示处理程序调用的状态。
如果之前调用了 PRM_LOCK_MODULE,请调用 PRM_UNLOCK_MODULE 例程来释放 PRM 接口对象。
另请参阅
有关详细信息,请参阅 PRM 规范。