Coder Social home page Coder Social logo

Comments (6)

Dijji avatar Dijji commented on June 9, 2024

[Dijji@07/12/2015]
This is the Control Stream, described here in MSDN As it says, this is required for a file containing one or more property sets stored using the alternate stream binding.

The reason that you see it when using right click and new in Explorer to create a file is that whenever Explorer creates a file of a type with a property handler registered, it tries to write System.Author and System.Document.DateCreated property values. For a type registered with the File Meta property handler, this creates a SummaryInformation alternate stream, and so a Control Stream is also required.

There is some evidence that things don’t work properly if the Control Stream is tampered with, for example one blogger discovered that if the Control Stream has any contents, then the summary information is not displayed in Explorer.

So I think that the presence of this stream is mandated for the use of alternate streams to store properties, and cannot be avoided. The good news is that it should appear if and only if an alternate stream containing properties is present, as it is in the ‘new’ case that you describe, and so AltStreamOverlay should not be reporting files as having alternate streams when they have no meaningful information stored using them.

if I`m wrong, please feel free to teach me the error of my ways!

Dijji

from filemeta.

Dijji avatar Dijji commented on June 9, 2024

[ZippedSource@07/12/2015]
Thank you for fastest clarification!

May be you can create additional item in context menu to clear all ADS (in actual versions of FileMeta 'Delete' command removes only assigned metadata properties)?

AltStreamOverlay (there is bug in order of enumeration and content preview of streams at file/folder property page) handle empty streams and draw overlay even in this case.

from filemeta.

Dijji avatar Dijji commented on June 9, 2024

[Dijji@07/12/2015]
What the code does today is to enumerate all of the property sets and delete them, using the Windows API for manipulating properties stored by NTFS in alternate streams. However, while this process removes all of the data carrying alternate streams, it leaves the{4c8cc155-6c1e-11d1-8e41-00c04fb9386d} stream behind. To remove this stream as well, I would need to resort to manipulating the file directly, and deleting that stream by name. I will consider adding this in the next iteration. It would be a worrying change however, since the NTFS implementation of the property store is what creates the Control Stream, and could equally well delete it when the last property store was deleted. One wonders if NTFS has some reason for keeping it around.

In the meantime, if you feel comfortable with removing the Control Stream, the easiest way for you to do so is to use the following Powershell command:

remove-item -path mydir\foo.txt -stream "{4c8cc155-6c1e-11d1-8e41-00c04fb9386d}"

I would recommend using the context menu to remove all property data first, however, as otherwise the file system will certainly be in a state that it should not have reached.

Dijji

from filemeta.

Dijji avatar Dijji commented on June 9, 2024

[Dijji@26/08/2016]
Having thought about this, I will not proceed with it, as it runs against the grain of NTFS. It feels as though it would introduce a little too much risk.

Dijji

from filemeta.

Dijji avatar Dijji commented on June 9, 2024

[UnknownUser@26/08/2016]

from filemeta.

Dijji avatar Dijji commented on June 9, 2024

Issue closed by Dijji with comment
Decided not to proceed

Reason closed
Fixed

from filemeta.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.