<Return[G]><Top>

GdiSetBatchLimit

Declare Function Api_GdiSetBatchLimit& Lib "gdi32" Alias "GdiSetBatchLimit" (ByVal dwLimit&)

Declare Function GdiSetBatchLimit Lib "gdi32" (ByVal dwLimit As Long) As Long

呼び出し側スレッドの現在のバッチに蓄積できる関数の最大数を設定する。この値を超えるたびに、現在のバッチはフラッシュされる。

パラメータ
dwLimit
    バッチに蓄積する関数の最大数。0 に設定すると、既定値が使われる。1 に設定すると、バッチ処理が無効になる。

戻り値
    関数が成功すると、それまでのバッチ最大蓄積数が返る。
    関数が失敗すると、0 が返る。拡張エラー情報を取得するには、GetLastError を使う。

解説
    バッチに蓄積できるのは、ブール値を返す GDI 描画関数だけである。他の GDI 関数を呼び出すと現在のバッチが直ちにフラッシュされる。 

    現在のバッチのフラッシュは、バッチ最大蓄積数を超えた場合と、GdiFlush 関数を呼び出した場合も行われる。
    システムが関数を蓄積している場合、関数は TRUE を返してそれがバッチにあることを示す。システムが現在のバッチをフラッシュし、関数

    の 2 度目の実行を行うとき、戻り値は関数が成功したかどうかによって TRUE または FALSE のどちらかになる。

    2 番目の戻り値は、GdiFlush を使ってバッチをフラッシュする場合にだけ報告される。
    なお、バッチ最大蓄積数はスレッドごとに保持される。バッチ処理を完全に無効にするには、各スレッドの初期化中に

    GdiSetBatchLimit(1) を呼び出す。