CreateFile() ShareMode und Win2000/XP
-
Hallo,
kann es sein dass es mit den genannten Betriebssystemen nicht mehr möglich ist Dateien im ShareMode 0 (also keinerlei Zugriff von außen weiter erlaubt) zu öffnen?
hTest_File = CreateFile("test.dat", GENERIC_READ, // Desired Access 0, // Share Mode NULL, // Security Attributes OPEN_EXISTING, // Creaton Dispotion FILE_ATTRIBUTE_NORMAL, // Flags and Attrubuts NULL); // Template Filefunktioniert nicht, während ...
hTest_File = CreateFile("test.dat", GENERIC_READ, // Desired Access FILE_SHARE_READ, // Share Mode NULL, // Security Attributes OPEN_EXISTING, // Creaton Dispotion FILE_ATTRIBUTE_NORMAL, // Flags and Attrubuts NULL); // Template File... funktioniert.
Vielen Dank für Hinweise!
-
Also bei mir (XP Home, NTFS) gehts.
Vielleicht hat ein anderer Prozess es schon geöffnet, so dass kein exklusiver Zugriff mehr erlaubt ist ?
-
WinXP Prof SP1: Geht.
WinXP Prof SP2: Geht.
Win 2000 SP4: Geht.Mehr hab ich noch nicht in meinem VMware eingerichtet...
Du mußt halt (wie SeppSchrott schon anmerkt) darauf achten, das die Datei wirklich noch nicht geöffnet wurde.Was sagt denn GetLastError bei solchen Fehlschlägen?
-
Seltsam, es funktioniert nun.
Ich hatte sogar den Rechner neu gestartet um es zu testen, und es funktionierte dennoch nicht. Vielleicht wollte der Rechner mich (wieder einmal) einfach nur ärgern.

Vielen Dank für die Ratschläge!