| Предыдущий | Следующий |
| 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.
Нужно найти другой код? Найти другой код состояния или ошибки.