Share via


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

関連項目

CreateEvent

イベント オブジェクト

OpenEvent

PulseEvent

ResetEvent

同期関数