Compartilhar via


Método IOleUndoUnit::D o (ocidl.h)

Instrui a unidade de desfazer a executar sua ação. Observe que, se ele contiver unidades de desfazer filho, também deverá chamar seus métodos Do.

Sintaxe

HRESULT Do(
  [in] IOleUndoManager *pUndoManager
);

Parâmetros

[in] pUndoManager

Um ponteiro para o gerenciador de desfazer. Consulte IOleUndoManager.

Retornar valor

Esse método retorna S_OK em caso de êxito.

Comentários

A unidade de desfazer é responsável por realizar sua ação. Executar sua própria ação de desfazer resulta em outra ação que pode potencialmente ser revertida. No entanto, se pUndoManager for NULL, a unidade de desfazer deverá executar sua ação de desfazer, mas não deverá tentar colocar nada na pilha refazer ou desfazer.

Se pUndoManager não for NULL, a unidade será necessária para colocar uma unidade correspondente na pilha refazer ou desfazer. Como resultado, esse método move-se para a pilha refazer ou desfazer, ou cria uma nova unidade de desfazer e a adiciona à pilha apropriada. Depois de criar uma nova unidade de desfazer, essa unidade de desfazer chama IOleUndoManager::Open ou IOleUndoManager::Add. O gerenciador de desfazer colocará a nova unidade de desfazer na pilha desfazer ou refazer, dependendo do estado atual.

Uma unidade pai deve passar para seus filhos o mesmo gerenciador de desfazer, possivelmente NULL, que foi dado ao pai. É permitido, mas não necessário, quando pUndoManager é NULL para abrir uma unidade pai na pilha refazer ou desfazer, desde que ela não seja confirmada. Uma unidade pai bloqueada garante que nada seja adicionado à pilha por unidades filho.

Se essa unidade desfazer for uma unidade pai, ela deverá se colocar na pilha refazer ou desfazer antes de chamar o método Do em seus filhos.

Depois de chamar esse método, o gerenciador de desfazer deve liberar a unidade de desfazer.

Observações aos implementadores

Consulte a interface IOleUndoManager para obter estratégias de tratamento de erros para desfazer unidades. A estratégia de tratamento de erros afeta a implementação desse método, especialmente para unidades pai.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho ocidl.h

Confira também

IOleUndoManager::Add

IOleUndoManager::Open

IOleUndoUnit