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 打开的对象应与使用消息存储对象打开的对象完全相同;具体而言,在释放消息存储对象时,使用此调用打开的对象应失效。

另请参阅

IMAPISupport::SetProviderUID

IMsgStore::OpenEntry

IMSLogon : IUnknown