Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
peringatan C28110: Driver harus melindungi status perangkat keras floating-point. Lihat penggunaan float
Informasi tambahan |
Gunakan KeSaveFloatingPointState dan KeRestoreFloatingPointState di sekitar operasi floating-point. Driver tampilan harus menggunakan Eng yang sesuai... rutinitas. |
Peringatan ini hanya berlaku dalam mode kernel. Driver mencoba menggunakan variabel atau konstanta jenis float ketika kode tidak dilindungi oleh KeSaveFloatingPointState dan KeRestoreFloatingPointState, atau EngSaveFloatingPointState dan EngRestoreFloatingPointState.
Biasanya, driver berjalan dengan konteks floating-point dari aplikasi terbaru, dan penggunaan titik mengambang apa pun yang tidak dilindungi oleh KeSaveFloatingPointState dan KeRestoreFloatingPointState dapat mengubah hasil untuk proses lain dan sering dapat menyebabkan hasil yang salah atau tidak terduga pada driver.
Driver tampilan harus menggunakanEngSaveFloatingPointState dan EngRestoreFloatingPointState.
Setelah instans kesalahan ini terdeteksi di sepanjang jalur alur tertentu, alat Analisis Kode menekan kesalahan serupa berikutnya. Alat Analisis Kode tidak melaporkan kesalahan ini untuk definisi fungsi yang mengambil argumen jenis mengambang atau yang mengembalikan jenis mengambang, karena pemanggil akan melaporkan penggunaan.
Peringatan ini dapat dipicu dalam kesalahan ketika program menyimpan dan memulihkan status floating-point di sekitar panggilan fungsi, dan fungsi yang disebut melakukan operasi floating-point.
Jika fungsi menggunakan operasi floating-point dengan sengaja, dan mengharapkan untuk dipanggil dalam konteks di mana titik mengambang aman, Anda harus membuat anotasi fungsi dengan _Kernel_float_used_. Anotasi ini akan menekan peringatan dalam isi fungsi dan menyebabkan konteks panggilan memeriksa bahwa panggilan dilindungi dengan aman untuk operasi floating-point. Jika operasi floating-point muncul dalam argumen atau nilai pengembalian, efeknya sama dengan menggunakan _Kernel_float_used_.
Dengan menggunakan _Kernel_float_used_ pada (atau menambahkan panggilan simpan dan pulihkan yang sesuai ke) semua fungsi yang menggunakan titik mengambang sampai tidak ada peringatan yang tersisa, driver dapat dipastikan bebas dari penyalahgunaan perangkat keras floating-point. Untuk informasi selengkapnya, lihat anotasi titik mengambang untuk driver.