Warum verwendest Du denn nicht TFileStream? Da kannst Du doch sehr schön einstellen wer was wann mit der Datei machen darf...
Ja, aber das gilt ja nur wieder für die ganze Datei, und ich muss einen einzelnen Datensatz innerhalb der Datei für Schreibzugriffe sperren können.
Wenn ich die Aufgabenstellung korrekt verstehe, geht es ihm um eine Differenzierung der Zugriffsmöglichkeiten zwischen einzelnen Threads. Wobei der Sinn mal dahingestellt bleibt (das wäre so wie wenn man einem Treiber verordnete weniger Zugriffsmöglichkeiten zu haben als ein anderer Treiber, da alle in der TCB laufen, ist das aber unsinnig).
Also wie gesagt, erfahrungsgemäß wirst du ohne MFT-Zugriff nicht hinkommen und für diesen brauchste Adminrechte.
Eigentlich ist mein Wunsch ganz einfach: Ein Prozess soll einen Datensatz zum bearbeiten, also für schreibenden Zugriff, anfordern können. Das muss ich den anderen Prozessen irgendwie mitteilen, damit kein zweiter mehr daherkommt und ebenfalls reinschreibt. Außerdem will ich aber, und das ist das ungewöhnliche an der Sache, den selben Datensatz, während er vom einen Prozess für Schreibzugriffe gesperrt ist, lesen können. Mit allen Risiken die dabei entstehen können, wie dass der eine Prozess einen halb alten und halb neuen Datensatz liest, weil der andere gerade währenddessen reinschreibt.
Und ich kann nicht glauben, dass es dafür keine Lösung gibt, weil Notepad mir die entsprechenden Dateien ohne irgendeine Meldung anzeigt.
Wenn Windows ein Opensource-Projekt wäre, würde ich ja einfach nachschauen wie Notepad die Dateien öffnet, aber ganz so einfach ist es ja nciht