What does HRESULT 0x00040102 (DRAGDROP_S_USEDEFAULTCURSORS) mean?

 
Previous Next
DRAGDROP_S_CANCEL VFW_S_NO_MORE_ITEMS

DRAGDROP_S_USEDEFAULTCURSORS

Use OLE default drag cursors

DRAGDROP_S_USEDEFAULTCURSORS is HRESULT 262402 (0x00040102) from winerror.h. The documented description is “Use the default cursor.” The high-order severity bit is clear, so this is a success result, but it carries more information than plain S_OK.

The drag source feedback callback succeeded and asks OLE to display its standard cursor for the current drop effect.

State to verify

The central question is whether the current effect value is accurate and the source has not installed a custom cursor that it expects to remain active.

Where the result is encountered

  • This result can appear in IDropSource::GiveFeedback implementations; record the producing interface and method.
  • It can appear in applications that customize only some drag effects; record the producing interface and method.
  • It can appear in drag operations where OLE owns cursor selection; record the producing interface and method.

Evidence to preserve

  • Preserve current DROPEFFECT flags.
  • Preserve GiveFeedback call sequence.
  • Preserve target transitions and modifier keys.
  • Preserve custom cursor handles if any.
  • Preserve DPI and theme conditions affecting cursor presentation.

Diagnostic sequence

  • Capture the raw HRESULT 0x00040102 immediately after the returning method and record whether the caller used SUCCEEDED, FAILED, equality testing, or exception translation.
  • Verify the method-specific state: the current effect value is accurate and the source has not installed a custom cursor that it expects to remain active.

Correct handling, retry, and recovery

Return the status intentionally when default feedback is desired. Do not treat it as the final result of DoDragDrop or as evidence that a target accepted the data.

Practical validation scenario

A source uses a custom cursor for a proprietary link effect but standard cursors for copy and move. GiveFeedback returns it for copy, allowing OLE to keep cursor behavior consistent.

Difference from nearby HRESULT values

DRAGDROP_S_DROP and DRAGDROP_S_CANCEL terminate the drag loop; it only controls feedback while the loop continues.

Developer and administrator guidance

Code handling it should test the exact documented value before a generic SUCCEEDED(hr) branch when outputs or control flow differ. Operational remediation should target the owning COM, media, Tablet PC, or OLE DB component instead of resetting unrelated services.

References


Looking for a different code? Search another status or error code.