Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从Windows搜索索引URL将NameSpace.GetItemFromID与Outlook EntryID一起使用时出错_C#_Outlook_Mapi_Mailitem - Fatal编程技术网

C# 从Windows搜索索引URL将NameSpace.GetItemFromID与Outlook EntryID一起使用时出错

C# 从Windows搜索索引URL将NameSpace.GetItemFromID与Outlook EntryID一起使用时出错,c#,outlook,mapi,mailitem,C#,Outlook,Mapi,Mailitem,当我从Windows搜索索引电子邮件项目中提取EntryID时,一些EntryID总是以零开头,例如 00000000 5559804AB84A6E49A3EBDF11D66E111724A33D00 00000000 5559804AB84A6E49A3EBDF11D66E11174A03D00 我可以将entryID作为单个参数提供给call NameSpace.GetEntryFromID,并打开邮件项 其中EntryID不以零开头,例如 EF0000005DF0733903ACFB4A9

当我从Windows搜索索引电子邮件项目中提取EntryID时,一些EntryID总是以零开头,例如

00000000 5559804AB84A6E49A3EBDF11D66E111724A33D00 00000000 5559804AB84A6E49A3EBDF11D66E11174A03D00

我可以将entryID作为单个参数提供给call NameSpace.GetEntryFromID,并打开邮件项

其中EntryID不以零开头,例如

EF0000005DF0733903ACFB4A90E9F84DF839CED8A42D5300 EF0000005DF0733903ACFB4A90E9F84DF839CED824E75200


这些电子邮件来自不同的邮箱,使用这些字符串作为单个参数调用NameSpace.GetEntryFromID会出现Message Not Found错误,可能是因为不同邮箱的StoreID不是默认值。我是否可以从Windows搜索URL返回的EntryID字符串中提取StoreID,作为GetEntryFromID的第二个参数传递

我想问题的原因不是商店ID。每个商店都有自己的ID。即使尝试在Outlook中的商店之间移动项目,EntryID属性值也可以更改。以下是MSDN为EntryID属性声明的内容:

MAPI存储提供程序在其存储中创建项时会分配唯一的ID字符串。因此,在保存或发送Microsoft Outlook项目之前,不会为其设置EntryID属性。当项目移动到另一个存储区时,例如,从收件箱移动到Microsoft Exchange Server公用文件夹,或从一个个人文件夹(.pst)文件移动到另一个.pst文件,EntryID会发生更改

无论如何,如果不指定StoreID,GetItemFromID将搜索默认的消息存储

我是否可以从Windows搜索URL返回的EntryID字符串中提取StoreID,作为GetEntryFromID的第二个参数传递

没有。相反,您可以获取由Folder类表示的对象并使用属性