UDF > Security >


_Security__AdjustTokenPrivileges

Active ou désactive les privilèges d'un jeton d'accès spécifié

#include <Security.au3>
_Security__AdjustTokenPrivileges ( $hToken, $bDisableAll, $tNewState, $iBufferLen [, $tPrevState = 0 [, $pRequired = 0]] )

Paramètres

$hToken Handle du jeton d'accès qui contient les privilèges à modifier
$bDisableAll Si True, la fonction désactive tous les privilèges et ignore le paramètre NewState.
Si False, la fonction modifie les privilèges fondés sur l'information pointée par le paramètre $pNewState.
$tNewState Une structure $tagTOKEN_PRIVILEGES, ou un pointeur sur une telle structure, qui contient le privilège et ses attributs
$iBufferLen Taille, en octets, de la structure ou du tampon mémoire
$tPrevState [optionnel] Une structure $tagTOKEN_PRIVILEGES, ou un pointeur sur une telle structure, qui spécifie l'état précédent du privilège que la fonction va modifier. Il peut être 0.
$pRequired [optionnel] Pointeur vers une variable qui reçoit la taille requise, en octets, du tampon pointé par $tPrevState.
Ce paramètre peut être 0 si $pPrevState est 0.

Valeur de retour

Succès: Retourne True.
Échec: Retourne False.

Remarque

Cette fonction ne peut pas ajouter de nouveaux droits à un jeton d'accès. Elle ne peut activer ou désactiver que des privilèges existants du jeton.

En relation

$tagTOKEN_PRIVILEGES

Voir aussi

Consultez AdjustTokenPrivileges dans la librairie MSDN.

Exemple

#RequireAdmin ; A un sens pour cet exemple

#include <MsgBoxConstants.au3>
#include <Security.au3>
#include <SecurityConstants.au3>
#include <WinAPIHobj.au3>

Global $hToken = _Security__OpenProcessToken(_WinAPI_GetCurrentProcess(), $TOKEN_ALL_ACCESS)
If $hToken Then
    ; $hToken est ce jeton de processus avec l'accès $TOKEN_ALL_ACCESS

    ; Désactive tous les privilèges pour ce jeton
    If _Security__AdjustTokenPrivileges($hToken, True, 0, 0) Then
        ;
        ; ... Faites n'importe quoi avec ce jeton ici et maintenant...
        ;
        MsgBox($MB_SYSTEMMODAL, "TokenPrivileges", "Tous les TokenPrivileges sont désactivés!")
    EndIf

    ; Fermer le handle lorsque vous en avez terminé
    _WinAPI_CloseHandle($hToken)
EndIf