KeRestoreExtendedProcessorState 関数 (wdm.h)
KeRestoreExtendedProcessorState ルーチンは、以前に保存された拡張プロセッサ状態情報を復元します。
構文
void KeRestoreExtendedProcessorState(
[in] PXSTATE_SAVE XStateSave
);
パラメーター
[in] XStateSave
復元する拡張プロセッサ状態情報を含む XSTATE_SAVE 構造体へのポインター。 この構造体の内容は、KeSaveExtendedProcessorState ルーチンによって以前に保存されている必要があります。
戻り値
何一つ
備考
カーネル モード ドライバー コードでは、KeSaveExtendedProcessorState 呼び出しと KeRestoreExtendedProcessorState の呼び出しが正しく入れ子になっていることを確認する必要があります。 これは、各入れ子レベルで、KeRestoreExtendedProcessorState 呼び出しによって復元された状態が、対応する KeSaveExtendedProcessorState 呼び出しによって保存された状態と同じになるように必要です。 適切な入れ子にするには、カーネル モード ドライバー コードが次の規則に従う必要があります。
- 保存された状態を復元する KeRestoreExtendedProcessorState 呼び出しは、状態を保存した KeSaveExtendedProcessorState 呼び出しと同じ IRQL で実行されている必要があります。
- KeSaveExtendedProcessorState と KeRestoreExtendedProcessorState 呼び出しのペアが、周囲の KeSaveExtendedProcessorState と KeRestoreExtendedProcessorState 呼び出しのペア内に入れ子になっている場合、入れ子になった呼び出しの IRQL は、周囲の呼び出しの IRQL よりも小さくすることはできません。
- 通常、呼び出し元によって割り当てられた XSTATE_SAVE 構造体 KeSaveExtendedProcessorState によって保存された状態がスタックに存在します。 スタックは、保存された状態情報の入れ子を自然に保持します。 ドライバー コードがスタック以外の場所に状態を格納する場合、ドライバー ライターは、KeSaveExtendedProcessorState の入れ子を保持し、KeRestoreExtendedProcessorState 呼び出しを するために特別な注意を払う必要があります。
- 保存された状態を復元する KeRestoreExtendedProcessorState 呼び出しは、状態を保存した KeSaveExtendedProcessorState 呼び出しと同じスレッドで実行されている必要があります。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows 7 以降のバージョンの Windows で使用できます。 |
ターゲット プラットフォーム の | 万国 |
ヘッダー | wdm.h (Wdm.h、Ntddk.h、Ntifs.h を含む) |
ライブラリ | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= DISPATCH_LEVEL (「解説」セクションを参照) |
関連項目
KeRestoreFloatingPointState の
KeSaveExtendedProcessorState の