Condividi tramite


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

Vedi anche

DrvEscape

EngRestoreFloatingPointState