Exemplo de fluxo PropertyDefinition
Aplica-se a: Outlook 2013 | Outlook 2016
Este tópico descreve um exemplo de um fluxo PropertyDefinition. O fluxo contém uma definição de um campo definido pelo usuário, TextField1
. O tipo é Texto e a definição está no formato PropDefV2.
Despejo de dados
A seguir está um despejo de dados do fluxo, pois ele seria exibido em um editor binário.
deslocamento Stream | Bytes de dados | Dados 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..... |
A seguir, uma análise dos dados de exemplo para o fluxo PropertyDefinition:
Versão: Deslocamento 0x0, 2 bytes: 0x0103 (PropDefV2).
FieldDefinitionCount: deslocamento 0x2, 4 bytes: 0x1 (1).
FieldDefinitions: Offset 0x6, array of 1 FieldDefinition stream.
Sinalizadores: deslocamento 0x6, 4 bytes: 0x45 (PDO_IS_CUSTOM|PDO_PRINT_SAVEAS|PDO_PRINT_SAVEAS_DEF).
VT: deslocamento 0xA, 2 bytes: 0x8 (VT_BSTR).
DispId: deslocamento 0xC, 4 bytes: 0x0 (0).
NmidNameLength: offset 0x10, 2 bytes: 0xA (10).
NmidName: offset 0x12, matriz de 10 WCHARs. Valor da cadeia de caracteres unicode: "TextField1".
NameANSI: deslocamento 0x26, fluxo PackedAnsiString.
Comprimento: deslocamento 0x26, 1 byte: 0xA (10).
Caracteres: Deslocamento 0x27, matriz de 10 CHARs. Valor da cadeia de caracteres ANSI: "TextField1".
FormulaANSI: deslocamento 0x31, fluxo PackedAnsiString.
Comprimento: deslocamento 0x31, 1 byte: 0x0 (0).
Caracteres: Deslocamento 0x32, matriz de 0 CHARs. Cadeia de caracteres ANSI vazia.
ValidationRuleANSI: deslocamento 0x32, fluxo PackedAnsiString.
Comprimento: deslocamento 0x32, 1 byte: 0x0 (0).
Caracteres: deslocamento 0x33, matriz de 0 CHARs. Cadeia de caracteres ANSI vazia.
ValidationTextANSI: deslocamento 0x33, fluxo PackedAnsiString.
Comprimento: deslocamento 0x33, 1 byte: 0x0 (0).
Caracteres: Deslocamento 0x34, matriz de 0 CHARs. Cadeia de caracteres ANSI vazia.
ErrorANSI: deslocamento 0x34, fluxo PackedAnsiString.
Comprimento: deslocamento 0x34, 1 byte: 0x0 (0).
Caracteres: deslocamento 0x35, matriz de 0 CHARs. Cadeia de caracteres ANSI vazia.
InternalType: deslocamento 0x35, 4 bytes: 0x0 (iTypeString).
SkipBlocks: offset 0x39, série de fluxos SkipBlock.
Primeiro SkipBlock
Tamanho: deslocamento 0x39, 4 bytes: 0x15 (21).
Conteúdo: deslocamento 0x3D, matriz de 21 bytes. Este é o primeiro fluxo SkipBlock, portanto, essa matriz contém um fluxo FirstSkipBlockContent.
FieldName: deslocamento 0x3D, fluxo PackedUnicodeString.
Comprimento: deslocamento 0x3D, 1 byte: 0xA (10).
Caracteres: Deslocamento 0x3E, matriz de 10 WCHARs. Valor da cadeia de caracteres unicode: "TextField1".
Segundo SkipBlock
- Tamanho: deslocamento 0x52, 4 bytes: 0x0 (0). Este é o fluxo skipblock encerrado.