#if (NTDDI_VERSION >= NTDDI_WINXP) | |
struct FLOATSAFE { | |
KFLOATING_SAVE FloatSave; | |
NTSTATUS ntStatus; | |
FLOATSAFE::FLOATSAFE(void) { | |
ntStatus = KeSaveFloatingPointState(&FloatSave); | |
} | |
FLOATSAFE::~FLOATSAFE(void) { | |
if (NT_SUCCESS(ntStatus)) { | |
KeRestoreFloatingPointState(&FloatSave); | |
} | |
} | |
}; | |
#endif |