| Previous | Next |
| OLE_S_MAC_CLIPFORMAT | DRAGDROP_S_CANCEL |
DRAGDROP_S_DROP
OLE drag-and-drop completed with a drop
DRAGDROP_S_DROP is HRESULT 262400 (0x00040100) from winerror.h. The documented description is “Successful drop took place.” The high-order severity bit is clear, so this is a success result, but it carries more information than plain S_OK.
DoDragDrop ended because the user completed the drop and the target accepted the negotiated operation.
Where the result is encountered
- This result can appear in OLE drag loops returned by DoDragDrop; record the producing interface and method.
- This result can appear in file or object transfer between shell and desktop applications; record the producing interface and method.
- It can appear in custom IDropSource and IDropTarget implementations; record the producing interface and method.
State to verify
The central question is whether the final effect returned to the source matches what the target actually committed, including copy, move, or link semantics.
Diagnostic sequence
- Capture the raw HRESULT
0x00040100immediately after the returning method and record whether the caller usedSUCCEEDED,FAILED, equality testing, or exception translation. - Verify the method-specific state: the final effect returned to the source matches what the target actually committed, including copy, move, or link semantics.
Evidence to preserve
- Preserve allowed effects passed into DoDragDrop.
- Preserve final effect returned through pdwEffect.
- Preserve target window and data format selected.
- Preserve source cleanup or delete action for a move.
- Preserve user cancellation and exception traces from callbacks.
Correct handling, retry, and recovery
Commit source-side postprocessing only for the returned effect. A move must not delete source data until the target has completed its part and the final effect confirms the move.
Difference from nearby HRESULT values
DRAGDROP_S_CANCEL ends the loop without a drop. DRAGDROP_S_USEDEFAULTCURSORS is a feedback instruction during the loop, not the final transfer outcome.
Practical validation scenario
A file manager starts DoDragDrop with copy and move allowed. The target stores the item and returns move; the source deletes the original only after receiving it and validating the final effect.
Developer and administrator guidance
References
Looking for a different code? Search another status or error code.