CSemaphore::CSemaphore
Konstrukcje nazwane lub nienazwane CSemaphore obiektu.
CSemaphore(
LONG lInitialCount = 1,
LONG lMaxCount = 1,
LPCTSTR pstrName = NULL,
LPSECURITY_ATTRIBUTES lpsaAttributes = NULL
);
Parametry
lInitialCount
Licznik użycia początkowej semafora.Musi być większa lub równa 0 i mniejsza lub równa lMaxCount.lMaxCount
Maksymalne obciążenie Licznik semafora.Musi być większa niż 0.pstrName
Nazwa semafora.Muszą być dostarczone, jeżeli semafor będzie dostępna przez granice procesu.Jeśli NULL, obiekt będzie nienazwane.Jeśli nazwa pasuje do istniejącego semafora, konstruktora tworzy nowy CSemaphore obiekt, który odwołuje się do semafora tej nazwy.Jeśli nazwa pasuje do istniejącego obiektu synchronizacji nie jest semafora, budowa nie powiedzie się.lpsaAttributes
Atrybuty zabezpieczeń dla obiektu semafora.Pełny opis tej struktury, zobacz SECURITY_ATTRIBUTES w Windows SDK.
Uwagi
Dostęp lub zwolnienia CSemaphore obiektów, Utwórz CMultiLock lub CSingleLock obiektu i wywołanie jej blokady i Unlock funkcji elementów członkowskich.
Uwaga dotycząca zabezpieczeń |
---|
Po utworzeniu CSemaphore obiektów, użyj GetLastError do zapewnienia, że mutex już istnieje.Mutex istniał nieoczekiwanie, może oznaczać proces rogue jest zajmowanie i może zamierzają użyć złośliwie mutex.W przypadku procedury bezpieczeństwa zalecane jest zamknąć dojście i kontynuować jako, jeśli wystąpił błąd podczas tworzenia obiektu. |
Wymagania
Nagłówek: afxmt.h