System.SyncObjs.TMutex.Create

De RAD Studio API Documentation
Aller à : navigation, rechercher

Delphi

constructor Create(UseCOMWait: Boolean = False); overload;
constructor Create(MutexAttributes: PSecurityAttributes; InitialOwner: Boolean; const Name: string; UseCOMWait: Boolean = False); overload;
constructor Create(DesiredAccess: Cardinal; InheritHandle: Boolean; const Name: string; UseCOMWait: Boolean = False); overload;

C++

__fastcall TMutex(bool UseCOMWait)/* overload */;
__fastcall TMutex(Winapi::Windows::PSecurityAttributes MutexAttributes, bool InitialOwner, const System::UnicodeString Name, bool UseCOMWait)/* overload */;
__fastcall TMutex(unsigned DesiredAccess, bool InheritHandle, const System::UnicodeString Name, bool UseCOMWait)/* overload */;

Propriétés

Type Visibilité  Source Unité  Parent
constructor public
System.SyncObjs.pas
System.SyncObjs.hpp
System.SyncObjs TMutex


Description

Instancie un objet TMutex.

Appelez Create pour créer un objet TMutex.

La première version du constructeur crée un mutex non nommé avec le descripteur de sécurité par défaut, et établit que le thread ayant créé le mutex n'est pas son propriétaire initial. Définissez le paramètre UseCOMWait pour garantir que lorsqu'un thread est bloqué et en attente de l'objet, tous les rappels STA COM peuvent être effectués dans ce thread.


La deuxième version du constructeur crée un mutex nommé avec plusieurs attributs, donnés parmi la liste de paramètres suivante :

Paramètre

Signification

MutexAttributes

Les attributs de sécurité du mutex. MutexAttributes est un type de pointeur sur l'enregistrement _SECURITY_ATTRIBUTES, avec les champs suivants : nLength, lpSecurityDescriptor, InheritHandle.

Le champ nLength doit toujours être égal à la taille en octets de l'enregistrement _SECURITY_ATTRIBUTES. lpSecurityDescriptor est un pointeur sur le descripteur de sécurité du mutex. Dernièrement, InheritHandle vaut True si le handle du mutex doit être hérité par les processus enfant.

InitialOwner

Définissez ce paramètre pour que le thread qui a créé le mutex soit considéré comme le propriétaire initial du mutex.

Name

Le nom du mutex. Les noms sont sensibles à la casse.

UseCOMWait

Définissez ce paramètre pour garantir que lorsqu'un thread est bloqué et en attente de l'objet, tous les rappels STA COM peuvent être effectués dans ce thread.


La troisième version du constructeur permet l'ouverture d'un mutex existant, identifié par son nom. Les paramètres ont la signification suivante :

Paramètre

Signification

DesiredAccess

Le type d'accès au mutex. Le constructeur échoue si le type d'accès requis n'est pas permis. Il peut s'agir de toute combinaison des constantes suivantes : MUTEX_ALL_ACCESS, MUTEX_MODIFY_STATE, SYNCHRONIZE, _DELETE, READ_CONTROL, WRITE_DAC, WRITE_OWNER. Toute combinaison doit inclure le droit d'accès SYNCHRONIZE, puisque ceci est spécifique à un mutex.

InheritHandle

Définissez ce paramètre pour que les processus enfant héritent du handle du mutex.

Name

Le nom du mutex à ouvrir. Les noms sont sensibles à la casse.

UseCOMWait

Définissez ce paramètre pour garantir que lorsqu'un thread est bloqué et en attente de l'objet, tous les rappels STA COM peuvent être effectués dans ce thread.

Voir aussi