Öffnet das Access-Token, welches mit einem Thread verbunden ist
#include <Security.au3>
_Security__OpenThreadToken ( $iAccess [, $hThread = 0 [, $bOpenAsSelf = False]] )
$iAccess | Access-Maske, welche die benötigten Zugriffsarten auf das Access-Token festlegt. Diese angeforderten Zugriffsarten werden mit der Discretionary Access Control List (DACL) abgeglichen, um festzustellen, welche Zugriffe erlaubt bzw. verboten sind. |
$hThread | [optional] Handle zu dem Thread, dessen Access-Token geöffnet wurde |
$bOpenAsSelf | [optional] Zeigt an, ob der Zugriffscheck gegen den Sicherheitskontext des Threads durch Aufruf der Funktion OpenThreadToken oder gegen gegen den Sicherheitskontext des Prozesses für den aufgerufenen Thread erfolgen soll. Falls dieses Parameter False ist, so wird der Sicherheitscheck durch Verwenden des Sicherheitskontexts für den aufgerufenen Thread durchgeführt. Falls der Thread einen Client personifiziert, kann dieser Sicherheitskontext der Client-Prozess sein. Falls dieser Parameter True ist, so wird der Sicherheitscheck durch Verwenden des Sicherheitskontexts des Prozesses für den aufgerufenen Thread durchgeführt. |
Erfolg: | Handle zu dem kürzlich geöffneten Access-Token. |
Fehler: | 0. |
OpenThreadToken schlägt bei Nichtpersonifizierung fehlt..
_Security__OpenProcessToken, _Security__OpenThreadTokenEx
Suche nach OpenThreadToken in der MSDN Bibliothek.
#include <Security.au3>
#include <SecurityConstants.au3>
#include <WinAPIError.au3>
#include <WinAPIHObj.au3>
Local $hToken = _Security__OpenThreadToken($TOKEN_ADJUST_PRIVILEGES)
If $hToken Then
ConsoleWrite("$hToken = " & $hToken & @CRLF)
; $hToken ist das Threadtoken mit $TOKEN_ADJUST_PRIVILEGES Zugriff.
;... Hier alle Funktionen hinein, die mit dem Token arbeiten ...
_WinAPI_CloseHandle($hToken)
Else
ConsoleWrite(_WinAPI_GetLastErrorMessage())
; Mehr dazu in der Hilfe zu _Security__OpenThreadToken
EndIf