Compartilhar via


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.

Confira também