IMAPITable::CreateBookmark

适用于:Outlook 2013 | Outlook 2016

在表的当前位置创建书签。

HRESULT CreateBookmark(
BOOKMARK FAR * lpbkPosition
);

参数

lpbkPosition

[out]指向返回的 32 位书签值的指针。 此书签稍后可以在对 IMAPITable::SeekRow 方法的调用中传递。

返回值

S_OK

调用成功,并返回了预期的值。

MAPI_E_UNABLE_TO_COMPLETE

无法完成请求的操作。

备注

IMAPITable::CreateBookmark 方法通过创建名为书签的值来标记表位置。 书签可用于返回到书签标识的位置。 带书签的位置与表中该行的 对象相关联。

附件表不支持书签, CreateBookmark 的附件表实现返回MAPI_E_NO_SUPPORT。

针对实现者的说明

由于使用书签维护游标位置会产生内存开销,因此请限制可以创建的书签数。 达到该数字时,从对 CreateBookmark 的所有后续调用中返回MAPI_E_UNABLE_TO_COMPLETE。

有时,书签指向表视图中不再包含的行。 如果调用方使用此类书签,请将光标移动到下一个可见行并停止。

当调用方尝试使用一个书签,该书签指向不可见行,因为该行已被折叠,请在移动书签后返回MAPI_W_POSITION_CHANGED。 此时或在 SetCollapseState 方法中发生折叠时,可以将书签重新定位到下一个可见行。 如果在折叠行时移动书签,则必须在书签中保留一个位,以准确指示书签的移动时间:自上次使用以来或创建后从未使用过书签。

给调用方的说明

CreateBookmark 为其创建的书签分配内存。 通过调用 IMAPITable::FreeBookmark 方法释放书签的资源。

另请参阅

IMAPITable::FreeBookmark

IMAPITable::SeekRow

IMAPITable : IUnknown