locked
Is Microsoft Access Snapshot considered EMF?

    Question

  • I've been looking at the SNP file format (as generated by Microsoft Access).

    I realise that there is no formal specification for the SNP file format.

    Initial indications are that it is a CAB file ([MS-CAB]), wrapping OLE, with each page included as an EMF file.

    It doesn't appear to be fully [MS-EMF] compliant (although it is very close). The sort of difference I'm seeing is that the italics flag value (unsigned 8-bit field) in a LogFont structure is 0xFF, but it meant to be 0x00 or 0x01.

    Are the contents meant to be [MS-EMF] compliant?

    Brad
    • Moved by KeithHa Tuesday, August 19, 2008 4:14 PM Better forum for this question (Moved from Using the Open Specifications to Office Binary File Formats)
    Monday, August 18, 2008 11:09 AM

Answers

  • Brad,

    There are no other identified differences. However since this is very legacy not all permutations may have been compared.

    Steve Smegner
    Application Development Consulting Group

    • Proposed as answer by Steve Smegner Tuesday, October 28, 2008 7:56 AM
    • Marked as answer by Brad Hards Wednesday, October 29, 2008 11:36 PM
    Tuesday, October 28, 2008 7:56 AM
  •  

    Brad -

     

    At the present time there is no documentation on SNP headers, with none planned for the future. SNP files are an older format and as such they may have inconsistencies with regard to the MS-EMF specification.

     

    Steve Smegner
    Application Development Consulting Group

    • Marked as answer by Steve Smegner Wednesday, November 5, 2008 12:21 AM
    Wednesday, November 5, 2008 12:21 AM

All replies

  •  

    Hi Brad,
    Thanks for your post  We will review your question and update the forum once our investigation is complete.

    Thanks!
    John Dunning
    Escalation Engineer Microsoft Corporation
    US-CSS DSC PROTOCOL TEAM

    Monday, August 18, 2008 2:31 PM
  • Hi Brad,
    I have moved your posting to a better forum for your question.

    Regards,

    Keith Hageman - MSFT
    • Edited by KeithHa Tuesday, August 19, 2008 4:18 PM remove double signature
    Tuesday, August 19, 2008 4:17 PM
  • Brad,
    Thanks for your post. I am working on getting an answer to your question. While I am researching could you provide some more detail into what you are trying to accomplish?

    Thanks!

     

    Steve Smegner

    Application Development Consulting Group

    Thursday, August 21, 2008 10:30 PM
  • G'day Steve,

    Basically I'm trying to build a cross-platform application that can display Microsoft Access .snp (Snapshot) files.

    I have the basic extraction code working (i.e. I can extract the EMF images for each page). I am currently working on the EMF parser code, and a backend display painter to actually show those pages to the user. I am using [MS-EMF] and [MS-WMF] to figure out the various record types. However every so often, I come across something in the EMF image that doesn't match the specification (see my original post for an example).

    I understand that there are a couple of combinations here:
    1. Access produces non-standard EMF. This is almost certainly true, if you assume that the contents of a .snp page are actually EMF.
    2. Access produces something that looks like EMF (i.e. has the right magic numbers/headers), but isn't actually intended to be [MS-EMF] compliant.
    3. Perhaps I've screwed up the extraction.

    In summary: Either .snp page images are meant to be [MS-EMF] compliant, or they aren't. I'd like to know this to ensure my parser & painter can render the .snp file accurately.

    Brad

    Saturday, August 23, 2008 2:39 AM
  • Brad,

    Can you provide me with one of the .SNP files you feel is non-standard? If you can, please send it to dochelp@microsoft.com with my name in the email.

    Steve Smegner

    Application Development Consulting Group

    Friday, September 5, 2008 3:26 PM
  • Have sent the file.
    Saturday, September 6, 2008 12:32 AM
  • Brad,
    The .snp formats are EMF-like but you may see some minor variations. Boolean values could represent a true condition with 0x01 or any non-zero value.  However, the .snp format is a very legacy format and one we are looking at deprecating in a future release.  Maybe there’s a better way to accomplish what you are attempting to do with a different format?

    Steve Smegner
    Application Development Consulting Group
    • Proposed as answer by Steve Smegner Wednesday, September 24, 2008 8:07 PM
    • Unproposed as answer by Brad Hards Monday, October 13, 2008 6:44 AM
    Wednesday, September 24, 2008 8:07 PM
  • Steve,

    This does help, and I can deal with that.

    Can you tell me if there are any other known / identified variations from EMF in the page images?

    While I'm getting help here, is there any documentation on the "Header" stream? I see stuff like
           0 | 00 00 01 00 00 00 00 00 01 00 00 00 00 00 00 00 | ................
          10 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................
          20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................
          30 | 00 00 00 00 01 04 00 06 9c 00 64 03 43 ff 80 07 | ..........d.C...
          40 | 01 00 09 00 9a 0b 34 08 64 00 01 00 0f 00 58 02 | ......4.d.....X.
          50 | 01 00 01 00 58 02 02 00 01 00 41 34 00 00 00 00 | ....X.....A4....
          60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................
          70 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................
          80 | 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 | ................
          90 | 01 00 00 00 02 00 00 00 01 00 00 00 ff ff ff ff | ................
          a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................



    The point of my tool is to view and extract information from documents that have been and still are produced in this legacy format (which is commonly used for reports), so another format (I guess something like XPS) might be a candidate for the future, but it doesn't really apply here.

    Brad
    Thursday, September 25, 2008 8:16 AM
  • Brad,

    There are no other identified differences. However since this is very legacy not all permutations may have been compared.

    Steve Smegner
    Application Development Consulting Group

    • Proposed as answer by Steve Smegner Tuesday, October 28, 2008 7:56 AM
    • Marked as answer by Brad Hards Wednesday, October 29, 2008 11:36 PM
    Tuesday, October 28, 2008 7:56 AM
  • Steve,

    I think I understand...

    Any information on the Header stream? Is there even something meaningful to be extracted from it?  A data structure definition would be most useful here.

    Brad
    Wednesday, October 29, 2008 11:38 PM
  •  

    Brad -

     

    At the present time there is no documentation on SNP headers, with none planned for the future. SNP files are an older format and as such they may have inconsistencies with regard to the MS-EMF specification.

     

    Steve Smegner
    Application Development Consulting Group

    • Marked as answer by Steve Smegner Wednesday, November 5, 2008 12:21 AM
    Wednesday, November 5, 2008 12:21 AM