既存の名前付きイベントオブジェクトを開く。(Unicode)
OpenEventW dwDesiredAccess, bInheritHandle, lpName
dwDesiredAccess : [int] イベントオブジェクトへのアクセス。指定オブジェクトのセキュリティ記述子が呼び出し側プロセスに要求されたアクセスを許可しない場合、関数は失敗する。アクセス権の一覧は「同期オブジェクトのセキュリティとアクセス権」を参照。 bInheritHandle : [int] この値が TRUE の場合、このプロセスから作成されたプロセスはハンドルを継承する。そうでない場合、プロセスはこのハンドルを継承しない。 lpName : [wstr] 開くイベントの名前。名前の比較は大文字小文字を区別する。この関数はプライベート名前空間内のオブジェクトを開ける。詳細は「オブジェクト名前空間」を参照。ターミナルサービス: 名前は "Global\" または "Local\" プレフィックスを持つことができ、グローバル名前空間またはセッション名前空間にあるオブジェクトを明示的に開ける。名前の残り部分にはバックスラッシュ (\\) 以外の任意の文字を含められる。詳細は「カーネルオブジェクト名前空間」を参照。注: ファーストユーザー切り替えはターミナルサービスセッションを使って実装される。最初にログオンしたユーザーはセッション 0 を使用し、次のユーザーはセッション 1 を使用する、というように続く。アプリケーションが複数ユーザーをサポートできるよう、カーネルオブジェクト名はターミナルサービス向けのガイドラインに従わなければならない。
(プラグイン / モジュール : kernel32.dll)
既存の名前付きイベントオブジェクトを開く。(Unicode) [戻り値] 関数が成功した場合、戻り値はイベントオブジェクトのハンドルである。関数が失敗した場合、戻り値は NULL である。拡張エラー情報を取得するには GetLastError を呼ぶ。 [備考] OpenEvent 関数は、複数のプロセスが同じイベントオブジェクトのハンドルを開けるようにする。関数は、あるプロセスが既に CreateEvent 関数を使ってイベントを作成している場合にのみ成功する。呼び出し側プロセスは、dwDesiredAccess 引数で指定されたアクセスの制限のもと、イベントオブジェクトのハンドルを要求する任意の関数で、返されたハンドルを使用できる。ハンドルは DuplicateHandle 関数を使って複製できる。ハンドルを閉じるには CloseHandle 関数を使う。プロセス終了時にはシステムが自動的にハンドルを閉じる。イベントオブジェクトは、最後のハンドルが閉じられた時点で破棄される。 > [!NOTE] > synchapi.h ヘッダは OpenEvent を、UNICODE プリプロセッサ定数の定義に基づいて ANSI 版または Unicode 版を自動選択するエイリアスとして定義している。エンコーディング中立なエイリアスと、エンコーディング中立でないコードを混在させると、コンパイル時または実行時エラーとなる不一致を生じ得る。詳細は [関数プロトタイプの慣例](/windows/win32/intl/conventions-for-function-prototypes) を参照。
| プラグイン / モジュール | kernel32.dll |
| バージョン | 1.0 |
| 作成日 | 2026/04/16 |
| 著作者 | IronHSP / CsWin32 bridge |
| URL | https://github.com/inovia/IronHSP |
| 備考 | Win32 API の kernel32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。 |
| タイプ | 拡張命令 |
| グループ | Win32API |
| 対応環境 |
|
| hs ファイル | hsphelp\win32_kernel32_gen2.hs |