Compartir a través de


Ejemplo de secuencia PropertyDefinition

Hace referencia a: Outlook 2013 | Outlook 2016

En este tema se describe un ejemplo de un flujo PropertyDefinition. La secuencia contiene una definición de un campo definido por el usuario, TextField1. El tipo es Text y la definición está en formato PropDefV2.

Volcado de datos

A continuación se muestra un volcado de datos de la secuencia, ya que se mostraría en un editor binario.

desplazamiento de Stream Bytes de datos Datos 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 continuación se muestra un análisis de los datos de ejemplo de la secuencia PropertyDefinition:

  • Versión: desplazamiento 0x0, 2 bytes: 0x0103 (PropDefV2).

  • FieldDefinitionCount: desplazamiento 0x2, 4 bytes: 0x1 (1).

  • FieldDefinitions: desplazamiento 0x6, matriz de 1 flujo FieldDefinition.

    • Marcas: desplazamiento 0x6, 4 bytes: 0x45 (PDO_IS_CUSTOM|PDO_PRINT_SAVEAS|PDO_PRINT_SAVEAS_DEF).

    • VT: desplazamiento 0xA, 2 bytes: 0x8 (VT_BSTR).

    • DispId: desplazamiento 0xC, 4 bytes: 0x0 (0).

    • NmidNameLength: desplazamiento 0x10, 2 bytes: 0xA (10).

    • NmidName: desplazamiento 0x12, matriz de 10 WCHAR. Valor de cadena Unicode: "TextField1".

    • NameANSI: desplazamiento 0x26, flujo PackedAnsiString.

      • Longitud: desplazamiento 0x26, 1 byte: 0xA (10).

      • Caracteres: desplazamiento 0x27, matriz de 10 CHAR. Valor de cadena ANSI: "TextField1".

    • FormulaANSI: desplazamiento 0x31, secuencia PackedAnsiString.

      • Longitud: desplazamiento 0x31, 1 byte: 0x0 (0).

      • Caracteres: desplazamiento 0x32, matriz de 0 CHAR. Cadena ANSI vacía.

    • ValidationRuleANSI: desplazamiento 0x32, secuencia PackedAnsiString.

      • Longitud: desplazamiento 0x32, 1 byte: 0x0 (0).

      • Caracteres: desplazamiento 0x33, matriz de 0 CHAR. Cadena ANSI vacía.

    • ValidationTextANSI: desplazamiento 0x33, flujo PackedAnsiString.

      • Longitud: desplazamiento 0x33, 1 byte: 0x0 (0).

      • Caracteres: desplazamiento 0x34, matriz de 0 CHAR. Cadena ANSI vacía.

    • ErrorANSI: desplazamiento 0x34, secuencia PackedAnsiString.

      • Longitud: desplazamiento 0x34, 1 byte: 0x0 (0).

      • Caracteres: desplazamiento 0x35, matriz de 0 CHAR. Cadena ANSI vacía.

    • InternalType: desplazamiento 0x35, 4 bytes: 0x0 (iTypeString).

    • SkipBlocks: offset 0x39, serie de secuencias SkipBlock.

    • Primer skipblock

      • Tamaño: desplazamiento 0x39, 4 bytes: 0x15 (21).

      • Contenido: desplazamiento 0x3D, matriz de 21 bytes. Esta es la primera secuencia SkipBlock, por lo que esta matriz contiene un flujo FirstSkipBlockContent.

        • FieldName: desplazamiento 0x3D, secuencia PackedUnicodeString.

          • Longitud: desplazamiento 0x3D, 1 byte: 0xA (10).

          • Caracteres: desplazamiento 0x3E, matriz de 10 WCHAR. Valor de cadena Unicode: "TextField1".

    • Segundo SkipBlock

      • Tamaño: desplazamiento 0x52, 4 bytes: 0x0 (0). Este es el flujo SkipBlock de terminación.

Vea también