PropertyDefinition 流示例
适用于:Outlook 2013 | Outlook 2016
本主题介绍 PropertyDefinition 流的示例。 流包含用户定义的字段 TextField1
的定义。 类型为 Text,定义采用 PropDefV2 格式。
数据转储
下面是流在二进制编辑器中显示的数据转储。
Stream偏移量 | 数据字节 | ASCII 数据 |
---|---|---|
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..... |
下面是 PropertyDefinition 流的示例数据分析:
版本:偏移0x0,2 个字节:0x0103 (PropDefV2) 。
FieldDefinitionCount:偏移0x2,4 个字节:0x1 (1) 。
FieldDefinitions:偏移0x6,1 个 FieldDefinition 流数组。
标志:偏移0x6,4 个字节:0x45 (PDO_IS_CUSTOM|PDO_PRINT_SAVEAS|PDO_PRINT_SAVEAS_DEF) 。
VT:偏移0xA,2 个字节:0x8 (VT_BSTR) 。
DispId:偏移0xC,4 字节:0x0 (0) 。
NmidNameLength:偏移量0x10,2 字节:0xA (10) 。
NmidName:偏移0x12,包含 10 个 WCHAR 的数组。 Unicode 字符串值:“TextField1”。
NameANSI:偏移量0x26,PackedAnsiString 流。
长度:偏移0x26,1 字节:0xA (10) 。
字符:偏移0x27,包含 10 个 CHAR 的数组。 ANSI 字符串值:“TextField1”。
FormulaANSI:偏移量0x31,PackedAnsiString 流。
长度:偏移0x31,1 字节:0x0 (0) 。
字符:偏移0x32,包含 0 个 CHAR 的数组。 空 ANSI 字符串。
ValidationRuleANSI:偏移0x32,PackedAnsiString 流。
长度:偏移0x32,1 字节:0x0 (0) 。
字符:偏移0x33,包含 0 个 CHAR 的数组。 空 ANSI 字符串。
ValidationTextANSI:偏移0x33,PackedAnsiString 流。
长度:偏移0x33,1 字节:0x0 (0) 。
字符:偏移0x34,包含 0 个 CHAR 的数组。 空 ANSI 字符串。
ErrorANSI:偏移0x34,PackedAnsiString 流。
长度:偏移0x34,1 字节:0x0 (0) 。
字符:偏移0x35,数组为 0 个 CHAR。 空 ANSI 字符串。
InternalType:偏移0x35,4 个字节:0x0 (iTypeString) 。
SkipBlocks:偏移0x39,SkipBlock 流系列。
First SkipBlock
大小:偏移0x39,4 字节:0x15 (21) 。
内容:偏移量0x3D,包含 21 个字节的数组。 这是第一个 SkipBlock 流,因此此数组包含 FirstSkipBlockContent 流。
FieldName:偏移0x3D,PackedUnicodeString 流。
长度:偏移0x3D,1 字节:0xA (10) 。
字符:偏移0x3E,包含 10 个 WCHAR 的数组。 Unicode 字符串值:“TextField1”。
Second SkipBlock
- 大小:偏移0x52,4 字节:0x0 (0) 。 这是终止的 SkipBlock 流。