DWORD ロック (DWORD dwTimeOut 無限、BOOL を = bWaitForAll = TRUE、DWORD dwWakeMask = 0);
戻り値
ロックが失敗した場合は、それ returnsnbsp;-1。成功の場合は、次の値のいずれかを返します(&N):
BWaitForAllがTRUEの場合は、すべてのオブジェクト (使用可能) シグナルです。BWaitForAllがFALSEを返すの valuenbsp なら;- WAIT_OBJECT_0です (使用可能) がシグナル状態で、オブジェクトのオブジェクトの配列内のインデックス(&N)。
DwWakeMaskで指定されたイベントは、スレッドの入力キューで利用可能です。
BWaitForAllがTRUEの場合は、すべてのオブジェクトがシグナル状態ですとのすべてのオブジェクトの少なくとも 1 つは、放棄されたミュー テックス オブジェクトです。BWaitForAllがFALSEを返すの valuenbsp なら;- WAIT_ABANDONED_0です、待機が満たされて、放棄されたミュー テックス オブジェクトのオブジェクトの配列内のインデックス(&N)。
待機成功せずdwTimeOutで指定されたタイムアウト間隔が期限切れ。
パラメーター
dwTimeOut
使用する同期オブジェクトを待機する時間の量を指定します (通知)。オブジェクトを返す前に通知されるまで無限、ロックを待機する場合。
bWaitForAll
待機のすべてのオブジェクトを返す前に、同時にシグナル状態になる必要があるかどうかを指定します。ロックのFALSEを返す場合、オブジェクトのいずれかを待っていたときシグナルします。
dwWakeMask
待機を中止できるその他の条件を指定します。このパラメーターの使用可能なオプションの一覧についてを参照してください MsgWaitForMultipleObjects Win32 プログラマーズ リファレンス。
解説
1 つまたは複数のCMultiLockコンス トラクターに渡された同期オブジェクトが制御リソースにアクセスするには、この関数を呼び出します。BWaitForAllがTRUEの場合は、同期のすべてのオブジェクトが同時にシグナル状態になるとすぐにロックが正常に返されます。BWaitForAllがFALSEの場合は、1 つまたは複数の同期オブジェクトがシグナル状態になるとすぐに、ロックを返します。
ロックがすぐに返すことがない場合は、それ以上を返す前に、 dwTimeOutパラメーターで指定されたミリ秒単位の数を待機します。DwTimeOutが無限の場合は、ロックオブジェクトへのアクセスを得たまたはdwWakeMaskで指定された条件を満たされたまで返されません。ロック同期オブジェクトを取得することができた場合は、それ以外の場合、それが正常に戻ります。場合は、エラーが返されます。
CMultiLock 概要|nbsp;クラス メンバー |階層図(&N)