实现 One-Off 表

适用于:Outlook 2013 | Outlook 2016

提供程序可能会实现一个或多个一次性表。 一次性表是用于创建收件人的一次性模板的摘要列表,可以直接进入容器或传出邮件的收件人列表中。 一次性模板是用户用于输入与特定地址类型相关的数据的表单。 当用户使用完模板后,提供商会创建新的收件人并将其添加到邮件中。 通常,每个模板处理单个地址类型。 但是,模板可以处理多个类型,也可以让多个模板处理同一类型。

提供程序必须支持它包含在一次性表中的每个模板的 OpenEntry 方法。 OpenEntry 的实现应检索模板的显示表。 MAPI 使用显示表使模板对用户可见。

尽管一次性表中的大多数行都表示模板,但某些行可用于对模板进行分类或分组。 一次性表中的行是否表示模板,由其 PR_SELECTABLE (PidTagSelectable) 列的值指示。 表示模板的行将PR_SELECTABLE列设置为 TRUE;不表示模板的行将其设置为 FALSE。

MAPI 定义了三种类型的一次性表:

  • 反映单个容器支持的模板的一次性表

  • 反映提供程序支持的所有模板的一次性表

  • 一次性表,反映配置文件中所有提供程序支持的所有模板以及 MAPI 支持的某些模板

前两种类型由支持创建收件人的提供程序实现,无论是在消息上还是容器中。 提供程序可以在其一次性表中包括同一组模板或不同的模板集。 这两种类型之间的main区别在于,提供程序表应包含用于创建可用于传出邮件的收件人的模板,而容器表应包含用于创建要添加到容器的收件人的模板。 容器可能仅支持一组受限的模板,但提供程序一次性表应包括提供程序支持的每个模板。

第三种类型的一次性表由 MAPI 实现:提供程序通过调用 IMAPISupport::GetOneOffTable 获取对它的访问权限。 MAPI 一次性表是所有提供程序表的联合;它包括配置文件中每个提供程序支持的每个模板。 它还包括 MAPI 支持的模板。 提供程序可以使用此表来代替为容器请求的表。 但是,此表中的模板也可用于创建传出邮件的收件人。