API:Data.DBXPlatform.TDBXSemaphore.Create
Delphi
constructor Create(Count: Integer);
C++
__fastcall TDBXSemaphore(int Count);
Eigenschaften
Typ | Sichtbarkeit | Quelle | Unit | Übergeordnet |
---|---|---|---|---|
constructor | public | Data.DBXPlatform.pas Data.DBXPlatform.hpp |
Data.DBXPlatform | TDBXSemaphore |
Beschreibung
Instantiiert ein TSemaphore-Objekt.
Data.DBXPlatform.TDBXSemaphore.Create erbt von System.SyncObjs.TSemaphore.Create. Der folgende Inhalt bezieht sich auf System.SyncObjs.TSemaphore.Create.
Instantiiert ein TSemaphore-Objekt.
Mit Create wird ein TSemaphore-Objekt erstellt.
Die erste Version des Konstruktors erstellt ein unbenanntes binäres Semaphor mit einem Ausgangszählerwert von eins. Das Semaphor wird auch mit dem Standard-Sicherheitsdeskriptor erstellt. Das bedeutet, dass die untergeordneten Prozesse des aktuellen Prozesses das Handle auf dieses Semaphor nicht erben können. Im Grunde ist das gleichbedeutend mit dem Erstellen eines unbenannten TMutex-Objekts. Setzen Sie den Parameter UseCOMWait, um sicherzustellen, dass – wenn ein Thread blockiert ist und auf das Objekt wartet – STA (Single-Threaded Apartment) COM-Aufrufe weiterhin zurück in diesen Thread gemacht werden können.
Die zweite Version des Konstruktors ermöglicht das Öffnen eines vorhandenen Semaphors anhand seines Namens. Die Parameter haben die folgende Bedeutung
Parameter |
Bedeutung |
DesiredAccess |
Der Zugriffstyp auf das Semaphor. Der Konstruktor schlägt fehl, wenn der angeforderte Zugriffstyp nicht zulässig ist. Möglich ist jede Kombination der folgenden Konstanten: SEMAPHORE_ALL_ACCESS, SEMAPHORE_MODIFY_STATE, SYNCHRONIZE, _DELETE, READ_CONTROL, WRITE_DAC, WRITE_OWNER. |
InheritHandle |
Setzen Sie diesen Parameter für die untergeordnete Prozesse, die das Mutex-Handle erben sollen. |
Name |
Der Name des zu öffnenden Semaphors. 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 weiterhin zurück in diesen Thread gemacht werden können. |
Die dritte Version des Konstruktors erstellt ein benanntes Semaphor mit mehreren Attributen, die in der folgenden Parameterliste angegeben werden:
Parameter |
Bedeutung |
SemaphoreAttributes |
Die Sicherheitsattribute des Semaphors. SemaphoreAttributes 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 Semaphors. InheritHandle ist True, wenn das Handle auf das Semaphor von untergeordneten Prozessen geerbt werden soll. |
AInitialCount |
Der Anfangswert der Zählervariable des Semaphors, die die ursprüngliche Anzahl der freien Units der gemeinsamen Ressource enthält. |
AMaximumCount |
Der Maximalwert der Zählervariable des Semaphors, die die Anzahl der verfügbaren Units der gemeinsamen Ressource enthält. |
Name |
Der Name des Semaphors. 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 weiterhin zurück in diesen Thread gemacht werden können. |