libefs and file types




Dietmar Maurer writes:
 > In order to save compound documents we need a place to store the
 > goad-id. I'm not sure how to implement that in libefs. There are two
 > possibilities:
 > 
 >     a.) store the goad-id at the beginning of a file
 > 
 >     b.) store it as part of the inode structure
 > 
 > any suggestions?

1.  I'm not convinced we should use libefs.  If we do, then I would
    probably put it in the beginning of the file.  Microsoft
    effectively just writes it out at the beginning of the file;
    the client calls IPersistStream::GetClassID(), writes it out to
    the stream, and then writes the PersistStream out using
    IPersistStream::Save().

    Of course, they have the advantage that their class IDs are always 
    a fixed length.  So we will have to overcome this small problem,
    which will involve some ugly buffering code during depersisting.
    This is probably why you were asking about the maximum length
    of GOAD IDS earlier, no? :-)  As far as I know, they have no
    maximum.

2.  We are going to migrate to OAF eventually.  Maybe OAF makes this
    easier for us?

Nat



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]