IMsgServiceAdmin::OpenProfileSection

适用于:Outlook 2013 | Outlook 2016

打开当前配置文件的一部分,并返回 IProfSect 指针以供进一步访问。

HRESULT OpenProfileSection(
  LPMAPIUID lpUID,
  LPCIID lpInterface,
  ULONG ulFlags,
  LPPROFSECT FAR * lppProfSect
);

参数

lpUID

指向 MAPIUID 结构的指针,该结构标识配置文件部分。

lpInterface

[in]指向接口标识符的指针 (IID) ,表示用于访问配置文件部分的接口。 传递 NULL 会导致在 lppProfSect 参数中返回指向其标准接口的指针。 配置文件部分的标准接口是 IProfSect

ulFlags

[in]控制对配置文件部分的访问的标志的位掩码。 可以设置以下标志:

MAPI_DEFERRED_ERRORS

允许 OpenProfileSection 成功返回,可能在配置文件部分对调用客户端完全可用之前。 如果配置文件部分不可用,则对其进行后续调用可能会引发错误。

MAPI_MODIFY

请求读/写权限。 默认情况下,配置文件部分以只读权限打开,客户端不应假定已授予读/写权限。

MAPI_FORCE_ACCESS

允许访问所有配置文件部分,即使是单个服务提供商拥有的配置文件部分。

lppProfSect

[out]指向配置文件部分的指针的指针。

返回值

S_OK

配置文件部分已成功打开。

MAPI_E_NO_ACCESS

尝试访问调用方权限不足的配置文件部分。

MAPI_E_NOT_FOUND

请求的配置文件部分不存在。

备注

IMsgServiceAdmin::OpenProfileSection 方法打开一个配置文件部分,该对象支持 IProfSect 接口。 配置文件部分用于从会话配置文件读取信息并将信息写入会话配置文件。

OpenProfileSection 不能用于打开单个服务提供商拥有的配置文件部分,除非使用MAPI_FORCE_ACCESS。

给调用方的说明

多个客户端可以使用只读权限打开配置文件部分,但只有一个客户端可以打开具有读/写权限的配置文件部分。 如果另一个客户端打开了一个配置文件部分,你尝试通过调用 OpenProfileSection 打开并设置了MAPI_MODIFY标志,则调用将失败,并返回MAPI_E_NO_ACCESS。

如果打开部分进行写入,则只读打开操作失败。

可以通过使用 MAPI_MODIFY 标志和 lpUID 参数中不存在的 MAPIUID 结构调用 OpenProfileSection 来创建配置文件部分。 请确保指定MAPI_MODIFY。 如果将 lpUID 设置为指向不存在 的 MAPIUID ,并且 OpenProfileSection 设置为使用默认访问模式的只读,则调用将失败并MAPI_E_NOT_FOUND。

MFCMAPI 引用

有关 MFCMAPI 示例代码,请参阅下表。

文件 函数 Comment
MAPIProfileFunctions.cpp
OpenProfileSection
MFCMAPI 使用 IMsgServiceAdmin::OpenProfileSection 方法打开配置文件部分。

另请参阅

IMAPIProp : IUnknown

IMAPISession::OpenProfileSection

IProfSect : IMAPIProp

MAPIUID

IMsgServiceAdmin : IUnknown

MFCMAPI 代码示例