SetEvent 関数 (synchapi.h)
指定したイベント オブジェクトをシグナル状態に設定します。
構文
BOOL SetEvent(
[in] HANDLE hEvent
);
パラメーター
[in] hEvent
イベント オブジェクトへのハンドル。 CreateEvent 関数または OpenEvent 関数は、このハンドルを返します。
ハンドルには、EVENT_MODIFY_STATEアクセス権が必要です。 詳細については、「 同期オブジェクトのセキュリティとアクセス権」を参照してください。
戻り値
関数が成功すると、戻り値は 0 以外になります。
関数が失敗した場合は、0 を返します。 詳細なエラー情報を得るには、GetLastError を呼び出します。
解説
ResetEvent 関数によって非署名状態に明示的に設定されるまで、手動リセット イベント オブジェクトの状態はシグナル状態のままです。 待機中の任意の数のスレッド、または待機関数のいずれかを呼び出して、指定されたイベント オブジェクトの 待機操作を後で開始するスレッドは、オブジェクトの状態が通知されている間に解放できます。
これに対し、 自動リセット イベント オブジェクトの状態は、1 つの待機スレッドが解放されるまでシグナル状態のままであり、その時点でシステムは自動的に状態を非署名に設定します。 待機しているスレッドがない場合でも、イベント オブジェクトの状態はシグナルのままです。
既に設定されているイベントを設定しても効果はありません。
Windows ストア アプリは、「名前付きイベントとセマフォ に応答する方法」で説明されているように、名前付きイベントとセマフォに応答できます。
例
SetEvent を使用する例については、「イベント オブジェクトの使用」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows XP [デスクトップ アプリ | UWP アプリ] |
サポートされている最小のサーバー | Windows Server 2003 [デスクトップ アプリのみ | UWP アプリ] |
対象プラットフォーム | Windows |
ヘッダー | synchapi.h (Windows Server 2003、Windows Vista、Windows 7、Windows Server 2008 Windows Server 2008 R2 の Windows.h を含む) |
Library | Kernel32.lib |
[DLL] | Kernel32.dll |