TerminateThread

スレッドを終了する。

TerminateThread hThread, dwExitCode

hThread : [intptr] 終了するスレッドのハンドル。THREAD_TERMINATE アクセス権が必要。詳細は Thread Security and Access Rights を参照。
dwExitCode : [int] スレッドの終了コード。スレッドの終了値は GetExitCodeThread で取得する。

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

解説

スレッドを終了する。

[戻り値]
関数が成功した場合、戻り値は 0 以外である。関数が失敗した場合、戻り値は 0 となる。拡張エラー情報を取得するには
GetLastError を呼ぶ。

[備考]
TerminateThread
はスレッドを終了させる。これが起こると対象スレッドはユーザーモードコードを実行する機会がない。スレッドにアタッチされた DLL
にスレッド終了は通知されない。システムはスレッドの初期スタックを解放する。Windows Server 2003 と Windows XP
では対象スレッドの初期スタックは解放されずリソースリークとなる。TerminateThread
は危険な関数で、本当に最終手段としてのみ使うべきである。対象スレッドが何をしているかを正確に知り、終了時に対象スレッドが実行している可能性のあるすべてのコードを制御している場合のみ呼ぶべき。たとえば次のような問題を引き起こす。
(以下省略)

情報

プラグイン / モジュール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