CSemaphore (LONG lInitialCount = 1, LONG lMaxCount 1, LPCTSTR = pstrName = NULL, LPSECURITY_ATTRIBUTES lpsaAttributes = NULL);
พารามิเตอร์
lInitialCount
จำนวนการใช้งานเบื้องต้นสำหรับเซมาฟอร์ ต้องมีค่ามากกว่า หรือเท่ากับ 0 และน้อยกว่า หรือเท่ากับlMaxCount?
lMaxCount
จำนวนการใช้งานสูงสุดสำหรับเซมาฟอร์ ต้องมีค่ามากกว่า 0?
pstrName
ชื่อของเซมาฟอร์มา ต้องให้ค่าถ้าจะเข้าเซมาฟอร์ข้ามพรมแดนของกระบวนการ ถ้าค่า NULLวัตถุจะอ้างอิง ถ้าชื่อตรงกับการเซมาฟอร์ที่มีอยู่ การกำหนดสร้างวัตถุCSemaphoreใหม่ซึ่งอ้างอิงเซมาฟอร์ของชื่อนั้น ถ้าชื่อตรงกับการซิงโครไนส์วัตถุที่มีอยู่ที่ไม่ใช่แบบเซมาฟอร์ การก่อสร้างจะล้มเหลว?
lpsaAttributes
คุณลักษณะการรักษาความปลอดภัยสำหรับวัตถุเซมาฟอร์ สำหรับคำอธิบายที่เต็มรูปแบบของโครงสร้างนี้ ดู SECURITY_ATTRIBUTESในการอ้างอิงของ Win32 Programmer?
หมายเหตุ
โครงสร้างวัตถุCSemaphoreมีชื่อ หรือการอ้างอิง การเข้าถึง หรือปล่อยวัตถุCSemaphoreสร้างวัตถุที่CSingleLockหรือCMultiLockและเรียกล็อคและปลดล็อกสมาชิกของฟังก์ชัน?
ภาพรวม CSemaphore |nbsp สมาชิกของคลาส| แผนภูมิของลำดับชั้น(&N)
ดูเพิ่มเติมnbspCMutex, CEvent, CMultiLock, CSingleLock(&N)