CSemaphore::CSemaphore
Erstellt ein Objekt oder unbenanntes CSemaphore.
CSemaphore(
LONG lInitialCount = 1,
LONG lMaxCount = 1,
LPCTSTR pstrName = NULL,
LPSECURITY_ATTRIBUTES lpsaAttributes = NULL
);
Parameter
lInitialCount
Die ursprüngliche Verwendungsanzahl für das Semaphor.Muss größer oder gleich 0 und kleiner oder gleich lMaxCount sein.lMaxCount
Die maximale Verwendungsanzahl für das Semaphor.Muss größer als 0 sein.pstrName
Der Name des Semaphors.Muss angegeben werden, wenn auf das Semaphor über Prozessgrenzen zugegriffen wird.Wenn das Objekt NULL, unbenannt ist.Wenn der Name ein vorhandenes Semaphore übereinstimmt, erstellt der Konstruktor ein neues CSemaphore-Objekt, das das Semaphor dieses Namens verweist.Wenn der Name ein vorhandenes Synchronisierungsobjekt übereinstimmt, das kein Semaphor ist, schlägt die Konstruktion aus.lpsaAttributes
Sicherheitsattribute für das Semaphorobjekt.Eine vollständige Beschreibung dieser Struktur, finden Sie unter SECURITY_ATTRIBUTES in Windows SDK.
Hinweise
Um auf ein CSemaphore-Objekt zuzugreifen oder freizugeben, erstellen Sie ein CMultiLock oder CSingleLock-Objekt und Aufrufen ihrer Sperre und Entsperren Sie-Memberfunktionen auf.
Sicherheitshinweis |
---|
Nachdem das CSemaphore-Objekt erstellt wurde, verwendet GetLastError, sicherzustellen, dass die Mutex nicht bereits vorhanden waren.Wenn die Mutex unerwartet vorhanden waren, vorgesehen sein er möglicherweise angibt kranke Pflanzen entfernt Prozess hockt und, die Mutex böswillig zu verwenden.In diesem Fall ist die empfohlene Sicherheit-bewusste Prozedur, das Handle zu schließen und fortzufahren, als ob es ein Fehler auftritt, während das Objekt erstellt wurde. |
Anforderungen
Header: afxmt.h