Partager via


Méthode ISharedPropertyGroupManager ::CreatePropertyGroup (comsvcs.h)

Crée un groupe de propriétés partagé. Si un groupe de propriétés portant le nom spécifié existe déjà, CreatePropertyGroup retourne une référence au groupe existant.

Syntaxe

HRESULT CreatePropertyGroup(
  [in]      BSTR                 Name,
  [in, out] LONG                 *dwIsoMode,
  [in, out] LONG                 *dwRelMode,
  [out]     VARIANT_BOOL         *fExists,
  [out]     ISharedPropertyGroup **ppGroup
);

Paramètres

[in] Name

Nom du groupe de propriétés partagé à créer.

[in, out] dwIsoMode

Mode d’isolation pour les propriétés du nouveau groupe de propriétés partagé. Consultez le tableau des constantes dans Remarques ci-dessous. Si la valeur du paramètre fExists est définie sur VARIANT_TRUE en retour de cette méthode, la valeur d’entrée est ignorée et la valeur retournée dans ce paramètre est le mode d’isolation qui a été attribué lors de la création du groupe de propriétés.

[in, out] dwRelMode

Mode de publication pour les propriétés du nouveau groupe de propriétés partagé. Consultez le tableau des constantes dans Remarques ci-dessous. Si la valeur du paramètre fExists est définie sur VARIANT_TRUE lors du retour de cette méthode, la valeur d’entrée est ignorée et la valeur retournée dans ce paramètre est le mode de mise en production qui a été attribué lors de la création du groupe de propriétés.

[out] fExists

VARIANT_TRUE en retour de cette méthode si le groupe de propriétés partagé spécifié dans le paramètre name existait avant cet appel et VARIANT_FALSE si le groupe de propriétés a été créé par cet appel.

[out] ppGroup

Référence à ISharedPropertyGroup, qui est un groupe de propriétés partagé identifié par le paramètre Name , ou NULL si une erreur est rencontrée.

Valeur retournée

Cette méthode peut retourner les valeurs de retour standard E_OUTOFMEMORY, E_UNEXPECTED et E_FAIL, ainsi que les valeurs suivantes.

Code de retour Description
S_OK
Une référence au groupe de propriétés partagé spécifié dans le paramètre Name est retournée dans le paramètre ppGroup .
CONTEXT_E_NOCONTEXT
L’appelant ne s’exécute pas sous COM+. Un appelant doit s’exécuter sous COM+ pour utiliser le Gestionnaire de propriétés partagées.
E_INVALIDARG
Au moins l’un des paramètres n’est pas valide ou le même objet tente de créer le même groupe de propriétés plusieurs fois.

Remarques

Les constantes suivantes sont utilisées pour spécifier le mode d’isolation effectif d’un groupe de propriétés partagé.

Constant Valeur Description
LockSetGet 0 Valeur par défaut. Il garantit que chaque opération get ou set sur une propriété partagée est atomique en verrouillant la propriété pendant l’appel. Cela garantit que deux clients ne peuvent pas lire ou écrire dans la même propriété en même temps, mais cela n’empêche pas d’autres clients d’accéder simultanément à d’autres propriétés du même groupe.
LockMethod 1 Cette valeur verrouille toutes les propriétés du groupe de propriétés partagé pour une utilisation exclusive par l’appelant tant que la méthode actuelle de l’appelant est en cours d’exécution. Il s’agit du mode approprié à utiliser lorsqu’il existe des interdépendances entre les propriétés, ou dans les cas où un client peut devoir mettre à jour une propriété immédiatement après sa lecture avant de pouvoir y accéder à nouveau.
 
Note Lorsque vous définissez le mode d’isolation sur LockMethod, le Gestionnaire de propriétés partagées nécessite l’accès au contexte d’objet de l’objet appelant. Vous ne pouvez pas utiliser ce mode d’isolation pour créer un groupe de propriétés partagé à partir du constructeur d’un objet ou d’un objet non COM+, car le contexte de l’objet n’est pas disponible pendant la construction de l’objet et qu’un client de base n’a pas de contexte d’objet.
 
Les constantes suivantes sont utilisées pour spécifier le mode de mise en production effective d’un groupe de propriétés partagé.
Constant Valeur Description
standard 0 Valeur par défaut. Lorsque tous les clients ont libéré leurs références sur le groupe de propriétés, ce dernier est automatiquement détruit.
Processus 1 Le groupe de propriétés n’est pas détruit tant que le processus dans lequel il a été créé n’est pas terminé. Les objets qui contiennent des références sur un groupe de propriétés doivent toujours appeler Release sur leurs références.
 
Note Un objet ne doit jamais tenter de transmettre une référence de groupe de propriétés partagé à un autre objet. Si la référence est passée en dehors de l’objet qui l’a acquise, elle n’est plus une référence valide.
 

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête comsvcs.h

Voir aussi

ISharedPropertyGroupManager