System.SyncObjs.THandleObject.WaitForMultiple

提供:RAD Studio API Documentation

Delphi

class function WaitForMultiple(const HandleObjs: THandleObjectArray;
Timeout: Cardinal; AAll: Boolean; out SignaledObj: THandleObject;
UseCOMWait: Boolean = False; Len: Integer = 0): TWaitResult;

C++

__classmethod System::Types::TWaitResult __fastcall WaitForMultiple(const THandleObjectArray HandleObjs, unsigned Timeout, bool AAll, /* out */ THandleObject* &SignaledObj, bool UseCOMWait = false, int Len = 0x0);

プロパティ

種類 可視性 ソース ユニット 親
function public
System.SyncObjs.pas
System.SyncObjs.hpp
System.SyncObjs THandleObject

説明

リスト内の THandleObject オブジェクトがシグナル状態に入るのを待ちます。

WaitForMultiple を呼び出すと、リスト内の THandleObject オブジェクトがシグナル状態に入るのを待つことができます。TimeOut ミリ秒を過ぎてシグナル状態にならない場合も、WaitForMultiple は結果を返します。

HandleObjs パラメータには、待つ対象のオブジェクトのリストを含めます。

AAll パラメータが True の場合、すべてのオブジェクトがシグナル状態にならなければ呼び出しは終了しません。

最初にシグナル状態になったオブジェクトが SignaledObj パラメータに渡されます。ただしそれは、関数が wrSignaled を返し、AAll が False である場合だけです。

UseCOMWait パラメータを設定すると、スレッドがブロックされてオブジェクトを待っているときに発生した STA COM 呼び出しをこのスレッドに戻すことができます。

Len には、そのリスト内の監視対象オブジェクトの数が含まれます。

この関数は TWaitResult 型の結果を返すので、それを使って操作がどのように終わったかを判定することができます。

関連項目