implementazione del file IPropertySetStorage-Compound

L'implementazione dell'oggetto di archiviazione di file composti COM include un'implementazione di IPropertyStorage, l'interfaccia che gestisce un singolo set di proprietà persistente e IPropertySetStorage, l'interfaccia che gestisce i gruppi di set di proprietà persistenti.

Per ottenere un puntatore all'implementazione di file composta di IPropertySetStorage, specificare il nome definito dall'intestazione per l'identificatore IID_IStorage come parametro riid oppure usare le funzioni StgCreateStorageEx o StgOpenStorageEx . In entrambi i casi, specificare STGFMT_STORAGE come parametro stgfmt . In alternativa, è possibile specificare STGFMT_ANY nel caso di StgOpenStorageEx. Specificare anche il nome definito dall'intestazione per l'identificatore di interfaccia (IID) IID_IPropertySetStorage come parametro riid . Entrambe le funzioni forniscono un puntatore all'interfaccia IPropertySetStorage dell'oggetto.

Un altro modo per ottenere un puntatore all'implementazione del file composto consiste nel specificare il nome definito dall'intestazione per l'identificatore IID_IStorage come parametro riid oppure per usare le funzioni StgCreateDocfile o StgOpenStorage . Verrà fornito un puntatore all'interfaccia IStorage dell'oggetto. Quando si desidera gestire i set di proprietà persistenti, chiamare IStorage::QueryInterface per l'interfaccia IPropertySetStorage .

Quando usare IPropertySetStorage

Chiamare i metodi di IPropertySetStorage per creare, aprire o eliminare set di proprietà nell'archiviazione del set di proprietà compound-file corrente. È inoltre disponibile un metodo IPropertySetStorage::Enum che fornisce un puntatore a un enumeratore che può essere usato per enumerare i set di proprietà nell'archiviazione.

Metodi

IPropertySetStorage::Create

Crea un nuovo set di proprietà nell'archiviazione file composta corrente e, in caso di restituzione, fornisce un puntatore di interfaccia all'implementazione del file composto IPropertyStorage . In questa implementazione, i set di proprietà possono essere transazionati solo se viene specificato PROPSETFLAG_NONSIMPLE. Questo metodo richiede che la modalità di condivisione specificata nel parametro grfMode sia STGM_SHARE_EXCLUSIVE e che la modalità di accesso sia STGM_READ o STGM_READWRITE (STGM_WRITE modalità non è supportata).

IPropertySetStorage::Open

Apre un set di proprietà esistente nell'archiviazione delle proprietà corrente. In caso contrario, fornisce un puntatore di interfaccia all'implementazione di file composta di IPropertyStorage. Questo metodo richiede che la modalità di condivisione specificata nel parametro grfMode sia STGM_SHARE_EXCLUSIVE e che la modalità di accesso sia STGM_READ o STGM_READWRITE (STGM_WRITE non è supportata).

IPropertySetStorage::D elete

Elimina un set di proprietà in questa risorsa di archiviazione delle proprietà.

IPropertySetStorage::Enum

Crea un oggetto utilizzato per enumerare le strutture STATPROPSETSTG . Ogni struttura STATPROPSETSTG fornisce dati relativi a un singolo set di proprietà.

Commenti

A partire da Windows 2000, l'implementazione di file composti di IPropertySetStorage supporta la modalità semplice. La modalità semplice è indicata specificando il flag STGM_SIMPLE per le funzioni StgCreateStorageEx e StgOpenStorageEx . Se il file composto viene aperto in modalità semplice, l'implementazione IPropertySetStorage associata è limitata come segue:

Non è possibile eseguire transazioni di set di proprietà semplici. Non è possibile specificare STGM_TRANSACTED nel parametro grfmode dei metodi Create e Open , a meno che non si specifichino anche PROPSETFLAG_NONSIMPLE nel parametro grfFlags . Tenere presente che i set di proprietà semplici e non semplici non sono correlati ai set di proprietà in modalità semplice descritti in precedenza. Per altre informazioni sui set di proprietà semplici e nonsimple, vedere Oggetti di archiviazione e flusso per un set di proprietà.

Nota

I set di proprietà DocumentSummaryInformation e UserDefined sono univoci in quanto possono avere due sezioni del set di proprietà. Per altre informazioni, vedere Set di proprietà DocumentSummaryInformation e UserDefined.

 

IPropertyStorage - Implementazione di file composti

IPropertySetStorage

IPropertyStorage

IStorage::EnumElements

Costanti PROPSETFLAG

STATPROPSETSTG