Windows カーネル モード プラットフォーム ランタイム メカニズム (PRM) ライブラリ
プラットフォーム ランタイム メカニズム (PRM) は、ドライバーが Unified Extensible Firmware Interface (UEFI) ファームウェアにプリロードされたハンドラーを実行可能にする GUID ベースのインターフェイスです。 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 の仕様に関する記事を参照してください。