我遇到与this帖子中提到的完全相同的问题。
用户@Dmitry Streblechenko给出了答案:
使用PropertyAccessor.GetProperty读取PR_MDB_PROVIDER属性(DASL名称http://schemas.microsoft.com/mapi/proptag/0x34140102)。返回的16字节数组将特定于每种商店类型。例如。对于Exchange存储,它将是pbExchangeProviderPrimaryUserGuid(5494A1C0297F101BA58708002B2A2517)。使用OutlookSpy(单击IMessage,IMAPIFolder或IMsgStore)查看相关商店中的任何对象,以查看PR_MDB_PROVIDER属性。
问题:链接已关闭。
问题:我完全不知道在哪里可以找到有关hexdumps的文档。
例如,我在PR_MDB_PROVIDER
属性上有以下值:
PR_MDB_PROVIDER
PT_BINARY
cb:16, lpb: 54 94 A1 C0 29 7F 10 1B A5 87 08 00 2B 2A 25 17
我该如何处理hexdump
?这方面的文件在哪里?
mentioned帖子中的用户有以下hexdump
:
cb:16,lpb:E9 2F EB 75 96 50 44 86 83 B8 7D E5 22 AA 49 48
而@Dmitry Streblechenko告诉他这意味着:
它是Outlook 2013中的IMAP4提供程序
这些信息来自哪里?这些数字对我没有任何意义。
我的问题是,values
中的hexdump
是什么意思?或OutlookSpy的开发者是唯一可以帮助我的人吗?
我找不到任何文件..
非常感谢
答案 0 :(得分:1)
"http://schemas.microsoft.com/mapi/proptag/0x34140102"
不是链接,而是您需要传递给GetProperty的DASL属性名称。
PR_MDB_PROVIDER属性的某些值被记录(例如PST,Exchange邮箱,委托,公共文件夹),其他(如IMAP4)不是,但它们永远不会改变 - 它只是一些硬编码的随机值(GUID)被拾取时开发了特定的商店提供商。它之后永远不会改变。
使用PropertyAccessor检索属性(您将获得一个字节数组)并将其与您的硬编码值进行比较,以确定商店的类型。如果使用Redemption是一个选项,它会为您执行此操作并公开RDOStore。StoreKind
属性:
skUnknown = 0;
skPstAnsi = 1;
skPstUnicode = 2;
skPrimaryExchangeMailbox = 3;
skDelegateExchangeMailbox = 4;
skPublicFolders = 5
skBCM = 6
skIMAP4 = 7
skHotmail = 8
skEAS = 9