| Предыдущий | Следующий |
| CONVERT10_E_STG_DIB_TO_BITMAP | CLIPBRD_E_CANT_EMPTY |
CLIPBRD_E_CANT_OPEN
Что именно нарушено
Если получен CLIPBRD_E_CANT_OPEN, непосредственно известно следующее: Не удалось открыть буфер обмена. Для Win32/OLE clipboard lifecycle это достаточно конкретный сигнал, поэтому важно сохранить входы первого отказавшего вызова.
Данные первого неуспешного вызова
- Зафиксируйте clipboard format, owner window, номер последовательности, thread, handle/medium и GetLastError вокруг операции; для этого результата эти данные должны относиться к первому неуспешному вызову, а не к последующей очистке.
- Отдельно зафиксируйте текущего clipboard owner и thread/window, удерживающий открытый clipboard. Это проверяет условие «Не удалось открыть буфер обмена» по фактическим параметрам, а не по имени константы.
Безопасный повтор
Проведите A/B-проверку: воспроизвести Open/Set/Close на минимальном формате и проверить ownership handle.
До получения контрольных данных не закрывать или освобождать handle не тем API, который владеет ресурсом; иначе станет невозможно доказать, какое условие действительно изменило результат.
Технические ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.