Ich mein, offensichtlich hast Du ja schon mal in die
Doku geguckt, sonst wüsstest Du von dem Flag ja nichts. Der zweite Schritt wäre jetzt, nicht nach dem ersten Satz neben dem Flag aufhören zu lesen, dort steht nämlich:
Zitat:
The file is to be deleted immediately after all of its handles are closed, which includes the specified
handle and any other open or duplicated handles.
If there are existing open handles to a file, the call fails unless they were all opened with the FILE_SHARE_DELETE share mode.
Subsequent open requests for the file fail, unless the FILE_SHARE_DELETE share mode is specified.
Bedeutet: Dein Filestream
muss die Datei ebenfalls mit FILE_SHARE_DELETE öffnen, ansonsten wird der Zugriff verweigert. Dazu müsstest Du Dir
imho allerdings eine eigene TFileStream Klasse ableiten. Ansonsten versteh ich nicht, wieso Du nicht einfach ein HandleStream verwendest. Du kannst ja durchaus weiterhin eine überladene SendFile Funktion anbieten, die einen Dateinamen akzeptiert, mit CreateFile ein
Handle erzeugt und dann die SendFile Variante mit
Handle aufruft.