Compartilhar via


Interface IStorage (objidl.h)

A interface IStorage dá suporte à criação e ao gerenciamento de objetos de armazenamento estruturados. O armazenamento estruturado permite o armazenamento hierárquico de informações em um único arquivo e geralmente é chamado de "um sistema de arquivos dentro de um arquivo". Elementos de um objeto de armazenamento estruturado são armazenamentos e fluxos. Os armazenamentos são análogos a diretórios e os fluxos são análogos aos arquivos. Em um armazenamento estruturado, haverá um objeto de armazenamento primário que pode conter sub-armazenamentos, possivelmente aninhados e fluxos. Os armazenamentos fornecem a estrutura do objeto e os fluxos contêm os dados, que são manipulados por meio da interface IStream .

A interface IStorage fornece métodos para criar e gerenciar o objeto de armazenamento raiz, objetos de armazenamento filho e objetos de fluxo. Esses métodos podem criar, abrir, enumerar, mover, copiar, renomear ou excluir os elementos no objeto de armazenamento.

Um aplicativo deve liberar seus ponteiros IStorage quando terminar com o objeto de armazenamento para desalocar a memória usada. Também há métodos para alterar a data e a hora de um elemento.

Há vários modos diferentes em que um objeto de armazenamento e seus elementos podem ser abertos, determinados pela definição de valores de constantes STGM. Um aspecto disso é como as alterações são confirmadas. Você pode definir o modo direto, no qual as alterações em um objeto são gravadas imediatamente nele ou no modo transacionado, no qual as alterações são gravadas em um buffer até serem confirmadas explicitamente. A interface IStorage fornece métodos para confirmar alterações e reverter para a última versão confirmada. Por exemplo, um fluxo pode ser aberto no modo somente leitura ou no modo de leitura/gravação. Para obter mais informações, consulte Constantes STGM.

Outros métodos fornecem acesso a informações sobre um objeto de armazenamento e seus elementos por meio da estrutura STATSTG .

Herança

A interface IStorage herda da interface IUnknown . O IStorage também tem estes tipos de membros:

Métodos

A interface IStorage tem esses métodos.

 
IStorage::Commit

O método Commit garante que todas as alterações feitas em um objeto de armazenamento aberto no modo transacionado sejam refletidas no armazenamento pai.
IStorage::CopyTo

Copia todo o conteúdo de um objeto de armazenamento aberto para outro objeto de armazenamento.
IStorage::CreateStorage

Cria e abre um novo objeto de armazenamento aninhado dentro desse objeto de armazenamento com o nome especificado no modo de acesso especificado.
IStorage::CreateStream

Cria e abre um objeto de fluxo com o nome especificado contido neste objeto de armazenamento.
IStorage::D estroyElement

Remove o armazenamento ou fluxo especificado desse objeto de armazenamento.
IStorage::EnumElements

O método EnumElements recupera um ponteiro para um objeto enumerador que pode ser usado para enumerar os objetos de armazenamento e fluxo contidos nesse objeto de armazenamento.
IStorage::MoveElementTo

O método MoveElementTo copia ou move um subtorage ou fluxo desse objeto de armazenamento para outro objeto de armazenamento.
IStorage::OpenStorage

Abre um objeto de armazenamento existente com o nome especificado no modo de acesso especificado.
IStorage::OpenStream

Abre um objeto de fluxo existente dentro desse objeto de armazenamento no modo de acesso especificado.
IStorage::RenameElement

O método RenameElement renomeia o subtorage ou fluxo especificado neste objeto de armazenamento.
IStorage::Revert

O método Revert descarta todas as alterações feitas no objeto de armazenamento desde a última operação de confirmação.
IStorage::SetClass

O método SetClass atribui o CLSID (identificador de classe) especificado a esse objeto de armazenamento.
IStorage::SetElementTimes

O método SetElementTimes define os tempos de modificação, acesso e criação do elemento de armazenamento especificado, se o sistema de arquivos subjacente der suporte a esse método.
IStorage::SetStateBits

O método SetStateBits armazena até 32 bits de informações de estado neste objeto de armazenamento.
IStorage::Stat

O método Stat recupera a estrutura STATSTG para esse objeto de armazenamento aberto.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 2000 Professional [aplicativos da área de trabalho | Aplicativos UWP]
Servidor mínimo com suporte Windows 2000 Server [aplicativos da área de trabalho | Aplicativos UWP]
Plataforma de Destino Windows
Cabeçalho objidl.h

Confira também

Exemplo de EnumAll

Amostras