2009-08-12 8 views
1

MSGファイルの名前付きプロパティ部分のストリーム名、特にstringという名前のストリームの名前を計算しようとしています。 IDは次のように生成されるMSG file format specificationsaysは次のID値は、 "Unicodeの名前識別子" のCRC-32であるMSGストリームID計算

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

を。 0x100mは実際には0x1000と確信しています。

これは何とかGUID指数が3であるとき、IDの値は0x894e50ff(それは別の場所に格納されているので)ですが、どのように'x-mailer'がその値に変換しますん0x100f'x-mailer'をマップしますか?

(これらは"__nameid_version1.0"の下に格納され、部分的に"__substg1.0_00040102"ストリーム内に格納されるプロパティです)。ここで

答えて

1

は、Microsoftのエンジニアからanswerです:

こんにちはルークは、

申し訳ありませんが、それはこの上 あなたに戻って取得するので、時間がかかりました。 Iは、CRC-32 計算を検証し、それが実際に文字列 「のX-メーラ」の0xff504e89の 値になります。あなたが考慮する を必要とする二つのこと:

  1. を使用すると、Unicode文字列として「X-メーラ」のCRCを計算していることを確認してください。 ASCIIはあなたに異なる 結果を与えます。
  2. あなたが事前に計算ルックアップテーブル と対応するアルゴリズム 擬似コードを使用して を含むMS-OXRTFCP セクション3.1.3.2および3.1.4で指定されたアルゴリズムを使用していることを確認してください。

これらを実行すると、 が正しく表示されます。

あなたが にこの作業を取得することができれば、私に教えてください。

よろしく、トムJeboシニアサポート エスカレーションエンジニアマイクロソフトDS プロトコルチーム

関連する問題