Active ou désactive les privilèges du jeton d'accès spécifié
#include <WinAPIProc.au3>
_WinAPI_AdjustTokenPrivileges ( $hToken, $aPrivileges, $iAttributes, ByRef $aAdjust )
$hToken | Handle du jeton d'accès qui contient les privilèges à modifier. Le handle doit avoir les droits d'accès $TOKEN_ADJUST_PRIVILEGES et $TOKEN_QUERY au jeton. |
$aPrivileges | La variable qui spécifie un privilège. Si ce paramètre est (-1), la fonction désactive le privilège du jeton et ignore le paramètre $iAttributes. $aPrivileges peut être de l'un des types suivants: La constante de privilège ($SE_*). Tableau 1D de constantes $SE_*. Tableau 2D de constantes $SE_* et leurs attributs (voir ci-dessous). [0][0] - Privilege [0][1] - Attributs [n][0] - Privilege [n][1] - Attributs |
$iAttributes | Les attribut du privilège. Si le paramètre $aPrivileges est un tableau 1D, $iAttributes est appliquée au tableau entier. Si le paramètre $aPrivileges est (-1) ou un tableau 2D, la fonction ignore ce paramètre et utilisera les attributs spécifiés dans ce tableau. Ce paramètre peut être 0 (privilège désactivé) ou toute combinaison des valeurs suivantes: $SE_PRIVILEGE_ENABLED $SE_PRIVILEGE_ENABLED_BY_DEFAULT $SE_PRIVILEGE_REMOVED $SE_PRIVILEGE_USED_FOR_ACCESS |
$aAdjust | Tableau 2D de l'état précédent de tous les privilèges que la fonction modifie. Autrement dit, si un privilège a été modifié par cette fonction, le privilège et son état précédent figurent dans ce tableau. |
Succès: | Retourne 1 et définit @extended avec les valeurs suivantes: 0 - La fonction a ajusté tous les privilèges spécifiés. 1 - Le jeton n'a pas un ou plusieurs des privilèges spécifiés dans le paramètre $aPrivileges. |
Échec: | Retourne 0 et définit @error <> 0. |
Cette fonction ne peut pas ajouter de nouveaux privilèges pour le jeton d'accès. Elle peut seulement activer ou désactiver les privilèges existants du jeton.
Pour déterminer si la fonction a réussi et a ajusté tous les privilèges spécifiés, regardez les flags @error et @extended, tous les deux, par exemple:
If Not (@error Or @extended) Then
...
EndIf
Consultez AdjustTokenPrivileges dans la librairie MSDN.