implémentation de fichier IPropertySetStorage-Compound
L’implémentation de l’objet de stockage de fichiers composé COM inclut une implémentation des deux 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é de 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 peut également être spécifié 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’objet interface IPropertySetStorage.
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 de l’identificateur IID_IStorage comme paramètre riid, ou à utiliser les fonctions StgCreateDocfile ou StgOpenStorage. Cela fournit un pointeur vers l’objet interface IStorage. Lorsque vous souhaitez gérer les jeux de propriétés persistantes, 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 de jeux de propriétés composés actuel. 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éthode
Crée un jeu de propriétés dans le stockage de fichiers composés actuel et fournit un pointeur d’interface vers la IPropertyStorage implémentation de fichier composé. Dans cette implémentation, les jeux de propriétés peuvent être traités uniquement 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).
Ouvre un jeu de propriétés existant dans le stockage de propriétés actuel. En retour, il fournit un pointeur d’interface vers l’implémentation de fichier composé de 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).
Supprime un jeu de propriétés dans ce stockage de propriétés.
Crée un objet utilisé pour énumérer structures STATPROPSETSTG. Chaque statPROPSETSTG structure fournit des données sur un jeu de propriétés unique.
Remarques
À compter de Windows 2000, l’implémentation de fichier composé de IPropertySetStorage prend en charge le mode simple. Le mode simple est indiqué en spécifiant l’indicateur de 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 :
- Seuls les ensembles de propriétés simples peuvent être créés. Autrement dit, la spécification de la valeur PROPSETFLAG_NONSIMPLE dans le paramètre grfFlags pour la méthode IPropertySetStorage ::Create entraîne une erreur.
- Après avoir créé un fichier composé avec StgCreateStorageEx à l’aide de STGM_SIMPLE et interroger l’interface IPropertySetStorage, vous pouvez uniquement appeler IPropertySetStorage ::Create une seule fois. Vous devez ensuite libérer l’interface IPropertyStorage avant d’appeler à nouveau la méthode Create . Pour plus d’informations sur le mode simple, consultez constantes STGM.
- Vous ne pouvez pas utiliser la méthode IPropertySetStorage ::Open pour ouvrir un jeu de propriétés après avoir utilisé StgCreateStorageEx pour créer l’objet de stockage. Au lieu de cela, vous devez utiliser StgOpenStorageEx avant d’interroger IPropertySetStorage et d’appeler la méthode Open .
- Après avoir ouvert un fichier composé avec StgOpenStorageEx à l’aide de l’indicateur de STGM_SIMPLE et de la requête pour l’interface IPropertySetStorage, vous pouvez ouvrir une propriété définie à la fois à l’aide de IPropertySetStorage ::Open. En outre, il est possible que la taille totale de la propriété définie soit augmentée pendant que le jeu de propriétés est ouvert.
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 Créer et Open, sauf si vous spécifiez également PROPSETFLAG_NONSIMPLE dans le paramètre grfFlags. N’oubliez pas que les ensembles de propriétés simples et non simples ne sont pas liés aux ensembles de propriétés en mode simple décrits ci-dessus. Pour plus d’informations sur les jeux de propriétés simples et non simples, consultez Storage and Stream Objects for a Property Set.
Note
Les ensembles de propriétés DocumentSummaryInformation et UserDefined sont uniques, car ils peuvent avoir deux sections de jeu de propriétés. Pour plus d’informations, consultez Ensembles de propriétés DocumentSummaryInformation et UserDefined.
Rubriques connexes
-
IPropertyStorage - d’implémentation de fichiers composés