Win32 API 日本語リファレンス
ホームSecurity › TOKEN_INFORMATION_CLASS

TOKEN_INFORMATION_CLASS

列挙型
基底型i4

メンバー 51

名前10進16進説明
TokenUser10x1バッファーは、トークンのユーザー アカウントを格納する TOKEN_USER 構造体を受け取ります。
TokenGroups20x2バッファーは、トークンに関連付けられたグループ アカウントを格納する TOKEN_GROUPS 構造体を受け取ります。
TokenPrivileges30x3バッファーは、トークンの特権を格納する TOKEN_PRIVILEGES 構造体を受け取ります。
TokenOwner40x4バッファーは、新しく作成されるオブジェクトの既定の所有者セキュリティ識別子 (SID) を格納する TOKEN_OWNER 構造体を受け取ります。
TokenPrimaryGroup50x5バッファーは、新しく作成されるオブジェクトの既定のプライマリ グループ SID を格納する TOKEN_PRIMARY_GROUP 構造体を受け取ります。
TokenDefaultDacl60x6バッファーは、新しく作成されるオブジェクトの既定の DACL を格納する TOKEN_DEFAULT_DACL 構造体を受け取ります。
TokenSource70x7バッファーは、トークンのソースを格納する TOKEN_SOURCE 構造体を受け取ります。この情報を取得するには TOKEN_QUERY_SOURCE アクセス権が必要です。
TokenType80x8バッファーは、トークンがプライマリ トークンと偽装トークンのどちらであるかを示す TOKEN_TYPE 値を受け取ります。
TokenImpersonationLevel90x9バッファーは、トークンの偽装レベルを示す SECURITY_IMPERSONATION_LEVEL 値を受け取ります。アクセス トークンが偽装トークンでない場合、この関数は失敗します。
TokenStatistics100xAバッファーは、各種のトークン統計情報を格納する TOKEN_STATISTICS 構造体を受け取ります。
TokenRestrictedSids110xBバッファーは、 制限付きトークン内の制限 SID の一覧を格納する TOKEN_GROUPS 構造体を受け取ります。
TokenSessionId120xC

バッファーは、トークンに関連付けられたターミナル サービスのセッション識別子を示す DWORD 値を受け取ります。

トークンがターミナル サーバー クライアント セッションに関連付けられている場合、セッション識別子は 0 以外になります。

Windows Server 2003 および Windows XP: トークンがターミナル サーバーのコンソール セッションに関連付けられている場合、セッション識別子は 0 になります。

ターミナル サービス環境以外では、セッション識別子は 0 になります。

TokenSessionIdSetTokenInformation で設定する場合、アプリケーションは オペレーティング システムの一部として機能 特権を保持し、かつトークンにセッション ID を設定できるように有効化されている必要があります。

TokenGroupsAndPrivileges130xDバッファーは、トークンに関連付けられたユーザー SID、グループ アカウント、制限 SID、および認証 ID を格納する TOKEN_GROUPS_AND_PRIVILEGES 構造体を受け取ります。
TokenSessionReference140xE予約済みです。
TokenSandBoxInert150xFバッファーは、トークンに SANDBOX_INERT フラグが含まれる場合に 0 以外となる DWORD 値を受け取ります。
TokenAuditPolicy160x10予約済みです。
TokenOrigin170x11

バッファーは TOKEN_ORIGIN 値を受け取ります。

名前、ドメイン、パスワードを LogonUser 関数に渡す場合のように、明示的な資格情報を使用したログオンの結果として作成されたトークンの場合、TOKEN_ORIGIN 構造体には、そのトークンを作成したログオン セッションの ID が格納されます。

AcceptSecurityContext の呼び出しや、dwLogonTypeLOGON32_LOGON_NETWORK または LOGON32_LOGON_NETWORK_CLEARTEXT を指定した LogonUser の呼び出しのように、ネットワーク認証の結果として作成されたトークンの場合、この値は 0 になります。

TokenElevationType180x12バッファーは、トークンの昇格レベルを指定する TOKEN_ELEVATION_TYPE 値を受け取ります。
TokenLinkedToken190x13バッファーは、このトークンにリンクされた別のトークンのハンドルを格納する TOKEN_LINKED_TOKEN 構造体を受け取ります。
TokenElevation200x14バッファーは、トークンが昇格されているかどうかを指定する TOKEN_ELEVATION 構造体を受け取ります。
TokenHasRestrictions210x15バッファーは、トークンが一度でもフィルター処理されたことがある場合に 0 以外となる DWORD 値を受け取ります。
TokenAccessInformation220x16バッファーは、トークンに含まれるセキュリティ情報を指定する TOKEN_ACCESS_INFORMATION 構造体を受け取ります。
TokenVirtualizationAllowed230x17バッファーは、トークンに対して仮想化が許可されている場合に 0 以外となる DWORD 値を受け取ります。
TokenVirtualizationEnabled240x18バッファーは、トークンに対して仮想化が有効になっている場合に 0 以外となる DWORD 値を受け取ります。
TokenIntegrityLevel250x19バッファーは、トークンの整合性レベルを指定する TOKEN_MANDATORY_LABEL 構造体を受け取ります。
TokenUIAccess260x1Aバッファーは、トークンに UIAccess フラグが設定されている場合に 0 以外となる DWORD 値を受け取ります。
TokenMandatoryPolicy270x1Bバッファーは、トークンの必須整合性ポリシーを指定する TOKEN_MANDATORY_POLICY 構造体を受け取ります。
TokenLogonSid280x1Cバッファーは、トークンのログオン SID を指定する TOKEN_GROUPS 構造体を受け取ります。
TokenIsAppContainer290x1Dバッファーは、トークンが app container トークンである場合に 0 以外となる DWORD 値を受け取ります。TokenIsAppContainer を確認して 0 が返された呼び出し元は、その呼び出し元のトークンが ID レベルの偽装トークンでないことも確認する必要があります。現在のトークンが app container ではなく ID レベルのトークンである場合は、AccessDenied を返してください。
TokenCapabilities300x1Eバッファーは、トークンに関連付けられた機能 (capability) を格納する TOKEN_GROUPS 構造体を受け取ります。
TokenAppContainerSid310x1Fバッファーは、トークンに関連付けられた AppContainerSid を格納する TOKEN_APPCONTAINER_INFORMATION 構造体を受け取ります。トークンが app container に関連付けられていない場合、TOKEN_APPCONTAINER_INFORMATION 構造体の TokenAppContainer メンバーは NULL を指します。
TokenAppContainerNumber320x20バッファーは、トークンの app container 番号を含む DWORD 値を受け取ります。app container トークンではないトークンの場合、この値は 0 になります。
TokenUserClaimAttributes330x21バッファーは、トークンに関連付けられたユーザー クレームを格納する CLAIM_SECURITY_ATTRIBUTES_INFORMATION 構造体を受け取ります。
TokenDeviceClaimAttributes340x22バッファーは、トークンに関連付けられたデバイス クレームを格納する CLAIM_SECURITY_ATTRIBUTES_INFORMATION 構造体を受け取ります。
TokenRestrictedUserClaimAttributes350x23この値は予約済みです。
TokenRestrictedDeviceClaimAttributes360x24この値は予約済みです。
TokenDeviceGroups370x25バッファーは、トークンに関連付けられたデバイス グループを格納する TOKEN_GROUPS 構造体を受け取ります。
TokenRestrictedDeviceGroups380x26バッファーは、トークンに関連付けられた制限付きデバイス グループを格納する TOKEN_GROUPS 構造体を受け取ります。
TokenSecurityAttributes390x27この値は予約済みです。
TokenIsRestricted400x28この値は予約済みです。
TokenProcessTrustLevel410x29
TokenPrivateNameSpace420x2A
TokenSingletonAttributes430x2B
TokenBnoIsolation440x2C
TokenChildProcessFlags450x2D
TokenIsLessPrivilegedAppContainer460x2E

最小特権 AppContainer (LPAC) を指します。LPAC は、実質的に ALL_APPLICATION_PACKAGES SID の対象外となる AppContainer です。AppContainer の詳細については、AppContainer for legacy apps を参照してください。

DoNotAddAllApplicationPackagesToRestrictions で説明されているとおり、Windows の多くのリソースは ALL_APPLICATION_PACKAGES で ACL が設定されています。明示的に許可したリソース以外へのアクセス権を一切持たないプロセスを実行したいシナリオ (たとえば、子ワーカー プロセスをサンドボックス化する Web ブラウザーなど) では、ALL_APPLICATION_PACKAGES が存在するため、AppContainer ではシステムに対するアクセス権が大きすぎます。そこで LPAC を利用します。LPAC は API を使用して命令的にのみ作成でき、appxmanifest.xml による宣言的な作成はできません。

TokenIsSandboxed470x2F
TokenIsAppSilo480x30
TokenLoggingInformation490x31
TokenLearningMode500x32
MaxTokenInfoClass510x33この列挙型の最大値です。

公式ドキュメント

TOKEN_INFORMATION_CLASS 列挙型には、アクセス トークンに割り当てる情報、またはアクセス トークンから取得する情報の種類を指定する値が含まれます。

GetTokenInformation 関数は、これらの値を使用して取得するトークン情報の種類を指定します。

SetTokenInformation 関数は、これらの値を使用してトークン情報を設定します。

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)

各言語での定義

列挙メンバーの定義。HSP タブは #define global(値は16進)。

typedef enum TOKEN_INFORMATION_CLASS : int {
    TokenUser = 1,
    TokenGroups = 2,
    TokenPrivileges = 3,
    TokenOwner = 4,
    TokenPrimaryGroup = 5,
    TokenDefaultDacl = 6,
    TokenSource = 7,
    TokenType = 8,
    TokenImpersonationLevel = 9,
    TokenStatistics = 10,
    TokenRestrictedSids = 11,
    TokenSessionId = 12,
    TokenGroupsAndPrivileges = 13,
    TokenSessionReference = 14,
    TokenSandBoxInert = 15,
    TokenAuditPolicy = 16,
    TokenOrigin = 17,
    TokenElevationType = 18,
    TokenLinkedToken = 19,
    TokenElevation = 20,
    TokenHasRestrictions = 21,
    TokenAccessInformation = 22,
    TokenVirtualizationAllowed = 23,
    TokenVirtualizationEnabled = 24,
    TokenIntegrityLevel = 25,
    TokenUIAccess = 26,
    TokenMandatoryPolicy = 27,
    TokenLogonSid = 28,
    TokenIsAppContainer = 29,
    TokenCapabilities = 30,
    TokenAppContainerSid = 31,
    TokenAppContainerNumber = 32,
    TokenUserClaimAttributes = 33,
    TokenDeviceClaimAttributes = 34,
    TokenRestrictedUserClaimAttributes = 35,
    TokenRestrictedDeviceClaimAttributes = 36,
    TokenDeviceGroups = 37,
    TokenRestrictedDeviceGroups = 38,
    TokenSecurityAttributes = 39,
    TokenIsRestricted = 40,
    TokenProcessTrustLevel = 41,
    TokenPrivateNameSpace = 42,
    TokenSingletonAttributes = 43,
    TokenBnoIsolation = 44,
    TokenChildProcessFlags = 45,
    TokenIsLessPrivilegedAppContainer = 46,
    TokenIsSandboxed = 47,
    TokenIsAppSilo = 48,
    TokenLoggingInformation = 49,
    TokenLearningMode = 50,
    MaxTokenInfoClass = 51
} TOKEN_INFORMATION_CLASS;
public enum TOKEN_INFORMATION_CLASS : int
{
    TokenUser = 1,
    TokenGroups = 2,
    TokenPrivileges = 3,
    TokenOwner = 4,
    TokenPrimaryGroup = 5,
    TokenDefaultDacl = 6,
    TokenSource = 7,
    TokenType = 8,
    TokenImpersonationLevel = 9,
    TokenStatistics = 10,
    TokenRestrictedSids = 11,
    TokenSessionId = 12,
    TokenGroupsAndPrivileges = 13,
    TokenSessionReference = 14,
    TokenSandBoxInert = 15,
    TokenAuditPolicy = 16,
    TokenOrigin = 17,
    TokenElevationType = 18,
    TokenLinkedToken = 19,
    TokenElevation = 20,
    TokenHasRestrictions = 21,
    TokenAccessInformation = 22,
    TokenVirtualizationAllowed = 23,
    TokenVirtualizationEnabled = 24,
    TokenIntegrityLevel = 25,
    TokenUIAccess = 26,
    TokenMandatoryPolicy = 27,
    TokenLogonSid = 28,
    TokenIsAppContainer = 29,
    TokenCapabilities = 30,
    TokenAppContainerSid = 31,
    TokenAppContainerNumber = 32,
    TokenUserClaimAttributes = 33,
    TokenDeviceClaimAttributes = 34,
    TokenRestrictedUserClaimAttributes = 35,
    TokenRestrictedDeviceClaimAttributes = 36,
    TokenDeviceGroups = 37,
    TokenRestrictedDeviceGroups = 38,
    TokenSecurityAttributes = 39,
    TokenIsRestricted = 40,
    TokenProcessTrustLevel = 41,
    TokenPrivateNameSpace = 42,
    TokenSingletonAttributes = 43,
    TokenBnoIsolation = 44,
    TokenChildProcessFlags = 45,
    TokenIsLessPrivilegedAppContainer = 46,
    TokenIsSandboxed = 47,
    TokenIsAppSilo = 48,
    TokenLoggingInformation = 49,
    TokenLearningMode = 50,
    MaxTokenInfoClass = 51,
}
Public Enum TOKEN_INFORMATION_CLASS As Integer
    TokenUser = 1
    TokenGroups = 2
    TokenPrivileges = 3
    TokenOwner = 4
    TokenPrimaryGroup = 5
    TokenDefaultDacl = 6
    TokenSource = 7
    TokenType = 8
    TokenImpersonationLevel = 9
    TokenStatistics = 10
    TokenRestrictedSids = 11
    TokenSessionId = 12
    TokenGroupsAndPrivileges = 13
    TokenSessionReference = 14
    TokenSandBoxInert = 15
    TokenAuditPolicy = 16
    TokenOrigin = 17
    TokenElevationType = 18
    TokenLinkedToken = 19
    TokenElevation = 20
    TokenHasRestrictions = 21
    TokenAccessInformation = 22
    TokenVirtualizationAllowed = 23
    TokenVirtualizationEnabled = 24
    TokenIntegrityLevel = 25
    TokenUIAccess = 26
    TokenMandatoryPolicy = 27
    TokenLogonSid = 28
    TokenIsAppContainer = 29
    TokenCapabilities = 30
    TokenAppContainerSid = 31
    TokenAppContainerNumber = 32
    TokenUserClaimAttributes = 33
    TokenDeviceClaimAttributes = 34
    TokenRestrictedUserClaimAttributes = 35
    TokenRestrictedDeviceClaimAttributes = 36
    TokenDeviceGroups = 37
    TokenRestrictedDeviceGroups = 38
    TokenSecurityAttributes = 39
    TokenIsRestricted = 40
    TokenProcessTrustLevel = 41
    TokenPrivateNameSpace = 42
    TokenSingletonAttributes = 43
    TokenBnoIsolation = 44
    TokenChildProcessFlags = 45
    TokenIsLessPrivilegedAppContainer = 46
    TokenIsSandboxed = 47
    TokenIsAppSilo = 48
    TokenLoggingInformation = 49
    TokenLearningMode = 50
    MaxTokenInfoClass = 51
End Enum
import enum

class TOKEN_INFORMATION_CLASS(enum.IntEnum):
    TokenUser = 1
    TokenGroups = 2
    TokenPrivileges = 3
    TokenOwner = 4
    TokenPrimaryGroup = 5
    TokenDefaultDacl = 6
    TokenSource = 7
    TokenType = 8
    TokenImpersonationLevel = 9
    TokenStatistics = 10
    TokenRestrictedSids = 11
    TokenSessionId = 12
    TokenGroupsAndPrivileges = 13
    TokenSessionReference = 14
    TokenSandBoxInert = 15
    TokenAuditPolicy = 16
    TokenOrigin = 17
    TokenElevationType = 18
    TokenLinkedToken = 19
    TokenElevation = 20
    TokenHasRestrictions = 21
    TokenAccessInformation = 22
    TokenVirtualizationAllowed = 23
    TokenVirtualizationEnabled = 24
    TokenIntegrityLevel = 25
    TokenUIAccess = 26
    TokenMandatoryPolicy = 27
    TokenLogonSid = 28
    TokenIsAppContainer = 29
    TokenCapabilities = 30
    TokenAppContainerSid = 31
    TokenAppContainerNumber = 32
    TokenUserClaimAttributes = 33
    TokenDeviceClaimAttributes = 34
    TokenRestrictedUserClaimAttributes = 35
    TokenRestrictedDeviceClaimAttributes = 36
    TokenDeviceGroups = 37
    TokenRestrictedDeviceGroups = 38
    TokenSecurityAttributes = 39
    TokenIsRestricted = 40
    TokenProcessTrustLevel = 41
    TokenPrivateNameSpace = 42
    TokenSingletonAttributes = 43
    TokenBnoIsolation = 44
    TokenChildProcessFlags = 45
    TokenIsLessPrivilegedAppContainer = 46
    TokenIsSandboxed = 47
    TokenIsAppSilo = 48
    TokenLoggingInformation = 49
    TokenLearningMode = 50
    MaxTokenInfoClass = 51
// TOKEN_INFORMATION_CLASS
pub const TokenUser: i32 = 1;
pub const TokenGroups: i32 = 2;
pub const TokenPrivileges: i32 = 3;
pub const TokenOwner: i32 = 4;
pub const TokenPrimaryGroup: i32 = 5;
pub const TokenDefaultDacl: i32 = 6;
pub const TokenSource: i32 = 7;
pub const TokenType: i32 = 8;
pub const TokenImpersonationLevel: i32 = 9;
pub const TokenStatistics: i32 = 10;
pub const TokenRestrictedSids: i32 = 11;
pub const TokenSessionId: i32 = 12;
pub const TokenGroupsAndPrivileges: i32 = 13;
pub const TokenSessionReference: i32 = 14;
pub const TokenSandBoxInert: i32 = 15;
pub const TokenAuditPolicy: i32 = 16;
pub const TokenOrigin: i32 = 17;
pub const TokenElevationType: i32 = 18;
pub const TokenLinkedToken: i32 = 19;
pub const TokenElevation: i32 = 20;
pub const TokenHasRestrictions: i32 = 21;
pub const TokenAccessInformation: i32 = 22;
pub const TokenVirtualizationAllowed: i32 = 23;
pub const TokenVirtualizationEnabled: i32 = 24;
pub const TokenIntegrityLevel: i32 = 25;
pub const TokenUIAccess: i32 = 26;
pub const TokenMandatoryPolicy: i32 = 27;
pub const TokenLogonSid: i32 = 28;
pub const TokenIsAppContainer: i32 = 29;
pub const TokenCapabilities: i32 = 30;
pub const TokenAppContainerSid: i32 = 31;
pub const TokenAppContainerNumber: i32 = 32;
pub const TokenUserClaimAttributes: i32 = 33;
pub const TokenDeviceClaimAttributes: i32 = 34;
pub const TokenRestrictedUserClaimAttributes: i32 = 35;
pub const TokenRestrictedDeviceClaimAttributes: i32 = 36;
pub const TokenDeviceGroups: i32 = 37;
pub const TokenRestrictedDeviceGroups: i32 = 38;
pub const TokenSecurityAttributes: i32 = 39;
pub const TokenIsRestricted: i32 = 40;
pub const TokenProcessTrustLevel: i32 = 41;
pub const TokenPrivateNameSpace: i32 = 42;
pub const TokenSingletonAttributes: i32 = 43;
pub const TokenBnoIsolation: i32 = 44;
pub const TokenChildProcessFlags: i32 = 45;
pub const TokenIsLessPrivilegedAppContainer: i32 = 46;
pub const TokenIsSandboxed: i32 = 47;
pub const TokenIsAppSilo: i32 = 48;
pub const TokenLoggingInformation: i32 = 49;
pub const TokenLearningMode: i32 = 50;
pub const MaxTokenInfoClass: i32 = 51;
// TOKEN_INFORMATION_CLASS
const (
	TokenUser int32 = 1
	TokenGroups int32 = 2
	TokenPrivileges int32 = 3
	TokenOwner int32 = 4
	TokenPrimaryGroup int32 = 5
	TokenDefaultDacl int32 = 6
	TokenSource int32 = 7
	TokenType int32 = 8
	TokenImpersonationLevel int32 = 9
	TokenStatistics int32 = 10
	TokenRestrictedSids int32 = 11
	TokenSessionId int32 = 12
	TokenGroupsAndPrivileges int32 = 13
	TokenSessionReference int32 = 14
	TokenSandBoxInert int32 = 15
	TokenAuditPolicy int32 = 16
	TokenOrigin int32 = 17
	TokenElevationType int32 = 18
	TokenLinkedToken int32 = 19
	TokenElevation int32 = 20
	TokenHasRestrictions int32 = 21
	TokenAccessInformation int32 = 22
	TokenVirtualizationAllowed int32 = 23
	TokenVirtualizationEnabled int32 = 24
	TokenIntegrityLevel int32 = 25
	TokenUIAccess int32 = 26
	TokenMandatoryPolicy int32 = 27
	TokenLogonSid int32 = 28
	TokenIsAppContainer int32 = 29
	TokenCapabilities int32 = 30
	TokenAppContainerSid int32 = 31
	TokenAppContainerNumber int32 = 32
	TokenUserClaimAttributes int32 = 33
	TokenDeviceClaimAttributes int32 = 34
	TokenRestrictedUserClaimAttributes int32 = 35
	TokenRestrictedDeviceClaimAttributes int32 = 36
	TokenDeviceGroups int32 = 37
	TokenRestrictedDeviceGroups int32 = 38
	TokenSecurityAttributes int32 = 39
	TokenIsRestricted int32 = 40
	TokenProcessTrustLevel int32 = 41
	TokenPrivateNameSpace int32 = 42
	TokenSingletonAttributes int32 = 43
	TokenBnoIsolation int32 = 44
	TokenChildProcessFlags int32 = 45
	TokenIsLessPrivilegedAppContainer int32 = 46
	TokenIsSandboxed int32 = 47
	TokenIsAppSilo int32 = 48
	TokenLoggingInformation int32 = 49
	TokenLearningMode int32 = 50
	MaxTokenInfoClass int32 = 51
)
const
  TokenUser = 1;
  TokenGroups = 2;
  TokenPrivileges = 3;
  TokenOwner = 4;
  TokenPrimaryGroup = 5;
  TokenDefaultDacl = 6;
  TokenSource = 7;
  TokenType = 8;
  TokenImpersonationLevel = 9;
  TokenStatistics = 10;
  TokenRestrictedSids = 11;
  TokenSessionId = 12;
  TokenGroupsAndPrivileges = 13;
  TokenSessionReference = 14;
  TokenSandBoxInert = 15;
  TokenAuditPolicy = 16;
  TokenOrigin = 17;
  TokenElevationType = 18;
  TokenLinkedToken = 19;
  TokenElevation = 20;
  TokenHasRestrictions = 21;
  TokenAccessInformation = 22;
  TokenVirtualizationAllowed = 23;
  TokenVirtualizationEnabled = 24;
  TokenIntegrityLevel = 25;
  TokenUIAccess = 26;
  TokenMandatoryPolicy = 27;
  TokenLogonSid = 28;
  TokenIsAppContainer = 29;
  TokenCapabilities = 30;
  TokenAppContainerSid = 31;
  TokenAppContainerNumber = 32;
  TokenUserClaimAttributes = 33;
  TokenDeviceClaimAttributes = 34;
  TokenRestrictedUserClaimAttributes = 35;
  TokenRestrictedDeviceClaimAttributes = 36;
  TokenDeviceGroups = 37;
  TokenRestrictedDeviceGroups = 38;
  TokenSecurityAttributes = 39;
  TokenIsRestricted = 40;
  TokenProcessTrustLevel = 41;
  TokenPrivateNameSpace = 42;
  TokenSingletonAttributes = 43;
  TokenBnoIsolation = 44;
  TokenChildProcessFlags = 45;
  TokenIsLessPrivilegedAppContainer = 46;
  TokenIsSandboxed = 47;
  TokenIsAppSilo = 48;
  TokenLoggingInformation = 49;
  TokenLearningMode = 50;
  MaxTokenInfoClass = 51;
// TOKEN_INFORMATION_CLASS
pub const TokenUser: i32 = 1;
pub const TokenGroups: i32 = 2;
pub const TokenPrivileges: i32 = 3;
pub const TokenOwner: i32 = 4;
pub const TokenPrimaryGroup: i32 = 5;
pub const TokenDefaultDacl: i32 = 6;
pub const TokenSource: i32 = 7;
pub const TokenType: i32 = 8;
pub const TokenImpersonationLevel: i32 = 9;
pub const TokenStatistics: i32 = 10;
pub const TokenRestrictedSids: i32 = 11;
pub const TokenSessionId: i32 = 12;
pub const TokenGroupsAndPrivileges: i32 = 13;
pub const TokenSessionReference: i32 = 14;
pub const TokenSandBoxInert: i32 = 15;
pub const TokenAuditPolicy: i32 = 16;
pub const TokenOrigin: i32 = 17;
pub const TokenElevationType: i32 = 18;
pub const TokenLinkedToken: i32 = 19;
pub const TokenElevation: i32 = 20;
pub const TokenHasRestrictions: i32 = 21;
pub const TokenAccessInformation: i32 = 22;
pub const TokenVirtualizationAllowed: i32 = 23;
pub const TokenVirtualizationEnabled: i32 = 24;
pub const TokenIntegrityLevel: i32 = 25;
pub const TokenUIAccess: i32 = 26;
pub const TokenMandatoryPolicy: i32 = 27;
pub const TokenLogonSid: i32 = 28;
pub const TokenIsAppContainer: i32 = 29;
pub const TokenCapabilities: i32 = 30;
pub const TokenAppContainerSid: i32 = 31;
pub const TokenAppContainerNumber: i32 = 32;
pub const TokenUserClaimAttributes: i32 = 33;
pub const TokenDeviceClaimAttributes: i32 = 34;
pub const TokenRestrictedUserClaimAttributes: i32 = 35;
pub const TokenRestrictedDeviceClaimAttributes: i32 = 36;
pub const TokenDeviceGroups: i32 = 37;
pub const TokenRestrictedDeviceGroups: i32 = 38;
pub const TokenSecurityAttributes: i32 = 39;
pub const TokenIsRestricted: i32 = 40;
pub const TokenProcessTrustLevel: i32 = 41;
pub const TokenPrivateNameSpace: i32 = 42;
pub const TokenSingletonAttributes: i32 = 43;
pub const TokenBnoIsolation: i32 = 44;
pub const TokenChildProcessFlags: i32 = 45;
pub const TokenIsLessPrivilegedAppContainer: i32 = 46;
pub const TokenIsSandboxed: i32 = 47;
pub const TokenIsAppSilo: i32 = 48;
pub const TokenLoggingInformation: i32 = 49;
pub const TokenLearningMode: i32 = 50;
pub const MaxTokenInfoClass: i32 = 51;
const
  TokenUser* = 1
  TokenGroups* = 2
  TokenPrivileges* = 3
  TokenOwner* = 4
  TokenPrimaryGroup* = 5
  TokenDefaultDacl* = 6
  TokenSource* = 7
  TokenType* = 8
  TokenImpersonationLevel* = 9
  TokenStatistics* = 10
  TokenRestrictedSids* = 11
  TokenSessionId* = 12
  TokenGroupsAndPrivileges* = 13
  TokenSessionReference* = 14
  TokenSandBoxInert* = 15
  TokenAuditPolicy* = 16
  TokenOrigin* = 17
  TokenElevationType* = 18
  TokenLinkedToken* = 19
  TokenElevation* = 20
  TokenHasRestrictions* = 21
  TokenAccessInformation* = 22
  TokenVirtualizationAllowed* = 23
  TokenVirtualizationEnabled* = 24
  TokenIntegrityLevel* = 25
  TokenUIAccess* = 26
  TokenMandatoryPolicy* = 27
  TokenLogonSid* = 28
  TokenIsAppContainer* = 29
  TokenCapabilities* = 30
  TokenAppContainerSid* = 31
  TokenAppContainerNumber* = 32
  TokenUserClaimAttributes* = 33
  TokenDeviceClaimAttributes* = 34
  TokenRestrictedUserClaimAttributes* = 35
  TokenRestrictedDeviceClaimAttributes* = 36
  TokenDeviceGroups* = 37
  TokenRestrictedDeviceGroups* = 38
  TokenSecurityAttributes* = 39
  TokenIsRestricted* = 40
  TokenProcessTrustLevel* = 41
  TokenPrivateNameSpace* = 42
  TokenSingletonAttributes* = 43
  TokenBnoIsolation* = 44
  TokenChildProcessFlags* = 45
  TokenIsLessPrivilegedAppContainer* = 46
  TokenIsSandboxed* = 47
  TokenIsAppSilo* = 48
  TokenLoggingInformation* = 49
  TokenLearningMode* = 50
  MaxTokenInfoClass* = 51
enum TOKEN_INFORMATION_CLASS : int {
    TokenUser = 1,
    TokenGroups = 2,
    TokenPrivileges = 3,
    TokenOwner = 4,
    TokenPrimaryGroup = 5,
    TokenDefaultDacl = 6,
    TokenSource = 7,
    TokenType = 8,
    TokenImpersonationLevel = 9,
    TokenStatistics = 10,
    TokenRestrictedSids = 11,
    TokenSessionId = 12,
    TokenGroupsAndPrivileges = 13,
    TokenSessionReference = 14,
    TokenSandBoxInert = 15,
    TokenAuditPolicy = 16,
    TokenOrigin = 17,
    TokenElevationType = 18,
    TokenLinkedToken = 19,
    TokenElevation = 20,
    TokenHasRestrictions = 21,
    TokenAccessInformation = 22,
    TokenVirtualizationAllowed = 23,
    TokenVirtualizationEnabled = 24,
    TokenIntegrityLevel = 25,
    TokenUIAccess = 26,
    TokenMandatoryPolicy = 27,
    TokenLogonSid = 28,
    TokenIsAppContainer = 29,
    TokenCapabilities = 30,
    TokenAppContainerSid = 31,
    TokenAppContainerNumber = 32,
    TokenUserClaimAttributes = 33,
    TokenDeviceClaimAttributes = 34,
    TokenRestrictedUserClaimAttributes = 35,
    TokenRestrictedDeviceClaimAttributes = 36,
    TokenDeviceGroups = 37,
    TokenRestrictedDeviceGroups = 38,
    TokenSecurityAttributes = 39,
    TokenIsRestricted = 40,
    TokenProcessTrustLevel = 41,
    TokenPrivateNameSpace = 42,
    TokenSingletonAttributes = 43,
    TokenBnoIsolation = 44,
    TokenChildProcessFlags = 45,
    TokenIsLessPrivilegedAppContainer = 46,
    TokenIsSandboxed = 47,
    TokenIsAppSilo = 48,
    TokenLoggingInformation = 49,
    TokenLearningMode = 50,
    MaxTokenInfoClass = 51,
}
#define global TokenUser                            0x1
#define global TokenGroups                          0x2
#define global TokenPrivileges                      0x3
#define global TokenOwner                           0x4
#define global TokenPrimaryGroup                    0x5
#define global TokenDefaultDacl                     0x6
#define global TokenSource                          0x7
#define global TokenType                            0x8
#define global TokenImpersonationLevel              0x9
#define global TokenStatistics                      0xA
#define global TokenRestrictedSids                  0xB
#define global TokenSessionId                       0xC
#define global TokenGroupsAndPrivileges             0xD
#define global TokenSessionReference                0xE
#define global TokenSandBoxInert                    0xF
#define global TokenAuditPolicy                     0x10
#define global TokenOrigin                          0x11
#define global TokenElevationType                   0x12
#define global TokenLinkedToken                     0x13
#define global TokenElevation                       0x14
#define global TokenHasRestrictions                 0x15
#define global TokenAccessInformation               0x16
#define global TokenVirtualizationAllowed           0x17
#define global TokenVirtualizationEnabled           0x18
#define global TokenIntegrityLevel                  0x19
#define global TokenUIAccess                        0x1A
#define global TokenMandatoryPolicy                 0x1B
#define global TokenLogonSid                        0x1C
#define global TokenIsAppContainer                  0x1D
#define global TokenCapabilities                    0x1E
#define global TokenAppContainerSid                 0x1F
#define global TokenAppContainerNumber              0x20
#define global TokenUserClaimAttributes             0x21
#define global TokenDeviceClaimAttributes           0x22
#define global TokenRestrictedUserClaimAttributes   0x23
#define global TokenRestrictedDeviceClaimAttributes 0x24
#define global TokenDeviceGroups                    0x25
#define global TokenRestrictedDeviceGroups          0x26
#define global TokenSecurityAttributes              0x27
#define global TokenIsRestricted                    0x28
#define global TokenProcessTrustLevel               0x29
#define global TokenPrivateNameSpace                0x2A
#define global TokenSingletonAttributes             0x2B
#define global TokenBnoIsolation                    0x2C
#define global TokenChildProcessFlags               0x2D
#define global TokenIsLessPrivilegedAppContainer    0x2E
#define global TokenIsSandboxed                     0x2F
#define global TokenIsAppSilo                       0x30
#define global TokenLoggingInformation              0x31
#define global TokenLearningMode                    0x32
#define global MaxTokenInfoClass                    0x33