デバッグ対象プロセスでデバッグイベントが発生するのを待機する。(WaitForDebugEvent)
WaitForDebugEvent lpDebugEvent, dwMilliseconds
lpDebugEvent : [var] デバッグイベントの情報を受け取る DEBUG_EVENT 構造体へのポインタ。 dwMilliseconds : [int] デバッグイベントを待機するミリ秒数。0 を指定するとデバッグイベントをテストして即座に戻る。INFINITE を指定するとデバッグイベントが発生するまで戻らない。
(プラグイン / モジュール : kernel32.dll)
デバッグ対象プロセスでデバッグイベントが発生するのを待機する。(WaitForDebugEvent) [戻り値] 関数が成功した場合、戻り値は 0 以外である。関数が失敗した場合、戻り値は 0 となる。拡張エラー情報を取得するには GetLastError を呼ぶ。 [備考] デバッグ対象プロセスを作成したスレッドのみ WaitForDebugEvent を呼び出せる。CREATE_PROCESS_DEBUG_EVENT が発生すると、デバッガアプリは DEBUG_EVENT 構造体内でデバッグ対象プロセスのイメージファイル、プロセス、初期スレッドのハンドルを受け取る。これらは u.CreateProcessInfo.hFile (イメージ)、u.CreateProcessInfo.hProcess (プロセス)、u.CreateProcessInfo.hThread (初期スレッド) で返される。EXIT_PROCESS_DEBUG_EVENT を以前に報告していれば、デバッガが ContinueDebugEvent を呼んだときシステムはプロセスとスレッドのハンドルを閉じる。デバッガはイメージファイルのハンドルを CloseHandle で閉じる必要がある。同様に CREATE_THREAD_DEBUG_EVENT 発生時は u.CreateThread.hThread でスレッドのハンドルを受け取る。EXIT_THREAD_DEBUG_EVENT を以前に報告していれば、デバッガが ContinueDebugEvent を呼んだときシステムはスレッドハンドルを閉じる。LOAD_DLL_DEBUG_EVENT 発生時は u.LoadDll.hFile でロード DLL のハンドルを受け取り、デバッガは CloseHandle で閉じる必要がある。警告 WaitForDebugEvent を呼び出すスレッドに非同期プロシージャ呼び出し (APC) をキューイングしないこと。
| プラグイン / モジュール | 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 |