Функция EngRestoreFloatingPointState (winddi.h)
Функция EngRestoreFloatingPointState восстанавливает состояние ядра Windows 2000 (и более поздних версий) с плавающей запятой после того, как драйвер использует любые аппаратные инструкции с плавающей запятой или MMX.
Синтаксис
BOOL EngRestoreFloatingPointState(
[in] VOID *pBuffer
);
Параметры
[in] pBuffer
Указатель на буфер, содержимое которого было заполнено EngSaveFloatingPointState.
Возвращаемое значение
При успешном выполнении EngRestoreFloatingPointState возвращает значение TRUE. В противном случае возвращается значение FALSE.
Комментарии
Драйвер должен сохранить текущее состояние ядра с плавающей запятой, прежде чем использовать аппаратные инструкции с плавающей запятой. В системах архитектуры Intel это позволяет использовать инструкции MMX, если они поддерживаются процессором. Драйверы, которые неправильно используют EngSaveFloatingPointState и EngRestoreFloatingPointState при использовании оборудования с плавающей запятой или MMX, вызывают случайные повреждения с плавающей запятой или MMX в вызывающем приложении.
При каждом вызове драйвера драйвер должен вызывать EngSaveFloatingPointState один раз, чтобы сохранить состояние ядра перед использованием операций с плавающей запятой или MMX. Он также должен вызывать EngRestoreFloatingPointState после завершения всех операций с плавающей запятой или MMX для сброса состояния ядра.
GDI автоматически сохраняет состояние с плавающей запятой для всех вызовов процедуры DrvEscape драйвера, когда escape-файл OPENGL_CMD, OPENGL_GETINFO или MCDFUNCS.
Требования
Минимальная версия клиента | Доступно в Windows 2000 и более поздних версиях операционных систем Windows. |
Целевая платформа | Универсальное |
Верхняя часть | winddi.h (включая Winddi.h) |
Библиотека | Win32k.lib |
DLL | Win32k.sys |