ThreadHandle クラス

提供: AB開発Wiki
ナビゲーションに移動検索に移動

ThreadHandle クラスは、スレッドハンドルをラッピングするクラスです。<windows/KernelHandle.hpp>にて実装されます。

クラスの機能

基底クラス・実装インターフェース

WaitableHandle クラス

プロパティ

ExitCode

スレッドの終了コードを参照します。

ExitCode() As DWord
戻り値
終了コード。スレッドがまだ終了していない場合、STILL_ACTIVEが返ります。

Priority

スレッドの相対優先度を参照・設定します。

Priority() As Long
Priority(priority As Long)
戻り値/priority
スレッドの相対優先度。THREAD_PRIORITY_で始まる定数が定義されています。

THREAD_PRIORITY_で始まる定数についてはGetThreadPriority/SetThreadPriorityを参照してください。

メソッド

Create

スレッドを作成します。

Function Create(
    ByVal psa As *SECURITY_ATTRIBUTES,
    ByVal stackSize As DWord,
    ByVal startAddress As LPTHREAD_START_ROUTINE,
    ByVal pParameter As VoidPtr,
    ByVal creationFlags As DWord,
    ByRef threadID As DWord) As HANDLE

このメソッドはWindows API関数のCreateThread或いはCRTの_beginthreadexを呼び出します(実装依存)。各引数はCreateThread/_beginthreadexの引数に対応しています。詳しくはCreateThreadをご覧ください。

戻り値
Handle

スレッドの作成に成功すると、以前のハンドルは閉じられ、新たなスレッドハンドルを保持するようになります。作成に失敗すると以前のハンドルはそのまま保持され続けます。

GetExitCode

スレッドの終了コードを取得します。

Function GetExitCode(ByRef exitCode As DWord) As BOOL
exitCode
取得した終了コードを格納する先を指定します。
戻り値
終了コードの取得に成功した場合FALSE以外の値が、失敗すればFALSEが返ります。

このメソッドはWindows API関数のGetExitCodeを呼び出します。

GetPriority

スレッドの相対優先順位を取得します。

Function GetPriority() As Long
戻り値 : 相対優先順位が返ります。

このメソッドはWindows API関数のGetThreadPriorityを呼び出します。

Resume

スレッドのサスペンドカウントを減らします。

Function Resume() As DWord
戻り値
関数が成功すると、呼び出し前のサスペンドカウントを返します。失敗すると&hffffffff (-1)が返ります。

このメソッドはWindows API関数のResumeThreadを呼び出します。

SetAffinityMask

スレッドのプロセッサアフィニティマスクを指定します。

Function SetAffinityMask(affinityMask As DWord) As DWord
affinityMask
マスクを指定します。
戻り値
関数が成功すると0以外の値が、失敗すると0が返ります。

このメソッドはWindows API関数のSetAffinityMaskを呼び出します。

SetPriority

スレッドの相対優先順位を指定します。

SetPriority(priority As Long) As BOOL
priority
新たな相対優先度を指定します。
戻り値
関数が成功するとFALSE以外の値が、失敗するとFALSEが返ります。

このメソッドはWindows API関数の[SystemService/ProcessAndThread/SetThreadPriority.htm SetThreadPriority]を呼び出します。

Suspend

スレッドのサスペンドカウントを増やします。(スレッドの実行を中断します) Function Suspend() As DWord

戻り値
関数が成功すると、呼び出し前のサスペンドカウントを返します。失敗すると&hffffffff (-1)が返ります。

このメソッドはWindows API関数のSuspendThreadを呼び出します。


Terminate

スレッドを強制終了します。

Function Terminate(exitCode As DWord) As BOOL
exitCode
終了コードを指定します。
戻り値
スレッドが終了した場合FALSE以外の値が、そうでない場合FALSEが返ります。

このメソッドはWindows API関数のTerminateThreadを呼び出します。