System.SyncObjs.TMutex.Create

Aus RAD Studio API Documentation
Wechseln zu: Navigation, Suche

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 */;

Eigenschaften

Typ Sichtbarkeit Quelle Unit Übergeordnet
constructor public
System.SyncObjs.pas
System.SyncObjs.hpp
System.SyncObjs TMutex

Beschreibung

Instantiiert ein TMutex-Objekt.

Mit Create wird ein TMutex-Objekt erstellt.

Die erste Version des Konstruktors erstellt einen unbenannten Mutex mit dem Standard-Sicherheitsdeskriptor und gewährleistet, dass der Thread, der den Mutex erstellt hat, nicht sein ursprünglicher Eigentümer ist. Setzen Sie den Parameter UseCOMWait, um sicherzustellen, dass – wenn ein Thread blockiert ist und auf das Objekt wartet – STA COM-Aufrufe zurück in diesen Thread gemacht werden können.

Die zweite Version des Konstruktors ermöglicht das Öffnen eines vorhandenen Mutex anhand seines Namens. Die Parameter haben die folgende Bedeutung


Parameter

Bedeutung

DesiredAccess

Der Zugriffstyp auf den Mutex. Der Konstruktor schlägt fehl, wenn der angeforderte Zugriffstyp nicht zulässig ist. Möglich ist jede Kombination der folgenden Konstanten: MUTEX_ALL_ACCESS, MUTEX_MODIFY_STATE, SYNCHRONIZE, _DELETE, READ_CONTROL, WRITE_DAC, WRITE_OWNER. Jede Kombination muss aber das Zugriffsrecht SYNCHRONIZE enthalten, da dies spezifisch für einen Mutex ist.

InheritHandle

Setzen Sie diesen Parameter für die untergeordnete Prozesse, die das Mutex-Handle erben sollen.

Name

Der Name des zu öffnenden Mutex. Namen berücksichtigen die Groß- und Kleinschreibung.

UseCOMWait

Setzen Sie diesen Parameter, um sicherzustellen, dass – wenn ein Thread blockiert ist und auf das Objekt wartet – STA COM-Aufrufe zurück in diesen Thread gemacht werden können.



Die dritte Version des Konstruktors erstellt einen benannten Mutex mit mehreren Attributen, die in der folgenden Parameterliste angegeben werden:


Parameter

Bedeutung

MutexAttributes

Die Sicherheitsattribute des Mutex. MutexAttributes ist ein Zeigertyp auf einen _SECURITY_ATTRIBUTES-Record mit den folgenden Feldern: nLength, lpSecurityDescriptor, InheritHandle.

Das Feld nLength sollte immer dieselbe Größe in Byte wie der _SECURITY_ATTRIBUTES-Record haben. lpSecurityDescriptor ist ein Zeiger auf den Sicherheitsdeskriptor des Mutex. InheritHandle ist True, wenn das Handle auf den Mutex von untergeordneten Prozessen geerbt werden soll.

InitialOwner

Setzen Sie diesen Parameter für den Thread, der den Mutex erstellt hat, damit er als der ursprüngliche Eigentümer des Mutex fungieren kann.

Name

Der Name des Mutex. Namen berücksichtigen die Groß- und Kleinschreibung.

UseCOMWait

Setzen Sie diesen Parameter, um sicherzustellen, dass – wenn ein Thread blockiert ist und auf das Objekt wartet – STA COM-Aufrufe zurück in diesen Thread gemacht werden können.



Siehe auch