For instance, on the "Summary" property sheet handler for .jpg files, there
are properties such as Title, Subject, Comments etc. I need to access these
properties from my Win32 program (or VBScript).
Can anyone help?
Thanks.
Eric
Eric McDaniel <er...@vertical.com> wrote in message
news:15et4.827$pP5....@newsread1.prod.itd.earthlink.net...
I think the techniques you describe might only apply to compound documents
(like those generated by Word/Excel/etc). The jpeg files I'm looking at
apparently
are not compound documents.
However I did some more poking around. I discovered that the data that I
enter into the Summary property sheet for a jpeg file is stored in NTFS
streams that are attached to that file. The streams are called
"SummaryInformation"
and "DocumentSummaryInformation".
I have successfully opened and read these streams in binary format. The
properties
are clearly visible. Now I need to know the format of the streams. I think
it
has something to do with the IStream and IPropertySetStorage interfaces, but
I
haven't worked out the details yet.
Does anyone have some code samples that might help me?
Thanks.
Eric
"Alan Gillott" <agil...@tact.com> wrote in message
news:eFkwqxvf$GA.148@cppssbbsa04...
I know there are APIs for this but you might want to look at Desaware's
storage manager which provides easy access to istream documents.
Alan
Eric McDaniel <er...@vertical.com> wrote in message
news:7kDt4.104$qt1....@newsread1.prod.itd.earthlink.net...
1) The default sets of data comes from SummaryInformation and
DocumentSummaryInformation, which has to do with DocFiles and
IPropertySetStorage and the like (see the docs for the interfaces, I don't
really know about this)
2) SummaryInformation and DocumentSummaryInformation can also come from
streams, when the file is on an NTFS volume.
3) Some files that provide extra data (such as .avi files) include the
AdvancedPropertyHandlers key under HKCR\filetype\shellex. According to
regmon (www.sysinternals.com) this value is used by the summary page in a
similar manner to other shell extensions (ie, all keys beneath
AdvancedPropertyHandlers are CLSID's and instantiated as objects) Regmon
also shows that the summary page looks for BasicPropertyHandlers.Needless to
say, there is no documentation on MS about Advanced or Basic
PropertyHandlers. Also, some files, such as .gif files, add information to
the summary page without an Advanced or Basic PropertyHandlers key in the
registry.
4) Back in the beta days, I created a simple class and registered it to a
file, to see what interface I would be asked for. From memory, it wasn't one
that was in the Platform SDK. I'll resurrect the project tonight and have
another look.
5) The summary page doesn't want to use information from column providers,
many of which can provide the default set of SummaryInformation and
DocumentSummaryInformation properties.
This could be a terribly useful shell extension, if only we were allowed to
expand it!
"Eric McDaniel" <er...@vertical.com> wrote in message
news:7kDt4.104$qt1....@newsread1.prod.itd.earthlink.net...