Система поддерживает кэш контекстов устройства (DC) отображения, которые она использует для общего, родительского и оконного контекстов устройства. Система извлекает контекст устройства из кэша всякий раз, когда приложение вызывает функцию GetDC или BeginPaint; система возвращает контекст устройства (DC) в кэш, когда приложение впоследствии вызывает функцию ReleaseDC или EndPaint.
Нет никаких предопределенных ограничений на количество контекстов устройства, которое может содержать кэш; система создает новый контекст устройства (DC) отображения для кэша, если нет к нему доступа. Учитывая это, приложение может иметь более чем пять активных контекстов устройства из кэша за один раз. Однако, приложение должно продолжать освобождать эти контексты устройства после использования. Поскольку новые контексты устройства (DC) отображения для кэша располагаются в пространстве кучи приложения, приложение, будучи не в состоянии освободить контексты устройства, в конечном счете, потребляет все доступное пространство кучи. Система указывает этот сбой, возвращая ошибку, когда она не может назначить пространство для нового контекста устройства. Другие функции, не несвязанные с кэшем, могут также возвратить значение ошибки.