Sunteți pe pagina 1din 33

Table of Contents

Welcome to the Microsoft Office Binary File Format Validator Reference ........................ 3

Introduction to Microsoft Office Binary File Format Validator ........................................... 4

How to: Install Microsoft Office Binary File Format Validator ........................................... 5

To Install Microsoft Office Binary File Format Validator................................................ 5

Tasks.......................................................................................................................... 6

How to: Uninstall Microsoft Office Binary File Format Validator ....................................... 7

Tasks.......................................................................................................................... 7

Microsoft Office Binary File Format Validator Command Line Usage .............................. 8

Example Scan of a File that Passes Validation ............................................................ 9

Example that Attempts to Validate an Unsupported File Type.....................................10

Example Scan of a File that Fails Validation ...............................................................11

Other Resources........................................................................................................12

Microsoft Office Binary File Format Validator Log File....................................................13

Information in the Log File..........................................................................................13

Reference ..................................................................................................................17

BFFValidation Element..................................................................................................18

Attributes ...................................................................................................................18

Reference ..................................................................................................................21

ParseStack Element......................................................................................................22

Child Elements ..........................................................................................................24

Reference ..................................................................................................................25

ABNFFailure Element ...................................................................................................26

Attributes ...................................................................................................................26

Token Element ..............................................................................................................27


Attributes ...................................................................................................................27

Reference ..................................................................................................................27

Type Element (BFFValidator) ........................................................................................28

Attributes ...................................................................................................................28

Info Element..................................................................................................................31

Reference ..................................................................................................................31

LastData Element .........................................................................................................32

Details .......................................................................................................................32

Reference ..................................................................................................................32
Welcome to the Microsoft Office Binary
File Format Validator Reference
[This is prerelease documentation and is subject to change in future releases.]
Welcome to Microsoft Office Binary File Format Validator Beta. This reference contains
conceptual, reference, and code sample topics to guide you in using Microsoft Office
Binary File Format Validator Beta to validate binary file format files for the following files
and applications:
 .doc files for Microsoft Word 97, Microsoft Word 2000, and Microsoft Office Word
2003. These file formats are also understood by Microsoft Office Word 2007 and
Microsoft Word 2010.
 .xls files for Microsoft Excel 97, Microsoft Excel 2000, and Microsoft Office Excel
2003. These file formats are also understood by Microsoft Office Excel 2007 and
Microsoft Excel 2010.
 .ppt files for Microsoft PowerPoint 97, Microsoft PowerPoint 2000, and Microsoft
Office PowerPoint 2003. These file formats are also understood by Microsoft
PowerPoint 2007 and Microsoft PowerPoint 2010.
This command-line tool runs without requiring an installation of Word, Excel or
PowerPoint on the computer.
Publish date of this reference: July 2011
This documentation is available from the MSDN Library. To view the most recent version
in your browser, see. Introduction to Microsoft Office Binary File Format Validator in the
MSDN Library.
For installation information, see How to: Install Microsoft Office Binary File Format
Validator. For a general overview of this tool, see Introduction to Microsoft Office Binary
File Format Validator.
You may copy and use this document for your internal, reference purposes.
©2011 Microsoft Corporation. All rights reserved.
Introduction to Microsoft Office Binary
File Format Validator
[This is prerelease documentation and is subject to change in future releases.]
The Microsoft Office Binary File Format Validator Beta tool validates .doc, .ppt, and .xls
files in conformance to the binary file format open specifications. This command-line tool
runs without requiring an installation of Word, Excel or PowerPoint on the computer.
Microsoft Office Binary File Format Validator Beta validates implementations of the
following binary file formats:
 .doc files for Microsoft Word 97, Microsoft Word 2000, and Microsoft Office Word
2003. These file formats are also understood by Microsoft Office Word 2007 and
Microsoft Word 2010.
 .xls files for Microsoft Excel 97, Microsoft Excel 2000, and Microsoft Office Excel
2003. These file formats are also understood by Microsoft Office Excel 2007 and
Microsoft Excel 2010.
 .ppt files for Microsoft PowerPoint 97, Microsoft PowerPoint 2000, and Microsoft
Office PowerPoint 2003. These file formats are also understood by Microsoft
PowerPoint 2007 and Microsoft PowerPoint 2010.
When you run Microsoft Office Binary File Format Validator Beta, it either validates the
complete file or fails at the first point where the scanned file does not comply with the
particular binary file format open specification. For example, if a file has two validation
issues, you need to repeat the validation run three times:
 Find the first failure and fix it in either the file or the source code.
 Find the second failure and fix it in either the file or the source code.
 Run the validation again to get a passing result.
When a nonconformance issue is located in the scanned file, Microsoft Office Binary File
Format Validator Beta writes out a detailed log file, in XML format, that helps you locate
and debug the error.
In This Section
How to: Install Microsoft Office Binary File Format Validator
How to: Uninstall Microsoft Office Binary File Format Validator
Microsoft Office Binary File Format Validator Command Line Usage
Microsoft Office Binary File Format Validator Log File
How to: Install Microsoft Office Binary
File Format Validator
[This is prerelease documentation and is subject to change in future releases.] To
install Microsoft Office Binary File Format Validator Beta, you must run the setup from the
download center.
Microsoft Office Binary File Format Validator Beta is supported on any computer that is
running Windows XP with Service Pack 2 (SP2) or later versions.

To Install Microsoft Office Binary File Format


Validator
1. On the download page, click on the appropriate Download button for 32-bit or the
64-bit operating system.
This starts the installation.
2. On the Welcome to the Microsoft Office Binary File Format Validator Setup
Wizard page, click Next.
3. On the End-User License Agreement page, read the agreement, and if you agree,
select I accept the terms in the License Agreement, and then click Next.
4. On the Destination Folder page, you can accept the default location for the tool, or
click Browse to select a different location, and then click Next to start the installation.
5. On the Ready to install Microsoft Binary File Format Validator page, click Install
to start the installation.
6. On the Completed the Microsoft Office Binary File Format Validation Tool Setup
Wizard page, click Finish to complete the installation.
The following files are installed either in <root>:\Program Files\Microsoft
Office\BFFValidator or a location that you specified in step 4.

File Description

BFFValidator.exe The command-line executable file.


BFFWrapper.dll A wrapper DLL.
docValidation.dll A validation DLL for binary file format Word
files.
pptValidation.dll A validation DLL for binary file format
PowerPoint files.
xlsValidation.dll A validation DLL for binary file format Excel
files.
The installation also places a shortcut Microsoft Office Binary File Format Validator Beta
launcher to the Start menu in Microsoft Office Binary File Format Validator in All
Programs.

Tasks
How to: Uninstall Microsoft Office Binary File Format Validator
Reference
Microsoft Office Binary File Format Validator Command Line Usage
How to: Uninstall Microsoft Office Binary
File Format Validator
[This is prerelease documentation and is subject to change in future releases.] To
uninstall Microsoft Office Binary File Format Validator Beta follow these steps depending
on the operating system that you are using.
To uninstall Binary File Format Validator
1. If you are using the Windows 7 operating system, open Control Panel, click
Programs, and then click Uninstall a program.
a) Right-click Microsoft Office Binary File Format Validator.
b) Click Uninstall.
c) If a message appears with the prompt Are you sure you want to uninstall
Microsoft Office Binary File Format Validation Tool?, click Yes.
2. If you are using the Windows Vista operating system, open Control Panel, open
Programs, and then click Uninstall a program.
a) In the list, select Microsoft Office Binary File Format Validator.
b) Click Uninstall.
c) If a message appears with the prompt Are you sure you want to uninstall
Microsoft Office Binary File Format Validation Tool?, click Yes.
3. If you are using the Windows XP with Service Pack 2 (SP2) operating system, open
Control Panel, and then click Add or Remove Programs.
a) Click Remove a program.
b) In Currently Installed Programs, select Microsoft Office Binary File
Format Validator , and then click Remove.
c) If a message appears with the prompt Are you sure you want to uninstall
Microsoft Office Binary File Format Validation Tool?, click Yes.

Tasks
How to: Install Microsoft Office Binary File Format Validator
Microsoft Office Binary File Format
Validator Command Line Usage
[This is prerelease documentation and is subject to change in future releases.]
The Microsoft Office Binary File Format Validator Beta is a command-line tool
(BFFValidator.exe) that provides file format validation and debugging information for
implementers of Microsoft Office binary file formats. The file types that are validated are
.doc files, .xls files, and .ppt files. Encrypted files, password-protected files, and
embedded objects are not validated. The specific validation behavior is listed in the
following table.

File or object type BFFValidator outcome

.doc files for Microsoft Word 97, Microsoft Validated


Word 2000, and Microsoft Office Word
2003.
.xls files for Microsoft Excel 97, Microsoft Validated
Excel 2000, and Microsoft Office Excel
2003.
.ppt files for Microsoft PowerPoint 97, Validated
Microsoft PowerPoint 2000, and Microsoft
Office PowerPoint 2003.
Password-protected files and encrypted Not validated
files.
Information Rights Management (IRM) files. Not validated
Any embedded objects, such as an OLE Not validated
object or executable file, inside a file.

Important:
Because Microsoft Office Binary File Format Validator Beta stops for any file format error,
it is important that you re-run the validation after you have fixed each error, until
BFFValidator.exe finishes with a PASSED result.

Use the following command-line syntax to validate a binary file format file.

Bffvalidator.exe [-l log.xml] [-v] filename.ext

Parameters
Argument Description

-l log.xml Optional. Specifies the location of the output


log file. If this parameter is not specified, the
log file is written to the same location as the
file that is scanned. The file name of the log
file is the name of the file that you scanned
and a time stamp, for example “Sample
document.doc.bffvalidator.01-25-11_09-00-
43.xml.” For more information about the log
file, see Microsoft Office Binary File Format
Validator Log File.
-v Optional verbose mode. The BFFValidator
will display each byte that is read to the
Command Prompt window. If the validated
file is large, generating this display will be
time-consuming. You can use this
information for debugging your file format.
Filename.ext Required. Specifies the file path, file name,
and the extension of the file to be validated.
-? Displays the command syntax and options
for BFFValidator.exe.

The Command Prompt window displays the following pass/fail error and file name
information:
 Pass or fail result of the validation scan.
 The name and location of the file that was scanned.
 Error information if the command was used incorrectly, or another reason why the
specified file could not be scanned.
 The date and time when the validation was completed.
 The location of the log file that was created for this run. If the run fails, the Command
Prompt window will specify whether a log file was created or not.
 If the result of the scan is FAILED, an HTTP link to a file format specification with
more information about the correct format of the binary data is provided.
If you run the scan in verbose mode, the Command Prompt window additionally displays
the stream information about where the Microsoft Office Binary File Format Validator
Beta is reading and the corresponding offsets.
Detailed information about the scan result is written into a log file. It includes information
about the nature of the failure, location of the failure in the stream, and a link to a
particular section in a file format specification that defines the correct behavior. For more
information, see Microsoft Office Binary File Format Validator Log File.

Example Scan of a File that Passes Validation


The following example runs a scan of a .doc file that passes:
C:\Program Files\Microsoft Office\BFFValidator>bffvalidator.exe
“C:\users\Alice\Documents\Sample_document.doc”

The Command Prompt window message includes the location of the file that was
scanned, the time stamp of when the scan was finished and the location of the log file.

PASSED at 02/03/11 10:14:19


Log at: C:\users\Alice\Sample document.doc.bffvalidator.02-03-11_10-14-19.xml

The log file contains the following information. For more information about the log file, see
Microsoft Office Binary File Format Validator Log File.

XML
<BFFValidation path="C:\users\Alice\Sample document.doc" datetime="02/03/11
10:14:19" result="PASSED">
</BFFValidation>

Example that Attempts to Validate an


Unsupported File Type
The following example attempts to run a scan of a .docx file:

C:\Program Files\Microsoft Office\BFFValidator>bffvalidator.exe


“C:\users\Alice\Documents\Sample_document.docx”

The Command Prompt window message includes an error message and the location of
the log file.

BFFValidator: "C:\users\Alice\Sample_document.docx" NOT RECOGNIZED at 01/25/11


10:32:00
Log at: C:\users\Alice\Sample_document.docx.bffvalidator.01-25-11_10-32-00.xml

The log file contains the following information. For more information about the log file, see
Microsoft Office Binary File Format Validator Log File.
XML
<BFFValidation path="C:\users\Alice\ Sample_document.docx " datetime="01/25/11
10:32:00" result="NOT RECOGNIZED">
</BFFValidation>

Example Scan of a File that Fails Validation


The following example runs a scan of a .ppt file that contains an error. Therefore, the
scan returns a result of FAILED.

C:\Program Files\Microsoft Office\BFFValidator>bffvalidator.exe


“C:\users\Alice\Documents\Sample_document.ppt”

The Command Prompt window message includes the location of the file that was
scanned, the time stamp of when the scan was finished, the location of the log file, a
message that indicates that a binary error was found, and a link to an overall stream
location in the [MS-PPT] binary file format specification.

BFFValidator: "C:\users\Alice\Documents\Sample_document.ppt" FAILED at 01/25/11


10:44:35
Log at: C:\users\Alice\Sample_document.ppt.bffvalidator.01-25-11_10-44-35.xml
See: http://msdn.microsoft.com/en-us/library/dd945780(v=office.12).aspx for more
information

Additionally, the last few entries in the log file contain information about the last four bytes
that were read and a more specific link to the data from [MS-PPT]. For more information
about the log file, see Microsoft Office Binary File Format Validator Log File.

XML
<Type docName="MS-PPT" sectionTitle="TimeOverride" sectionNumber="2.8.41"
msdnLink="http://msdn.microsoft.com/en-us/library/20CE9A31-8EAA-4A42-B957-
B9111BE76B2C" streamName="PowerPoint Document" streamOffset="105175"
hexStreamOffset="0x19ad7"/>
<Type builtinType="LONG" streamName="PowerPoint Document"
streamOffset="105184" hexStreamOffset="0x19ae0" childId="3" hexChildId="0x3">
<Info>Built-in type "LONG": Signed 4-byte integer.</Info>
</Type>
</ParseStack>
<LastData><![CDATA[
00 00 00 00 -- -- -- -- -- -- -- -- -- -- -- -- ....
]]></LastData>
</BFFValidation>
Other Resources
Introduction to Microsoft Office Binary File Format Validator
Microsoft Office Binary File Format
Validator Log File
[This is prerelease documentation and is subject to change in future releases.]
Each validation run of the Microsoft Office Binary File Format Validator Beta produces a
detailed log file that contains either validation pass or fail information.

Information in the Log File


When the validation of a file passes, the log file contains the following information:
 A result key that indicates that the file passed validation.
 The location of the file that was validated if a non-default location was specified on
the command prompt.
 The name of the file that was validated.
 The date and time the validation completed.
When the validation of a file fails because of a file format error, the log file contains the
following information:
 A result key that indicates that the file failed validation
 The location of the file that was validated if a non-default location was specified on
the command prompt.
 The name of the file that was validated.
 Format discovery information. For example, if a file has a .ppt extension, it might
instead be written in a Word binary file format. You can determine the binary file
format that is used by examining the value of the docName attribute.
Note:
If the file passes validation but the format does not match the file name extension, this
information is not available.
 The date and time that the validation completed.
 Offset information that includes the last read data of the offset where the validation
failure occurred.
 Stream name for each entry, until the failure occurs, in the parse stack.
 Augmented Backus-Naur Form (ABNF) failure information, when it is relevant.
 HTTP link that points to the relevant section of open specification documentation.
 Open specification documentation short name, section title, and section number.
 The data in the file that caused the failure character data, when this information is
available.
Validation Log File Format
The log file is written in XML format by using a set of elements and attributes listed in the
following table. The attributes are described within the topic that describes the element
they belong to.
Element Attributes, if any Child elements, if any

BFFValidation Element  datetime  ParseStack Element


 result  LastData Element
 path
 reason
ParseStack Element  ABNFFailure Element
 Type Element
(BFFValidator)
ABNFFailure Element  docName  Token Element
 sectionTitle
 msdnLink
Token Element  tokenId
 hexTokenId
 tokenName
Type Element  builtinType  Info Element
(BFFValidator)  docName
 sectionTitle
 sectionNumber
 msdnLink
 storageName
 streamName
 bitfield
 bitOffsetWithinStruct
 hexBitOffsetWithinStruct
 streamOffsetOfStruct
 hexStreamOffsetOfStruct
 bitCount
 streamOffset
 hexStreamOffset
 childId
 hexChildId
Info Element
LastData Element

The following example shows a log-file for a .ppt file that has failed validation. Note that
the file is stream-based, and the start of the stream is taken to be at offset 0.
XML
<BFFValidation path="C:\users\Alice\Sample1_Failing.ppt" datetime="01/25/11
10:44:35" result="FAILED">
<ParseStack>
<Type builtinType="Docfile" docName="MS-PPT" sectionTitle="Streams and
Storages" msdnLink="http://msdn.microsoft.com/en-
us/library/dd945780(v=office.12).aspx">
<Info>Built-in type "Docfile": The root storage object of an OLE compound
file. For more information, see http://msdn.microsoft.com/en-
us/library/dd942138.aspx.</Info>
</Type>
<Type builtinType="Stream" docName="MS-PPT" sectionTitle="Streams and
Storages" msdnLink="http://msdn.microsoft.com/en-
us/library/dd945780(v=office.12).aspx" streamName="Current User"
streamOffset="0" hexStreamOffset="0x0">
<Info>Built-in type "Stream": Any stream object for OLE compound files.
The entire file contents for other files.</Info>
</Type>
<Type docName="MS-PPT" sectionTitle="CurrentUserAtom" sectionNumber="2.3.2"
msdnLink="http://msdn.microsoft.com/en-us/library/940D5700-E4D7-4FC0-AB48-
FED5DBC48BC1" streamName="Current User" streamOffset="0" hexStreamOffset="0x0"/>
<Type docName="MS-PPT" sectionTitle="DocumentContainer"
sectionNumber="2.4.1" msdnLink="http://msdn.microsoft.com/en-
us/library/6254C4D1-5217-4E16-B20D-C04DDCCE31C9" streamName="PowerPoint
Document" streamOffset="0" hexStreamOffset="0x0"/>
<Type docName="MS-PPT" sectionTitle="SlideListWithTextContainer"
sectionNumber="2.4.14.3" msdnLink="http://msdn.microsoft.com/en-
us/library/307E6D12-7304-47A8-ACBD-3E7B8041AD3C" streamName="PowerPoint
Document" streamOffset="1182" hexStreamOffset="0x49e"/>
<Type docName="MS-PPT" sectionTitle="SlideListWithTextSubContainerOrAtom"
sectionNumber="2.4.14.4" msdnLink="http://msdn.microsoft.com/en-
us/library/FC198575-E6FC-420F-8693-6714469EB710" streamName="PowerPoint
Document" streamOffset="1190" hexStreamOffset="0x4a6"/>
<Type docName="MS-PPT" sectionTitle="SlidePersistAtom"
sectionNumber="2.4.14.5" msdnLink="http://msdn.microsoft.com/en-
us/library/48DCE412-9692-4F93-AEB7-3D9FDD3A0A5A" streamName="PowerPoint
Document" streamOffset="1190" hexStreamOffset="0x4a6"/>
<Type docName="MS-PPT" sectionTitle="SlideContainer" sectionNumber="2.5.1"
msdnLink="http://msdn.microsoft.com/en-us/library/4CAC0976-73D0-4AB3-A70B-
E98B3CF1C312" streamName="PowerPoint Document" streamOffset="35647"
hexStreamOffset="0x8b3f"/>
<Type docName="MS-PPT" sectionTitle="SlideProgTagsContainer"
sectionNumber="2.5.19" msdnLink="http://msdn.microsoft.com/en-
us/library/C2263E42-180E-4249-BD93-A421EFD8719B" streamName="PowerPoint
Document" streamOffset="37196" hexStreamOffset="0x914c"/>
<Type docName="MS-PPT" sectionTitle="SlideProgTagsSubContainerOrAtom"
sectionNumber="2.5.20" msdnLink="http://msdn.microsoft.com/en-
us/library/2BC67516-D5AB-4D9D-8676-1A825C64C2A8" streamName="PowerPoint
Document" streamOffset="37204" hexStreamOffset="0x9154"/>
<Type docName="MS-PPT" sectionTitle="SlideProgBinaryTagContainer"
sectionNumber="2.5.21" msdnLink="http://msdn.microsoft.com/en-
us/library/E25EB8D2-627E-4104-B293-FC8ED82A098C" streamName="PowerPoint
Document" streamOffset="37204" hexStreamOffset="0x9154"/>
<Type docName="MS-PPT" sectionTitle="SlideProgBinaryTagSubContainerOrAtom"
sectionNumber="2.5.22" msdnLink="http://msdn.microsoft.com/en-
us/library/AC9AA6BD-3C15-49BD-81D9-5B8BFD966053" streamName="PowerPoint
Document" streamOffset="37212" hexStreamOffset="0x915c"/>
<Type docName="MS-PPT" sectionTitle="PP10SlideBinaryTagExtension"
sectionNumber="2.5.24" msdnLink="http://msdn.microsoft.com/en-
us/library/CCB82F60-E1AE-4379-B1E0-00909BB70B17" streamName="PowerPoint
Document" streamOffset="37212" hexStreamOffset="0x915c"/>
<Type docName="MS-PPT" sectionTitle="ExtTimeNodeContainer"
sectionNumber="2.8.15" msdnLink="http://msdn.microsoft.com/en-
us/library/83D39C58-0D30-46A4-BFFB-188D792CB5A7" streamName="PowerPoint
Document" streamOffset="37256" hexStreamOffset="0x9188"/>
<Type builtinType="BLOB" streamName="PowerPoint Document"
streamOffset="37325" hexStreamOffset="0x91cd">
<Info>Built-in type "BLOB": Binary data of any length with no further
definition. The size of the data can be zero.</Info>
</Type>
<Type docName="MS-PPT" sectionTitle="ExtTimeNodeContainer"
sectionNumber="2.8.15" msdnLink="http://msdn.microsoft.com/en-
us/library/83D39C58-0D30-46A4-BFFB-188D792CB5A7" streamName="PowerPoint
Document" streamOffset="37325" hexStreamOffset="0x91cd"/>
<Type builtinType="BLOB" streamName="PowerPoint Document"
streamOffset="104277" hexStreamOffset="0x19755">
<Info>Built-in type "BLOB": Binary data of any length with no further
definition. The size of the data can be zero.</Info>
</Type>
<Type docName="MS-PPT" sectionTitle="ExtTimeNodeContainer"
sectionNumber="2.8.15" msdnLink="http://msdn.microsoft.com/en-
us/library/83D39C58-0D30-46A4-BFFB-188D792CB5A7" streamName="PowerPoint
Document" streamOffset="104277" hexStreamOffset="0x19755"/>
<Type builtinType="BLOB" streamName="PowerPoint Document"
streamOffset="104365" hexStreamOffset="0x197ad">
<Info>Built-in type "BLOB": Binary data of any length with no further
definition. The size of the data can be zero.</Info>
</Type>
<Type docName="MS-PPT" sectionTitle="ExtTimeNodeContainer"
sectionNumber="2.8.15" msdnLink="http://msdn.microsoft.com/en-
us/library/83D39C58-0D30-46A4-BFFB-188D792CB5A7" streamName="PowerPoint
Document" streamOffset="104365" hexStreamOffset="0x197ad"/>
<Type builtinType="BLOB" streamName="PowerPoint Document"
streamOffset="104453" hexStreamOffset="0x19805">
<Info>Built-in type "BLOB": Binary data of any length with no further
definition. The size of the data can be zero.</Info>
</Type>
<Type docName="MS-PPT" sectionTitle="ExtTimeNodeContainer"
sectionNumber="2.8.15" msdnLink="http://msdn.microsoft.com/en-
us/library/83D39C58-0D30-46A4-BFFB-188D792CB5A7" streamName="PowerPoint
Document" streamOffset="104453" hexStreamOffset="0x19805"/>
<Type builtinType="BLOB" streamName="PowerPoint Document"
streamOffset="104890" hexStreamOffset="0x199ba">
<Info>Built-in type "BLOB": Binary data of any length with no further
definition. The size of the data can be zero.</Info>
</Type>
<Type docName="MS-PPT" sectionTitle="ExtTimeNodeContainer"
sectionNumber="2.8.15" msdnLink="http://msdn.microsoft.com/en-
us/library/83D39C58-0D30-46A4-BFFB-188D792CB5A7" streamName="PowerPoint
Document" streamOffset="104890" hexStreamOffset="0x199ba"/>
<Type docName="MS-PPT" sectionTitle="TimeAnimateBehaviorContainer"
sectionNumber="2.8.29" msdnLink="http://msdn.microsoft.com/en-
us/library/BC65CD1C-14A7-4C0D-BC2D-192BAB64A713" streamName="PowerPoint
Document" streamOffset="104946" hexStreamOffset="0x199f2"/>
<Type docName="MS-PPT" sectionTitle="TimeBehaviorContainer"
sectionNumber="2.8.34" msdnLink="http://msdn.microsoft.com/en-
us/library/8D75CC5B-6F80-4B2E-980B-A521E2691E54" streamName="PowerPoint
Document" streamOffset="105094" hexStreamOffset="0x19a86"/>
<Type docName="MS-PPT" sectionTitle="TimePropertyList4TimeBehavior"
sectionNumber="2.8.37" msdnLink="http://msdn.microsoft.com/en-
us/library/51C4CC59-2D58-4AC9-8B25-4ABC1040780D" streamName="PowerPoint
Document" streamOffset="105167" hexStreamOffset="0x19acf"/>
<Type docName="MS-PPT" sectionTitle="TimeVariant4Behavior"
sectionNumber="2.8.38" msdnLink="http://msdn.microsoft.com/en-
us/library/758F2315-8EF7-4F1D-81DA-41ED4AB6683A" streamName="PowerPoint
Document" streamOffset="105175" hexStreamOffset="0x19ad7"/>
<Type docName="MS-PPT" sectionTitle="TimeOverride" sectionNumber="2.8.41"
msdnLink="http://msdn.microsoft.com/en-us/library/20CE9A31-8EAA-4A42-B957-
B9111BE76B2C" streamName="PowerPoint Document" streamOffset="105175"
hexStreamOffset="0x19ad7"/>
<Type builtinType="LONG" streamName="PowerPoint Document"
streamOffset="105184" hexStreamOffset="0x19ae0" childId="3" hexChildId="0x3">
<Info>Built-in type "LONG": Signed 4-byte integer.</Info>
</Type>
</ParseStack>
<LastData><![CDATA[
00 00 00 00 -- -- -- -- -- -- -- -- -- -- -- -- ....
]]></LastData>
</BFFValidation>

Reference
Microsoft Office Binary File Format Validator Command Line Usage
Other Resources
Introduction to Microsoft Office Binary File Format Validator
BFFValidation Element
[This is prerelease documentation and is subject to change in future releases.]
The BFFValidation element is always present in the log file.

Attributes
The BFFValidation element contains the attributes specified in the following table.

Attribute Description Details

datetime The datetime attribute is always present, and


contains the date and time that the file was
validated.
For example, <BFFValidation
path="C:\users\Alice\Sample1_Failing.doc"
datetime="01/25/11 09:06:44"
result="FAILED">
.
result The result attribute is always present and  PASSED
can be one of several values listed in the The file was
Details column. validated and it
For example, <BFFValidation contains no file
path="C:\users\Alice\Sample1_Failing.doc" format errors.
datetime="01/25/11 09:06:44"
result="FAILED">
 NOT
RECOGNIZED
.
The file was not
validated
because it is not
on one of the
supported
formats.
 FAILED
The file was
validated and it
contains a file
format error.
 ERROR
BFFValidator
encountered an
error while
validating the file
and is unable to
complete the
validation.
Attribute Description Details
 ERROR
0xhhhhhhhh
Message.
BFFvalidator
encountered an
error while
validating the file
and is unable to
complete the
validation.
However, more
information
about the error is
available and
represented by a
hexadecimal
representation of
the error code
that is returned
by
FormatMessage
function. For
more
information, see
FormatMessage
Function.
path The path attribute is always present and
contains the file path of the file that was
validated.
For example, <BFFValidation
path="C:\users\Alice\Sample1_Failing.doc"
datetime="01/25/11 09:06:44"
result="FAILED">

reason The reason attribute is optional and can  The Microsoft


provide further details when the result Office Binary File
attribute is either NOT RECOGNIZED or Format Validator
ERROR. The reason attribute can be one of encountered an
the following strings: error reading the
file you specified.
 The Microsoft
Office Binary File
Format Validator
does not support
validation of
password-
protected or
Attribute Description Details
encrypted files.
 The Microsoft
Office Binary File
Format Validator
supports Word,
Excel, and
PowerPoint
binary file
formats only.
The file you
specified is an
unsupported file
type.
 The Microsoft
Office Binary File
Format Validator
supports
Microsoft Word
file versions 97-
2003 only. The
file you specified
is not a
supported
Microsoft Word
file version.
 The Microsoft
Office Binary File
Format Validator
supports BIFF
versions 8 only.
The file you
specified is not a
supported BIFF
version.
 The Microsoft
Office Binary File
Format Validator
supports
Microsoft
PowerPoint file
versions 97-2003
only. The file you
specified is not a
supported
Microsoft
PowerPoint file
Attribute Description Details
version.
 The Microsoft
Office Binary File
Format Validator
does not support
validation of IRM
files.
 The Microsoft
Office Binary File
Format Validator
encountered a
circular
reference in the
file you specified.
 No file was
specified. Please
specify a file and
run the
command again.

Child Elements
The BFFValidation element contains the following child elements:
 ParseStack Element
 LastData Element

Reference
Microsoft Office Binary File Format Validator Command Line Usage
Other Resources
Introduction to Microsoft Office Binary File Format Validator
ParseStack Element
[This is prerelease documentation and is subject to change in future releases.]
The ParseStack element is present when the result attribute of BFFValidation element
has the value FAILED. For more information, see BFFValidation Element.
If the ParseStack is present, it can contain ABNFFailure elements and any number of
Type elements. The Type element values describe contained or referenced types in the
logical order they are parsed or processed, with sibling types not displayed to focus on
types relevant to the failure. The point of failure is usually the last Type node present.
The following example snippet from a log file shows the ParseStack element from a
parsed .doc file that failed validation. This ParseStack contains only Type elements.
XML

<ParseStack>
<Type builtinType="Docfile" docName="MS-DOC" sectionTitle="File Structure"
msdnLink="http://msdn.microsoft.com/en-us/library/4eaddc8f-4abd-43bb-8fd4-
aef9c6121737">
<Info>Built-in type "Docfile": The root storage object of an OLE compound
file. For more information, see http://msdn.microsoft.com/en-
us/library/dd942138.aspx.</Info>
</Type>
<Type builtinType="Stream" docName="MS-DOC" sectionTitle="File Structure"
msdnLink="http://msdn.microsoft.com/en-us/library/4eaddc8f-4abd-43bb-8fd4-
aef9c6121737" streamName="WordDocument" streamOffset="0" hexStreamOffset="0x0">
<Info>Built-in type "Stream": Any stream object for OLE compound files.
The entire file contents for other files.</Info>
</Type>
<Type docName="MS-DOC" sectionTitle="Fib" sectionNumber="2.5.1"
msdnLink="http://msdn.microsoft.com/en-us/library/9AEAA2E7-4A45-468E-AB13-
3F6193EB9394" streamName="WordDocument" streamOffset="0" hexStreamOffset="0x0"/>
<Type docName="MS-DOC" sectionTitle="FibRgFcLcb" sectionNumber="2.5.5"
msdnLink="http://msdn.microsoft.com/en-us/library/175D2FE1-92DD-45D2-B091-
1FE8A0C0D40A" streamName="WordDocument" streamOffset="154"
hexStreamOffset="0x9a"/>
<Type docName="MS-DOC" sectionTitle="FibRgFcLcb2003" sectionNumber="2.5.9"
msdnLink="http://msdn.microsoft.com/en-us/library/F6B7D624-570C-4057-ACFD-
CBA71D12F1A0" streamName="WordDocument" streamOffset="154"
hexStreamOffset="0x9a"/>
<Type docName="MS-DOC" sectionTitle="FibRgFcLcb2002" sectionNumber="2.5.8"
msdnLink="http://msdn.microsoft.com/en-us/library/FCE09F81-704B-460D-9BCA-
F7DC121AED66" streamName="WordDocument" streamOffset="154"
hexStreamOffset="0x9a"/>
<Type docName="MS-DOC" sectionTitle="FibRgFcLcb2000" sectionNumber="2.5.7"
msdnLink="http://msdn.microsoft.com/en-us/library/265BCA68-C4EF-4A03-8517-
61D7E79850EB" streamName="WordDocument" streamOffset="154"
hexStreamOffset="0x9a"/>
<Type docName="MS-DOC" sectionTitle="FibRgFcLcb97" sectionNumber="2.5.6"
msdnLink="http://msdn.microsoft.com/en-us/library/0C9DF81F-98D0-454E-AD84-
B612CD05B1A4" streamName="WordDocument" streamOffset="154"
hexStreamOffset="0x9a"/>
<Type docName="MS-DOC" sectionTitle="PlcBtePapx" sectionNumber="2.8.6"
msdnLink="http://msdn.microsoft.com/en-us/library/76D3B8E1-337B-4812-A3F1-
6B417BA6398D" streamName="1Table" streamOffset="1172" hexStreamOffset="0x494"/>
<Type docName="MS-DOC" sectionTitle="PnFkpPapx" sectionNumber="2.9.207"
msdnLink="http://msdn.microsoft.com/en-us/library/6B3D10C0-0B95-4533-93FE-
CAEF5C09679B" streamName="1Table" streamOffset="1180" hexStreamOffset="0x49c"/>
<Type docName="MS-DOC" sectionTitle="PapxFkp" sectionNumber="2.9.174"
msdnLink="http://msdn.microsoft.com/en-us/library/34AAEAF3-9578-41AF-A3F5-
C12F6F66BF1B" streamName="WordDocument" streamOffset="3072"
hexStreamOffset="0xc00"/>
<Type docName="MS-DOC" sectionTitle="BxPap" sectionNumber="2.9.23"
msdnLink="http://msdn.microsoft.com/en-us/library/86DF4678-FF4D-4877-B61A-
6C621906973F" streamName="WordDocument" streamOffset="3101"
hexStreamOffset="0xc1d"/>
<Type docName="MS-DOC" sectionTitle="PapxInFkp" sectionNumber="2.9.175"
msdnLink="http://msdn.microsoft.com/en-us/library/580510B8-DF7A-467E-A51C-
0D71EB15C7CD" streamName="WordDocument" streamOffset="3362"
hexStreamOffset="0xd22"/>
<Type builtinType="BLOB" streamName="WordDocument" streamOffset="3363"
hexStreamOffset="0xd23">
<Info>Built-in type "BLOB": Binary data of any length with no further
definition. The size of the data can be zero.</Info>
</Type>
<Type docName="MS-DOC" sectionTitle="GrpPrlAndIstd" sectionNumber="2.9.114"
msdnLink="http://msdn.microsoft.com/en-us/library/BD96F2AA-1318-4066-9723-
4DB035EF412B" streamName="WordDocument" streamOffset="3363"
hexStreamOffset="0xd23"/>
<Type docName="MS-DOC" sectionTitle="GrpPrlAndIstd"
msdnLink="http://msdn.microsoft.com/en-us/library/dd909647(office.12).aspx"
streamName="WordDocument" streamOffset="3365" hexStreamOffset="0xd25"/>
<Type docName="MS-DOC" sectionTitle="Prl" sectionNumber="2.2.5.2"
msdnLink="http://msdn.microsoft.com/en-us/library/4EABFFA2-B8B6-444C-9A92-
3291AB5035EF" streamName="WordDocument" streamOffset="3387"
hexStreamOffset="0xd3b"/>
<Type docName="MS-DOC" sectionTitle="Table Properties"
msdnLink="http://msdn.microsoft.com/en-us/library/b39a6648-501c-4361-8366-
4f042f579469" streamName="WordDocument" streamOffset="3389"
hexStreamOffset="0xd3d"/>
<Type docName="MS-DOC" sectionTitle="TableBordersOperand80"
sectionNumber="2.9.303" msdnLink="http://msdn.microsoft.com/en-
us/library/E334B793-1C10-4FED-8FAC-69C3F8FB41B6" streamName="WordDocument"
streamOffset="3389" hexStreamOffset="0xd3d"/>
<Type docName="MS-DOC" sectionTitle="Brc80MayBeNil" sectionNumber="2.9.18"
msdnLink="http://msdn.microsoft.com/en-us/library/8458EDBD-C81C-4EC7-B5FF-
C99C50575301" streamName="WordDocument" streamOffset="3390"
hexStreamOffset="0xd3e"/>
<Type docName="MS-DOC" sectionTitle="Brc80" sectionNumber="2.9.17"
msdnLink="http://msdn.microsoft.com/en-us/library/CFAB8014-E477-4E33-B50F-
A23B8476F6F3" streamName="WordDocument" streamOffset="3390"
hexStreamOffset="0xd3e"/>
<Type builtinType="BYTE" streamName="WordDocument" bitfield="True"
bitOffsetWithinStruct="31" hexBitOffsetWithinStruct="0x1f" bitCount="1"
streamOffsetOfStruct="3390" hexStreamOffsetOfStruct="0xd3e" streamOffset="3393"
hexStreamOffset="0xd41" childId="7" hexChildId="0x7">
<Info>Built-in type "BYTE": Unsigned 1-byte integer.</Info>
</Type>
</ParseStack>

Child Elements
The ParseStack element contains the following child elements:
 ABNFFailure Element
 Type Element (BFFValidator)
Reference
Microsoft Office Binary File Format Validator Command Line Usage
Other Resources
Introduction to Microsoft Office Binary File Format Validator
ABNFFailure Element
[This is prerelease documentation and is subject to change in future releases.]
The ABNFFailure element is present when the result attribute has the value FAILED
and when the ABNF grammar validation failed for a .ppt file format. Microsoft Office
Binary File Format Validator Beta validates only .ppt ABNF grammar. The grammar
errors for .xls ABNF can be viewed by using verbose mode in the console. For more
information about the result attribute, see BFFValidation Element. If they exist, child
Token elements describe the tokens that were encountered most recently leading up to
the ABNF grammar validation failure. The last Token element describes the token that
caused the failure; which means the sequence of all tokens, including the last one, failed
ABNF grammar validation. For more information, see Token Element. Up to four token
elements are listed in the log file, regardless of the size of the token list. To get more
tokens for further analysis, use the verbose command-line option. For more information
about the command line, see Microsoft Office Binary File Format Validator Command
Line Usage.

Attributes
The ABNFFailure element contains the attributes described in the following table.

Attribute Description

docName The name of the Microsoft Open File Format


specification that contains correct
information about the ABNF grammar that
failed validation in the file that was scanned;
for example, MS-PPT.
sectionTitle The title of the section of a Microsoft Open
File Format specification that contains the
specific ABNF grammar that failed validation
in the file that was scanned.
msdnLink A link to the section described in
sectionTitle in the BFF specification that
describes the correct grammar.

Child Elements
The ABNFFailure element contains the following child element:
 Token Element
Token Element
[This is prerelease documentation and is subject to change in future releases.]
The Token element provides information about an ABNF token. Together with other
sibling Token elements, it consists of the last tokens encountered in the file.

Attributes
The Token element contains the following attributes.

Attribute Description

tokenId The numeric token identifier, in decimal


format.
hexTokenId The numeric token identifier, in hexadecimal
format.
tokenName The name of the token, if available. For valid
tokens, this name matches the token
described in MSDN documentation. For
more information, see docName attribute in
ABNFFailure Element.

The following example shows a Token element.

XML
<Token tokenId="1194" hexTokenId="0x4aa" tokenName="AddMenu"/>

Reference
Microsoft Office Binary File Format Validator Command Line Usage
Other Resources
Introduction to Microsoft Office Binary File Format Validator
Type Element (BFFValidator)
[This is prerelease documentation and is subject to change in future releases.]
The Type element is present when the result of the validation is FAILED. The Type
element node contains information about a particular instance of a documented construct
in the file, as interpreted by Microsoft Office Binary File Format Validator Beta tool.

Attributes
The Type element contains the following attributes.

Attribute Description

builtinType The builtinType attribute is present in the


log file for a set of well-defined types for
which Microsoft Office Binary File Format
Validator Beta provides supplemental
information. If the type described is a built-in
type, this attribute is present and its value is
set to the name of the built-in type. For
example, <Type builtinType="Docfile"
docName="MS-DOC" sectionTitle="File
Structure"
msdnLink="http://msdn.microsoft.com/en-
us/library/4eaddc8f-4abd-43bb-8fd4-
aef9c6121737">
.
docName A short name of an applicable Microsoft
Open File Format specification. For
example, docName="MS-DOC"
.
sectionTitle A section title within the Microsoft Open File
Format specification provided in the
docName attribute. For example,
sectionTitle="Fib"
.
sectionNumber A section number of the documentation
section provided by sectionTitle. For
example, sectionNumber="2.5.1"
.
msdnLink An MSDN link to the applicable Microsoft
Open File Format specification document
section. For example,
msdnLink="http://msdn.microsoft.com/en-
us/library/9AEAA2E7-4A45-468E-AB13-
Attribute Description
3F6193EB9394"
.
storageName A fully-qualified path to the current storage.
This path is present only for types that
represent structured storage file storages.
streamName The name of the stream in which the current
type is present. For example,
streamName="WordDocument"
.
bitfield If the type parsed by BFFValidator.exe is a
bit-field, the bitfield attribute is present and
its value is set to TRUE. For example, <Type
builtinType="BYTE"
streamName="WordDocument"
bitfield="True"
.
bitOffsetWithinStruct The bitOffsetWithinStruct value
represents the decimal bit offset within the
larger structure; For example,
bitOffsetWithinStruct="31"
.
hexBitOffsetWithinStruct The hexBitOffsetWithinStruct value
represents the hexadecimal bit offset within
the larger structure. For example,
hexBitOffsetWithinStruct="0x1f"
.
streamOffsetOfStruct If the type parsed is a bit-field, the
streamOffsetOfStruct attribute is present
and its value represents the decimal byte
offset of the larger structure within the
stream. For example,
streamOffsetOfStruct="3390"
.
hexStreamOffsetOfStruct The hexStreamOffsetOfStruct attribute
represents the hexadecimal byte offset of
the larger structure within the stream. For
example, hexStreamOffsetOfStruct="0xd3e"
.
bitCount The bitCount attribute represents the
decimal size of the bit-field (in bits). For
example, bitCount="1"
.
Attribute Description

streamOffset If present, this decimal value provides the


zero-based stream-relative offset, in bytes,
of the first byte of the current type. For
example, streamOffset="3390"
.
hexStreamOffset If present, this hexadecimal value provides
the zero-based stream-relative offset, in
bytes, of the first byte of the current type.
For example, hexStreamOffset="0xd3e"
.
childId This decimal value provides an indication
which item within a larger set of items this
type instance represents. For example,
childId="7"
means that the seventh type or field in the
structure is failing validation.
hexChildId This hexadecimal value provides an
indication which item within a larger set of
items this type instance represents. For
example, hexChildId="0x7"
.

Child Elements
The Type element contains the following child element.
 Info Element
Info Element
[This is prerelease documentation and is subject to change in future releases.]
The Info element is present for the built-in type and contains additional descriptions
about the type. For example, <Info>Built-in type "UINT64": Unsigned 8-byte
integer.</Info>

Reference
Microsoft Office Binary File Format Validator Command Line Usage
Other Resources
Introduction to Microsoft Office Binary File Format Validator
LastData Element
[This is prerelease documentation and is subject to change in future releases.]
The LastData element is a formatted rendering of the last data that was read from the file
that is validated.

Details
The format of each line is displayed as follows:
hh hh hh hh hh hh hh hh hh hh hh hh hh hh hh hh xxxxxxxx xxxxxxxx
where hh is either the hexadecimal representation of the corresponding data that was
read from the file or two dashes (--) for those bytes which would be past the data that
was read. The x is a literal character rendering for bytes interpretable as printable ASCII
characters, and a period (.) for other nonprintable characters and ].
If there is no applicable data, it will be included as <LastData><![CDATA[]]></LastData>
.
If there is applicable data, it is displayed as shown in the following example:

XML
<LastData><![CDATA[
18 0B 00 80 -- -- -- -- -- -- -- -- -- -- -- -- ....
]]></LastData>

Reference
Microsoft Office Binary File Format Validator Command Line Usage
Other Resources
Introduction to Microsoft Office Binary File Format Validator

S-ar putea să vă placă și