CSemaphore::CSemaphore
建構具名或未命名的 CSemaphore 物件。
CSemaphore(
LONG lInitialCount = 1,
LONG lMaxCount = 1,
LPCTSTR pstrName = NULL,
LPSECURITY_ATTRIBUTES lpsaAttributes = NULL
);
參數
lInitialCount
號誌的初始使用計數。 的值必須大於或等於 0 並且小於或等於 lMaxCount。lMaxCount
號誌的最大使用計數。 必須大於 0。pstrName
號誌的名稱。 如果信號跨越處理序界限來存取,就必須提供。 如果 NULL, 物件將為未命名的。 如果名稱符合現有的號誌,建構函式會參考該名稱號誌的新 CSemaphore 物件。 如果名稱比對不是號誌的現有的同步物件,架構就會失敗。lpsaAttributes
號誌物件的安全性屬性。 如需此結構的完整說明,請參閱 Windows SDKSECURITY_ATTRIBUTES 。
備註
若要存取或釋放 CSemaphore 物件,建立 CMultiLock 或 CSingleLock 物件並呼叫它的 鎖定 和 解除鎖定 成員函式。
安全性提示 |
---|
在建立 CSemaphore 物件之後,請使用 GetLastError 確保 Mutex 不存在)。如果意外 Mutex 不存在,它可能會指出惡意處理序蹲可能是惡意地使用 Mutex。在這個案例中,建議的值安全性程序是關閉控制代碼和繼續,如同在建立物件的失敗。 |
需求
Header: afxmt.h