Что означает код HRESULT 0x800401D3 (CLIPBRD_E_BAD_DATA)?

 
Предыдущий Следующий
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, который владеет ресурсом. Сначала нужен воспроизводимый контраст между исправным и отказавшим случаем.

Технические ссылки


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