次の方法で共有


AvRtWaitOnThreadOrderingGroup 関数 (avrt.h)

スレッド順序付けグループのクライアント スレッドが実行されるまで待機できるようにします。

構文

AVRTAPI BOOL AvRtWaitOnThreadOrderingGroup(
  [in] HANDLE Context
);

パラメーター

[in] Context

コンテキスト ハンドル。 このハンドルは、 AvRtCreateThreadOrderingGroup または AvRtJoinThreadOrderingGroup 関数によって返されます。

戻り値

関数が成功すると、戻り値は 0 以外になります。

関数が失敗した場合は、0 を返します。 詳細なエラー情報を得るには、GetLastError を呼び出します。

解説

この関数が戻るときに、スレッドは期間の処理を完了してから、関数を再度呼び出す必要があります。

スレッドがグループの作成時に親スレッドによって指定されたタイムアウト期間中に処理を完了できなかった場合、スレッド順序付けグループから削除されます。 そのため、スレッドが処理ループを終了すると、 AvRtWaitOnThreadOrderingGroup の次の呼び出しが失敗し、最後のエラー コードが ERROR_ACCESS_DENIED に設定されます。

待機中にスレッド順序グループが削除された場合、この関数は最終的にタイムアウトし、ERROR_ACCESS_DENIEDを返します。

#include <windows.h>
#include <avrt.h>
#include <stdio.h>

#pragma comment(lib, "Avrt.lib")

HANDLE Context;

int main( void )
{
    while(AvRtWaitOnThreadOrderingGroup(Context))
    {
        // Complete task for this period.
    }

return 0;
}

要件

要件
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー avrt.h
Library Avrt.lib
[DLL] Avrt.dll

こちらもご覧ください

スレッド順序付けサービス