Что означает код HRESULT 0x00040100 (DRAGDROP_S_DROP)?

 
Предыдущий Следующий
OLE_S_MAC_CLIPFORMAT DRAGDROP_S_CANCEL

DRAGDROP_S_DROP

Что означает DRAGDROP_S_DROP

DRAGDROP_S_DROP (0x00040100) — Перетаскиваемый объект успешно принят.

Код 0x00040100 относится не ко всему компоненту «OLE Drag and Drop», а к операции в области «регистрацию окна и взаимодействие IDataObject/IDropTarget». Сообщение «перетаскиваемый объект успешно принят» позволяет начать с темы «удаление».

Что проверить и как подтвердить исправление

Первый шаг — сопоставьте первый отказ с фактическими параметрами операции. Когда при 0x00040100 система сообщает «перетаскиваемый объект успешно принят», воспроизведите отказ на минимальном объекте и меняйте только одно условие за запуск, чтобы отделить неверный вход от состояния системы.

Для воспроизведения 0x00040100 сохраните HWND, поток и COM apartment, регистрацию цели, FORMATETC/STGMEDIUM и порядок DragEnter/DragOver/Drop; отдельно запишите HRESULT, IDropSource, IDropTarget, ID, IDs. По теме «удаление» для 0x00040100 сравните эти данные с исправным запуском до очистки журналов или пересоздания объекта.

Практическое исправление для 0x00040100: выполняйте регистрацию и отзыв на правильном UI-потоке и соблюдайте владение объектами данных и носителями. В контексте условия «перетаскиваемый объект успешно принят» для 0x00040100 оно должно устранить подтверждённую причину, а не скрыть исходный HRESULT.

Подтвердите изменение повтором исходной операции: результат 0x00040100 не должен возникать на исправном объекте, но прежний отрицательный контроль обязан оставаться предсказуемым.

Документация для результата 0x00040100: COM drag-and-drop status codes · DoDragDrop · IDropTarget::Drop.


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