DWORD Lock (DWORD dwTimeOut INFINITE, BOOL = bWaitForAll = TRUE, DWORD dwWakeMask = 0);
ส่งกลับค่า
ถ้าล็อกล้มเหลว มัน returnsnbsp 1 ถ้าสำเร็จ จะส่งกลับหนึ่งในค่าต่อไปนี้(&N):
แสดงถ้าเป็นจริงbWaitForAllวัตถุทั้งหมดมีสัญญาณ (มี) ถ้าเป็น FALSEการส่งคืน valuenbsp; bWaitForAll WAIT_OBJECT_0คือดัชนีในอาร์เรย์ของวัตถุของวัตถุที่จะส่งสัญญาณ (มี)(&N)?
เหตุการณ์ที่ระบุในdwWakeMaskอยู่ในคิวสำหรับการป้อนค่าของเธรด?
ถ้าเป็นจริงbWaitForAllวัตถุทั้งหมดจะส่งสัญญาณ และอย่างน้อยหนึ่งวัตถุวัตถุ mutex ละทิ้ง ถ้าเป็น FALSEการส่งคืน valuenbsp; bWaitForAll WAIT_ABANDONED_0คือดัชนีในอาร์เรย์ของวัตถุของวัตถุพื้นที่รก mutex ที่พอใจรอคอย(&N)?
ช่วงเวลาที่ระบุในdwTimeOutหมดอายุโดยไม่ต้องรอ succeeding?
พารามิเตอร์
dwTimeOut
ระบุระยะเวลาการรอการซิงโครไนส์วัตถุได้ (แสดงสัญญาณ) ถ้าอนันต์ Lockจะรอจนกว่าจะ มีการส่งสัญญาณวัตถุก่อนที่จะกลับ?
bWaitForAll
ระบุว่า วัตถุทั้งหมดที่รอต้องเป็นส่งสัญญาณในเวลาเดียวกันก่อนที่จะกลับ ถ้าเป็น FALSE, Lockจะกลับมา เมื่ออย่างใดอย่างหนึ่งของวัตถุที่รอจะส่งสัญญาณ?
dwWakeMask
ระบุเงื่อนไขอื่น ๆ ที่ได้รับอนุญาตให้ยกเลิกการรอ ดูรายการของตัวเลือกที่พร้อมใช้งานสำหรับพารามิเตอร์นี้เต็ม MsgWaitForMultipleObjectsในการอ้างอิงของ Win32 Programmer?
หมายเหตุ
เรียกใช้ฟังก์ชันนี้เพื่อเข้าถึงทรัพยากรถูกควบคุม โดยวัตถุการซิงโครไนส์พารามิเตอร์CMultiLockที่ระบุให้อย่างน้อยหนึ่งอย่าง ถ้าเป็นจริงbWaitForAll , Lockจะส่งกลับเรียบร้อยแล้วเป็นวัตถุให้ตรงกันทั้งหมดกลายเป็นการส่งสัญญาณพร้อมกัน ถ้าเป็นเท็จbWaitForAll , Lockจะกลับคืนเป็นอย่างน้อยหนึ่งวัตถุให้ตรงกันกลายเป็นการส่งสัญญาณ?
ถ้าไม่สามารถกลับทันทีLockมันจะรอการไม่มากกว่าจำนวนของมิลลิวินาทีที่ระบุในพารามิเตอร์dwTimeOutก่อนที่จะกลับ ถ้าเป็นอนันต์dwTimeOut , Lockจะไม่กลับจนกว่าการเข้าถึงวัตถุมีกำไร หรือเงื่อนไขระบุไว้ในdwWakeMaskนั้นพบ มิฉะนั้น ถ้าล็อกได้รับวัตถุการซิงโครไนส์ ก็จะกลับคืนเสร็จเรียบร้อยแล้ว ถ้า ไม่ มันจะกลับล้มเหลว?
ภาพรวม CMultiLock |nbsp สมาชิกของคลาส| แผนภูมิของลำดับชั้น(&N)