IMSLogon::OpenEntry
适用于:Outlook 2013 | Outlook 2016
打开文件夹或邮件对象,并返回指向该对象的指针以提供进一步的访问。
HRESULT OpenEntry(
ULONG cbEntryID,
LPENTRYID lpEntryID,
LPCIID lpInterface,
ULONG ulOpenFlags,
ULONG FAR * lpulObjType,
LPUNKNOWN FAR * lppUnk
);
参数
cbEntryID
[in] lpEntryID 参数指向的条目标识符的大小(以字节为单位)。
lpEntryID
[in]指向要打开的文件夹或邮件对象的条目标识符的地址的指针。
lpInterface
[in]指向对象的 IID (标识符) 指针。 传递 NULL 表示对象被强制转换到此类对象的标准接口。 还可以将 lpInterface 参数设置为对象相应接口的标识符。
ulOpenFlags
[in]控制对象打开方式的标志的位掩码。 可以设置以下标志:
MAPI_BEST_ACCESS
该对象应该使用用户允许的最大权限和最大客户端应用程序权限打开。 例如,如果客户端具有读/写权限,则使用读/写权限打开对象;如果客户端具有只读权限,则使用只读权限打开对象。 客户端可以通过获取 PidTagAccessLevel PR_ACCESS_LEVEL (权限) 级别。
MAPI_DEFERRED_ERRORS
即使基础对象对调用应用程序不可用,也允许调用成功。 如果该对象不可用,则对该对象的后续调用可能会返回错误。
MAPI_MODIFY
请求读/写权限。 默认情况下,使用只读权限创建对象,客户端不应在已授予读/写权限的假设下工作。
lpulObjType
[out]指向已打开对象的类型的指针。
lppUnk
[out]指向已打开对象的指针的指针。
返回值
S_OK
调用成功并返回了预期值。
备注
MAPI 调用 IMSLogon::OpenEntry 方法打开邮件存储中的文件夹或邮件。 MAPI 将传递要打开的对象的条目标识符。 邮件存储提供程序应返回一个指针,允许进一步访问 lppUnk 参数中指定的对象。
在 MAPI 调用 IMSLogon::OpenEntry 之前,它首先确定给定的邮件或文件夹条目标识符是否与由此消息存储提供程序注册的邮件或文件夹条目标识符匹配。 有关存储提供程序如何注册条目标识符的信息,请参阅 IMAPISupport::SetProviderUID。
IMSLogon::OpenEntry 与消息存储对象的 IMsgStore::OpenEntry 方法相同,只不过客户端不调用 IMSLogon::OpenEntry;MAPI 在处理 IMAPISession::OpenEntry 方法时调用 IMSLogon::OpenEntry。 使用 IMSLogon::OpenEntry 打开的对象处理方式应该与使用消息存储对象打开的对象完全相同;特别是,当释放邮件存储对象时,使用此调用打开的对象应失效。