UDF > Security >


_Security__GetTokenInformation

Obtient un type spécifié d'information sur un jeton d'accès

#include <Security.au3>
_Security__GetTokenInformation ( $hToken, $iClass )

Paramètres

$hToken Handle d'un jeton d'accès à partir duquel l'information est à récupérer.
Si $iClass spécifie $sTokenSource, le handle doit avoir l'accès $TOKEN_QUERY_SOURCE.
Pour toutes les autres valeurs de $iClass, le handle doit avoir l'accès $TOKEN_QUERY.
$iClass Indique une valeur pour identifier le type d'information que la fonction doit récupérer

Valeur de retour

Succès: Retourne une structure d'octets remplie avec les informations demandées.
Échec: Retourne 0.

En relation

_Security__OpenProcessToken, _Security__OpenThreadToken, _Security__OpenThreadTokenEx

Voir aussi

Consultez GetTokenInformation dans la librairie MSDN.

Exemple

#include <Security.au3>
#include <SecurityConstants.au3>
#include <WinAPIHObj.au3>

Example_TokInfo()

Func Example_TokInfo()
    Local $hProcess = _WinAPI_GetCurrentProcess()
    If @error Then Return ; Teste les erreurs possibles

    Local $hToken = _Security__OpenProcessToken($hProcess, $TOKEN_ALL_ACCESS)
    ; Si le jeton est obtenu...
    If $hToken Then
        ; Obtient des informations sur le type de ce jeton :
        Local $tInfo = _Security__GetTokenInformation($hToken, $TOKENTYPE)
        ; Le résultat sera des données brutes binaires. Pour $TokenType sa valeur TOKEN_TYPE (valeur d'énumération). Donc en réinterprétant le type en "int":
        Local $iTokenType = DllStructGetData(DllStructCreate("int", DllStructGetPtr($tInfo)), 1)

        ConsoleWrite("Le type de jeton est " & $iTokenType & @CRLF) ; Peut être la valeur de l'une des $TOKENPRIMARY ou $TOKENIMPERSONATION

        ; Ferme le handle du jeton
        _WinAPI_CloseHandle($hToken)
    EndIf
EndFunc   ;==>Example_TokInfo