スレッドを作成します。
dwStackSize
lpStartAddress
lpParameter
dwCreationFlags
lpThreadId
戻り値
関数が成功すると、作成されたスレッドのハンドルが返ります。失敗すると 0 が返ります。
解説
スレッドのハンドルが不要になったときは、CloseHandle関数でメモリから解放して下さい。
作成されるスレッドの優先順位は THREAD_PRIORITY_NORMAL になります。優先順位の取得、設定はそれぞれ、GetThreadPriority関数、SetThreadPriority関数を利用して下さい。
環境情報
インクルード ファイル: api_system.sbp 内で定義済み
定義
Declare Function CreateThread Lib "kernel32" Alias "CreateThread" _
(ByRef lpThreadAttributes As SECURITY_ATTRIBUTES, _
dwStackSize As DWord, _
lpStartAddress As DWord, _
lpParameter As VoidPtr, _
dwCreationFlags As DWord, _
lpThreadId As DWordPtr) As HANDLE
lpThreadAttributes
取得したハンドルの子プロセスへの継承を許可するかどうかを決める、SECURITY_ATTRIBUTES 構造体へのポインタを指定します。ハンドルを継承しないときは NULL を指定して下さい。
新しいスレッド用に確保するスタックサイズをバイト単位で指定します。0 を指定するとデフォルトのサイズになります。
新しいスレッドの開始アドレスを指定します。AddressOf関数を利用するとプロシージャの開始アドレスを取得することができます。
スレッドに渡す32ビット値を指定します。
CREATE_SUSPENDED フラグを指定すると、サスペンド状態のスレッドが作成されます。省略するときは 0 を指定します。
DWord型変数へのポインタを指定します。この変数に作成されたスレッドのIDが格納されます。
DLLファイル: kernel32.dll
CloseHandle関数、ExitThread関数、ResumeThread関数