System.SyncObjs.TMutex.Create
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. |