EngRestoreFloatingPointState 関数 (winddi.h)

EngRestoreFloatingPointState 関数は、ドライバーが浮動小数点または MMX ハードウェア命令を使用した後、Windows 2000 (以降) カーネルの浮動小数点状態を復元します。

構文

BOOL EngRestoreFloatingPointState(
  [in] VOID *pBuffer
);

パラメーター

[in] pBuffer

EngSaveFloatingPointState によって内容が入力されたバッファーへのポインター。

戻り値

EngRestoreFloatingPointState は 、成功した場合 に TRUE を 返します。 それ以外の場合は、 FALSE を返します。

解説

ドライバーは、浮動小数点ハードウェア命令を使用する前に、現在のカーネルの浮動小数点状態を保存する必要があります。 Intel アーキテクチャ システムでは、プロセッサでサポートされている場合に MMX 命令を使用できます。 浮動小数点または MMX ハードウェアを使用する場合に EngSaveFloatingPointStateEngRestoreFloatingPointState を正しく使用しないドライバーでは、呼び出し元のアプリケーションでランダムな浮動小数点または 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

関連項目

DrvEscape

EngSaveFloatingPointState