Compartilhar via


IPersistStreamInit::Save

Windows Mobile SupportedWindows Embedded CE Supported

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:

  1. Chamadas IPersistStreamInit::GetClassIDPara get o objeto é CLSID.
  2. Chamadas de WriteClassStm função de gravar do o objeto CLSID para a transmitir.
  3. 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