Thread Mehrere Prozesse gleichzeitig auf eine Datei... (16 answers)
Opened by Fatso Keratso at 2006-03-27 16:16

esskar
 2006-03-28 22:57
#64101 #64101
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
[quote=Dubu,28.03.2006, 20:28]Mich würde aber interessieren, wie es unter Windows ist. Bricht da ein Programm ab, wenn es aus dem Filehandle einer gelöschten Datei liest?[/quote]
es kommt drauf an.

wenn man die Datei öffnet (geht nur über die WinAPI mit CreateFile(...)) und beim ShareMode NICHT FILE_SHARE_DELETE angibt, kann die Datei nicht gelöscht werden, solange das Handel auf ist => heißt ein DeleteFile wird nicht funktionieren und 0 zurückgeben.

wenn man eine Datei mit FILE_SHARE_DELETE öffnet, und die Datei wird gelöscht, dann liefert ein folgendes ReadFile oder WriteFile einen Wert kleiner 0, was man natürlich kontrollieren sollte.

wenn man einen ähnlichen Effect erreichen will wie dubu beschrieben hat - also dass die Datei gelöscht wird, sobald das Handle invalid wird (durch ein close, Beendigung des Programs, Absturz, ...) muss man bei CreateFile dem Parameter FlagsAndAttributes den Wert FILE_FLAG_DELETE_ON_CLOSE mitgeben

View full thread Mehrere Prozesse gleichzeitig auf eine Datei...