Compartilhar via


Método IPersistFile::Save (objidl.h)

Salva uma cópia do objeto no arquivo especificado.

Sintaxe

HRESULT Save(
  [in] LPCOLESTR pszFileName,
  [in] BOOL      fRemember
);

Parâmetros

[in] pszFileName

O caminho absoluto do arquivo no qual o objeto deve ser salvo. Se pszFileName for NULL, o objeto deverá salvar seus dados no arquivo atual, se houver um.

[in] fRemember

Indica se o parâmetro pszFileName deve ser usado como o arquivo de trabalho atual. Se TRUE, pszFileName se tornará o arquivo atual e o objeto deverá limpar seu sinalizador sujo após o salvamento. Se FALSE, essa operação de salvamento será uma operação Salvar uma Cópia como ... . Nesse caso, o arquivo atual permanece inalterado e o objeto não deve limpar seu sinalizador de sujo. Se pszFileName for NULL, a implementação deverá ignorar o sinalizador fRemember .

Retornar valor

Se o objeto tiver sido salvo com êxito, o valor retornado será S_OK. Caso contrário, será S_FALSE. Esse método também pode retornar vários erros de armazenamento.

Comentários

Esse método pode ser chamado para salvar um objeto no arquivo especificado de uma das três maneiras:

O implementador deve detectar qual tipo de operação de salvamento o chamador está solicitando. Se o parâmetro pszFileName for NULL, um Save será solicitado. Se o parâmetro pszFileName não for NULL, use o valor do parâmetro fRemember para distinguir entre um Save As e um Save a Copy As.

Em operações Salvar ou Salvar como, IPersistFile::Save limpa o sinalizador de sujo interno após salvar e envia notificações IAdviseSink::OnSave para qualquer conexão de consultoria (consulte também IOleAdviseHolder::SendOnSave). Além disso, nessas operações, o objeto está no modo NoScribble até receber uma chamada IPersistFile::SaveCompleted . No modo NoScribble, o objeto não deve gravar no arquivo.

No cenário Salvar como , a implementação também deve enviar notificações IAdviseSink::OnRename para quaisquer conexões de consultoria (consulte também IOleAdviseHolder::SendOnRename).

No cenário Salvar uma Cópia como, a implementação não limpa o sinalizador de sujo interno após o salvamento.

Anotações para chamadores

O OLE não chama IPersistFile::Save. Normalmente, os aplicativos não o chamariam a menos que estivessem salvando um objeto em um arquivo diretamente, que geralmente é deixado para o usuário final.

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 objidl.h

Confira também

IPersistFile