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.

See also