<Return[O]><Top>

OpenThread

Declare Function Api_OpenThread& Lib "kernel32" Alias "OpenThread" (ByVal dwDesiredAccess&, ByVal bInheritHandle&, ByVal dwThreadId&)

Declare Function OpenThread Lib "kernel32" Alias "OpenThread" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwThreadId As Long) As Long

既存のスレッドオブジェクトのハンドルを取得する。

パラメータ
dwDesiredAccess
    取得したハンドルに付加したいアクセス権を指定する。セキュリティチェックをサポートする OS では、指定したアクセスレベルがスレッドのセキ

    ュリティ記述子と照合される。STANDARD_RIGHTS_REQUIRED アクセスフラグに加え、次のアクセスフラグを自由に組み合わせてセット

    できる。

    アクセスフラグ                                     

説明                                                                                                                   

    SYNCHRONIZE

取得するスレッドハンドルをいずれかので使うことができるようにする。

    THREAD_ALL_ACCESS

スレッドオブジェクトで獲得可能なすべてのアクセスフラグをセットする。

    THREAD_GET_CONTEXT

取得するスレッドハンドルを 関数で使うことができるようにする。

    THREAD_QUERY_INFORMATION

 

取得するスレッドハンドルを使って、終了コードなど、スレッドオブジェクトの特定の情報を読み取ることができるようにする。

    THREAD_SET_CONTEXT

取得するスレッドハンドルを 関数で利用できるようにする。

    THREAD_SET_INFORMATION

取得するスレッドハンドルを使ってスレッドオブジェクトの特定の情報を設定できるようにする。

    THREAD_SET_THREAD_TOKEN

取得するスレッドハンドルを 関数で使って、スレッドトークンを設定できるようにする。

    THREAD_SUSPEND_RESUME

 

取得するスレッドハンドルを SuspendThread 関数または ResumeThread 関数で使って、スレッドの中断と再開ができるようにする。

    THREAD_TERMINATE

取得するスレッドハンドルを TerminateThread 関数で使って、スレッドを終了できるようにする。

bInheritHandle
    取得したハンドルを、現在のプロセスが作成する新しいプロセスに継承させるかどうか指定する。TRUE を指定すると、新しいプロセスがハ

    ンドルを継承する。
dwThreadId
    開こうとしているスレッドのスレッド識別子を指定する。
 

戻り値
    関数が成功すると、指定したプロセスの開いたハンドルが返る。
    関数が失敗すると、NULL が返る。拡張エラー情報を取得するには、 関数を使う。

解説
    OpenThread 関数が返すハンドルは、必要なアクセス権を要求すれば、待機関数など、スレッドのハンドルを必要とするどの関数でも使うこ

    とができる。ハンドルには、スレッドオブジェクトへのアクセス権が dwDesiredAccess パラメータで指定した範囲内で与えられる。
    使い終わったハンドルは、 関数を使って必ず閉じる。