デバイス コンテキスト キャッシュの表示
システムは、共通、親、ウィンドウのデバイス コンテキストに使用するディスプレイ デバイス コンテキストのキャッシュを保持します。 アプリケーションが GetDC を呼び出すか、BeginPaint関数をするたびに、システムはキャッシュからデバイス コンテキストを取得します。アプリケーションが後で ReleaseDC を呼び出すか、EndPaint関数をすると、システムは DC をキャッシュに返します。
キャッシュが保持できるデバイス コンテキストの量には、事前に定義された制限はありません。使用可能でない場合、システムはキャッシュの新しい表示デバイス コンテキストを作成します。 これを考えると、アプリケーションは一度に 5 つ以上のアクティブなデバイス コンテキストをキャッシュから持つことができます。 ただし、アプリケーションは、使用後も引き続きこれらのデバイス コンテキストを解放する必要があります。 キャッシュの新しい表示デバイス コンテキストはアプリケーションのヒープ領域に割り当てられるため、デバイス コンテキストを解放しないと、最終的に使用可能なすべてのヒープ領域が消費されます。 システムは、新しいデバイス コンテキストに領域を割り当てることができないときにエラーを返すことによって、このエラーを示します。 キャッシュに関係のない他の関数でもエラーが返される場合があります。