pHalSetSystemInformation コールバック関数 (ntddk.h)
MCA ドライバーを HAL に登録します。
構文
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) を通じてサポートされます。
必要条件
要件 | 価値 |
---|---|
ターゲット プラットフォーム の | デスクトップ |
ヘッダー | ntddk.h (Ntddk.h を含む) |