Funzione EngSaveFloatingPointState (winddi.h)
La funzione EngSaveFloatingPointState salva lo stato a virgola mobile del kernel corrente di Windows 2000 (e versioni successive).
Sintassi
ULONG EngSaveFloatingPointState(
VOID *pBuffer,
[in, out] ULONG cjBufferSize
);
Parametri
pBuffer
Puntatore al buffer che riceve lo stato a virgola mobile. Questo buffer deve essere inizializzato zero e deve essere in memoria non di paging.
[in, out] cjBufferSize
Specifica le dimensioni, in byte, del buffer a cui punta pBuffer .
Valore restituito
Se pBuffer è diverso da NULL, EngSaveFloatingPointState restituisce TRUE se lo stato viene salvato correttamente. Restituisce FALSE se il buffer specificato è troppo piccolo o lo stato non può essere salvato.
Se pBuffer è NULL o cjBufferSize è zero, EngSaveFloatingPointState restituisce le dimensioni del buffer necessarie per salvare lo stato a virgola mobile. Se il valore restituito è zero, il processore non dispone di funzionalità a virgola mobile hardware. In questo caso, il driver non deve usare istruzioni a virgola mobile.
Commenti
Il driver deve salvare lo stato a virgola mobile del kernel corrente prima di usare le istruzioni hardware a virgola mobile. Nei sistemi di architettura Intel questo consente l'uso delle istruzioni MMX, se supportate dal processore. I driver che non usano correttamente EngSaveFloatingPointState e EngRestoreFloatingPointState quando si usa hardware a virgola mobile o MMX causeranno un danneggiamento casuale a virgola mobile o MMX nell'applicazione chiamante.
In ogni chiamata al driver, il driver deve chiamare EngSaveFloatingPointState una volta per mantenere lo stato del kernel prima di usare operazioni a virgola mobile o MMX. Deve anche chiamare EngRestoreFloatingPointState una volta dopo il completamento di tutte le operazioni a virgola mobile o MMX per reimpostare lo stato del kernel.
GDI salva automaticamente lo stato a virgola mobile per tutte le chiamate alla routine DrvEscape di un driver quando l'escape viene OPENGL_CMD, OPENGL_GETINFO o MCDFUNCS.
Requisiti
Client minimo supportato | Disponibile in Windows 2000 e versioni successive dei sistemi operativi Windows. |
Piattaforma di destinazione | Universale |
Intestazione | winddi.h (include Winddi.h) |
Libreria | Win32k.lib |
DLL | Win32k.sys |