IStorage
9/8/2008
Essa interface fornece métodos para criar e gerenciar o armazenamento raiz, armazenamento filho e objetos transmitir. Esses métodos podem criar, aberto, enumerar, mover, copiar, renomear, ou excluir os elementos no objeto de armazenamento.
O IStorage interface oferece suporte a criação e gerenciamento de objetos armazenamento estruturado.
Armazenamento estruturado permite hierárquico armazenamento de informações em um único arquivo e freqüentemente é mencionado como um sistema de arquivos em um arquivo.
Elementos de um objeto armazenamento estruturado são armazenamentos e fluxos.
Armazenamentos são análogas a pastas e fluxos são análogas aos arquivos.
Em um armazenamento estruturado haverá um primário objeto armazenamento que pode conter substorages, possivelmente aninhados e fluxos.
A estrutura do objeto fornecem armazenamentos e fluxos contêm os dados, que são manipulados através de IStream interface.
Um aplicativo deve versão seu IStorage Ponteiros quando ele é feito com o objeto armazenamento para desalocar memória usada. Existem também métodos para alterar a data e tempo de um elemento.
Há um número de diferentes modos em que um objeto armazenamento e seus elementos podem ser abertos. Esses são determinadas pela configuração valores da STGM enumeração. Um aspecto disso é como as alterações são confirmadas.
Você pode definir direcionar modo, no qual as alterações para um objeto são imediatamente gravadas, ou modo de transação, na qual as alterações são gravadas uma reserva até explicitamente confirmada.
O IStorage interface fornece métodos para confirmar as alterações e reverter para a versão Last-Committed.
Outros modos armazenamento definido, de exemplo, um transmitir a ser aberto no modo somente leitura ou Read/Write modo.
Para obter mais informações, consulte o STGM enumeração.
Outros métodos fornecem um meio para obter acessar para informações sobre um objeto armazenamento e seus elementos através de STATSTG estrutura.
Quando a implementar
Geralmente, você faria não implementar essa interface, a menos que você estava definindo uma novo esquema armazenamento para seu sistema.
COM fornece uma implementação arquivo composto da IStorage interface que ofereça suporte a acessar transacionado.
COM fornece um conjunto de APIs para facilitar usando a implementação arquivo composto de objetos armazenamento auxiliar. Consulte a IStorage - de implementação de arquivo composto.
Quando usar
Chamar os métodos de IStorage Para gerenciar substorages ou fluxos dentro de atual armazenamento. Esse gerenciamento inclui a criação, abertura, ou destruir sub-storages ou fluxos, bem como o gerenciamento de aspectos como carimbos tempo e nomes.
Você pode também alterações confirmação ou reverter para versões anteriores para armazenamentos aberto no modo transacionado.
Os métodos de IStorage Não inclua meios para ler e dados de gravação. Isso é reservado para IStream, que gerencia o real dados.
Enquanto o IStorage e IStream interfaces são usadas para manipular o objeto armazenamento e seus elementos, a IPersistStorage interface contém métodos que estão chamado para serializar o objeto armazenamento e seus elementos a um arquivo em disco.
Métodos
A seguinte tabela mostra os métodos para esta interface no ordem alfabética.
Método | Descrição |
---|---|
Reflete as alterações de um objeto armazenamento transacionado no pai nível. |
|
Copia o conteúdo inteiro deste aberto objeto armazenamento em outro objeto armazenamento. |
|
Cria e abre um novo objeto armazenamento aninhado nesse objeto armazenamento. |
|
Cria e abre um objeto de fluxo com o nome especificado contido neste objeto armazenamento. Todos os elementos em um objeto armazenamento, os fluxos e outros objetos armazenamento, são mantidos no espaço de nome mesmo. |
|
Remove o armazenamento especificado ou objeto de fluxo desse objeto armazenamento. |
|
Recupera um ponteiro para um objeto enumerador que pode ser usado para enumerar os objetos de armazenamento e transmitir contidos neste objeto armazenamento. |
|
Copia ou move um objeto substorage ou transmitir desse objeto armazenamento para outro objeto armazenamento. |
|
Abre um objeto armazenamento existente com o nome especificado de acordo com o modo de acesso especificado. |
|
Abre um objeto de fluxo existentes dentro esse objeto armazenamento de acordo com o modo de acesso especificado. |
|
Renomeia o armazenamento especificado ou objeto de fluxo no objeto armazenamento. |
|
Descarta todas as alterações que foram feitas para o objeto armazenamento desde a última operação confirmação. |
|
Atribui o identificador especificado classe (CLSID) a este objeto armazenamento. |
|
Define a modificação, acessar e horários a criação de elemento de armazenamento indicado, se com suporte pela subjacente sistema de arquivos. |
|
Armazena até 32 bits do informações do estado no objeto armazenamento. |
|
Retorna o STATSTG estrutura para este aberto objeto armazenamento. |
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 2.0 and later |
Windows Mobile | Windows Mobile Version 5.0 and later |