BuildDisplayTable

适用于:Outlook 2013 | Outlook 2016

根据一个或多个 DTPAGE 结构中包含的属性页数据创建显示表。

属性
标头文件:
Mapiutil.h
实现者:
MAPI
调用者:
服务提供程序
STDAPI BuildDisplayTable(
  LPALLOCATEBUFFER lpAllocateBuffer,
  LPALLOCATEMORE lpAllocateMore,
  LPFREEBUFFER lpFreeBuffer,
  LPMALLOC lpMalloc,
  HINSTANCE hInstance,
  UINT cPages,
  LPDTPAGE lpPage,
  ULONG ulFlags,
  LPMAPITABLE * lppTable,
  LPTABLEDATA * lppTblData
);

参数

lpAllocateBuffer

[in]指向 MAPIAllocateBuffer 函数的指针,用于分配内存。

lpAllocateMore

[in]指向 MAPIAllocateMore 函数的指针,用于分配额外的内存。

lpFreeBuffer

[in]指向 MAPIFreeBuffer 函数的指针,用于释放内存。

lpMalloc

闲置;应设置为 NULL。

hInstance

[in]MapI 对象的实例, BuildDisplayTable 从中检索资源。

cPages

[in]lpPage 参数指向的数组中的 DTPAGE 结构的计数。

lpPage

[in]指向 DTPAGE 结构的数组的指针,这些结构包含有关要生成的显示表页的信息。

ulFlags

[in]标志的位掩码。 可以设置以下标志:

MAPI_UNICODE

传入的字符串采用 Unicode 格式。 如果未设置MAPI_UNICODE标志,则字符串采用 ANSI 格式。

lppTable

[out]指向显示表的指针的指针,该表公开 IMAPITable 接口。

lppTblData

[in,out]指向表数据对象的指针的指针,该对象在 lppTable 参数中返回的表上公开 ITableData 接口。 如果不需要表数据对象,应将 lppTblData 设置为 NULL,而不是指针值。

返回值

None

备注

MAPI 使用 lpAllocateBufferlpAllocateMorelpFreeBuffer 指向的函数进行大多数内存分配和解除分配,特别是在调用对象接口(如 IMAPIProp::GetPropsIMAPITable::QueryRows)时分配内存供客户端应用程序使用。

给调用方的说明

从对话框资源中读取所有可能内容,包括:

  • 从资源中的对话框标题读取 DTBLPAGE 结构的 ulbLpszLabel 成员的页面标题。

  • 从资源中的控件文本读取其他控件结构的所有控件标题 ,即 ulbLpszLabel 成员。

BuildDisplayTable 使用来自对话资源的信息覆盖输入控件结构中传递的任何内容,这意味着 BuildDisplayTable 的调用方无法动态指定页面或控件标题。 需要执行此操作的调用方可以让 BuildDisplayTable 返回 lppTableData 中的表数据对象并更改其中行;或者,他们可以改为在表数据对象中手动生成显示表。

如果 lppTableData 未设置为 NULL,则提供程序负责在完成显示表时释放表数据对象。