CreateEventW

名前付きまたは無名のイベントオブジェクトを作成または開く。(Unicode)

CreateEventW lpEventAttributes, bManualReset, bInitialState, lpName

lpEventAttributes : [var] SECURITY_ATTRIBUTES 構造体へのポインタ。NULL の場合、ハンドルは子プロセスに継承されない。
bManualReset : [int] TRUE なら手動リセットイベントオブジェクトを作成する(ResetEvent での明示的リセットが必要)。FALSE なら自動リセットイベントオブジェクトを作成する(単一待機スレッドが解放された後、システムが自動的にリセットする)。
bInitialState : [int] TRUE の場合、イベントオブジェクトの初期状態はシグナル状態。そうでない場合は非シグナル状態。
lpName : [wstr] イベントオブジェクトの名前。名前は MAX_PATH 文字に制限され、大文字小文字を区別する。既存の名前付きイベントオブジェクトと一致した場合、EVENT_ALL_ACCESS 権で既存オブジェクトを開く。NULL の場合は無名オブジェクトを作成する。"Global\" または "Local\" プレフィックスでグローバル/セッション名前空間を指定できる。

(プラグイン / モジュール : kernel32.dll)

解説

名前付きまたは無名のイベントオブジェクトを作成または開く。(Unicode)

[戻り値]

関数が成功した場合、戻り値はイベントオブジェクトへのハンドル。名前付きイベントオブジェクトが既存の場合は既存オブジェクトへのハンドルを返し、GetLastError
は ERROR_ALREADY_EXISTS を返す。失敗した場合は NULL。

[備考]
CreateEvent が返すハンドルは EVENT_ALL_ACCESS 権を持つ。手動リセットイベントはシグナル状態になると
ResetEvent
で明示的にリセットされるまでシグナル状態を維持し、待機中の全スレッドが解放されうる。自動リセットイベントはシグナル状態になると 1
つの待機スレッドが解放された後、自動的に非シグナル状態に戻る。複数プロセスで同じイベントオブジェクトのハンドルを持つことができ、プロセス間同期に使用できる。
(以下省略)

情報

プラグイン / モジュールkernel32.dll
バージョン1.0
作成日2026/04/16
著作者IronHSP / CsWin32 bridge
URLhttps://github.com/inovia/IronHSP
備考Win32 API の kernel32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。
タイプ拡張命令
グループWin32API
対応環境
  • Windows 版 HSP
hs ファイルhsphelp\win32_kernel32_gen2.hs