Funktionreferenz


_Security__AdjustTokenPrivileges

Beschreibung anzeigen in

Aktiviert oder deaktiviert Rechte in einem Access Token

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

Parameter

$hToken Handle zu einem Access Token dass die Rechte beinhaltet, die geändert werden sollen
$bDisableAll Bei True deaktiviert die Funktion alle Rechte und ignoriert den NewState Parameter.
Bei False modifiziert die Funktion die Rechte anhand des Parameters $pNewState.
$tNewState eine $tagTOKEN_PRIVILEGES Struktur oder ein Zeiger zu dieser, die das Recht und seine Attribute enthält
$iBufferLen Größe des Puffers in Bytes auf den $pNewState verweist
$tPrevState [optional] eine $tagTOKEN_PRIVILEGES Struktur oder ein Zeiger zu dieser, den vorherigen Status eines Rechts angibt, das die Funktion verändert. Dieser Wert kann 0 sein.
$pRequired [optional] Zeiger auf eine Variable, die die benötigte Größe des Puffers in Bytes erhält, auf den $tPrevState verweist. Dieser Wert kann 0 sein, wenn $tPrevState 0 ist.

Rückgabewert

Erfolg: True.
Fehler: False.

Bemerkungen

Diese Funktion kann keine neuen Rechte zu einem Access Token hinzufügen. Es werden nur vorhandene Rechte aktiviert oder deaktiviert.

Verwandte Funktionen

$tagTOKEN_PRIVILEGES

Siehe auch

Suche nach AdjustTokenPrivileges in der MSDN Bibliothek.

Beispiel

#RequireAdmin ; Adminrechte für Änderungen im System.

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

Local $hToken = _Security__OpenProcessToken(_WinAPI_GetCurrentProcess(), $TOKEN_ALL_ACCESS)
If $hToken Then
    ; $hToken ist das Prozesstoken mit $TOKEN_ALL_ACCESS Zugriff

    ; Diesem Token alle Rechte einziehen.
    If _Security__AdjustTokenPrivileges($hToken, True, 0, 0) Then
        ; Alle Manipultionen des Tokens hier hinein.
        MsgBox($MB_SYSTEMMODAL, "TokenPrivileges", "Alle Rechte vom Token entzogen!")
    EndIf

    ; Handle schließen.
    _WinAPI_CloseHandle($hToken)
EndIf