KE_PROCESSOR_CHANGE_NOTIFY_CONTEXT 構造体 (wdm.h)
KE_PROCESSOR_CHANGE_NOTIFY_CONTEXT構造体は、新しいプロセッサがハードウェア パーティションに動的に追加されるときに登録されたコールバック関数に渡される通知コンテキストを記述します。
構文
typedef struct _KE_PROCESSOR_CHANGE_NOTIFY_CONTEXT {
KE_PROCESSOR_CHANGE_NOTIFY_STATE State;
ULONG NtNumber;
NTSTATUS Status;
PROCESSOR_NUMBER ProcNumber;
} KE_PROCESSOR_CHANGE_NOTIFY_CONTEXT, *PKE_PROCESSOR_CHANGE_NOTIFY_CONTEXT;
メンバー
State
プロセッサの追加操作の状態。 使用できる値は次のとおりです。
KeProcessorAddStartNotify
オペレーティング システムによってプロセッサが追加されようとしています。 この状態では、この通知を受け取るデバイス ドライバーは、プロセッサごとのデータ構造を割り当て、新しいプロセッサで実行するためにドライバーを準備するために必要なその他のタスクを実行できます。
KeProcessorAddCompleteNotify
オペレーティング システムによってプロセッサが正常に追加されました。 この状態では、この通知を受け取るデバイス ドライバーは、新しいプロセッサでスレッドのスケジュール設定を開始できます。
KeProcessorAddFailureNotify
オペレーティング システムでプロセッサを追加できませんでした。 デバイス ドライバーがこの通知を受け取った場合は、 KeProcessorAddStartNotify 通知を受信したときに新しいプロセッサに割り当てられたプロセッサごとのデータ構造を解放する必要があります。
NtNumber
新しいプロセッサのプロセッサ インデックス。 プロセッサ インデックスとプロセッサ番号の関係については、「 KeGetProcessorNumberFromIndex」を参照してください。
Status
State メンバーに KeProcessorAddFailureNotify が含まれている場合、このメンバーにはプロセッサの追加操作が失敗した理由を示すエラー状態が含まれます。
ProcNumber
新しいプロセッサのプロセッサ番号。 このメンバーは、グループ番号とグループ相対プロセッサ番号を指定する PROCESSOR_NUMBER 構造体です。
注釈
KE_PROCESSOR_CHANGE_NOTIFY_CONTEXT構造は、Windows Server 2008 以降で使用できます。
デバイス ドライバーは、 KeRegisterProcessorChangeCallback 関数を呼び出すことによって、新しいプロセッサがハードウェア パーティションに動的に追加されたときに通知を受信するように登録します。 この通知の登録の詳細については、「 同期ドライバー通知の登録」を参照してください。
新しいプロセッサがハードウェア パーティションに動的に追加されると、オペレーティング システムは登録済みの各コールバック関数を 2 回呼び出します。 オペレーティング システムは、 KeProcessorAddStartNotify 状態で初めて登録された各コールバック関数を呼び出し、2 回目は KeProcessorAddCompleteNotify 状態または KeProcessorAddFailureNotify 状態で呼び出します。
これらの通知を受け取るデバイス ドライバーのコールバック関数は、 KE_PROCESSOR_CHANGE_NOTIFY_CONTEXT 構造体の内容を変更することはできません。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Server 2008 以降でサポートされています。 |
Header | wdm.h (Wdm.h、Ntddk.h、Ntifs.h を含む) |