DWORD Lock (DWORD DwTimeOut = INFINITE, BOOL bWaitForAll = TRUE, DWORD DwWakeMask = 0);
Rückgabewert
We&nn Sperre nicht, es Returnsnbsp; – 1. Wenn erfolgreich, gibt es die folgenden Werte:
We&nn bWaitForAll TRUEist, werden alle Objekte (verfügbar) signalisiert. Wenn bWaitForAll FALSEder Rückgabewert Valuenbsp ist; – WAIT_OBJECT_0 ist der Index in das Array von Objekten des Objekts, das signalisiert wird, (verfügbar).
Ein Ereignis, die in DwWakeMask angegebene steht in der Eingabewarteschlange des Threads.
Wenn bWaitForAll TRUEist, werden alle Objekte signalisiert, und mindestens eines der Objekte ist ein abgebrochener Mutex-Objekt. Wenn bWaitForAll FALSEder Rückgabewert Valuenbsp ist; – WAIT_ABA&NDONED_0 ist der Index in das Array von Objekten des abgebrochenen Mutex-Objekts, das den Wartevorgang erfüllt.
Das in DwTimeOut angegebene Timeoutintervall abgelaufen, ohne die Wartezeit.
Parameter
dwTimeOut
Gibt die Wartezeit für die Synchronisierung-Objekt zur Verfügung stehen (signalisiert). Wenn unendliche, Sperre wartet, bis das Objekt vor der Rückgabe signalisiert ist.
bWaitForAll
Gibt an, ob alle Objekte wartete auf zur gleichen Zeit kehrte signalisiert werden müssen. Wenn FALSE, Sperre zurück wird wenn eines der Objekte auf gewartet signalisiert.
dwWakeMask
Gibt andere Bedingungen, die den Wartevorgang Abbrechen dürfen. Eine vollständige Liste der verfügbaren Optionen für diesen Parameter finden Sie unter MsgWaitForMultipleObjects in der Win32-Programmierreferenz.
Bemerkungen
Rufen Sie diese Funktion Zugriff auf eine oder mehrere der Ressourcen durch die an den CMultiLock -Konstruktor bereitgestellten Synchronisierungsobjekte gesteuert. Wenn bWaitForAll TRUEist, wird Lock erfolgreich zurück, sobald alle Synchronisierungsobjekte gleichzeitig signalisiert werden. Wenn bWaitForAll FALSEist, gibt die Sperre zurück, sobald mindestens eine der die Synchronisierungsobjekte signalisiert wird.
Wenn Sperre nicht sofort zurückgeben kann, wird es nicht mehr als die angegebene Anzahl von Millisekunden im DwTimeOut -Parameter vor der Rückgabe warten. Wenn DwTimeOut unendlichist, werden Sperren nicht zurück, bis Zugriff auf ein Objekt gewonnen wird oder eine in DwWakeMask angegebene Bedingung erfüllt wurde. Andernfalls, wenn Sperre ein Synchronisierungsobjekt erwerben konnte, wird erfolgreich zurückgegeben; Wenn nicht, es gibt Fehler zurück.
CMultiLock Übersicht | Member der Klasse | Hierarchiediagramm