IMAPITable::ExpandRow

适用于:Outlook 2013 | Outlook 2016

展开折叠表类别,将属于该类别的叶或较低级别的标题行添加到表视图中。

HRESULT ExpandRow(
ULONG cbInstanceKey,
LPBYTE pbInstanceKey,
ULONG ulRowCount,
ULONG ulFlags,
LPSRowSet FAR * lppRows,
ULONG FAR * lpulMoreRows
);

参数

cbInstanceKey

[in] pbInstanceKey 参数指向的 PR_INSTANCE_KEY 属性中的字节计数。

pbInstanceKey

[in]指向 PR_INSTANCE_KEY 的指针 (PidTagInstanceKey) 属性,该属性标识类别的标题行。

ulRowCount

[in] lppRows 参数中要返回的最大行数。

ulFlags

保留;必须为零。

lppRows

[out]指向 SRowSet 结构的指针,该结构接收到 ulRowCount 的第一个 (,) 由于扩展而插入到表视图中的行。 这些行插入到 pbInstanceKey 参数标识的标题行之后。 如果 ulRowCount 参数为零,则 lppRows 参数可以为 NULL。

lpulMoreRows

[out]指向添加到表视图的行总数的指针。

返回值

S_OK

已成功扩展类别。

MAPI_E_NOT_FOUND

pbInstanceKey 参数标识的行不存在。

备注

IMAPITable::ExpandRow 方法展开折叠表类别,将属于该类别的叶或较低级别的标题行添加到表视图。 可以在 ulRowCount 参数中指定 lppRows 参数中要返回的行数限制。 当 ulRowCount 设置为大于零的值,并在 lppRows 指向的行集中返回一行或多行时,书签BOOKMARK_CURRENT的位置将移动到行集中最后一行之后的行。

ulRowCount 设置为零时,请求将零叶或较低级别的标题行添加到类别,或返回零行,因为类别中没有叶或较低级别的标题行,BOOKMARK_CURRENT的位置将设置为 pbInstanceKey 标识的行后面的行。

针对实现者的说明

不要对由于类别扩展而添加到表视图的行生成通知。

给调用方的说明

lppRows 参数指向的行集中的行数可能不等于实际添加到表的行数,即类别的整个叶或较低级别的标题行集。 可能会出现错误,例如内存不足或类别中的行数超过 ulRowCount 参数中指定的数量。 在任一情况下,BOOKMARK_CURRENT都将定位在返回的最后一行。 若要立即检索类别中的其余行,请调用 IMAPITable::QueryRows

不要期望在类别更改其状态时收到表通知。 可以维护行的本地缓存,这些行可以通过每次 调用 ExpandRowCollapseRow 进行更新。

有关分类表的详细信息,请参阅 排序和分类

MFCMAPI 引用

有关 MFCMAPI 示例代码,请参阅下表。

文件 函数 Comment
ContentsTableListCtrl.cpp
CContentsTableListCtrl::D oExpandCollapse
MFCMAPI 使用 IMAPITable::ExpandRow 方法展开折叠的表类别。

另请参阅

IMAPITable::CollapseRow

IMAPITable : IUnknown

MFCMAPI 代码示例