Pregunta

Estoy tratando de calcular el nombre de corriente de la parte propiedad con el nombre de un archivo MSG, específicamente de cuerda propiedades con nombre. El MSG formato de archivo de especificación dice que la ID se genera como sigue:

  

Stream ID = 0x100m ((ID XOR (GUID index << 1 | 1)) MOD 0x1f

Cuando el valor ID es el CRC-32 para el "identificador de nombre Unicode". También estoy seguro de que es en realidad 0x100m 0x1000.

Esto de alguna manera mapas 'x-mailer' a 0x100f cuando el índice GUID es 3. El valor de ID es 0x894e50ff (ya que se almacena en otro lugar), pero ¿cómo 'x-mailer' se convierten a ese valor?

(Estas son las propiedades almacenadas bajo "__nameid_version1.0", parcialmente dentro de la corriente de "__substg1.0_00040102").

¿Fue útil?

Solución

Aquí está la respuesta de un ingeniero de Microsoft:

  

Hola Lucas,

     

Lo sentimos tomó tanto tiempo para volver a   en esto. Verifiqué el CRC-32   cálculo y que de hecho se traduce en una   valor de 0xff504e89 para la cadena   'X-mailer'. Dos cosas que usted necesita   a tener en cuenta:

     
      
  1. asegurarse de que se está calculando CRC para 'X-Mailer' como una cadena Unicode.   ASCII le dará una diferente   resultado.
  2.   
  3. asegúrese de que está utilizando el algoritmo especificado por MS-OXRTFCP   secciones 3.1.3.2 y 3.1.4, incluyendo   usando la tabla de consulta precalculada   y el algoritmo correspondiente   pseudocódigo.
  4.   
     

Si usted sigue estos, obtendrá la   resultado adecuado.

     

Quiero saber si usted es capaz de conseguir   este trabajo.

     

Saludos, Tom Jebo superior de apoyo   Ingeniero de soporte Microsoft DS   Protocolo del equipo

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top