Photometadata

R

Ron Reimann

It seems that when I directly transfer photos from my
camera to Win XP, the camera metadata (camera type, date,
time, etc) is preserved so that hovering over the file
icon will display this information. If I transfer a file
directly (e-mail, disk copy, etc), all that is preserved
is the file size and that it is a JPEG file.
Does anyone know how (& when) XP detects the metadata and
displays it? I would think that this type of data is
stored in the JPRG file format protocol and would not be
parsed out during a file xfer.
 
D

David Candy

I don't know the answer but I can guess.

Note streams are a NT specific thing. Graphic files store info in them as well.
My hypothsis is...
The data shown for files is the summaryinfo data. This is stored in a shadow file. When transferring direct (and I use direct in the exact opposite sense to you) windows transfers the property from the file to the summary. When transferred withoout windows assistance it treated as any other file. Windows metadata can only be transferred direct from NTFS to NTFS as only NTFS knows what a shadow file is (called streams).

Here's some proof but not enough to improve it from hypothsis.

They are embedded in the file but not many programs understand the format. On NTFS files can have many streams (ie the contents of the file). The default unnamed stream is the only one that is available in Fat32 (except Office applications which their documents are like a self contained drive filled with streams in folders and sub folders - this is known as an OLE Compound File). On NTFS it can have unlimited strreams.

Here's a tool that lists the streams in a MS patch exe where I've added a comment.

C:\Documents and Settings\David Candy\Desktop\ronpatch.exe:
:?SummaryInformation:$DATA 120
:{4c8cc155-6c1e-11d1-8e41-00c04fb9386d}:$DATA 0
There are two streams here (the unnamed stream that contains the picture isn't shown - it's what you see in explorer - this is what you don't see) the summaryinfo (which is 120 bytes) and a preview picture added by Content Indexer that is zero bytes.

Most programs, including Explorer, don't have a clue what a stream is. That's why they are mostly unused as programs haven't been using the feature.

The only windows program,s that has any understanding is the command processor, and that is limited at best.

But
type filename:streamname will list the contents of a stream to the screen (with all the limitatioms of type when dealing with binary data).

copy con filename:stream will write/create a stream.

That's about the full support for streams from programs in windows. Of course the little helper programs that display the info can read streams.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top