Compartilhar via


IPersistFile

Windows Mobile SupportedWindows Embedded CE Supported

9/8/2008

Essa interface fornece métodos que permitem um objeto a ser carregado a partir ou salvos em um arquivo em disco, em vez de fazê-lo um objeto armazenamento ou transmitir.

Porque as informações necessárias para aberto um arquivo varia bastante de um aplicativo para outro, a implementação de IPersistFile::Load Sobre o objeto deve também aberto seu arquivo em disco.

O IPersistFile interface herda sua definição de IPersist, portanto, todas as implementações também devem incluir o GetClassID método de IPersist.

Quando a implementar

Implementar IPersistFile Quando você desejar ler ou informações de gravação de um separar arquivo, que pode ser de qualquer formato arquivo.

Esta interface deve ser implementado em quaisquer objetos que suporte vinculação através de moniker um arquivo, incluindo o seguinte:

  • Qualquer objeto que ofereça suporte a links para seus arquivos ou para pseudo-Objects em seus arquivos
  • Um aplicativo contêiner que ofereça suporte a vínculos para objetos em seu arquivo composto

Normalmente, você implementar a IPersistFile interface como parte de um agregado objeto que inclui outras interfaces que são apropriado para o tipo de ligação moniker que é com suporte.

Por exemplo, em um dos casos mencionados acima, o moniker para o objeto vinculado pode ser uma composição moniker. Na primeira maiúsculas e minúsculas, uma composição moniker identifica o pseudo-Object contido o arquivo. Em maiúsculas e minúsculas a segunda, uma composição moniker identifica o objeto incorporado contidos o arquivo composto.

Em ambos os maiúsculas e minúsculas de composição identificadores de origem, você deve implementar o IPersistFile interface como parte o mesmo objeto no qual o IOleItemContainer interface está implementado. Em seguida, quando o aplicativo para o objeto vinculado é executar, OLE consultas para o IOleItemContainer interface para localizar a objeto incorporado ou o pseudo-Object contido o arquivo.

Como outro exemplo, se o moniker é um simples arquivo moniker (de exemplo, o link é para o arquivo inteiro), consultas OLE para a interface que solicitou o iniciador da operação de ligação. Normalmente, isso é uma das interfaces documento composto, como IOleObject Ou IPersistStorage.

Quando usar

Chamar métodos na IPersistFile interface para carregar ou salvar um objeto vinculado em um arquivo especificado.

Quando IPersistFile é implementada em um objeto que ofereça suporte a vinculação através de um arquivo moniker e o aplicativo para o objeto vinculado é executar, chamadas OLE IPersistFile::Load. Depois que o arquivo é carregado, OLE chamadas IPersistFile::QueryInterface Para get outro ponteiro interface para o objeto carregado. O IPersistFile interface é geralmente parte um agregado objeto que oferece outras interfaces.

Neste maiúsculas e minúsculas, a única IPersistFile método que chama OLE é o método Load para carregar um arquivo vinculado a um contêiner, execução de aplicativo associado com o arquivo. Também seria incomuns para aplicativos chamar outros métodos neste maiúsculas e minúsculas, que suporte Salvar um objeto em um arquivo.

Geralmente, ela é da esquerda para o usuário e o aplicativo para o objeto vinculado para decidir quando para salvar o objeto. Esta difere da situação de uma objeto incorporado, no qual o aplicativo contêiner usa o IPersistStorage interface para fornecer o armazenamento e informe o objeto quando salvar próprio.

Métodos na ordem TabelaV

Método IUnknown Descrição

Falha de QueryInterface

Retorna os ponteiros para com suporte interfaces.

AddRef

Incrementa a contagem de referência.

Lançamento

Diminui o contagem de referência.

Método IPersist Descrição

GetClassID

Retorna o identificador classe (CLSID) para o objeto componente.

Método IPersistFile Descrição

IsDirty

Verifica um objeto para salvar as alterações desde que ele foi último sua atual arquivo.

Carga

Abre o arquivo especificado e inicializa um objeto do conteúdo de arquivo.

Salvar

Salva o objeto para o arquivo especificado.

SaveCompleted

Notifica o objeto que ela pode reverter de modo NoScribble ao modo normal.

GetCurFile

Obtém o atual Nome do arquivo associado com o objeto.

Remarks

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

Requisitos

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