getTokenInformation 函式 (securitybaseapi.h)

GetTokenInformation 函式會擷取存取權杖的指定類型資訊。 呼叫進程必須具有適當的存取權限,才能取得資訊。

若要判斷使用者是否為特定群組的成員,請使用 CheckTokenMembership 函式。 若要判斷應用程式容器權杖的群組成員資格,請使用 CheckTokenMembershipEx 函 式。

語法

BOOL GetTokenInformation(
  [in]            HANDLE                  TokenHandle,
  [in]            TOKEN_INFORMATION_CLASS TokenInformationClass,
  [out, optional] LPVOID                  TokenInformation,
  [in]            DWORD                   TokenInformationLength,
  [out]           PDWORD                  ReturnLength
);

參數

[in] TokenHandle

從中擷取資訊的存取權杖控制碼。 如果 TokenInformationClass 指定 TokenSource ,控制碼必須具有TOKEN_QUERY_SOURCE存取權。 對於所有其他 TokenInformationClass 值,控制碼必須具有TOKEN_QUERY存取權。

[in] TokenInformationClass

指定來自 TOKEN_INFORMATION_CLASS 列舉型別的值,以識別函式擷取的資訊類型。 任何檢查 TokenIsAppContainer 且傳回 0 的呼叫端也應該確認呼叫端權杖不是識別層級模擬權杖。 如果目前的權杖不是應用程式容器,而是身分識別層級權杖,您應該傳回 AccessDenied

[out, optional] TokenInformation

函式填入要求的資訊的緩衝區指標。 放入這個緩衝區的結構取決於 TokenInformationClass 參數所指定的資訊類型。

[in] TokenInformationLength

指定 TokenInformation 參數所指向緩衝區的大小,以位元組為單位。 如果 TokenInformationNull,此參數必須為零。

[out] ReturnLength

變數的指標,接收 TokenInformation 參數所指向之緩衝區所需的位元組數目。 如果此值大於 TokenInformationLength 參數中指定的值,則函式會失敗,而且不會在緩衝區中儲存任何資料。

如果TokenInformationClass參數的值是 TokenDefaultDacl,而且權杖沒有預設的 DACL,則函式會將ReturnLengthsizeof( 指向的變數設定為TOKEN_DEFAULT_DACL) ,並將TOKEN_DEFAULT_DACL結構的DefaultDacl成員設定為Null

傳回值

如果函式成功,則傳回非零的值。

如果此函式失敗,則傳回值為零。 若要取得擴充的錯誤資訊,請呼叫 GetLastError

需求

   
最低支援的用戶端 Windows XP [傳統型應用程式 |UWP 應用程式]
最低支援的伺服器 Windows Server 2003 [傳統型應用程式 |UWP 應用程式]
目標平台 Windows
標頭 securitybaseapi.h (包含 Windows.h)
程式庫 Advapi32.lib
Dll Advapi32.dll

另請參閱

存取控制概觀

AdjustTokenGroups

AdjustTokenPrivileges

基本存取控制函式

CheckTokenMembership

OpenProcessToken

OpenThreadToken

SECURITY_IMPERSONATION_LEVEL

SetTokenInformation

TOKEN_DEFAULT_DACL

TOKEN_GROUPS

TOKEN_GROUPS_AND_PRIVILEGES

TOKEN_INFORMATION_CLASS

TOKEN_OWNER

TOKEN_PRIMARY_GROUP

TOKEN_PRIVILEGES

TOKEN_SOURCE

TOKEN_STATISTICS

TOKEN_TYPE

TOKEN_USER