Metodo IOleUndoManager::D iscardFrom (ocidl.h)

Indica al gestore di annullamento di rimuovere l'unità di annullamento specificata e tutte le unità di annullamento sotto di esso nello stack di annullamento o rollforward.

Sintassi

HRESULT DiscardFrom(
  [in] IOleUndoUnit *pUU
);

Parametri

[in] pUU

Puntatore IOleUndoUnit all'unità di annullamento da rimuovere. Questo parametro può essere NULL per eliminare l'intero stack di annullamento o rollforward. Se il parametro non è NULL , lo stack non verrà eliminato.

Valore restituito

Questo metodo restituisce S_OK se l'operazione ha esito positivo. Gli altri valori restituiti possibili includono i seguenti:

Codice restituito Descrizione
E_INVALIDARG
L'unità di annullamento specificata non è stata trovata negli stack.
E_UNEXPECTED
Il gestore di annullamento è disabilitato.

Commenti

Il gestore di annullamento cerca innanzitutto lo stack di annullamento per l'unità specificata e, se non viene trovato, cerca lo stack di rollforward. Dopo che è stato trovato, l'unità specificata e tutte sotto di esso nello stesso stack vengono eliminate. L'unità di annullamento può essere un elemento figlio di un'unità padre contenuta dal gestore di annullamento, come determinato chiamando IOleParentUndoUnit::FindUnit. Se si tratta di un'unità figlio, l'unità radice contenente l'unità specificata e tutte le unità sottostanti nello stack appropriato vengono eliminate.

Se è presente un'unità padre aperta e viene chiamato il metodo DiscardFrom e il parametro pUU è NULL, il gestore di annullamento deve rilasciare immediatamente ed eliminare l'unità padre aperta senza chiamare prima IOleUndoManager::Close . Quando l'oggetto che ha aperto l'unità padre tenta di chiuderlo, IOleUndoManager::Close restituirà S_FALSE. Se un'unità padre è aperta, eliminarla ed eliminarla. Se l'unità padre non è aperta, buttare lo stack via. Se il parametro pUU non è NULL, tutte le unità padre aperte devono essere lasciate aperte.

Requisiti

   
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione ocidl.h

Vedi anche

IOleParentUndoUnit::FindUnit

IOleUndoManager

IOleUndoManager::Close