public override int DragOver(uint grfKeyState, uint itemid, ref uint pdwEffect)
{
pdwEffect = (uint) DropEffect.None;
// Dragging items to a project that is being debugged is not supported
// (see VSWhidbey 144785)
var dbgMode = VsShellUtilities.GetDebugMode(Site) & ~DBGMODE.DBGMODE_EncMask;
if (dbgMode == DBGMODE.DBGMODE_Run || dbgMode == DBGMODE.DBGMODE_Break)
{
return VSConstants.S_OK;
}
if (IsClosed || site == null)
{
return VSConstants.E_UNEXPECTED;
}
// We should also analyze if the node being dragged over can accept the drop.
if (!CanTargetNodeAcceptDrop(itemid))
{
return VSConstants.E_NOTIMPL;
}
if (dropDataType != DropDataType.None)
{
pdwEffect = (uint) QueryDropEffect(dropDataType, grfKeyState);
}
return VSConstants.S_OK;
}