pHalSetSystemInformation コールバック関数 (ntddk.h)
HAL に MCA ドライバーを登録します。
構文
pHalSetSystemInformation Phalsetsysteminformation;
NTSTATUS Phalsetsysteminformation(
[in] HAL_SET_INFORMATION_CLASS InformationClass,
[in] ULONG BufferSize,
[out] PVOID Buffer
)
{...}
パラメーター
[in] InformationClass
HAL に MCA ドライバーのコールバック ルーチンを登録する HalMcaRegisterDriver。 ExceptionCallback と DpcCallback の 2 つのコールバック ルーチンがあります。 ExceptionCallback ルーチンは、システムのバグ チェックを発行する前に、マシン チェック例外 (MCE) ハンドラーの再起動できないエラー処理中に呼び出されます。 DpcCallback ルーチンは、MCA エラーが再開可能な場合に呼び出されます。 Itanium システムの場合は、HalCmcRegisterDriver を指定してドライバーの修正済み CPU エラー DpcCallback ルーチンを登録し、HalCpeRegisterDriver を指定してドライバーの修正されたプラットフォーム エラー DpcCallback を登録します。
[in] BufferSize
呼び出し元が提供するバッファーのサイズ (バイト単位)。
[out] Buffer
MCA_DRIVER_INFO型の呼び出し元が指定したバッファーへのポインター。これは次のように定義されます。
typedef struct _MCA_DRIVER_INFO {
PDRIVER_EXCPTN_CALLBACK ExceptionCallback; // NULL for Itanium corrected error registration
PKDEFERRED_ROUTINE DpcCallback;
PVOID DeviceContext;
} MCA_DRIVER_INFO, *PMCA_DRIVER_INFO;
この構造体には、次のメンバーが含まれています。
ExceptionCallback
修正されていないエラーに対してマシン チェック例外 (MCE) が発生したときに呼び出されるドライバー指定のルーチン。 ドライバーでは、カーネル サービスまたはスピン ロック ルーチンを明示的に使用できません。 ハンドラーは、最も高い IRQL で動作するドライバーと同じ制約に制限されます。
DpcCallback
マシン チェック例外 (MCE) の原因となった修正されたエラーに対して呼び出されるドライバー指定のルーチン。 このルーチンは、DISPATCH_LEVELで呼び出す必要があります。
DeviceContext
この MCA ドライバーのデバイス固有のコンテキスト。
戻り値
登録が成功した場合は、STATUS_SUCCESSを返します。
注釈
HalSetSystemInformation は、MCA ドライバーが他のインターフェイス ルーチンのいずれかを使用する前に呼び出す必要があります。 任意の時点で HAL に登録できる MCA ドライバーは 1 つだけです。
Windows Vista 以降のバージョンの Windows では、このトピックで説明するマシン チェック アーキテクチャ (MCA) レポートとマシン チェック例外 (MCE) レポートの種類はサポートされていません。 MCA と MCE レポートは、 代わりに Windows ハードウェア エラー アーキテクチャ (WHEA) を通じてサポートされます。
要件
要件 | 値 |
---|---|
対象プラットフォーム | デスクトップ |
Header | ntddk.h (Ntddk.h を含む) |