Función EngSaveFloatingPointState (winddi.h)
La función EngSaveFloatingPointState guarda el estado actual de punto flotante del kernel de Windows 2000 (y versiones posteriores).
Sintaxis
ULONG EngSaveFloatingPointState(
VOID *pBuffer,
[in, out] ULONG cjBufferSize
);
Parámetros
pBuffer
Puntero al búfer que recibe el estado de punto flotante. Este búfer debe inicializarse en cero y debe estar en memoria no paginada.
[in, out] cjBufferSize
Especifica el tamaño, en bytes, del búfer al que apunta pBuffer .
Valor devuelto
Si pBuffer no es NULL, EngSaveFloatingPointState devuelve TRUE si el estado se guarda correctamente. Devuelve FALSE si el búfer especificado es demasiado pequeño o el estado no se puede guardar.
Si pBuffer es NULL o cjBufferSize es cero, EngSaveFloatingPointState devuelve el tamaño del búfer necesario para guardar el estado de punto flotante. Si el valor devuelto es cero, el procesador no tiene capacidad de punto flotante de hardware. En este caso, el controlador no debe usar ninguna instrucción de punto flotante.
Comentarios
El controlador debe guardar el estado de punto flotante del kernel actual antes de usar instrucciones de hardware de punto flotante. En los sistemas de arquitectura Intel, esto permite el uso de instrucciones MMX si son compatibles con el procesador. Los controladores que no usan correctamente EngSaveFloatingPointState y EngRestoreFloatingPointState cuando se usa hardware MMX o de punto flotante provocarán daños aleatorios en la aplicación que realiza la llamada.
En cada llamada al controlador, el controlador debe llamar a EngSaveFloatingPointState una vez para conservar el estado del kernel antes de usar operaciones mmx o de punto flotante. También debe llamar a EngRestoreFloatingPointState una vez después de que se completen todas las operaciones de punto flotante o MMX para restablecer el estado del kernel.
GDI guarda automáticamente el estado de punto flotante para las llamadas a la rutina DrvEscape de un controlador cuando el escape se OPENGL_CMD, OPENGL_GETINFO o MCDFUNCS.
Requisitos
Cliente mínimo compatible | Disponible en Windows 2000 y versiones posteriores de los sistemas operativos Windows. |
Plataforma de destino | Universal |
Encabezado | winddi.h (incluya Winddi.h) |
Library | Win32k.lib |
Archivo DLL | Win32k.sys |