Condividi tramite


Interfaccia IStorage (objidl.h)

L'interfaccia IStorage supporta la creazione e la gestione di oggetti di archiviazione strutturati. L'archiviazione strutturata consente l'archiviazione gerarchica delle informazioni all'interno di un singolo file e viene spesso definita "file system all'interno di un file". Gli elementi di un oggetto di archiviazione strutturato sono archivi e flussi. Le risorse di archiviazione sono analoghe alle directory e i flussi sono analoghi ai file. All'interno di una risorsa di archiviazione strutturata sarà presente un oggetto di archiviazione primario che può contenere sottostorage, possibilmente annidati e flussi. Le risorse di archiviazione forniscono la struttura dell'oggetto e i flussi contengono i dati, che vengono modificati tramite l'interfaccia IStream .

L'interfaccia IStorage fornisce metodi per creare e gestire l'oggetto di archiviazione radice, gli oggetti di archiviazione figlio e gli oggetti flusso. Questi metodi possono creare, aprire, enumerare, spostare, copiare, rinominare o eliminare gli elementi nell'oggetto di archiviazione.

Un'applicazione deve rilasciare i puntatori IStorage quando viene eseguita con l'oggetto di archiviazione per deallocare la memoria usata. Esistono anche metodi per modificare la data e l'ora di un elemento.

Esistono diverse modalità in cui è possibile aprire un oggetto di archiviazione e i relativi elementi, determinando i valori delle costanti STGM. Un aspetto di questo è il commit delle modifiche. È possibile impostare la modalità diretta, in cui le modifiche apportate a un oggetto vengono scritte immediatamente o in modalità transazionata, in cui le modifiche vengono scritte in un buffer finché non viene eseguito il commit esplicito. L'interfaccia IStorage fornisce metodi per il commit delle modifiche e il ripristino all'ultima versione di cui è stato eseguito il commit. Ad esempio, un flusso può essere aperto in modalità di sola lettura o in modalità di lettura/scrittura. Per altre informazioni, vedere Costanti STGM.

Altri metodi forniscono l'accesso alle informazioni su un oggetto di archiviazione e sui relativi elementi tramite la struttura STATSTG .

Ereditarietà

L'interfaccia IStorage eredita dall'interfaccia IUnknown . IStorage include anche questi tipi di membri:

Metodi

L'interfaccia IStorage include questi metodi.

 
IStorage::Commit

Il metodo Commit garantisce che tutte le modifiche apportate a un oggetto di archiviazione aperte in modalità transazionali vengano riflesse nella risorsa di archiviazione padre.
IStorage::CopyTo

Copia l'intero contenuto di un oggetto di archiviazione aperto in un altro oggetto di archiviazione.
IStorage::CreateStorage

Crea e apre un nuovo oggetto di archiviazione annidato all'interno di questo oggetto di archiviazione con il nome specificato nella modalità di accesso specificata.
IStorage::CreateStream

Crea e apre un oggetto flusso con il nome specificato contenuto in questo oggetto di archiviazione.
IStorage::D estroyElement

Rimuove l'archiviazione o il flusso specificato da questo oggetto di archiviazione.
IStorage::EnumElements

Il metodo EnumElements recupera un puntatore a un oggetto enumeratore che può essere utilizzato per enumerare gli oggetti di archiviazione e flusso contenuti in questo oggetto di archiviazione.
IStorage::MoveElementTo

Il metodo MoveElementTo copia o sposta un sottostorage o un flusso da questo oggetto di archiviazione a un altro oggetto di archiviazione.
IStorage::OpenStorage

Apre un oggetto di archiviazione esistente con il nome specificato nella modalità di accesso specificata.
IStorage::OpenStream

Apre un oggetto flusso esistente all'interno di questo oggetto di archiviazione nella modalità di accesso specificata.
IStorage::RenameElement

Il metodo RenameElement rinomina la sottostorazione o il flusso specificati in questo oggetto di archiviazione.
IStorage::Revert

Il metodo Revert elimina tutte le modifiche apportate all'oggetto di archiviazione dall'ultima operazione di commit.
IStorage::SetClass

Il metodo SetClass assegna l'identificatore di classe (CLSID) specificato a questo oggetto di archiviazione.
IStorage::SetElementTimes

Il metodo SetElementTimes imposta i tempi di modifica, accesso e creazione dell'elemento di archiviazione specificato, se il file system sottostante supporta questo metodo.
IStorage::SetStateBits

Il metodo SetStateBits archivia fino a 32 bit di informazioni sullo stato in questo oggetto di archiviazione.
IStorage::Stat

Il metodo Stat recupera la struttura STATSTG per questo oggetto di archiviazione aperto.

Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional [app desktop | App UWP]
Server minimo supportato Windows 2000 Server [app desktop | App UWP]
Piattaforma di destinazione Windows
Intestazione objidl.h

Vedi anche

Esempio EnumAll

Esempi