¿Qué significa el código HRESULT 0x80040100 (DRAGDROP_E_NOTREGISTERED)?

 
Anterior Siguiente
DV_E_NOIVIEWOBJECT DRAGDROP_E_ALREADYREGISTERED

DRAGDROP_E_NOTREGISTERED

Qué significa DRAGDROP_E_NOTREGISTERED

DRAGDROP_E_NOTREGISTERED corresponde al HRESULT 0x80040100. Windows indica: «Se intentó revocar un destino de colocación que no estaba registrado.».

La causa se busca en registro y lifecycle de operaciones OLE Drag and Drop. Para esta constante, la ventana no tiene un drop target registrado para la revocación/operación solicitada; verifica HWND y hilo propietario.

Qué comprobar

  • La traza inicial debe incluir HWND registrado, IDropTarget/IDropSource, hilo/apartment, estado de la operación de arrastre y llamada Register/Revoke/DoDragDrop y el primer error inmediatamente anterior.
  • Reproduce «Se intentó revocar un destino de colocación que no estaba registrado.» en una operación mínima; después cambia una sola precondición para saber qué frontera se corrigió.

Tratamiento recomendado

Mantén RegisterDragDrop/RevokeDragDrop en el hilo/apartment correcto y una sola operación DoDragDrop activa. Corrige HWND o estado de registro y prueba de nuevo sin duplicar targets.

Resultados cercanos que significan otra cosa

  • DRAGDROP_E_CONCURRENT_DRAG_ATTEMPTED marca una condición diferente: «Ya hay una operación de arrastre en curso.».
  • DRAGDROP_S_DROP corresponde a «La operación de soltar se completó correctamente.».

Después del cambio, repite desde un lifecycle limpio y verifica que «Se intentó revocar un destino de colocación que no estaba registrado.» desaparece sin relajar controles globales ni sustituir datos por valores artificiales.

Referencias técnicas


¿Buscas un código diferente? Buscar otro código de estado o error.