IMAPISession::OpenProfileSection
适用于:Outlook 2013 | Outlook 2016
打开当前配置文件的一部分,并返回 IProfSect 指针以供进一步访问。
HRESULT OpenProfileSection(
LPMAPIUID lpUID,
LPCIID lpInterface,
ULONG ulFlags,
LPPROFSECT FAR * lppProfSect
);
参数
lpUID
[in]指向 MAPIUID 结构的指针,该结构标识配置文件部分。
lpInterface
[in]指向接口标识符的指针 (IID) ,表示用于访问配置文件部分的接口。 传递 NULL 会导致 lppProfSect 参数返回指向配置文件部分的标准接口 IProfSect 的指针。
ulFlags
[in]控制对配置文件部分的访问的标志的位掩码。 可以设置以下标志:
MAPI_DEFERRED_ERRORS
允许 OpenProfileSection 成功返回,可能在配置文件部分对调用客户端完全可用之前。 如果配置文件部分不可用,则对其进行后续调用可能会导致错误。
MAPI_FORCE_ACCESS
允许访问不属于提供程序的配置文件部分。
MAPI_MODIFY
请求读/写权限。 默认情况下,配置文件部分以只读权限打开,客户端不应假定已授予读/写权限。
lppProfSect
[out]指向配置文件部分的指针的指针。
返回值
S_OK
配置文件部分已成功打开。
MAPI_E_NO_ACCESS
尝试访问调用方权限不足的配置文件部分。
MAPI_E_NOT_FOUND
请求的配置文件部分不存在。
备注
IMAPISession::OpenProfileSection 方法打开支持 IProfSect 接口的配置文件部分或对象。 配置文件部分用于从会话配置文件读取信息并将信息写入会话配置文件。
除非在 ulFlags 参数中指定MAPI_FORCE_ACCESS,否则不能使用 OpenProfileSection 打开各个服务提供商拥有的配置文件节。
给调用方的说明
多个客户端可以使用只读权限打开配置文件部分,但只有一个客户端可以打开具有读/写权限的配置文件部分。 如果另一个客户端打开了一个配置文件部分,你尝试通过调用 OpenProfileSection 打开并设置了MAPI_MODIFY标志,则调用将失败,并返回MAPI_E_NO_ACCESS。
如果打开部分进行写入,则只读打开操作失败。
可以通过使用 MAPI_MODIFY 标志和 lpUID 参数中不存在的 MAPIUID 结构调用 OpenProfileSection 来创建配置文件部分。 请确保指定MAPI_MODIFY。 如果将 lpUID 设置为指向不存在 的 MAPIUID ,并且 OpenProfileSection 设置为使用默认访问模式的只读,则调用将失败并MAPI_E_NOT_FOUND。