The Windows Operating System has a very convenient drag and drop feature, which is very common knowledge to any user, but there's a technical view of it; some developer at some point in time added that feature to the OS. And its a great feature, it enhances the user experience quite a bit. Here's a picture for reference.
What I'm wondering is how does this feature work "behind the scenes?" I've found articles online explaining its behavior, for instance dragging a file from a network location will copy the file instead of move it, but that's not the type of explanation I'm looking for.
I'm looking for a more technical explanation about what it does. If I were to right click on a file, select "Cut" and then right click in a different directory and select "Paste" - to me, the user, that seems like the same general procedure as a drag and drop, I'm just not using the convenience feature. But from a technical standpoint is that the correct operation that's occurring? When I drag a file and Windows moves it from one directory to another, does it indeed perform a cut action on the source file, copy the file to the destination, and perform a delete action on the source file? Perhaps there is a validation step at some point in the process as well. I would assume that either the entire file is written into memory before the move or pieces of the file are written into memory as it moves it.
I'd love to know any and all technical and "behind the scenes" information that anyone has to offer about the drag and drop functionality (down to a dll function, if anyone knows it) and how it compares to other methods of moving a file like cut and paste.