Frage zu CreateFile und Shared-Mode
-
moin meisters ...
hFile1 = CreateFile("test.txt", GENERIC_READ|GENERIC_WRITE, FILE_SHARE_READ|FILE_SHARE_WRITE, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL); hFile2 = CreateFile("test.txt", GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); dwErr = GetLastError(); CloseHandle(hFile2); CloseHandle(hFile1);dwErr = 32 !
Habe mich gewundert warum mein Prg nicht auf ne Datei zugreifen kann und einige
Varianten des Öffnens probiert. Schlußendlich komme ich zu Ergebniss, daß
wenn ich eine Datei öffnen will, welche durch ein anderes Prg geöffnet wurde
zumindest genau die gleichen Parameter verwenden muß damit dies auch funktioniert.Die Variante wie oben kann ich aber leider nicht verstehen.
Wiso kann eine Datei welche zum gemeinsamen lesen und schreiben geöffnet ist nicht nochmal zum lesen geöffnet werden ?MfG
RB
-
dwShareMode
[in] Sharing mode of the object (reading, writing, both, or neither). You cannot request a sharing mode that conflicts with the access mode specified in a previous open request whose handle is still open. Doing so would result in a sharing violation (ERROR_SHARING_VIOLATION). See Creating and Opening Files for details and examples.