Fungsi KeSaveExtendedProcessorState (wdm.h)
Rutinitas KeSaveExtendedProcessorState menyimpan informasi status prosesor yang diperluas.
Sintaks
NTSTATUS KeSaveExtendedProcessorState(
[in] ULONG64 Mask,
[out] PXSTATE_SAVE XStateSave
);
Parameter
[in] Mask
Masker fitur 64-bit. Bit dalam masker ini mengidentifikasi status fitur prosesor yang diperluas untuk disimpan. Jika bit masker adalah satu, rutin menyimpan status fitur yang diidentifikasi oleh bit ini. Jika bit masker adalah nol, status untuk fitur yang sesuai tidak disimpan. Masker ini tidak boleh mengidentifikasi fitur prosesor yang diperluas yang belum diaktifkan oleh sistem operasi. Untuk mendapatkan topeng fitur yang diaktifkan, panggil rutinitas RtlGetEnabledExtendedFeatures .
Penelepon dapat mengatur parameter ini ke bitwise OR dari satu atau beberapa bit bendera XSTATE_MASK_XXX berikut:
Nilai | Makna |
---|---|
XSTATE_MASK_LEGACY_FLOATING_POINT | Ekstensi floating-point (x87/MMX). |
XSTATE_MASK_LEGACY_SSE | Ekstensi SIMD streaming (SSE). |
XSTATE_MASK_LEGACY | Ekstensi x87/MMX dan SSE. |
XSTATE_MASK_GSSE | Ekstensi SSE Intel Sandy Bridge (sebelumnya Gesher). |
XSTATE_MASK_AVX512 | Ekstensi AVX-512 |
XSTATE_MASK_MPX | Ekstensi MPX |
XSTATE_MASK_AMX_TILE_CONFIG | Ekstensi AMX (konfigurasi) |
XSTATE_MASK_AMX_TILE_DATA | Ekstensi AMX (data) |
[out] XStateSave
Penunjuk ke buffer yang dialokasikan pemanggil tempat rutin menulis struktur XSTATE_SAVE . Struktur ini berisi informasi status yang disimpan untuk fitur prosesor yang diperluas yang ditunjukkan oleh parameter Mask . Buffer harus cukup besar untuk memuat struktur ini.
Nilai kembali
KeSaveExtendedProcessorState mengembalikan STATUS_SUCCESS jika panggilan berhasil. Kemungkinan nilai pengembalian kesalahan meliputi yang berikut ini:
Menampilkan kode | Deskripsi |
---|---|
|
Operasi alokasi memori gagal. |
Keterangan
Pada prosesor berbasis x86 yang mendukung instruksi XSAVE dan XRSTOR, instruksi ini menyediakan mekanisme yang fleksibel untuk menyimpan dan memulihkan informasi status prosesor yang diperluas. KeSaveExtendedProcessorState menggunakan instruksi ini jika tersedia.
Untuk memulihkan status prosesor yang diperluas yang disimpan oleh KeSaveExtendedProcessorState, panggil rutinitas KeRestoreExtendedProcessorState .
Parameter Mask menentukan fitur prosesor yang diperluas yang statusnya akan disimpan. Panggilan KeRestoreExtendedProcessorState hanya memulihkan status prosesor yang diperluas yang disimpan oleh panggilan KeSaveExtendedProcessorState yang menyimpan status.
Kode mode kernel harus menyimpan status fitur prosesor yang diperluas sebelum menggunakan fitur tersebut, dan harus memulihkan status sebelum keluar.
Rutinitas layanan interupsi (ISR) berjalan di bawah batasan waktu yang parah yang biasanya mencegahnya menggunakan fitur prosesor yang diperluas. Namun, ISR dapat menjadwalkan panggilan prosedur yang ditangguhkan (DPC) yang menggunakan satu atau beberapa fitur prosesor yang diperluas. Rutinitas DPC harus menyimpan dan memulihkan status fitur yang diperluas untuk mempertahankan konteks program yang terganggu di yang ruang alamat prosesnya berjalan rutin.
Rutinitas KeSaveFloatingPointState dan KeRestoreFloatingPointState menyimpan dan memulihkan hanya status floating-point (register x87/MMX) dan status SSE.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Tersedia di Windows 7 dan versi Windows yang lebih baru. |
Target Platform | Universal |
Header | wdm.h (termasuk Wdm.h, Ntddk.h, Ntifs.h) |
Pustaka | Ntoskrnl.lib |
DLL | Ntoskrnl.exe |
IRQL | <= DISPATCH_LEVEL |
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk