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.