Что означает код ошибки Windows 1418 (ERROR_CLIPBOARD_NOT_OPEN)?

 
Предыдущий Следующий
ERROR_NO_WILDCARD_CHARACTERS ERROR_HOTKEY_NOT_REGISTERED

ERROR_CLIPBOARD_NOT_OPEN

Поток не открыл буфер обмена

Доступ к данным буфера обмена сериализован. Окно или поток сначала вызывает OpenClipboard, выполняет поддерживаемые операции буфера обмена и затем вызывает CloseClipboard. Одновременно буфер обмена может быть открыт только одним окном.

Обычно эта ошибка связана со структурой жизненного цикла, а не с форматом данных. Вспомогательный код может вызвать GetClipboardData или EmptyClipboard после того, как более ранняя область уже закрыла буфер обмена. Особый случай — отложенное отображение: при обработке WM_RENDERFORMATвладелец не должен открывать буфер обмена, поскольку запрашивающая сторона уже его открыла.

Что проверить

  • Сосредоточьте владение открытием/закрытием в одной области и одном потоке.
  • Проверьте каждый путь раннего выхода на отсутствующий CloseClipboard.
  • Не повторяйте операции с данными, пока сам OpenClipboard не завершится успешно.
  • Обрабатывайте сообщения отложенного отображения согласно их отдельным правилам открытия буфера обмена.

Статус не сообщает, что другой процесс сейчас владеет блокировкой открытия; он означает, что у вызывающей стороны нет допустимого контекста открытого буфера обмена для этой операции.

Ссылки


Нужно найти другой код? Найти другой код состояния или ошибки.