IPropertySetStorage ::Create, méthode (propidl.h)
La méthode Create crée et ouvre un jeu de propriétés dans l’objet de stockage du jeu de propriétés.
Syntaxe
HRESULT Create(
[in] REFFMTID rfmtid,
[in] const CLSID *pclsid,
[in] DWORD grfFlags,
[in] DWORD grfMode,
[out] IPropertyStorage **ppprstg
);
Paramètres
[in] rfmtid
FMTID de la propriété définie à créer. Pour plus d’informations sur les FMTID bien connus et prédéfinis dans le Kit de développement logiciel (SDK) de plateforme, consultez Identificateurs de format de jeu de propriétés prédéfinis.
[in] pclsid
Pointeur vers le CLSID de l’identificateur de classe initial pour ce jeu de propriétés. Peut être NULL, auquel cas il est défini sur tous les zéros. Le CLSID est le CLSID d’une classe qui affiche et/ou fournit un accès programmatique aux valeurs de propriété. S’il n’existe aucune classe de ce type, il est recommandé d’utiliser le FMTID.
[in] grfFlags
Valeurs des constantes PROPSETFLAG.
[in] grfMode
Mode d’accès dans lequel le jeu de propriétés nouvellement créé doit être ouvert, extrait de certaines valeurs de STGM_Constants, comme décrit dans la section Remarques suivante.
[out] ppprstg
Pointeur vers la variable de sortie qui reçoit le pointeur d’interface IPropertyStorage .
Valeur retournée
Cette méthode prend en charge la valeur de retour standard E_UNEXPECTED, ainsi que les éléments suivants :
Remarques
IPropertySetStorage ::Create crée et ouvre un sous-objet de jeu de propriétés (prenant en charge l’interface IPropertyStorage ) contenu dans cet objet de stockage de jeu de propriétés. Le jeu de propriétés contient automatiquement la page de codes et les propriétés d’ID de paramètres régionaux. Ils sont définis sur unicode et l’utilisateur actuel par défaut, respectivement.
Le paramètre grfFlags est une combinaison de valeurs extraites des constantes PROPSETFLAG. Si la valeur PROPSETFLAG_ANSI de cette énumération est utilisée, la page de codes est définie sur la valeur par défaut du système actuel, au lieu d’Unicode.
Le paramètre grfMode spécifie le mode d’accès dans lequel le jeu nouvellement créé doit être ouvert. Les valeurs de ce paramètre sont comme dans le paramètre grfMode sur IPropertySetStorage ::Open, avec l’ajout des valeurs répertoriées dans le tableau suivant.
Valeur | Signification |
---|---|
STGM_FAILIFTHERE | Si une autre propriété définie avec le paramètre fmtid spécifié existe, l’appel échoue. Il s’agit de l’action par défaut ; autrement dit, à moins que STGM_CREATE ne soit spécifié, STGM_FAILIFTHERE est implicite. |
STGM_CREATE | Si une autre propriété définie avec le paramètre fmtid spécifié existe déjà, elle est supprimée et remplacée par ce nouveau paramètre. |
Le jeu de propriétés créé est simple par défaut, mais l’appelant peut demander un jeu de propriétés non simple en spécifiant la valeur PROPSETFLAG_NONSIMPLE dans le paramètre grfFlags . Pour plus d’informations sur les ensembles de propriétés simples et non simples, consultez Objets stockage et Stream pour un jeu de propriétés.
Cette méthode est soumise aux contraintes des IStorage ::CreateStream sous-jacents (pour les jeux de propriétés simples) ou IStorage ::CreateStorage (pour les jeux de propriétés non simples). Par exemple, lorsque vous utilisez l’implémentation de fichier IPropertySetStorage-Compound, spécifiez STGM_SHARE_EXCLUSIVE dans le paramètre grfMode sur IPropertySetStorage ::Create. À l’inverse, si vous utilisez iPropertySetStorage-Stand-alone Implementation, IPropertySetStorage ::Create est soumis à des contraintes qui s’appliquent au IStorage spécifié par l’appelant.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 2000 Professionnel [applications de bureau | Applications UWP] |
Serveur minimal pris en charge | Windows 2000 Server [applications de bureau | Applications UWP] |
Plateforme cible | Windows |
En-tête | propidl.h (include Objbase.h) |
Bibliothèque | Uuid.lib |
DLL | Ole32.dll |