Udostępnij za pośrednictwem


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ń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

Zobacz też

Informacje

Klasa CSemaphore

Diagram hierarchii

Klasa CMutex

Klasa CEvent

Klasa CMultiLock

Klasa CSingleLock