IPersistStreamInit::Save
9/8/2008
Esse método salva um objeto para a transmitir especificado.
Syntax
HRESULT Save(
LPSTREAM pStm,
BOOL fClearDirty
);
Parameters
- pStm
[no] Ponteiro IStream para a transmitir no qual o objeto deve ser salvo.
- fClearDirty
[no] Indica se Clear o sinalizador sujo depois de salvar estiver completo. Se TRUE, o sinalizador deve ser limpos. Se FALSE, o sinalizador deve ser deixado inalterado.
Return Value
- S_OK
O objeto foi salvo com êxito a transmitir.
- STG_E_CANTSAVE
O objeto não pôde salvar próprio para a transmitir. Esse erro pode indicar, de exemplo, que o objeto contém outro objeto que não seja serializado para um transmitir ou que um ISequentialStream::Write chamar retornou STG_E_CANTSAVE.
- STG_E_MEDIUMFULL
O objeto não pôde ser salvo porque não há nenhum espaço deixadas no dispositivo de armazenamento.
Remarks
IPersistStream::Save Salva um objeto para a transmitir especificado e indica se o objeto deverá redefinir seu sinalizador sujo.
O ponteiro de busca posicionado a localidade na transmitir no qual o objeto deve começar a escrever seus dados. Chamadas de objeto a ISequentialStream::Write método para gravar seus dados.
Em sair, o ponteiro buscar deve ser posicionado imediatamente após os dados objeto. É a posição do ponteiro de busca indefinido se retorna um erro.
Para determinar se a plataforma oferece suporte a esta interface, consulte Determinando suporte COM APIs.
Notas para chamadores
Rather than chamado IPersistStream::Save diretamente, você geralmente chamar o OleSaveToStream função auxiliar, que faz o seguinte:
- Chamadas IPersistStreamInit::GetClassIDPara get o objeto é CLSID.
- Chamadas de WriteClassStm função de gravar do o objeto CLSID para a transmitir.
- Chamadas IPersistStream::Save.
Se você chamar esses métodos diretamente, você pode escrever outros dados para a transmitir após o CLSID antes chamado IPersistStream::Save.
A implementação do OLE-provided IPersistStreamInit segue esta mesma padrão.
Notas para Implementers
O IPersistStream::Save método não grava o CLSID para a transmitir. O chamador é responsável por gravar a CLSID.
O IPersistStream::Save método pode ler a partir, Gravação para e buscar na transmitir; mas ele não deve busca para uma localidade na transmitir antes que o ponteiro de busca na entrada.
Requirements
Header | ocidl.h, ocidl.idl |
Library | ole32.lib, uuid.lib |
Windows Embedded CE | Windows CE 3.0 and later |
Windows Mobile | Windows Mobile Version 5.0 and later |
See Also
Reference
IPersist::GetClassID
ISequentialStream::Write
OleSaveToStream