http://www.perlmonks.org?node_id=110951


in reply to Re: Win32 Strustured Storage via File - Properties - Summary
in thread Win32 Strustured Storage via File - Properties - Summary

Check this out!

#!/usr/bin/perl -wT use strict; open ( AAA, "$ARGV[0]:\x{0005}SummaryInformation" ) or die "Cannot open: $!\n"; while ( <AAA> ) { print "$_\n"; }
WOOHOO! I can read it, now. But can I set it. Have to fire up hexl-mode.el

Thanks All! I'll post my final code when I'm done!

UPDATE: http://msdn.microsoft.com/library/en-us/com/hh/com/stgasstg_7agk.asp has assitional programming information about this.

HTH
--
idnopheq
Apply yourself to new problems without preparation, develop confidence in your ability to to meet situations as they arrise.

Replies are listed 'Best First'.
Re: Re: Re: Win32 Strustured Storage via File - Properties - Summary
by John M. Dlugosz (Monsignor) on Sep 08, 2001 at 00:48 UTC
    So, it was the literal chr(5) getting munged?

    Hmm, that's odd. As written, it will convert the Unicode to ANSI using the current code page before calling the OS primitive. Ah, it probably passes the 5 unchanged (thus breaking symetry: a 5 is converted to the club character.)

    Just to be more kosher, I'd use Wide system calls, or use a byte-oriented string.

    How to read it: Load it in and use the OLE interface to un-persist it. I think you need to read it as one binary lump.

    Here's a suggestion when you get past the proof stages: have a tied hash to get/set Summary Info or other supported property sets.

    —John

      For what it is worth... I found a COM object on the M$ support site call dsofile (Article # 224351) that will do what you are looking for. I was able to call it using the WIN32::OLE module. I have posted an example of doing this in the Snippets call SetFileProperty