IPersistFile
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 |
---|---|
Retorna os ponteiros para com suporte interfaces. |
|
Incrementa a contagem de referência. |
|
Diminui o contagem de referência. |
Método IPersist | Descrição |
---|---|
Retorna o identificador classe (CLSID) para o objeto componente. |
Método IPersistFile | Descrição |
---|---|
Verifica um objeto para salvar as alterações desde que ele foi último sua atual arquivo. |
|
Abre o arquivo especificado e inicializa um objeto do conteúdo de arquivo. |
|
Salva o objeto para o arquivo especificado. |
|
Notifica o objeto que ela pode reverter de modo NoScribble ao modo normal. |
|
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 |