共用方式為


IOleUndoManager::D iscardFrom 方法 (ocidl.h)

指示覆原管理員捨棄指定的復原單位,以及復原或重做堆疊上其下方的所有復原單位。

語法

HRESULT DiscardFrom(
  [in] IOleUndoUnit *pUU
);

參數

[in] pUU

要捨棄之復原單位的 IOleUndoUnit 指標。 此參數可以是 Null ,可捨棄整個復原或重做堆疊。 如果參數不是 Null ,則不會捨棄堆疊。

傳回值

此方法會在成功時傳回S_OK。 其他可能的傳回值包括下列專案。

傳回碼 描述
E_INVALIDARG
在堆疊中找不到指定的復原單位。
E_UNEXPECTED
復原管理員已停用。

備註

復原管理員會先搜尋指定單位的復原堆疊,如果找不到,則會搜尋重做堆疊。 找到之後,會捨棄位於相同堆疊上的指定單位及其下方的所有單位。 復原單位可能是復原管理員所包含父單位的子系,由呼叫 IOleParentUndoUnit::FindUnit所決定。 如果是子單位,則會捨棄包含指定單位的根單位,以及適當堆疊上其下方的所有單位。

如果有開啟的父單位,而且呼叫 DiscardFrom 方法且 pUU 參數為 Null,則復原管理員應該立即釋放並捨棄開啟的父單位,而不先呼叫 IOleUndoManager::Close 。 當開啟父單位的物件嘗試關閉它時, IOleUndoManager::Close 會傳回S_FALSE。 如果父單位已開啟,請將它擲回並捨棄堆疊。 如果父單位未開啟,只要將堆疊擲回即可。 如果 pUU 參數不是 Null,則任何開啟的父單位都應該保持開啟狀態。

需求

   
最低支援的用戶端 Windows 2000 Professional [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限桌面應用程式]
目標平台 Windows
標頭 ocidl.h

另請參閱

IOleParentUndoUnit::FindUnit

IOleUndoManager

IOleUndoManager::Close