Compartilhar via


Função OleSave (ole2.h)

Salva um objeto aberto no modo transacionado no objeto de armazenamento especificado.

Sintaxe

HRESULT OleSave(
  [in] LPPERSISTSTORAGE pPS,
  [in] LPSTORAGE        pStg,
  [in] BOOL             fSameAsLoad
);

Parâmetros

[in] pPS

Ponteiro para a interface IPersistStorage no objeto a ser salvo.

[in] pStg

Ponteiro para a interface IStorage no objeto de armazenamento de destino ao qual o objeto indicado no pPS deve ser salvo.

[in] fSameAsLoad

TRUE indica que pStg é o mesmo objeto de armazenamento do qual o objeto foi carregado ou criado; FALSE indica que pStg foi carregado ou criado de um objeto de armazenamento diferente.

Retornar valor

Essa função retorna S_OK com êxito. Outros valores possíveis incluem o seguinte.

Código de retorno Descrição
STGMEDIUM_E_FULL
O objeto não pôde ser salvo devido à falta de espaço em disco.

Essa função também pode retornar qualquer um dos valores de erro retornados pelo método IPersistStorage::Save .

Comentários

A função auxiliar OleSave lida com a situação comum em que um objeto está aberto no modo transacionado e, em seguida, deve ser salvo no objeto de armazenamento especificado que usa a implementação de arquivo composto fornecida por OLE. O modo transacionado significa que as alterações no objeto são armazenadas em buffer até que qualquer um dos IStorage::Commit ou IStorage::Revert seja chamado. Os chamadores podem lidar com outras situações chamando as interfaces IPersistStorage e IStorage diretamente.

O oleSave faz o seguinte:

Nota Objetos estáticos são salvos em um fluxo chamado CONTENTS. Os objetos de metafile estáticos são salvos em "formato de metafile colocável" e os dados DIB estáticos são salvos no "formato de arquivo DIB". Esses formatos são definidos como os padrões OLE para metarquivo e DIB. Todos os dados transferidos usando uma interface IStream ou um arquivo (ou seja, por meio de IDataObject::GetDataHere) devem estar nesses formatos. Além disso, todos os objetos cujo formato de arquivo padrão é um metarquivo ou DIB devem gravar seus dados em um fluxo CONTENTS usando esses formatos padrão.
 

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 ole2.h
Biblioteca Ole32.lib
DLL Ole32.dll
Conjunto de APIs ext-ms-win-com-ole32-l1-1-3 (introduzido no Windows 10, versão 10.0.10240)

Confira também

Ipersiststorage

IStorage