Is Microsoft Access Snapshot considered EMF?
Locked
-
Monday, August 18, 2008 11:09 AMI'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)
All Replies
-
Monday, August 18, 2008 2:31 PMModerator
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 -
Tuesday, August 19, 2008 4:17 PMHi 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
-
Thursday, August 21, 2008 10:30 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
-
Saturday, August 23, 2008 2:39 AMG'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
-
Friday, September 05, 2008 3:26 PM
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
-
Saturday, September 06, 2008 12:32 AMHave sent the file.
-
Wednesday, September 24, 2008 8:07 PMBrad,
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
-
Thursday, September 25, 2008 8:16 AMSteve,
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
-
Tuesday, October 28, 2008 7:56 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
-
Wednesday, October 29, 2008 11:38 PMSteve,
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, November 05, 2008 12:21 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 05, 2008 12:21 AM

