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: LongWord; 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 sans nom avec le descripteur de sécurité par défaut, et elle établit que le thread qui a 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 seconde 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 demandé n'est pas autorisé. Il peut être représenté par 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, car c'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.



La troisiè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 un 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. Enfin, 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.



Voir aussi