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 使用 lpAllocateBuffer、 lpAllocateMore 和 lpFreeBuffer 指向的函数进行大多数内存分配和解除分配,特别是在调用对象接口(如 IMAPIProp::GetProps 和 IMAPITable::QueryRows)时分配内存供客户端应用程序使用。
给调用方的说明
从对话框资源中读取所有可能内容,包括:
从资源中的对话框标题读取 DTBLPAGE 结构的 ulbLpszLabel 成员的页面标题。
从资源中的控件文本读取其他控件结构的所有控件标题 ,即 ulbLpszLabel 成员。
BuildDisplayTable 使用来自对话资源的信息覆盖输入控件结构中传递的任何内容,这意味着 BuildDisplayTable 的调用方无法动态指定页面或控件标题。 需要执行此操作的调用方可以让 BuildDisplayTable 返回 lppTableData 中的表数据对象并更改其中行;或者,他们可以改为在表数据对象中手动生成显示表。
如果 lppTableData 未设置为 NULL,则提供程序负责在完成显示表时释放表数据对象。