implémentation de fichier IPropertySetStorage-Compound

L’implémentation de l’objet de stockage de fichiers composés COM inclut une implémentation d’IPropertyStorage, l’interface qui gère un jeu de propriétés persistant unique, et IPropertySetStorage, l’interface qui gère les groupes de jeux de propriétés persistants.

Pour obtenir un pointeur vers l’implémentation de fichier composé d’IPropertySetStorage, spécifiez le nom défini par l’en-tête pour l’identificateur IID_IStorage comme paramètre riid , ou utilisez les fonctions StgCreateStorageEx ou StgOpenStorageEx . Dans les deux cas, spécifiez STGFMT_STORAGE comme paramètre stgfmt . (STGFMT_ANY pouvez également être spécifiés dans le cas de StgOpenStorageEx.) Spécifiez également le nom défini par l’en-tête pour l’identificateur d’interface (IID) IID_IPropertySetStorage comme paramètre riid . Les deux fonctions fournissent un pointeur vers l’interface IPropertySetStorage de l’objet .

Une autre façon d’obtenir un pointeur vers l’implémentation de fichier composé consiste à spécifier le nom défini par l’en-tête pour l’identificateur IID_IStorage comme paramètre riid , ou à utiliser les fonctions StgCreateDocfile ou StgOpenStorage . Cela fournit un pointeur vers l’interface IStorage de l’objet . Lorsque vous souhaitez traiter des jeux de propriétés persistants, appelez IStorage::QueryInterface pour l’interface IPropertySetStorage .

Quand utiliser IPropertySetStorage

Appelez les méthodes de IPropertySetStorage pour créer, ouvrir ou supprimer des jeux de propriétés dans le stockage actuel de l’ensemble de propriétés de fichier composé. Il existe également une méthode, IPropertySetStorage::Enum, qui fournit un pointeur vers un énumérateur qui peut être utilisé pour énumérer les jeux de propriétés dans le stockage.

Méthodes

IPropertySetStorage::Create

Crée un nouveau jeu de propriétés dans le stockage de fichiers composés actuel et, au retour, fournit un pointeur d’interface vers l’implémentation du fichier composé IPropertyStorage . Dans cette implémentation, les jeux de propriétés ne peuvent être traités que si PROPSETFLAG_NONSIMPLE est spécifié. Cette méthode nécessite que le mode de partage spécifié dans le paramètre grfMode soit STGM_SHARE_EXCLUSIVE et que le mode d’accès soit STGM_READ ou STGM_READWRITE (STGM_WRITE mode n’est pas pris en charge).

IPropertySetStorage::Open

Ouvre un jeu de propriétés existant dans le stockage de propriétés actuel. Au retour, il fournit un pointeur d’interface vers l’implémentation de fichier composé d’IPropertyStorage. Cette méthode nécessite que le mode de partage spécifié dans le paramètre grfMode soit STGM_SHARE_EXCLUSIVE et que le mode d’accès soit STGM_READ ou STGM_READWRITE (STGM_WRITE n’est pas pris en charge).

IPropertySetStorage::D elete

Supprime un ensemble de propriétés dans ce stockage de propriétés.

IPropertySetStorage::Enum

Crée un objet utilisé pour énumérer les structures STATPROPSETSTG . Chaque structure STATPROPSETSTG fournit des données sur un jeu de propriétés unique.

Notes

À compter de Windows 2000, l’implémentation de fichiers composés d’IPropertySetStorage prend en charge le mode simple. Le mode simple est indiqué en spécifiant l’indicateur STGM_SIMPLE pour les fonctions StgCreateStorageEx et StgOpenStorageEx . Si le fichier composé est ouvert en mode simple, l’implémentation IPropertySetStorage associée est limitée comme suit :

Les jeux de propriétés simples ne peuvent pas être traités. Vous ne pouvez pas spécifier STGM_TRANSACTED dans le paramètre grfmode des méthodes Create et Open , sauf si vous spécifiez également PROPSETFLAG_NONSIMPLE dans le paramètre grfFlags . N’oubliez pas que les jeux de propriétés simples et non simples ne sont pas liés aux jeux de propriétés en mode simple décrits ci-dessus. Pour plus d’informations sur les ensembles de propriétés simples et non simples, consultez Storage and Stream Objects for a Property Set.

Notes

Les jeux de propriétés DocumentSummaryInformation et UserDefined sont uniques en ce qu’ils peuvent avoir deux sections de jeu de propriétés. Pour plus d’informations, consultez Les ensembles de propriétés DocumentSummaryInformation et UserDefined.

 

IPropertyStorage - Implémentation de fichier composé

IPropertySetStorage

IPropertyStorage

IStorage::EnumElements

Constantes PROPSETFLAG

STATPROPSETSTG