KeSaveExtendedProcessorState 関数 (wdm.h)
KeSaveExtendedProcessorState ルーチンは、拡張プロセッサの状態情報を保存します。
構文
NTSTATUS KeSaveExtendedProcessorState(
[in] ULONG64 Mask,
[out] PXSTATE_SAVE XStateSave
);
パラメーター
[in] Mask
64 ビット機能マスク。 このマスク内のビットは、保存する拡張プロセッサ機能の状態を識別します。 マスク ビットが 1 の場合、ルーチンは、このビットによって識別される機能の状態を保存します。 マスク ビットが 0 の場合、対応する機能の状態は保存されません。 このマスクは、オペレーティング システムが有効にしていない拡張プロセッサ機能を識別してはなりません。 有効な機能のマスクを取得するには、RtlGetEnabledExtendedFeatures ルーチン 呼び出します。
呼び出し元は、このパラメーターを、次の 1 つ以上の XSTATE_MASK_XXX フラグ ビットのビットごとの OR に設定できます。
価値 | 意味 |
---|---|
XSTATE_MASK_LEGACY_FLOATING_POINT | 浮動小数点拡張 (x87/MMX)。 |
XSTATE_MASK_LEGACY_SSE | ストリーミング SIMD 拡張機能 (SSE)。 |
XSTATE_MASK_LEGACY | x87/MMX と SSE の両方の拡張機能。 |
XSTATE_MASK_GSSE | Intel Sandy Bridge (旧 Gesher) SSE 拡張機能。 |
XSTATE_MASK_AVX512 | AVX-512 拡張機能 |
XSTATE_MASK_MPX | MPX 拡張機能 |
XSTATE_MASK_AMX_TILE_CONFIG | AMX 拡張機能 (構成) |
XSTATE_MASK_AMX_TILE_DATA | AMX 拡張機能 (データ) |
[out] XStateSave
ルーチンが XSTATE_SAVE 構造体を書き込む呼び出し元によって割り当てられたバッファーへのポインター。 この構造体には、Mask パラメーターによって示される拡張プロセッサ機能の保存された状態情報が含まれます。 バッファーは、この構造体を格納するのに十分な大きさである必要があります。
戻り値
KeSaveExtendedProcessorState は、呼び出しが成功した場合にSTATUS_SUCCESSを返します。 考えられるエラー戻り値は次のとおりです。
リターン コード | 形容 |
---|---|
|
メモリ割り当て操作に失敗しました。 |
備考
XSAVE および XRSTOR 命令をサポートする x86 ベースのプロセッサでは、拡張プロセッサの状態情報を保存および復元するための柔軟なメカニズムが提供されます。 KeSaveExtendedProcessorState 、使用できる場合は、これらの手順を使用します。
KeSaveExtendedProcessorState によって保存された拡張プロセッサ状態復元するには、KeRestoreExtendedProcessorState ルーチンを呼び出します。
Mask パラメーターは、状態を保存する拡張プロセッサ機能を指定します。 KeRestoreExtendedProcessorState 呼び出しは、状態を保存した KeSaveExtendedProcessorState 呼び出しによって保存された拡張プロセッサ状態のみを復元します。
カーネル モード コードでは、拡張プロセッサ機能の状態を保存してからその機能を使用し、終了する前に状態を復元する必要があります。
割り込みサービス ルーチン (ISR) は、通常は拡張プロセッサ機能の使用を妨げる重大な時間制約の下で実行されます。 ただし、ISR では、1 つ以上の拡張プロセッサ機能を使用する遅延プロシージャ コール (DPC) をスケジュールできます。 DPC ルーチンは、ルーチンが実行されるプロセス・アドレス・スペースが割り込まれたプログラムのコンテキストを維持するために、拡張フィーチャーの状態を保管および復元する必要があります。
KeSaveFloatingPointState および KeRestoreFloatingPointState ルーチンは、浮動小数点状態 (x87/MMX レジスタ) と SSE 状態のみを保存して復元します。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows 7 以降のバージョンの Windows で使用できます。 |
ターゲット プラットフォーム の | 万国 |
ヘッダー | wdm.h (Wdm.h、Ntddk.h、Ntifs.h を含む) |
ライブラリ | Ntoskrnl.lib |
DLL | Ntoskrnl.exe |
IRQL | <= DISPATCH_LEVEL |
関連項目
KeRestoreExtendedProcessorState の
KeRestoreFloatingPointState の
RtlGetEnabledExtendedFeatures を する