I'm trying to strip out the OLE header of a few embedded documents & images
inside of an MS Access DB. I have been working with this for a few days and
have checked about every MSDN article about OLE Headers.
Is there a fixed format/length that the header has in common with all of
the embedded data. I have been successful in parsing out the header size
and class information using a UDT and CopyMemory (kernel32). From this
point it seems to be guesswork in determining where the actual byte
position within the BLOB begins. The position seems to change with every
type of document and is hardly consistent in length.
I did find an MS article that helped in determining the class name within
the OLE Header. It mentioned looking for 2 Chr$(0) - (Null) and the Class
name would follow.
My other alternative would be to map each document's class to a byte
position within a table in order to parse out the document's data within
the BLOB.
I'm also curious in how the bound controls within MS Access/VB are able to
find the position of the document's first data byte.
Any help will be appreciated!