2016-07-21 38 views
0

Ist es möglich, beim Öffnen eines NTFS-Dateidatenstroms über CreateFile einen Stream-Offset im Pfadnamen anzugeben?NTFS + CreateFile: Stream-Offset im Pfadnamen angeben?

Was ist, wenn Pfadname beginnt mit \\?\?

z. abcd.txt::$DATA spezifiziert Offset 0 im unbenannten Stream *; Ist es möglich, einen anderen Offset innerhalb des Pfadnamens ** anzugeben?

* technisch bedeutet dies auch gleich Offsetlänge bei Streamen WriteFile mit append ** genannt, ohne jemals den Einsatz von SetFilePointer

+0

Was wäre ein Anwendungsfall dafür? Neben den Hausaufgaben habe ich noch nie eine Spezifikation gesehen, die besagt: * "Darf nicht' SetFilePointer' "* verwenden. – IInspectable

+0

Blackbox Legacy-E/A-API, die nicht geändert werden darf, und Sie müssen die Einschränkungen umgehen. – afk5min

+0

@Intspectable: Der "append" -Fall kann tatsächlich nützlich sein, wenn Sie möchten, dass die Anwendung die Protokolldateien protokollieren, aber nicht beschädigen oder löschen kann. Wenn Sie der Anwendung (ihrem Benutzer) nur das Zugriffsrecht zum Anhängen auf die Protokolldateien geben, sollten Sie diese Aufgabe übernehmen. –

Antwort

5

machen Es gibt keine Syntax ist, dass Sie einen Stream im Pfadnamen Offset festlegen können. Siehe MSDN für die unterstützte Syntax:

File Streams

Sie suchen müssen, um die nach dem Öffnen des Stroms gewünschten Offset.

+0

Wie ich erwartet habe. Danke für die Bestätigung. – afk5min