Sdílet prostřednictvím


CSemaphore::CSemaphore

Konstrukce a pojmenované nebo nepojmenované CSemaphore objektu.

CSemaphore( 
   LONG lInitialCount = 1, 
   LONG lMaxCount = 1, 
   LPCTSTR pstrName = NULL, 
   LPSECURITY_ATTRIBUTES lpsaAttributes = NULL  
);

Parametry

  • lInitialCount
    Používání počáteční počet pro semafor.Musí být větší nebo rovna 0 a menší než nebo rovno lMaxCount .

  • lMaxCount
    Maximální využití počet pro semafor.Musí být větší než 0.

  • pstrName
    Název semafor.Musí být poskytnuty, pokud bude semafor přístupná přes hranice procesu.Pokud NULL, Nepojmenovaný objekt.Pokud název odpovídá stávající semafor, vytvoří nový konstruktoru CSemaphore objekt, který odkazuje na semafor tohoto názvu.Pokud název odpovídá stávající objekt synchronizace, který není semafor, konstrukce se nezdaří.

  • lpsaAttributes
    Atributy zabezpečení objektu semaforu.Úplný popis této struktury, viz SECURITY_ATTRIBUTES v .

Poznámky

Přístup nebo uvolnění CSemaphore objekt, vytvořit CMultiLock nebo CSingleLock objektu a volání jeho Lock a Unlock funkce členů.

Poznámka k zabezpečeníPoznámka k zabezpečení

Po vytvoření CSemaphore objekt, použijte GetLastError zajistit, že objektu mutex již neexistuje.Pokud objektu mutex neočekávaně, může to znamenat nepřátelských procesu je obsazení a může hodlá použít speciálně objektu mutex.V tomto případě se zavřít popisovač a pokračovat, pokud došlo k chybě při vytváření objektu doporučený postup s důrazem na zabezpečení.

Požadavky

Záhlaví: afxmt.h

Viz také

Referenční dokumentace

Třída CSemaphore

Graf hierarchie

Třída CMutex

Třída CEvent

Třída CMultiLock

Třída CSingleLock