<Return[S]><Top>

SetTokenInformation

Declare Function Api_SetTokenInformation& Lib "advapi32" Alias "SetTokenInformation" (ByVal TokenHandle&, TokenInformationClass%, TokenInformation As Any, ByVal TokenInformationLength&)

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

指定されたアクセストークンに、さまざまなタイプの情報を設定する。この関数が設定する情報は、既存の情報を置き換える。呼び出し側のプロセスには、情報を設定するための適切なアクセス権利が必要である。

パラメータ
TokenHandle
    情報を設定するアクセストークンを識別する。
TokenInformationClass
    この関数が設定する情報のタイプを示す、 列挙型の値を保持する変数を指定する。TOKEN_INFORMATION_CLASS の値は、

    TokenOwner、TokenPrimaryGroup、および TokenDefaultDacl の、任意の組み合わせになる。
TokenInformation
    アクセストークン内に設定する情報を保持しているバッファへのポインタを指定する。TokenInformationClass パラメータで指定された情報タイ

    プによって、このバッファに提供するべき構造体が異なる。この関数では、次の 3 つの値が有効である。
 

    Token Information Class   

提供する構造体                                                                                                                     

    TokenOwner

 

構造体。所有者情報を設定するには、TOKEN_ADJUST_DEFAULT アクセス権利が必要である。オブジェクトの所有者として割り当て可能な属性を備えたユーザー識別子またはグループ識別子が、有効な値である。

    TokenPrimaryGroup

 

構造体。プライマリグループ情報を設定するには、TOKEN_ADJUST_DEFAULT アクセス権が必要である。

    TokenDefaultDacl

 

 

構造体。既定の DACL(随意アクセス制御リスト)に情報を設定するには、TOKEN_ADJUST_DEFAULT アクセス権利が必要である。この関数は、新しい既定の DACL として提供される ACL 構造体の妥当性や整合性をチェックしない。TokenInformation パラメータが NULL の場合、現在の既定の DACL は削除され、代わりの値は設定されない。

TokenInformationLength
    TokenInformation パラメータが指すバッファのサイズをバイト単位で指定する。

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

解説
    特権情報を設定するには、アプリケーションで AdjustTokenPrivileges 関数を呼び出す。トークンのグループを設定するには、アプリケーショ

    ンで AdjustTokenGroups 関数を呼び出す。
    トークンタイプの情報を設定できるのは、アクセストークンの作成時だけである。