この関数は、timeoutms ミリ秒が経過するか キューにメッセージが到着するまで待機します。タイムアウトの前に メッセージが到着した場合は、そのメッセージが処理されて 関数は TRUE を返します。メッセージを処理することなく タイムアウトが発生した場合は、この関数は FALSE を返します。 timeoutms の値を指定しなかった場合は 0 であるとみなされます。0 という値は、一切待機しないことを 意味します。処理待ち状態のメッセージがあればそれを処理し、 なければこの関数はすぐに FALSE を返します。
この関数の目的は、別々の場所にある COM のコールを振り分け、同期の 問題をうまく処理することです。これにより、発生するイベントを 効率的にスクリプトで待ち受けられるようになり、バックグラウンドで 動作している他のコードやイベントも処理できるようになります。 COM オブジェクトのイベントを使用している間は、 com_event_sink() 関数の例で示したように この関数をループ内で使用すべきです。