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]] )
$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. |
Succès: | Retourne True. |
Échec: | Retourne False. |
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.
Consultez AdjustTokenPrivileges dans la librairie MSDN.
#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