Método IPersistStream::Save (objidl.h)
Salva um objeto no fluxo especificado.
Sintaxe
HRESULT Save(
[in] IStream *pStm,
[in] BOOL fClearDirty
);
Parâmetros
[in] pStm
Um ponteiro IStream para o fluxo no qual o objeto deve ser salvo.
[in] fClearDirty
Indica se o sinalizador de sujo deve ser limpo após a conclusão do salvamento. Se TRUE, o sinalizador deverá ser limpo. Se FALSE, o sinalizador deverá ser deixado inalterado.
Valor retornado
Esse método pode retornar os valores a seguir.
Código de retorno | Descrição |
---|---|
|
O método foi concluído com sucesso. |
|
O objeto não pôde se salvar no fluxo. Esse erro pode indicar, por exemplo, que o objeto contém outro objeto que não é serializável para um fluxo ou que uma chamada ISequentialStream::Write retornou STG_E_CANTSAVE. |
|
Não foi possível salvar o objeto porque não há espaço no dispositivo de armazenamento. |
Comentários
IPersistStream::Save salva um objeto no fluxo especificado e indica se o objeto deve redefinir seu sinalizador sujo.
O ponteiro seek é posicionado no local no fluxo no qual o objeto deve começar a gravar seus dados. O objeto chama o método ISequentialStream::Write para gravar seus dados.
Na saída, o ponteiro seek deve ser posicionado imediatamente após os dados do objeto. A posição do ponteiro seek será indefinida se um erro retornar.
Anotações aos Chamadores
Em vez de chamar IPersistStream::Save diretamente, você normalmente chama a função auxiliar OleSaveToStream , que faz o seguinte:- Chama GetClassID para obter o CLSID do objeto.
- Chama a função WriteClassStm para gravar o CLSID do objeto no fluxo.
- Chama IPersistStream::Save.
A implementação fornecida por OLE de IPersistStream segue esse mesmo padrão.
Observações aos implementadores
O método IPersistStream::Save não grava o CLSID no fluxo. O chamador é responsável por escrever o CLSID.O método IPersistStream::Save pode ler, gravar e buscar no fluxo; mas não deve buscar um local no fluxo antes do ponteiro de busca na entrada.
Notas do Moniker de URL
Salva um moniker de URL em um fluxo. O formato binário do moniker de URL é sua cadeia de caracteres de URL em Unicode (pode ser uma cadeia de caracteres de URL completa ou parcial, consulte CreateURLMonikerEx para obter detalhes). Isso é representado como uma contagem ULONG de caracteres seguidos por tantos caracteres Unicode.Requisitos
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 |