<Return[G]><Top>

GetTokenInformation

Declare Function Api_GetTokenInformation& Lib "advapi32" Alias "GetTokenInformation" (ByVal TokenHandle&, TokenInformationClass%, TokenInformation As Any, ByVal TokenInformationLength&, ReturnLength&)

Declare Function GetTokenInformation Lib "advapi32" Alias "GetTokenInformation" (ByVal TokenHandle As Long, TokenInformationClass As Integer, TokenInformation As Any, ByVal TokenInformationLength As Long, ReturnLength As Long) As Long

アクセストークンに関する情報を取得する。呼び出し側のプロセスは、情報を取得するための適切なアクセス権利を備えていなければならない。

パラメータ
TokenHandle
    情報を取得したいアクセストークンを識別する。TokenInformationClass で TokenSource を指定する場合、ハンドルは

    TOKEN_QUERY_SOURCE アクセス権を備えていなければならない。TokenInformationClass でほかのいずれかの値を指定する場合、

    ハンドルは TOKEN_QUERY アクセス権が必要である。
TokenInformationClass
    関数が取得する情報のタイプを示すために、TOKEN_INFORMATION_CLASS 列挙型のいずれかの値を指定する。
TokenInformation
    要求された情報を受け取るバッファへのポインタを指定する。次のリストで示す通り、TokenInformationClass パラメータで指定された情報タ

    イプによって、このバッファに書き込まれる構造体が異なる。

    TokenInformationClass     

返される構造体                                                                                                                          

    TokenUser

バッファは、トークンのユーザーアカウントを保持する TOKEN_USER 構造体を受け取る。

    TokenGroups

 

バッファは、トークンに関連付けられているグループアカウントを保持する TOKEN_GROUPS 構造体を受け取る。

    TokenPrivileges バッファは、トークンの特権を保持する TOKEN_PRIVILEGES 構造体を受け取る

    TokenOwner

 

バッファは、新しく作成されるオブジェクトの既定の所有者 SID を保持する TOKEN_OWNER 構造体を受け取る。

    TokenPrimaryGroup

 

バッファは、新しく作成されるオブジェクトの既定のプライマリグループ SID を保持する

TOKEN_PRIMARY_GROUP 構造体を受け取る。

    TokenDefaultDacl

 

バッファは、新しく作成されるオブジェクトの既定の DACL を保持する TOKEN_DEFAULT_DACL 構造体を受け取る。

    TokenSourc

 

バッファは、トークンのソース(作成者)を保持する1つの TOKEN_SOURCE 構造体を受け取る。この情報を取得するには、TOKEN_QUERY_SOURCE アクセス権が必要である。

    TokenType

バッファは、トークンがプライマリトークンか偽装トークンかを示す TOKEN_TYPE 値を受け取る。

    TokenImpersonationLevel

 

バッファは、トークンの偽装レベルを示す SECURITY_IMPERSONATION_LEVEL 値を受け取る。アクセストークンが偽装トークンではない場合、関数は失敗する。

    TokenStatistics

バッファは、トークンの統計情報を保持する TOKEN_STATISTICS 構造体を受け取る。

    TokenRestrictedSids

バッファは、制限付きトークン内の制限 SID のリストを保持する TOKEN_GROUPS 構造体を受け取る。

    TokenSessionId

 

 

 

バッファは、このトークンに関連付けられている Terminal Services セッション識別子を示す DWORD 値を受け取る。トークンが Terminal Server コンソールセッションに関連付けられている場合、セッション識別子は 0 である。0 以外のセッション識別子は、Terminal Services クライアントセッションを意味する。Terminal Services 以外の環境では、セッション識別子は 0 である。

TokenInformationLength
    TokenInformation パラメータが指すバッファのサイズをバイト数で指定する。
ReturnLength
    TokenInformation パラメータが指すバッファが必要とする実際のバイト数を受け取る変数へのポインタを指定する。この値が、

    TokenInformationLength パラメータで指定された値より大きい場合、関数は失敗し、バッファに値を格納しない。
    TokenInformationClass パラメータの値が TokenDefaultDacl であり、トークンに既定の DACL が割り当てられていない場合、この関数は

    ReturnLength が指す変数を sizeof(TOKEN_DEFAULT_DACL) に、TOKEN_DEFAULT_DACL 構造体の DefaultDacl メンバを

    NULL に設定する。

戻り値
    関数が成功すると、0 以外の値が返る。
    関数が失敗すると、0 が返る。拡張エラー情報を取得するには、GetLastError 関数を使う。