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 以降でサポートされています。 |
ヘッダー | wdm.h (Wdm.h、Ntddk.h、Ntifs.h を含む) |