Compartilhar via


Classe IPersistStorageImpl

Essa classe implementa a interface IPersistStorage.

Importante

Essa classe e os respectivos membros não podem ser usados em aplicativos executados no Windows Runtime.

Sintaxe

template <class T>
class ATL_NO_VTABLE IPersistStorageImpl : public IPersistStorage

Parâmetros

T
Sua classe, derivada de IPersistStorageImpl.

Membros

Métodos públicos

Nome Descrição
IPersistStorageImpl::GetClassID Recupera o CLSID do objeto.
IPersistStorageImpl::HandsOffStorage Instrui o objeto a liberar todos os objetos de armazenamento e entrar no modo HandsOff. A implementação da ATL retorna S_OK.
IPersistStorageImpl::InitNew Inicializa um novo armazenamento.
IPersistStorageImpl::IsDirty Verifica se os dados do objeto foram alterados desde que ele foi salvo pela última vez.
IPersistStorageImpl::Load Carrega as propriedades do objeto do armazenamento especificado.
IPersistStorageImpl::Save Salva as propriedades do objeto no armazenamento especificado.
IPersistStorageImpl::SaveCompleted Notifica um objeto que ele pode retornar ao modo Normal para gravar em seu objeto de armazenamento. A implementação da ATL retorna S_OK.

Comentários

IPersistStorageImpl implementa a interface IPersistStorage, que permite que um cliente solicite que seu objeto carregue e salve os dados persistentes usando um armazenamento.

A implementação dessa classe requer que a classe T disponibilize uma implementação da interface IPersistStreamInit por meio de QueryInterface. Normalmente, isso significa que a classe T deve derivar de IPersistStreamInitImpl, fornecer uma entrada para IPersistStreamInit no mapa do COM e usar um mapa de propriedades para descrever os dados persistentes da classe.

Artigos relacionados Tutorial da ATL, criando um projeto da ATL

Hierarquia de herança

IPersistStorage

IPersistStorageImpl

Requisitos

Cabeçalho: atlcom.h

IPersistStorageImpl::GetClassID

Recupera o CLSID do objeto.

STDMETHOD(GetClassID)(CLSID* pClassID);

Comentários

Confira IPersist::GetClassID no SDK do Windows.

IPersistStorageImpl::HandsOffStorage

Instrui o objeto a liberar todos os objetos de armazenamento e entrar no modo HandsOff.

STDMETHOD(HandsOffStorage)(void);

Valor de retorno

Returns S_OK.

Comentários

Confira IPersistStorage::HandsOffStorage no SDK do Windows.

IPersistStorageImpl::InitNew

Inicializa um novo armazenamento.

STDMETHOD(InitNew)(IStorage*);

Comentários

A implementação da ATL delega para a interface IPersistStreamInit.

Confira IPersistStorage:InitNew no SDK do Windows.

IPersistStorageImpl::IsDirty

Verifica se os dados do objeto foram alterados desde que ele foi salvo pela última vez.

STDMETHOD(IsDirty)(void);

Comentários

A implementação da ATL delega para a interface IPersistStreamInit.

Confira IPersistStorage:IsDirty no SDK do Windows.

IPersistStorageImpl::Load

Carrega as propriedades do objeto do armazenamento especificado.

STDMETHOD(Load)(IStorage* pStorage);

Comentários

A implementação da ATL delega para a interface IPersistStreamInit. Load usa um fluxo chamado "Conteúdo" para recuperar os dados do objeto. O método Save cria originalmente esse fluxo.

Confira IPersistStorage:Load no SDK do Windows.

IPersistStorageImpl::Save

Salva as propriedades do objeto no armazenamento especificado.

STDMETHOD(Save)(IStorage* pStorage, BOOL fSameAsLoad);

Comentários

A implementação da ATL delega para a interface IPersistStreamInit. Quando Save é chamado pela primeira vez, ele cria um fluxo chamado "Conteúdo" no armazenamento especificado. Esse fluxo é usado em chamadas posteriores para Save e em chamadas para Load.

Confira IPersistStorage:Save no SDK do Windows.

IPersistStorageImpl::SaveCompleted

Notifica um objeto que ele pode retornar ao modo Normal para gravar em seu objeto de armazenamento.

STDMETHOD(SaveCompleted)(IStorage*);

Valor de retorno

Returns S_OK.

Comentários

Confira IPersistStorage:SaveCompleted no SDK do Windows.

Confira também

Armazenamentos e fluxos
Classe IPersistStreamInitImpl
Classe IPersistPropertyBagImpl
Visão geral da aula