Früher (winXP) war SHFileOperation multithreaded
Kann ich mir nicht vorstellen.
1.) es gibt kein CopyAsynch-Flag oder vergleichbares Flag
2.) die Funktion SHFileOperation liefert einen einfachen Rückgabewert
Code:
Return value
Type: int
Returns zero if successful; otherwise nonzero.
Kein Hinweis darauf, dass die Funktion asynchon arbeiten könnte
3.) in der Struktur SHFILEOPSTRUCT gibt es das Bool-Flag
fAnyOperationsAborted, das von SHFileOperation gesetzt wird.
Würde SHFileOperation sofort zurückkehren und intern Threads starten um die Operation zu bewerkstelligen, dann hätte niemand die Möglichkeit um festzustellen ob die Kopier-/Lösch- oder Move-Operation wirklich beendet ist.
Das Flag
fAnyOperationsAborted wäre sinnlos, weil man nicht sicher feststellen kann ob der Wert gültig ist.