Probleme mit Dateizugriff mittels API's unter XP (ERROR_SHARING_VIOLENTION)
-
Guten Tag
Ich bekomme unter Win XP immer wieder Probleme wenn ich mittels API-Funktionen auf Dateien zuzugreife die zuvor mit Programmen wie WordPad, Editor,... geöffnet wurden.
Der Fehler ist dabei immer ERROR_SHARING_VIOLENTION.
Diese Programme sind aber deffinitiv geschlossen wenn ich versuche auf die Dateien zuzugreifen.
Z.B.:Bei dem Befehl CopyFile tritt der Fehler oft auf.Weis jemand wie ich diesen Fehler beheben kann?
-
hört sich für mich jetzt so an als hättest du nicht die nötigen zugriffsrechte gesetzt bevor du etwas mit der datei anstellst.
-
Mit dem Process Explorer von Sysinternals nachsehen, welcher Prozeß die Datei noch blockiert.
-
Wordpad und Notepad sperren keine Datei wenn Du sie öffnest. Du kannst beliebig oft ein Dokument mit Wordpad/Notpas öffnen. Probier es aus.
Hast Du einen Virenscanner laufen?
Kannst Du uns etwas mehr Infos geben was Du machst?
-
Guten Tag
@ @rT!f@Ct
Ich habe auf dem betreffenden PC Admin-Rechte. Und die Datei-Zugriffe funktionieren ja bis ich z.B. eine Textdatei mit dem Editor aufmache und ändere.@ audacia
Danke für den Tipp.
Dass werde ich heute gleich einmal ausprobieren wenn ich nach Hause komme.@Martin Richter
Ich weis dass das Öffnen mit Programmen wie Editor,... weiterhin funktioniert.
Auch MFC-Funktionen wie CFile können meißtens weiterhin zugreifen.
Nur API-Funktionen sperren sich aus irgend einem Grund.Ja, ich habe einen Virenscanner laufen.
Aber auf meinem PC mit W2K habe ich den gleichen Viren Scanner und da gibt es dieses Problem nicht.
Auf einem PC mit XP und ohne Virenscanner gibt es dass gleiche Problem.Ein Beispiel wie dieser Fehler auftritt:
Ich erstelle ein paar Text-Dateien mit dem Editor und ein paar mit einem Text-Generator Programm.
Dass Verteilen mittels Programm dass CopyFile verwendet funktioniert einwandfrei.
Wenn ich jetzt irgend eine Datei mit dem Editor, Wordpad,Word, Excel,... editiere und das Verteilprogramm durchlaufen lasse, funktioniert das Kopieren der geänderten Datei nicht und GetLastError sagt:ERROR_SHARING_VIOLENTION
-
Tag alle zusammen.
Ich habe mit Process Explorer von Sysinternals nachgeschaut.
Also dem Programm nach kreift kein Programm aktiv auf die Dateien zu.
Kann es sein dass da in der Registry oder sonst irgendwo ein Eintrag oder Flag steht, in dem steht dass die Datei gerade geöffnet ist?
Und wenn ja, gibt es eine Möglichkeit diese Einträge zu ändern bzw. zu aktualisieren?[Edit]
Na gut, wenn mir da keiner weiterhelfen kann, muß ich halt auf die betreffenden API's verzichten mund mir die Kopierfunktion selbst schreiben
[/Edit]