For the class which represents your items, you should override IShellItem::GetAttributes and make sure you put the following items among the return attributes:
SFGAO_CANCOPY | SFGAO_CANMOVE
And in the folder containing the items you should override IShellFolder::GetAttributesOf method, and put SFGAO_DROPTARGET in the result attributes.
You can find more details in the following links:
http://msdn.microsoft.com/en-us/library/windows/desktop/bb761138(v=vs.85).aspx
http://msdn.microsoft.com/en-us/library/windows/desktop/bb775068(v=vs.85).aspx
http://msdn.microsoft.com/en-us/library/windows/desktop/bb762589(v=vs.85).aspx