Что означает код HRESULT 0x00040102 (DRAGDROP_S_USEDEFAULTCURSORS)?

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

DRAGDROP_S_USEDEFAULTCURSORS

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

DRAGDROP_S_USEDEFAULTCURSORS (0x00040102) — Следует использовать курсоры по умолчанию.

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

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

В первую очередь сопоставьте первый отказ с фактическими параметрами операции. Для 0x00040102 в сценарии «следует использовать курсоры по умолчанию» воспроизведите отказ на минимальном объекте и меняйте только одно условие за запуск, чтобы отделить неверный вход от состояния системы.

Перед повтором 0x00040102 зафиксируйте HWND, поток и COM apartment, регистрацию цели, FORMATETC/STGMEDIUM и порядок DragEnter/DragOver/Drop; отдельно запишите HRESULT, IDropSource::GiveFeedback, ID, IDs. Различия по теме «usedefaultcursors» для 0x00040102 покажут, изменился ли первый неуспешный этап.

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

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

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


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