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 de l’ensemble 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 d’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 par programmation aux valeurs de propriété. S’il n’y a pas de telle classe, 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 les propriétés d’ID de code et de page de paramètres régionaux. Celles-ci sont définies sur Unicode et sur 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 code 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 à 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, sauf si STGM_CREATE est 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 Storage and Stream Objects for a Property Set.

Cette méthode est soumise aux contraintes de l’objet IStorage::CreateStream sous-jacent (pour les ensembles de propriétés simples) ou IStorage::CreateStorage (pour les ensembles de propriétés non simples). Par exemple, lors de l’utilisation de l’implémentation de fichier composé IPropertySetStorage, spécifiez STGM_SHARE_EXCLUSIVE dans le paramètre grfMode sur IPropertySetStorage::Create. À l’inverse, si vous utilisez l’implémentation autonome IPropertySetStorage,IPropertySetStorage::Create est soumis à des contraintes qui s’appliquent à l’iStorage spécifié par l’appelant.

Configuration requise

   
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