LSA_TOKEN_INFORMATION_V1 構造体 (ntsecpkg.h)

LSA_TOKEN_INFORMATION_V2構造体には、認証パッケージがバージョン 2 の Windows トークン オブジェクトに配置できる情報が含まれており、LSA_TOKEN_INFORMATION_V1を超えました。

バージョン 2 のトークン情報は、ほとんどのログオンで使用されます。 構造体は LSA_TOKEN_INFORMATION_V1 構造体と同じですが、メモリ割り当てが異なる方法で処理される点が異なります。 LSA_TOKEN_INFORMATION_V2構造体は、特権、DACL、SID、およびグループ配列を使用してモノリシックに割り当てられるか、同じ割り当ての一部であるか、外部で割り当ておよび解放されることを目的としています。

バージョン 2 の Windows トークン オブジェクトには、認証パッケージから ローカル セキュリティ機関 (LSA) へのトークンの作成に必要なすべての情報が格納されます。 LSA はこの情報をカーネルに渡してトークン オブジェクトを作成し、そのトークン オブジェクトへのハンドルを LsaLogonUser の呼び出し元に返します。

構文

typedef struct _LSA_TOKEN_INFORMATION_V1 {
  LARGE_INTEGER       ExpirationTime;
  TOKEN_USER          User;
  PTOKEN_GROUPS       Groups;
  TOKEN_PRIMARY_GROUP PrimaryGroup;
  PTOKEN_PRIVILEGES   Privileges;
  TOKEN_OWNER         Owner;
  TOKEN_DEFAULT_DACL  DefaultDacl;
} LSA_TOKEN_INFORMATION_V1, *PLSA_TOKEN_INFORMATION_V1;

メンバー

ExpirationTime

セキュリティ コンテキストが無効になる時刻。 コンテキストの有効期限が切れない場合は、遠い将来に値を使用します。 オペレーティング システム カーネルの現在のバージョンでは、この有効期限は適用されません。

User

TOKEN_USER ユーザーのログオンの SID を含む構造体です。 セキュリティ識別子 SID 値は、個別に割り当てられたメモリ ブロック内にあります。

Groups

TOKEN_GROUPS ユーザーがメンバーであるグループの SID を含む構造体です。 これには、WORLD またはその他のシステム定義およびシステム割り当て SID を含めてはなりません。 これらは LSA によって自動的に追加されます。

各 SID は、個別に割り当てられたメモリ ブロック内にある必要があります。 また、TOKEN_GROUPS構造体は、個別に割り当てられたメモリ ブロック内に存在することも想定されています。 これらのメモリ ブロックはすべて、 AllocatePrivateHeap 関数を呼び出して割り当てる必要があります。

PrimaryGroup

TOKEN_PRIMARY_GROUP ユーザーのプライマリ グループを確立するために使用される構造体です。 この値は、ユーザーに割り当てられている SID のいずれかに対応する必要はありません。

この構造体が指す SID は、個別に割り当てられたメモリ ブロック内にあると想定されます。

このメンバーは必須であり、入力する必要があります。

Privileges

TOKEN_PRIVILEGES ユーザーに割り当てられた 特権を 含む構造体です。 この特権の一覧は、ローカル セキュリティ ポリシーによって割り当てられた特権によって拡張またはオーバーライドされます。

各特権は、個別に割り当てられたメモリ ブロック内にある必要があります。 また、TOKEN_PRIVILEGES構造体は、個別に割り当てられたメモリ ブロック内に存在することも想定されています。

ユーザーに割り当てる特権がない場合は、このメンバーを NULL に設定できます。

Owner

TOKEN_OWNER 構造体。 このメンバーは、明示的な既定の所有者を確立するために使用できます。 通常、ユーザー ID は既定の所有者として使用されます。 別の値が必要な場合は、ここで指定する必要があります。

Owner.Sid メンバーは、代替の既定の所有者値がないことを示すために NULL に設定できます。

DefaultDacl

TOKEN_DEFAULT_DACL 構造体。 このメンバーは、ユーザーの既定の保護を確立するために使用できます。 値が指定されていない場合は、すべてのユーザーにアクセス権を付与する既定の保護が確立されます。

DefaultDacl.DefaultDacl メンバーは、既定の保護がないことを示すために NULL に設定できます。

要件

要件
サポートされている最小のクライアント Windows XP (デスクトップ アプリのみ)
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
Header ntsecpkg.h