Compartilhar via


IPersistStorage::Load

Windows Mobile SupportedWindows Embedded CE Supported

9/8/2008

Thismethod carrega um objeto do seu armazenamento existente.

Syntax

HRESULT Load( 
  IStorage* pStg
);

Parameters

  • pStg
    [no] IStorage ponteiro para o armazenamento existente a partir da qual o objeto é para ser carregado.

Return Value

A seguinte tabela mostra os valores de retorno para este método.

Valor Descrição

S_OK

O objeto foi carregado com êxito.

CO_E_ALREADYINITIALIZED

O objeto já foi inicializado por um chamar anterior para o IPersistStorage::Load método ou a IPersistStorage::InitNew método.

E_OUTOFMEMORY

O objeto não foi carregado devido a falta de memória.

E_FAIL

O objeto não foi carregado devido a alguns motivos além uma falta de memória.

Remarks

Este método Inicializa um objeto de um armazenamento existente. O objeto é colocado no estado carregado se esse método é chamado pelo aplicativo de contêiner. Se chamado pelo manipulador de usar como padrão, este método coloca o objeto de execução estado.

O manipulador usar como padrão ou o próprio objeto pode conter até a IStorage ponteiro enquanto o objeto é carregado ou execução.

Para determinar se a plataforma oferece suporte a esta interface, consulte Determinando suporte COM APIs.

Notas para chamadores

O contêiner deve armazenar em cache o IPersistStorage ponteiro para uso em operações posteriores no objeto.

Notas para Implementers

A implementação deve executar a seguinte etapas para carregar um objeto:

  1. Abrir do o objeto fluxos no objeto armazenamento e ler os dados necessários para dados interno do objeto estruturas.
  2. Clear sinalizador sujo do objeto.
  3. Chamar o IPersistStorage::AddRef método e armazenar em cache o passado no ponteiro armazenamento.
  4. Mantenha aberto e armazenar em cache os ponteiros para todos os fluxos ou armazenamentos que o objeto precisará salvar próprio para este armazenamento.
  5. Executar qualquer outra inicialização usar como padrão exigido para o objeto.

As etapas 3 e 4 são particularmente importantes para assegurar que o objeto pode salvar próprio em situações memória baixa. Controladora até os ponteiros para as interfaces armazenamento e transmitir garante que um salvar operação para esse armazenamento não falhará devido a memória insuficiente.

Sua implementação desse método deve retornar o código de erro CO_E_ALREADYINITIALIZED se ele recebe um chamar para o IPersistStorage::InitNew método ou a IPersistStorage::Load método após ele já foi inicializado.

Requirements

Header objidl.h, objidl.idl
Library ole32.lib, uuid.lib
Windows Embedded CE Windows CE 2.0 and later
Windows Mobile Windows Mobile Version 5.0 and later

See Also

Reference

IStorage
IPersistStorage
IPersistStorage::InitNew