This looks like the same/similar code found at the IFileOperation::CopyItem help page (
here[
^]) but with some of the return code checking removed. This looks like a straightforward problem. First, you should look at each return code and act accordingly. Second, just run this code in the debugger and step through each statement. Look at the return code and results of each statement as it executes. This is not a complicated problem.