PropertyDefinition stream sample
Applies to: Outlook 2013 | Outlook 2016
This topic describes an example of a PropertyDefinition stream. The stream contains a definition of a user-defined field, TextField1
. The type is Text, and the definition is in the PropDefV2 format.
Data dump
The following is a data dump of the stream as it would be displayed in a binary editor.
Stream offset | Data bytes | ASCII data |
---|---|---|
0000000000 |
03 01 01 00 00 00 45 00 00 00 08 00 00 00 00 00 |
???...E...?..... |
0000000010 |
0A 00 54 00 65 00 78 00 74 00 46 00 69 00 65 00 |
?.T.e.x.t.F.i.e. |
0000000020 |
6C 00 64 00 31 00 0A 54 65 78 74 46 69 65 6C 64 |
l.d.1.?TextField |
0000000030 |
31 00 00 00 00 00 00 00 00 15 00 00 00 0A 54 00 |
1........?...?T. |
0000000040 |
65 00 78 00 74 00 46 00 69 00 65 00 6C 00 64 00 |
e.x.t.F.i.e.l.d. |
0000000050 |
31 00 00 00 00 00 |
1..... |
The following is a parse of the sample data for the PropertyDefinition stream:
Version: Offset 0x0, 2 bytes: 0x0103 (PropDefV2).
FieldDefinitionCount: Offset 0x2, 4 bytes: 0x1 (1).
FieldDefinitions: Offset 0x6, array of 1 FieldDefinition stream.
Flags: Offset 0x6, 4 bytes: 0x45 (PDO_IS_CUSTOM|PDO_PRINT_SAVEAS|PDO_PRINT_SAVEAS_DEF).
VT: Offset 0xA, 2 bytes: 0x8 (VT_BSTR).
DispId: Offset 0xC, 4 bytes: 0x0 (0).
NmidNameLength: Offset 0x10, 2 bytes: 0xA (10).
NmidName: Offset 0x12, array of 10 WCHARs. Unicode string value: "TextField1".
NameANSI: Offset 0x26, PackedAnsiString stream.
Length: Offset 0x26, 1 byte: 0xA (10).
Characters: Offset 0x27, array of 10 CHARs. ANSI string value: "TextField1".
FormulaANSI: Offset 0x31, PackedAnsiString stream.
Length: Offset 0x31, 1 byte: 0x0 (0).
Characters: Offset 0x32, array of 0 CHARs. Empty ANSI string.
ValidationRuleANSI: Offset 0x32, PackedAnsiString stream.
Length: Offset 0x32, 1 byte: 0x0 (0).
Characters: Offset 0x33, array of 0 CHARs. Empty ANSI string.
ValidationTextANSI: Offset 0x33, PackedAnsiString stream.
Length: Offset 0x33, 1 byte: 0x0 (0).
Characters: Offset 0x34, array of 0 CHARs. Empty ANSI string.
ErrorANSI: Offset 0x34, PackedAnsiString stream.
Length: Offset 0x34, 1 byte: 0x0 (0).
Characters: Offset 0x35, array of 0 CHARs. Empty ANSI string.
InternalType: Offset 0x35, 4 bytes: 0x0 (iTypeString).
SkipBlocks: Offset 0x39, series of SkipBlock streams.
First SkipBlock
Size: Offset 0x39, 4 bytes: 0x15 (21).
Content: Offset 0x3D, array of 21 bytes. This is the first SkipBlock stream, so this array contains a FirstSkipBlockContent stream.
FieldName: Offset 0x3D, PackedUnicodeString stream.
Length: Offset 0x3D, 1 byte: 0xA (10).
Characters: Offset 0x3E, array of 10 WCHARs. Unicode string value: "TextField1".
Second SkipBlock
- Size: Offset 0x52, 4 bytes: 0x0 (0). This is the terminating SkipBlock stream.