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