ThreadHandle クラス
ThreadHandle クラスは、スレッドハンドルをラッピングするクラスです。<windows/KernelHandle.hpp>にて実装されます。
クラスの機能
基底クラス・実装インターフェース
プロパティ
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を呼び出します。