Implémentation de fichiers IPropertySetStorage-Compound
L' implémentation d’objet de stockage de fichiers composés com comprend une implémentation de IPropertyStorage, l’interface qui gère un jeu de propriétés persistantes unique et IPropertySetStorage, l’interface qui gère les groupes de jeux de propriétés persistantes.
Pour obtenir un pointeur vers l’implémentation de fichier composé de IPropertySetStorage, spécifiez le nom défini par l’en-tête de l’ID d’IID _ IStorage comme paramètre riid , ou utilisez les fonctions StgCreateStorageEx ou StgOpenStorageEx . Dans les deux cas, spécifiez _ le stockage STGFMT comme paramètre STGFMT . (STGFMT _ TOUT peut également être spécifié dans le cas de StgOpenStorageEx.) Spécifiez également le nom défini d’en-tête pour l’IID (ID d’interface) _ IPropertySetStorage IID comme paramètre riid . Les deux fonctions fournissent un pointeur vers l’interface de l’objet IPropertySetStorage .
Une autre façon d’obtenir un pointeur vers l’implémentation de fichier composé consiste à spécifier le nom défini d’en-tête pour l’IID d’identificateur _ IStorage comme paramètre riid , ou à utiliser les fonctions StgCreateDocFile ou StgOpenStorage . Un pointeur vers l’interface de l’objet IStorage est alors fourni. Lorsque vous souhaitez gérer les 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 de jeux de propriétés de fichier composé 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éthodes
Crée un nouveau jeu de propriétés dans le stockage de fichiers composés actuel et fournit un pointeur d’interface vers l’implémentation de fichier composé IPropertyStorage . Dans cette implémentation, les jeux de propriétés peuvent être traités uniquement si PROPSETFLAG non _ simple est spécifié. Cette méthode exige 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 (le mode d’écriture STGM _ n’est pas pris en charge).
Ouvre un jeu de propriétés existant dans le stockage de propriétés actuel. Au retour, elle fournit un pointeur d’interface vers l’implémentation de fichier composé de IPropertyStorage. Cette méthode exige 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 supprim
Supprime un jeu de propriétés dans ce stockage de propriétés.
Crée un objet utilisé pour énumérer les structures STATPROPSETSTG . Chaque structure STATPROPSETSTG fournit des données relatives à un jeu de propriétés unique.
Notes
à 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 simple STGM pour les fonctions StgCreateStorageEx et StgOpenStorageEx . Si le fichier composé est ouvert en mode simple, l’implémentation de IPropertySetStorage associée est limitée comme suit :
- Seuls les jeux de propriétés simples peuvent être créés. Autrement dit, la spécification de la _ valeur non simple PROPSETFLAG dans le paramètre grfFlags de la méthode IPropertySetStorage :: Create génère une erreur.
- Une fois que vous avez créé un fichier composé avec StgCreateStorageEx à l’aide _ de STGM simple et que vous interrogez l’interface IPropertySetStorage , vous ne pouvez appeler IPropertySetStorage :: Create qu’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 une propriété définie après l’utilisation de 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 simple STGM et de la requête de l’interface IPropertySetStorage , vous pouvez ouvrir une propriété définie à la fois à l’aide de IPropertySetStorage :: Open. En outre, il n’est pas possible que la taille totale de la propriété définie soit augmentée alors 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 _ avec transaction dans le paramètre grfMode des méthodes Create et Open , sauf si vous spécifiez également PROPSETFLAG _ unsimple 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 jeux de propriétés simples et simples, consultez Stockage et objets de flux pour un jeu de propriétés.
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 jeux de propriétés DocumentSummaryInformation et UserDefined.