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

Voir aussi

IPropertySetStorage

IPropertySetStorage ::Open

Constantes PROPSETFLAG

Exemples

Exemple StgCreatePropSetStg

Exemple WriteRead