EngRestoreFloatingPointState 関数 (winddi.h)
EngRestoreFloatingPointState 関数は、ドライバーが浮動小数点または MMX ハードウェア命令を使用した後、Windows 2000 (以降) カーネルの浮動小数点状態を復元します。
構文
BOOL EngRestoreFloatingPointState(
[in] VOID *pBuffer
);
パラメーター
[in] pBuffer
EngSaveFloatingPointState によって内容が入力されたバッファーへのポインター。
戻り値
EngRestoreFloatingPointState は 、成功した場合 に TRUE を 返します。 それ以外の場合は、 FALSE を返します。
解説
ドライバーは、浮動小数点ハードウェア命令を使用する前に、現在のカーネルの浮動小数点状態を保存する必要があります。 Intel アーキテクチャ システムでは、プロセッサでサポートされている場合に MMX 命令を使用できます。 浮動小数点または MMX ハードウェアを使用する場合に EngSaveFloatingPointState と EngRestoreFloatingPointState を正しく使用しないドライバーでは、呼び出し元のアプリケーションでランダムな浮動小数点または MMX の破損が発生します。
ドライバーを呼び出すたびに、ドライバーは浮動小数点または MMX 操作を使用する前にカーネルの状態を保持するために EngSaveFloatingPointState を 1 回呼び出す必要があります。 また、カーネルの状態をリセットするために、すべての浮動小数点または MMX 操作が完了した後に EngRestoreFloatingPointState を 1 回呼び出す必要もあります。
GDI は、エスケープがOPENGL_CMD、OPENGL_GETINFO、または MCDFUNCS のときに、ドライバーの DrvEscape ルーチンへの呼び出しの浮動小数点状態を自動的に保存します。
要件
サポートされている最小のクライアント | Windows 2000 以降のバージョンの Windows オペレーティング システムで使用できます。 |
対象プラットフォーム | ユニバーサル |
Header | winddi.h (Winddi.h を含む) |
Library | Win32k.lib |
[DLL] | Win32k.sys |