查找配置文件名称
适用于:Outlook 2013 | Outlook 2016
客户端有时需要查找当前用于会话的配置文件的名称、默认配置文件的名称或计算机上安装的备用配置文件的名称。
有几种方法可以在会话过程中检索配置文件的名称。 如果需要查找不一定用于会话的配置文件的名称,请使用第一个过程。 如果需要查找默认配置文件的名称,请使用第二个过程。 如果需要查找会话的当前配置文件的名称,请使用最后一个过程。
查找任何配置文件的名称
调用 MAPIAdminProfiles 以检索 IProfAdmin 接口指针。
调用 IProfAdmin::GetProfileTable 以访问配置文件表。
调用配置文件表的 IMAPITable::QueryRows 方法以检索表中的所有行,并检查每个行以确定它是否表示目标配置文件。
查找默认配置文件的名称
调用 IProfAdmin::GetProfileTable 以访问配置文件表。
使用 SPropertyRestriction 结构生成属性限制,以将 PR_DEFAULT_PROFILE (PidTagDefaultProfile) 与值 TRUE 匹配。
调用 IMAPITable::FindRow 以在配置文件表中查找表示默认配置文件的行。 PR_DISPLAY_NAME (PidTagDisplayName) 列包含默认配置文件的名称。
查找当前配置文件的名称
若要查找当前配置文件的名称,请完成以下步骤之一:
假设你有表示当前配置文件的一个节的 MAPIUID 结构,请在 lpUID 参数中将其传递给 IMAPISession::OpenProfileSection。 使用其 IMAPIProp::GetProps 方法检索配置文件部分的PR_PROFILE_NAME (PidTagProfileName) 属性。
调用 IMAPISession::GetStatusTable 以访问状态表,并查找其 PR_RESOURCE_TYPE (PidTagResourceType) 列设置为MAPI_SUBSYSTEM的行。 此行 的PR_DISPLAY_NAME 列是配置文件名称。 在启动期间不要使用状态表,因为它会阻止应用程序,直到 MAPI 后台处理程序完成所有传输提供程序的初始化。 这会降低性能。