Compartilhar via


Método IOleUndoUnit::OnNextAdd (ocidl.h)

Notifica a última unidade de desfazer na coleção de que uma nova unidade foi adicionada.

Sintaxe

HRESULT OnNextAdd();

Retornar valor

As implementações desse método sempre retornam S_OK. O tipo de retorno HRESULT é usado apenas para remotabilidade.

Comentários

Um objeto pode criar uma unidade desfazer para uma ação e adicioná-la ao gerenciador de desfazer, mas pode continuar inserindo dados nele por meio de interfaces privadas. Quando a unidade de desfazer recebe uma chamada para esse método, ela se comunica novamente com o objeto de criação que o contexto mudou. Em seguida, o objeto de criação para de inserir dados na unidade de desfazer.

A unidade de desfazer pai chama esse método em sua unidade de desfazer filho adicionada mais recentemente para notificar a unidade filho de que o contexto foi alterado e uma nova unidade de desfazer foi adicionada.

Por exemplo, esse método é usado para dar suporte a ações difusas, como digitação, que não têm um ponto claro de término, mas são encerradas somente quando algo mais acontece.

Esse método nem sempre poderá ser chamado se o gerenciador de desfazer ou uma unidade pai aberta optar por descartar a unidade chamando IUnknown::Release . Qualquer conexão que alimente dados para a unidade de desfazer nos bastidores por meio de interfaces privadas não deve ser IUnknown::AddRef da unidade de desfazer.

Anotações aos implementadores

Observe que as unidades pai apenas delegam esse método à unidade filho adicionada mais recentemente. Uma unidade pai deve encerrar a comunicação por meio de interfaces privadas quando for fechada. Uma unidade pai sabe que está sendo fechada quando recebe S_FALSE de chamar IOleParentUndoUnit::Close.

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

IOleParentUndoUnit::Close

IOleUndoUnit