关于MAPI中PidLidPrivate属性ID值不一致的技术问询
PidLidPrivate属性ID差异的原因解析
0x8506是PidLidPrivate属性的标准LID(Long ID):这是MAPI规范中定义的全局统一标识符,用于MAPI层(如Outlook对象模型、MAPI客户端接口)的属性引用,确保跨系统、跨存储的一致性。0x8020是该属性在特定PST文件中的本地ID(Local ID):PST文件为了高效存储,会将全局命名属性映射到私有本地短ID(通常以0x8000开头),这个映射是PST文件内部的实现细节,不同PST文件中同一属性的本地ID可能不同。
差异的核心原因在于两种ID的应用场景不同:
- MAPI官方文档聚焦全局定义:给出的
0x8506是属性的标准标识,供开发者在MAPI编程时直接使用。 - MS-PST规范示例展示存储细节:呈现的
0x8020是该属性在示例PST文件中的本地映射值,反映的是PST存储层的具体实现逻辑。
你可以在PST文件的命名属性映射表(NBT,Name-to-ID Map)中找到0x8020与PidLidPrivate(对应LID 0x8506)的映射记录,两者指向的是同一个属性,只是层级标识不同。
内容的提问来源于stack exchange,提问作者alancc
相关产品推荐
相关产品推荐

