Winapi.Mtx.CreateSharedPropertyGroup

De RAD Studio API Documentation
Aller à : navigation, rechercher

Delphi

function CreateSharedPropertyGroup(const Name: WideString): ISharedPropertyGroup;

C++

extern DELPHI_PACKAGE _di_ISharedPropertyGroup __fastcall CreateSharedPropertyGroup(const System::WideString Name);

Propriétés

Type Visibilité  Source Unité  Parent
function public
Winapi.Mtx.pas
Winapi.Mtx.hpp
Winapi.Mtx Winapi.Mtx

Description

Renvoie l'interface d'un SharedPropertyGroup qui permet à des objets MTS d'un processus serveur de partager un état.

CreateSharedPropertyGroup renvoie une interface d'un nouveau groupe de propriétés partagées. Si un groupe de propriétés ayant le même nom existe, elle renvoie une référence au groupe de propriétés partagées existant. Utilisez cette fonction pour créer et accéder aux propriétés d'un groupe de propriétés partagées.

CreateSharedPropertyGroup crée un SharedPropertyGroup avec les valeurs par défaut LockSetGet pour le mode de verrouillage (isolation), et Process pour le mode de libération. LockSetGet verrouille une propriété pendant les opérations get et set sur une propriété partagée, rendant chaque opération atomique. Cela permet de s'assurer que deux clients ne peuvent lire ou écrire sur la même propriété en même temps, mais sans que cela empêche un accès concurrent sur d'autres propriétés du même groupe. Le mode de libération Process permet de s'assurer que le groupe de propriété ne sera pas détruit tant que le processus qui l'a créé n'est pas terminé. Les objets qui possèdent des références sur un groupe de propriétés doivent toujours appeler Release sur leurs références.

Pour surcharger ces valeurs par défaut, appelez CreateSharedPropertyGroup et utilisez l'interface résultante pour créer un groupe de propriétés.

ISharedPropertyGroup possède plusieurs méthodes pour partager un état entre plusieurs objets d'un processus serveur. Voir ISharedPropertyGroup dans la documentation MTS pour avoir une liste des méthodes.

Les groupes de propriétés partagées éliminent des conflits de noms puisqu'ils mettent en place des espaces de noms uniques aux propriétés partagées qu'ils contiennent. Le gestionnaire des propriétés partagées met aussi en place des verrous et des sémaphores pour protéger les propriétés partagées contre des accès simultanés qui pourraient provoquer des pertes de mises à jour et laisser les propriétés dans un état imprévisible.

Remarque :  Les propriétés ne peuvent être partagées que par des objets exécutés dans le même processus. Pour que des instances de composants différents puissent partager des propriétés, il faut installer les composants dans le même package MTS. Comme les administrateurs risquent de déplacer les composants entre les packages, il est plus sûr de limiter l'utilisation d'un groupe de propriétés partagées à des instances de composants définis dans la même DLL.

Voir aussi