Fungsi KeRestoreFloatingPointState (wdm.h)
Rutinitas KeRestoreFloatingPointState memulihkan konteks floating-point nonvolatile yang disimpan oleh panggilan sebelumnya ke KeSaveFloatingPointState.
Sintaks
NTSTATUS KeRestoreFloatingPointState(
[in] PKFLOATING_SAVE FloatSave
);
Parameter
[in] FloatSave
Penunjuk ke struktur KFLOATING_SAVE yang diteruskan dalam panggilan sebelumnya ke KeSaveFloatingPointState.
Nilai kembali
KeRestoreFloatingPointState mengembalikan STATUS_SUCCESS.
Keterangan
KeRestoreFloatingPointState adalah timbal balik dari KeSaveFloatingPointState.
Rutinitas apa pun yang memanggil KeSaveFloatingPointState harus memanggil KeRestoreFloatingPointState sebelum rutin mengembalikan kontrol, dan harus berjalan di IRQL yang sama dengan panggilan sebelumnya ke KeSaveFloatingPointState terjadi. Kegagalan untuk memenuhi salah satu kondisi ini menyebabkan pemeriksaan bug sistem.
Kode driver mode kernel harus memastikan bahwa panggilan ke KeSaveFloatingPointState dan KeRestoreFloatingPointState ditumpuk dengan benar. Ini diperlukan agar, di setiap tingkat bersarang, status yang dipulihkan oleh panggilan KeRestoreFloatingPointState adalah status yang sama yang disimpan oleh panggilan KeSaveFloatingPointState yang sesuai. Untuk memastikan penumpasan yang tepat, kode driver mode kernel harus mengikuti aturan berikut:
- Panggilan KeRestoreFloatingPointState yang memulihkan status tersimpan harus berjalan pada IRQL yang sama dengan panggilan KeSaveFloatingPointState yang menyimpan status.
- Jika sepasang panggilan KeSaveFloatingPointState dan KeRestoreFloatingPointState ditumpuk dalam sepasang panggilan KeSaveFloatingPointState dan KeRestoreFloatingPointState , IRQL untuk panggilan berlapis tidak boleh lebih rendah dari IRQL untuk panggilan di sekitarnya.
- Biasanya, struktur KFLOATING_SAVE yang dialokasikan penelepon yang berisi status yang disimpan oleh KeSaveFloatingPointState berada di tumpukan. Tumpukan secara alami mempertahankan bersarangnya informasi status yang disimpan. Jika kode driver menyimpan status di lokasi selain tumpukan, penulis driver harus berhati-hati untuk mempertahankan penumpukan panggilan KeSaveFloatingPointState dan KeRestoreFloatingPointState .
- Panggilan KeRestoreFloatingPointState yang memulihkan status tersimpan harus berjalan di utas yang sama dengan panggilan KeSaveFloatingPointState yang menyimpan status.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Tersedia dimulai dengan Windows 2000. |
Target Platform | Universal |
Header | wdm.h (termasuk Wdm.h, Ntddk.h, Ntifs.h) |
Pustaka | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= DISPATCH_LEVEL (lihat bagian Keterangan) |
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