次の方法で共有


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を返します。 考えられるエラー戻り値は次のとおりです。

リターン コード 形容
STATUS_INSUFFICIENT_RESOURCES
メモリ割り当て操作に失敗しました。

備考

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

KeSaveFloatingPointState

RtlGetEnabledExtendedFeatures する

XSTATE_SAVE